Вы находитесь на странице: 1из 33

Fundamentals

Web application architectures

Web Application Architectures


CS-477 Web Engineering

8th October 2012

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Outline

Fundamentals

Web application architectures Layered architectures Data-oriented architectures

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Concepts
Main Concern: Quality of a Web application
inuenced directly by the underlying architecture.

Potential Problems: poor performance, insucient maintainibility/ expandability, low availability.


In addition to pure technical constraints (servers, legacy systems) other ascpects for an architect are :

organizational framework economic viability

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Concepts Architecture
No unique denition of architecture. Important properties of an architecture are:

Architecture describes structure Architecture forms the transition from analysis to implementation Architecture can be looked at from dierent viewpoints
Conceptual View: entities and relationships Runtme View: describe system components at runtime Process View: processes at runtime Implementation View: describes sub-systems, components or source code.

Architecture makes a system understandable Architecture represents the framework for a exible system
Web Application Architectures

mcs-small.pn

Fundamentals

Web application architectures

Developing Architectures
Figure-1: Dierent factors and constraints inuence the arch. development

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Developing Architectures
Softwares are moving targets Application architecture are primarily inuenced by :

functional requirements quality considerations


Further inuenced by:

services provided by the system scalability, performance etc

Technical Constraints

OS, middleware, legacy systems, standards used, rules and guidelines or distribution aspects.

Architect's experiences. Use prior knowledge to design eectively.


Web Application Architectures

So, coming up with a sound architecture is an iterative activity. mcs-small.pn

Fundamentals

Web application architectures

Concepts I
Design Patterns
describe recurring design problems, which arise in a specic design context, and propose solutions A solution describes the participating components, their responsibilities, the relationship between these components, and the interplay of these components within the specic problem.
Three abstraction levels:

Architecture patterns: They describe architectural subsystems, their responsibilities, relationships, and interplay. Design patterns: These patterns describe the structure, the relationships, and the interplay between components to solve a design problem within a dened context. Idioms: describe patterns that refer to a specic implementation in mcs-small.pn a programming language

Web Application Architectures

Fundamentals

Web application architectures

Concepts II

Frameworks
A framework is a reusable software system with general functionality already implemented. The framework serves as a blueprint for the basic architecture and basic functionality for a specic eld of application

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Categorising architectures
Dierent views on how to categorise architectures

Layering aspect

Based on the concept of separation of Concerns by dividing the application in multiple tiers Distributed systems and Web applications frameworks are based on this concept

Data aspect

Data can be structured or non-structured Structured data follows a well-dene schema like relational database or XML documents Non-structured data includes multimedia content i.e., images, audio and video

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

...
Distribution of data and massages. Distributed Object Middleware (DOM)

based on RPC, accesses remote objects transparently.


Virtual Shared Memory(VSM):

lets distributed processes access common data, through a transparent middleware.


Message oriented middleware(MOM):

asynchronous message transmission.


Peer to Peer(P2P):

devices communicating without a server.


Service oriented middleware(SOM):

mcs-small.pn

enhances DOM with use of services.


Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

Specic of Web Applications


Web architectures dierentiated at

infrastructure (WPA) application (WAA)


Application Servers provide basic session and data services. For other quality related concerns like performance, security etc.; architectural solutions like

rewalls, caching proxies, EAI are developed. Problems related to dierent architectures
use of wide range of dierent systems inhomogeneity and immaturity internationalization of web applications

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

Components of a Generic Web Application Architecture I


Client
browsers

Firewall
regulating communications with emphasis on security

Proxy
temporary storage of content. Typically for performance.

Web Server
processes client's requests

Database Server
provides data in structured form
Web Application Architectures

mcs-small.pn

Fundamentals

Web application architectures

Layered architectures

Components of a Generic Web Application Architecture II


Media Server
content streaming of non-structured data

Content Management Server


contents to serve an app. Typically held as semi-structured data.

Application Server
holds functionality required by multiple apps.

Legacy Application
older app. to be integrated as internel or external app.

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

2-Layer architecture I

Also called client/server architecture, a Web server provides services to a client (browser) 2-layer architecture can take dierent forms within a Web application environment Mostly used for simple Web applications

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

