AgileWithoutDogma.com
Modern Application Architecture
Options and Tradeoffs
AgileWithoutDogma.com
Objective
Understand how modern software solutions are designed so we can focus our efforts on career choices that will enable us
to be successful in a challenging 21st century economy
AgileWithoutDogma.com
Agenda
• History of web applications• Modern architecture• Web 2.0• Deep dive with discussion:
– Forgot Password– Paging– Weather.com
• How to be successful in the 21st century job market
AgileWithoutDogma.com
History of Web Applications
• Early applications were page based with hyperlinks
• HTTP is stateless for performance reasons• Stateless nature places challenges on non-
trivial applications
AgileWithoutDogma.com
Simple Page Based Request / Response
Browser Web Server
Request
Response
HTML
AgileWithoutDogma.com
We Need State
Browser Web Server
Request
Response
Cookies State
HTML
AgileWithoutDogma.com
Modern Architecture
DatabaseLets start with the database
AgileWithoutDogma.com
Modern Architecture
Database
Business Layer
Data Layer
AgileWithoutDogma.com
Modern Architecture
Database
Business Layer
Data Layer
Presentation Layer
AgileWithoutDogma.com
Web Based
Web
Ser
ver Desktop (Generic)
Desktop (Specific)
Mobile (Generic)
Mobile (Specific)
AgileWithoutDogma.com
Applets
Pres
enta
tion
Laye
r Windows
Mac
IPhone
IPad
Android
AgileWithoutDogma.com
Back to Modern Architecture
Database
Business Layer
Data Layer
Presentation Layer
AgileWithoutDogma.com
Modern Architecture
Database
Business Layer
Data Layer
Presentation Layer
Browser
Mobile A
Mobile B
Applet A
Applet B
AgileWithoutDogma.com
Modern Architecture
Database
Business Layer
Data Layer
Presentation Layer
Browser
Mobile A
Mobile B
Applet A
Applet B
Desktop
IPhone Browser
Blackberry Browser
Blackberry Applet
IPhone Applet
AgileWithoutDogma.com
Web 2.0
Browser Web Server
Cookies State
HTML
Ajax
AgileWithoutDogma.com
Deep Dive
• Forgot Password• Paging• Weather.com
AgileWithoutDogma.com
Challenges
• The global middle class will triple by 2030• Hundreds of millions of smart people will
compete for a limited and ever changing set of high paying jobs
• The lucrative job of this decade will not be the lucrative job of the next
• It is easy to become complacent
AgileWithoutDogma.com
How to be successful
• Do what you love• Build a network• Start your savings today so you can be financially
independent (Retire)• Save one years worth of expenses• Adjust you standard of living• Goal – Have job offers come your way when you do not
need them• Understand that your learning starts the day you graduate,
it does not end
AgileWithoutDogma.com
Useful Resources• The Cost Of Waiting - demonstrates the cost of waiting to save for
retirement• JoelOnSoftware.com - blog on all things software• OcambOnConsulting.com – My Blog• NeverEat Alone – Book on Networking• Agilewithoutdogma.com – my new Wiki about Agile in the real world• Mountaingoatsoftware.com - reference on Scrum and Agile by Mike
Cohn• RandsInRepose.com - light hearted and irreverent look and working
with people• Scrum in 10 Minutes – Fast paced introduction of Scrum