Are Your Clients Overweight? Software Architectures For The Internet Age
Are Your Clients Overweight? Software Architectures For The Internet Age
Are Your Clients Overweight? Software Architectures For The Internet Age
Overview
What is Software Architecture?
Evolution of System Architectures
Architectural Decisions
Case Studies / Demo
Skills
Summary
Technical
Technical
Architecture
Architecture
Hardware
Vendors
Sizing
Networks
Software
Software
Architecture
Architecture
Application
Application
Architecture
Architecture
Functional Modules
Common Services
Frameworks
Object Design
GUI Design
Technical
TechnicalArchitecture
Architecture
Database
Server
GUI
PowerBuilder
Visual Basic
Visual C++
Access
Paradox
Oracle
Sybase
Informix
MS SQLServer
Ethernet
Token Ring
TCP/IP
Technical
TechnicalArchitecture
Architecture
Business
Logic
Application Server(s)
Database Server(s)
Millions of Users
Security?
HTTP
Web
Server
Application
Server
Data
base
HTML
HTML
Pages
Pages
Technical
TechnicalArchitecture
Architecture
Any Computer
Server
Any Network
HTTP
Web
Server
HTML
HTML
Pages
Pages
Applet
Applet
Repos.
Repos.
Application
Server
Data
base
Dynamic HTML!
Web Browser
HTTP
Dynamic
HTML
Web
Server
DHTML
DHTML
Pages
Pages
Application
Server
Data
base
Architectural Decisions
Thin Client
Fat Client
Case Studies:
FaceBook
Training Navigator
Case Study:
The FaceBook
Internal application
Database of all San Francisco practitioners
Has to be updated automatically: new hires,
schedule data
Has to be available off-line (travel)
Connect to server through HTTP & TCP/IP, no
drive mapping
Existing stand-alone Visual Basic application,
uses tabs and other advanced controls
FaceBook Architecture:
Fat Client
Web Browser
HTTP
Data
base
FaceBook
Software
Data
base
Web
Server
Client
Server
FaceBook Implementation:
Microsoft Remote Data Services
Internet Explorer
HTTP
IIS 4.0
D
S
COM
L
E
D
MS
Access
ActiveX Docs
ActiveX Documents
Remote Data Services (RDS)
OLE DB
Only in Internet Explorer 4.0
Visual
Basic
MS
Access
Client
Server
Case Study:
The Training Navigator
Internal application -- HR Self-Service
Allows practitioners to browse for and
schedule their own training classes
Central database with course offerings
Periodically used
Course selections fed to training
coordinators
Shopping cart model -- choose and confirm
Web
Server
TrainNav
Software
Data
base
HTML
HTML
Pages
Pages
Server
IIS 4.0
Visual
Basic
COM
Server
A
D
O
HTML
HTML
ASP
ASP
Server
Data
base
<body>
M y ASP Page
...
< t a b le > . .. < / ta b le >
....
< /b o d y >
In te rn e t
I n f o r m a t io n
S e rv e r
5
3
<%
o b j = C r e a te O b je c t ( " A B C " )
d a ta = o b j.G e tD a t a ( p a r m )
% >
<body>
M y ASP Page
...
< % = d a ta % >
....
< /b o d y >
C O M O b je c t " A B C "
P u b lic F u n c t io n G e t D a t a ( p a r m A s I n t ) A s S t r in g
D im R s A s A D O D B .R e c o r d S e t
...
R s = C o n n .E x e c u te ("S E L E C T * F R O M ....")
S e r v e r F ile S y s t e m
Skill Sets
Skill Sets
Choice of tools does not necessarily limit
your architectural options
Biggest challenge: staying up to date
Ride the Muni / BART, read magazines!
Microsoft Interactive Developer
Internet World
Software Development
Summary
Software architecture is an interesting and
often times overlooked area
Architectural choices are critical to project
success
Diverse skill set is required
Interface with clients and technologists
Become a software architect!
Questions / Discussion