architecting rich internet applications may 24, 2005 daniel gąsienica may 24, 2005 daniel...

16
Architecting Rich Internet Applications Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit Maturitätsarbeit

Upload: zander-simms

Post on 28-Mar-2015

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

ArchitectingRich Internet Applications

ArchitectingRich Internet ApplicationsMay 24, 2005

Daniel GąsienicaMay 24, 2005Daniel Gąsienica

MaturitätsarbeitMaturitätsarbeit

Page 2: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

What I will talk about• Why did I choose this topic?• What is an RIA? Examples…• Introducing Phyre: Physics Rämibühl Experiments• Quick Tour of Phyre• Discussion: Advantages/Drawbacks of Phyre

• Theory: Three–Tiered Application Architectures• Insight: Implementing the Catalog’s Categories

• Questions?

Page 3: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Why did I choose this topic?Background:• 6 years experience in web development• 2000: First steps with Macromedia Flash• Fascinated by modern web technologies…

Challenge: Applying my skills to build a real world web application …

• … using mostly free technologies• … applying modern day development concepts

Rich Internet Applications (RIA)

Page 4: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

What is a Rich Internet Application?

Compared to a Desktop Application, an RIA … … does not require to be installed.… can be updated/deployed instantly.… can be accessed from any computer with an internet connection.

Page 5: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Three Examples of RIA

GMail

Google Maps MINI Car Configurator

Page 6: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Phyre: Physics Rämibühl Experiments

Phyre is an RIA that manages the catalog ofexperiments at the MNG Rämibühl.

It manages:• Experiments• Parts• Images/Illustrations• Users

Page 7: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Quick Tour of Phyre

Page 8: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Three–Tiered Application Architectures

What you see as a user

Link

Storage of Information

Page 9: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Insight:Implementing the Catalog’s Categories

Page 10: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Phyre‘s Database

We‘ll look only at this one…We‘ll look only at this one…

Page 11: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Storing Hierarchical Data

Mechanik

Würfe Arbeit

Mechanikid: 1

parent_id: NULL

Arbeitid: 3parent_id: 1

Würfeid: 2parent_id: 1

Database:

Reality:

Page 12: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Creating a Hierarchical Treefunction buildTree() {

FIND ALL CATEGORIES IN THE DATABASE;while( THERE ARE CATEGORIES ) {

CREATE CATEGORY ITEM;if (CATEGORY HAS SUBCATEGORIES) {

buildTree();}

}}

<categories><item label="Mechanik" id="1">

<item label="Würfe" id="2" />

<item label="Würfe" id="3" />

</item></categories>

Mechanik

Würfe Arbeit

Recursion

Page 13: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

What Happens Behind the Scenes?

Presentation Tier

Business Tier

Database

Request:Request:get categoriesget categories

find categoriesfind categories

Desktop Computer PocketPC Cell Phone

buildbuildcategoriescategories

treetree

Return:Return:categoriescategories

Page 14: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Thank you.

Page 15: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

Architecting Rich Internet Applications Daniel Gąsienica

Questions?

Page 16: Architecting Rich Internet Applications May 24, 2005 Daniel Gąsienica May 24, 2005 Daniel Gąsienica Maturitätsarbeit

ArchitectingRich Internet Applications

ArchitectingRich Internet ApplicationsMay 24, 2005

Daniel GąsienicaMay 24, 2005Daniel Gąsienica