Network-based Application architectures
Download
Report
Transcript Network-based Application architectures
Architectures for Networkbased Application
Bill Chu
What is an application
architecture?
It is an overall blue print for building IT applications
It should clearly identify the components, their relationships and
attributes of both components and relationships
A well defined architecture is critical for the success of any IT project
Different levels of architecture
Conceptual: Very high level, oriented to users, typically identify components
and relationships based on business functions
Logical: Identifies function components and their relationships. Attributes of
both components and relationships are defined in a way that avoids being
tightly bound to a particular product.
Implementation: A very detailed architecture with full description of all
attributes, including all implementation choices.
Plug-and-play architecture: An architecture defined in such a way that
components from different vendors can be used.
Maximize flexibility
Enable to harvest the best-of-breed components
© Bei-Tseng Chu Feb 2002
Issues to be addressed
Client/server architecture (e.g. WWW)
Client side technical choices
Server side technical choices
Standards and formats
Security issues (separate presentation)
Peer-to-peer architecture (e.g. Napster)
© Bei-Tseng Chu Feb 2002
Benefits of the client/server
architecture
Effective model for information sharing
Server makes information available for multiple clients
Clients are sure to receive the most up to date information
Server technology can be changed (e.g. a database change)
without effecting clients
Clients can be dispersed geographically
Server maintenance is easier since if all clients are
connecting to one place.
WWW is the universal client/server architecture
Zero/easy installation
© Bei-Tseng Chu Feb 2002
Benefits of the peer-to-peer
architecture
No central bottle neck, leading to increased
robustness (e.g. resistant to denial of service
attacks) and scalability
Clients can be dispersed geographically
However, there are challenges to
maintenance and operations, e.g.
Finding information
Maintaining consistency among different files
© Bei-Tseng Chu Feb 2002
Client side technical choices
for WWW
Passive content
HTML tags and links
Identifying links based on
graphics
Multi-frames
Font and appearances
Active content
Javascript
Java applet
Plug-in
Interactive content
forms
Javascript
VBscript
Java applet
Plug-in
Java plug-in
Active-X
Java plug-in
Active-X
© Bei-Tseng Chu Feb 2002
Client Side Scripting
Client side scripts are embedded inside HTML document. They are interpredted
by browser.
When Web brower encounters a script, it calls a scripting interpreter, which
parses and deciphers the scripting code.
Provide response to questions and queries without interventions from the server
Validate user data
Calculate expressions
Link to other applications
Java script develped by sun, first supported Netscape Navigator 2. Also
supported in Microsoft Internet Explorer 3 and laster(but called Jscript).
VB Script is a subset of the Microsoft Visual Basic language. Limited support for
VBScript in Netscape Navigator is possible via Ncompass Labs ScriptActive plugin(see http://www.ncompasslabs.com)
© Bei-Tseng Chu Feb 2002
Interactive content: choice
between fat client vs. thin client.
Client side advantages
Faster response time
Better animation
Simpler server programs
Client side disadvantages
Longer load time
Browser compatibility
Complexity in web page design
© Bei-Tseng Chu Feb 2002
Javascript
Advantage
Easy to learn and
use
Wide browser
support
Protection of local
resources
Disadvantage
© Bei-Tseng Chu Feb 2002
Browser compatibility
issues
Not object oriented
Unable to gain
access to local
resources
Java applet
Advantage
High functionality
Object oriented and full
graphics functionality
Protection of local
resources
Wide Browser support
With Java2, be able to
gain access to local
resources with signed
applets
Disadvantage
© Bei-Tseng Chu Feb 2002
JVM compatibility
issues
Difficulty to install
and configure for
local access
Loading time and
performance may be
poor for large
application.
Active X controls
Advantage
High functionality
Object based and full
graphics functionality
Complete access of
local resources with
signed controls
Disadvantage
© Bei-Tseng Chu Feb 2002
Only runs on
Microsoft platforms
Trust and protection
issues
Plug-in
Advantage
Easy to learn and install
Can be used for very
special applications (e.g.
streaming audio/video,
viewing documents, 3-D
animation)
High functionality
Protection of local
resources
Disadvantage
© Bei-Tseng Chu Feb 2002
Need installation
Unable to gain
access to local
resources
Java Plug-in (applet)
Advantage
Easy to learn and install
Full java power
Protection of local
resources
Gain access to local
resources with signed
applets
Wide browser support
Disadvantage
© Bei-Tseng Chu Feb 2002
Need installation
Server side technical choices
for WWW
Choice of server application platform
ASP
JSP/Servlet
CGI/Perl
Other (e.g. cold fusion)
Choice of Server application architecture
2-tire
3-/multi- tire
© Bei-Tseng Chu Feb 2002
ASP
Advantage
Easy to learn and use
ASP page is a text file
contains any combination
of text, html tags and
ASP script commands
Supported “out of box”
by Microsoft IIS
Built in integration with
databases
Disadvantage
© Bei-Tseng Chu Feb 2002
Microsoft-centric solution
Scripting language is not
object oriented, limiting the
capability to build large
robust applications
With Server side scripting,
every time user need to
submit a for, or refresh
information based on user
input, client side has to
send request to server and
reload the form.
Relatively primitive GUI
objects.
JSP/Servlets
Advantage
Easy to learn and use
JSP page is a text file
contains any combination
of text, html tags and
JSP/Java script
commands
Built in integration with
databases
Support multiple
platforms
Based on the full power
of Java, thus capable of
building large robust
applications
Disadvantage
© Bei-Tseng Chu Feb 2002
Higher learning curve
associated with Java
With Server side scripting,
every time user need to
submit a for, or refresh
information based on user
input, client side has to
send request to server and
reload the form.
Relatively primitive GUI
objects.
Others (e.g. Coldfusion)
Advantage
Similar to that of ASP
Disadvantage
© Bei-Tseng Chu Feb 2002
Similar to ASP
CGI/Perl
Advantage
Standard Protocol
Support multiple
platforms
Disadvantage
© Bei-Tseng Chu Feb 2002
Old technology
Two-tire architecture
Web server
Browser
Web application
server
Data base
© Bei-Tseng Chu Feb 2002
•Early client
server
architecture
•Does not scale
to large number
of concurrent
users
Three-tire architecture
Web server
Browser
Web application
server
Business
Data base
object
Business
Business
object
object
© Bei-Tseng Chu Feb 2002
Multi-tire architecture
Web server
Browser
Web application
server
Business
Data base
object
Business
Business
object
object
© Bei-Tseng Chu Feb 2002
Multi-tire architecture
Web server
Web application
server
Browser
Business
Data base
object
Business
Business
Business
object
object
object
Business
Business
object
object
© Bei-Tseng Chu Feb 2002
Standards and formats
Infrastructure standards
HTML: designed for the eye balls
XML: designed for applications
More sophisticated meta languages (e.g.
RDF)
Application standards
OAG
Specific B-2-B exchange
© Bei-Tseng Chu Feb 2002
HTML vs. XML
<ul>
<li> UA 837 NRT to
PUD
<li> NW 4 DWT to
PUD
</ul>
<airline> UA </airline>
<flight> 837 </flight>
<from> NRT </from>
<to> PUD </to>
<airline> NW </airline>
<flight> 4 </flight>
<from> DWT </from>
<to> PUD </to>
© Bei-Tseng Chu Feb 2002
Peer-to-peer architecture
Inherently fault tolerant and more
suitable for distributed computing
Lower cost, community-based approach
Sharing of information among friends and
family members
Applications
Collaboration / file sharing
Sharing of music (napster)
© Bei-Tseng Chu Feb 2002