Web application architecture

quicksandwalleyeInternet και Εφαρμογές Web

31 Οκτ 2013 (πριν από 3 χρόνια και 9 μήνες)

83 εμφανίσεις

Zoljargal.M

2010.04.28


Introduction


Methods, approaches


Specifics of Web architecture


Typical components of architectures




Consider large number of requirements and
constraints


Range


Functional req : online product order


Quality req : performance, availability


Integration of existing systems


Normally not developed “from scratch”


Architecture describes structure: According
to(Bassetal.1998),the architecture of a software system
consists of its
structures,the

decomposition into
components, and their interfaces and relationships. It
describes both the static and the dynamic aspects of that
software system, so that it can be considered a building
design and
flow

chart for a software product.


Architecture forms the transition from analysis to
implementation: When we create architecture we try to
break the functional requirements and quality
requirements down into software components and their
relationships and interfaces in an iterative approach. This
process is supported by a number of approaches, such as
the
Unified

Process(see Chapter10)



Primarily influenced by requirements


Develop in iterate way


Makes risks resulting from insecure requirements


Why ?


Constraints calculateable and controlable



Describe recurring design problem, which
arise in a specific design context, and
propose solutions.


Solution describe the participating
components, their responsibilities, the
relationships between these components, and
the interplay of these components within the
specific problem.


Patterns enable us to reuse proven and
consolidated design knowledge


Another option to reuse existing architecture
knowledge


Contains architectural knowledge


Framework is a reusable software system with
general functionality already implemented.


Have to be weighed against its disadvantage


High degree of training effort


Lack of standards


e.g ..



Layering aspect: SW systems are structured in
several tiers to implement the principle of
“separation of concerns” (section 4.5)


Data aspect: Data can be (section 4.6)


Structured


Relational DB


XML


Non
-
structured


Multimedia contens


Images, audio, video


Web app requirements are more demanding than
SW systems


Changeability, performance, security, scalability,
availability


Thus distinguish web infrastructure (platform)
and web application architecture


Platform


Wide variety of
promlems


J2EE, .NET


Problems


Using of wide range of different systems is increasingly
difficult


Inhomogeneity

(lack of uniformity)


Immaturity (lack of experience)



Client: Generally a browser(user agent) is controlled by a user to operate the Web
application. The client’s functionality can be expanded by installing plug
-
in
sandapplets
.


Firewall: A piece of software regulating the communication between insecure
networks (
e.g.,the

Internet)and secure networks(
e.g.,corporate

LANs). This
communication is
filtered

by access rules.


Proxy: A proxy is typically used to temporarily store Web pages in a cache.
However , proxies can also assume other functionalities, e.g., adapting the
contents for users (customization), or user tracking.


Web server :A Web server is a piece of software that supports various Web
protocols like HTTP and HTTPS, etc., to process client requests.


Database server: This server normally supplies an organization’s production data
in structured form ,e.g., in tables.


Media server: This component is primarily used for content streaming of non
-
structured bulk data(
e.g.,audio

or video).


Content management server: Similar to a database server, a content management
server holds contents to serve an application. These contents are normally
available in the form of semi
-
structured data ,e.g., XML documents.


Application server: An application server holds the functionality required by
several applications, e.g.,
workflow

or customization.


Legacy application: A legacy application is an older system that should be
integrated as an internal or external component.



The 2
-
layer architecture can take different forms
with in the environment of Web applications.


How to be embed services
within the application server
component


Costumization
, workflow


Business logic



Services are embedded in
the application server with a
defined interface


Based on MVC (Model view controller)
architecture



Laying the foundation for the
integration of navigation
aspects, internationalization,
and multi
-
platform delivery in
Web application.


View


Graphical presentation


JSP


Controller


Flow and logic


Control


Logic(model)


View


Parts of the model
functionalities


Java bean


Software components


Useful for error handling, internationalization


Uses XML configuration file


Control of the processing flow
withi
n the MVC pattern to
f
acilitate

the processing of
client requests



Allows to configure the view and model allocation in the configuration file.


Contents can be presented more flexibly

1.
Receive request and find the controller(Action) or application logic

2.
Forwarded to Action

3.
Select and create a model in the form of
JavaBean

4.
ActionServlet

can select view to represent the content

5.
Selected view generates output


Based on MVC (Model view controller) architecture


Explicit navigation components


User interfaces enriched by navigation aspects



Existing systems can be
integrated on three levels


Presentation


Application logic


Content


Key term:
Enterprise Application
Integration


Focuses on the integration of
legacy(older) systems



Emerged from business
-
to
-
business
integration


Point to point: exchange content to be
integrated via external communication


Data delivery: access to internal data
directly (e.g., database access)


Data integration: several applications
use same data storage


Delivery of functionalities: A legacy
system allows to access functionalities
(e.g., over an API)


Reconstruction of functionalities:
Access to functionalities is transparent
to the client


Porting : legacy systems are migrated
onto Web platforms, replacing original
system


Structured data of the kind held in database


Documents of the kind used in document
management systems


Multimedia data of kind held in media servers



Integrate DB into Web app


DB are accessed either directly from within
Web server extension or application servers


JDBC


ODBC



Content management architecture


Integrate documents from different sources


Representing mechanism to integrate contents into
Web


Slow to view multimedia
data


Streaming


Client can begin play out
of audio few second after
it begins receiving the file
from server


Corresponding
bandwidth, low jitter


Real time protocol