architecting rich internet applications may 24, 2005 daniel gąsienica may 24, 2005 daniel...
TRANSCRIPT
ArchitectingRich Internet Applications
ArchitectingRich Internet ApplicationsMay 24, 2005
Daniel GąsienicaMay 24, 2005Daniel Gąsienica
MaturitätsarbeitMaturitä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?
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)
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.
Architecting Rich Internet Applications Daniel Gąsienica
Three Examples of RIA
GMail
Google Maps MINI Car Configurator
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
Architecting Rich Internet Applications Daniel Gąsienica
Quick Tour of Phyre
Architecting Rich Internet Applications Daniel Gąsienica
Three–Tiered Application Architectures
What you see as a user
Link
Storage of Information
Architecting Rich Internet Applications Daniel Gąsienica
Insight:Implementing the Catalog’s Categories
Architecting Rich Internet Applications Daniel Gąsienica
Phyre‘s Database
We‘ll look only at this one…We‘ll look only at this one…
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:
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
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
Architecting Rich Internet Applications Daniel Gąsienica
Thank you.
Architecting Rich Internet Applications Daniel Gąsienica
Questions?
ArchitectingRich Internet Applications
ArchitectingRich Internet ApplicationsMay 24, 2005
Daniel GąsienicaMay 24, 2005Daniel Gąsienica