Академический Документы
Профессиональный Документы
Культура Документы
…
PowerBuilder
Visual Basic Oracle
Visual C++ Sybase
Ethernet
Access Informix
Token Ring
Paradox MS SQLServer
TCP/IP
2-Tier Client-Server Pros / Cons
Internal Applications
Small to Medium User Base
Controlled Hi-Bandwidth Network Environment
Homogenous Hardware (hopefully)
Heavy load on database
Limited option for scaling
Costly software distribution
Poor separation of software components
“Fat Client”
3-Tier Client-Server Architecture
Physical Architecture Technical Architecture
Business
GUI
Logic
Application Server(s)
Database Server(s)
3-Tier Client-Server Pros / Cons
Medium to Large User Base
Controlled Hi-Bandwidth Network Environment
Better separation of presentation and business
logic
More options for scaling
Costly software distribution
Poor cross-platform support
“Fat Client”
The Internet Age!
HTML
Pages
Technical Architecture
HTML Applet
Cookies Pages Repos.
No-So-Thin Client Architecture
Automatic software distribution
Nicer GUIs, immediate response
Java Virtual Machine on all platforms
Browser Browser
Performance?
Download whole applet over modem?
Dynamic HTML!
Web Browser
HTTP
Web Application
Dynamic Data
HTML Server Server base
DHTML
Pages
The Saga Continues...
XML: Data Description
Push Technologies / Channels
...
Architectural Decisions
Thin Client Fat Client
Large user base Medium user base
Uncontrolled environment More controlled environment
Simple applications More complex applications
(Semi-)Static GUIs Active GUIs
Network connection Runs without connection
required
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
Web
Data
Server base
Data
base Client Server
FaceBook Implementation:
Microsoft Remote Data Services
Internet Explorer
O O
R HTTP L
D
D IIS 4.0 E
B MS
S D Access
B C
COM
ActiveX Docs
•ActiveX Documents
Visual •Remote Data Services (RDS)
Basic
•OLE DB
•Only in Internet Explorer 4.0
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
Training Navigator Architecture:
Thin Client
Web Browser
HTTP
Web TrainNav Data
Server Software base
HTML
Pages
Client Server
Training Navigator Implementation:
Active Server Pages
Any Web Browser
Visual
HTTP A
Basic
IIS 4.0 D Data
COM O base
Server
HTML
ASP
5
3
COM Object "ABC"
<% 2 Public Function GetData(parm As Int) As String
obj = CreateObject("ABC") Dim Rs As ADODB.RecordSet
data = obj.GetData(parm) ...
%> Rs = Conn.Execute("SELECT * FROM....")
<body>
My ASP Page 4 GetData = "<table> ...</table>"
...
<% =data %>
....
</body>
1
Server File System
Active Server Pages:
Architectural Considerations
Easy, can leverage Visual Basic skills
Built-in data access
Produces plain HTML
Microsoft only - but not a problem for server-
based applications
Scripting language - limited type checking and
debugging
A lot of HTML foot work
Implement business login in COM server
Skill Sets
Skill Sets
Choice of tools does not necessarily limit your
architectural options
Biggest challenge: staying up to date