2-Layer architecture II
Figure-2: Layer architecture

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

N-Layer Architecture
A Web application can be organised in dierent no. of layers Mostly consist of three layers Data layer gives access to application data (database management system) Business layer hosting the business logic of the application in an application server Presentation layers presenting the results of the request in a suitable/desired output format Application server provides various service components Moreover, application server also provides load balancing and distribution features

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

N-Layer Architecture
Figure-3: N-Layered architecture

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

JSP-Model-2
Figure-4: JSP 2.0 model

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

JSP-Model-2
Java Server Pages 2 implements MVC pattern for Web applications Integrates navigation aspects, internationalisation, and multi-platform delivery in Web applications Deployed on a Web server extension - servlet container The controller i.e., ow and control logic of the Web application is implemented in the form of a servlet Servlets are software components which run in the servlet container JavaBeans present the application data Java Server Pages(JSP) are used for presentation

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

Struts I

An open-source project by Apache Software Foundation project Enhances JSP-Model-2 architecture Struts oers error handling and internationalisation Struts uses an XML conguration le for control of the processing ow to facilitate the processing of client requests

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

Struts II

Figure: JSP-Model-2 implementation in struts

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

OOHDM-Java2 I

OOHDM (Object Oriented Hypermedia Design Method) is a method for the development of Web applications First to introduce the concept of seperation of concerns OOHDM-Java2 approach maps the OOHDM navigational model onto J2EE platform

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

OOHDM-Java2 II

Figure: OOHDM-Java2 Model

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

Integration architectures

Integration of existing systems and external resources (external partners' resources) can be carried out at three levels Presentation level, application logic level and content level Enterprise Integration Architectures (EAI) generally address integration at the application logic level and content level EAI has emerged from the eld of business-to-business integration. This integration can be implemented in any of the following manner: Point-to-point Data delivery Data integration Delivery of functionality Reconstruction of functionalists Porting mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

EAI architecture
Figure: An example of an EAI Architecture

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Layered architectures

Portal-based integration
Figure: Portal-oriented Web application architecture

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Data-oriented architectures

Data-aspect architectures Database-centric architectures


No. of tools and approaches are available for database integration Java database connectivity (JDBC) and Open Database Connectivity (ODBC) are API for database connectivity

Web Document management

Besides data held in databases and media on media servers, Web applications also process documents Content management architectures support the integration of documents from dierent sources A request from a client is passed to a content delivery server by a Web server server to retrieve the required content
Web Application Architectures

mcs-small.pn Content delivery server will interact with Content management

Fundamentals

Web application architectures

Data-oriented architectures

Web Document management


Figure: Content management architecture for Web applications

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Data-oriented architectures

Multimedia data architectures

Data volume plays an important role when dening multimedia centric Web applications Multimedia data can be transmitted over standard Internet protocols like HTTP or FTP No additional components are required on the server side However it is problematic for users (slow downloads) The alternative approach is to use streaming A client can start playing audio and/or video a few seconds after it begins receiving the media content The content is transmitted in real time with required bandwidth available and low jitter Multimedia streaming uses 2 protocols 1) one handling transmission of multimedia data 2) controls presentation ow and the transmission of meta-data Examples are Real Time Protocol (RTP), which collaborates mcs-small.pn with a control protocol, the Real Time Streaming Protocol (RTSP)
Web Application Architectures

Fundamentals

Web application architectures

Data-oriented architectures

Streaming media architecture - I


Figure: Streaming media architecture using point-to-point connections

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Data-oriented architectures

Streaming media architecture - II


Figure: Streaming in broadcasting mode

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Data-oriented architectures

Conclusion
Web application development is driven by the new client devices and changing server infrastructures Portal oriented applications will continue to be the main stream applications supplemented by the service architectures and Web services In view of the above and the peer-to-peer application development, the architectural trends seem to be in the integration architectures.

mcs-small.pn

Web Application Architectures

Fundamentals

Web application architectures

Data-oriented architectures

References & Further Reading

1. Chapter 4 Web Application Architectures 2. Further see Apache Cocoon 2 framework from http://cocoon.apache.org/2.1/

mcs-small.pn

Web Application Architectures

Вам также может понравиться