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