Professional Documents
Culture Documents
Wep App With UML
Wep App With UML
Cookies Sessions
A cookie is a piece of data that a Web server can A session represents a single cohesive use of the system.
A session usually involves many executable Web pages and a lot
ask a Web browser to hold on to, and to return of interaction with the business logic on the application server.
every time the browser makes a subsequent The most common example of keeping client state on the server
request for an HTTP resource to that server. can be found on the Internet at any e-commerce site.
The use of virtual shopping carts is a nice feature of an online store.
Typically, the size of the data is small, between A shopping cart contains all the items an online customer has selected
from the store's catalog.
100 and 1K bytes; however, the official limit is The shopper can check the contents of the cart at any time during the
around 4K. session.
This feature requires that the server be capable of maintaining some state
about the client across a series of Web page requests.
1
Enabling Technologies Enabling Technologies (2)
The original mechanism for processing user input in a Web system is the
Enabling technologies are the mechanism by which
Common Gateway Interface (CGI),
Web pages become dynamic and respond to user input. a standard way to allow Web users to execute applications on the server.
can be written in any language and can even be scripted.
The earliest involved the execution of a separate the most common language for small-scale CGI modules is Perl (practical
extraction and reporting language), which is interpreted each time it is executed.
module by a Web server. The two biggest problems with CGI:
Instead of requesting an HTML-formatted page from the file it doesn't automatically provide session management services
every execution of the CGI module requires a new and separate process on the
system, the browsers would request the module, which the application/Web server
Web server interpreted as a request to load and to run the The available solutions:
module. by adding plug-ins to the Web server.
the plug-ins allow the Web server to concentrate on servicing standard HTTP
The module's output is usually a properly formatted HTML requests and deferring executable pages to another running process
page but could be image, audio, video, or other data.
2
Defining the Architecture The Requirement and Use Cases
The key architecture activities are to: Can be categorized as either functional or
Examine and prioritize use cases and look for significant architectural
requirements nonfunctional.
Define and document a candidate architecture and prepare and evaluate
prototypes Functional requirements describe an action that
Define a reuse strategy the system should perform.
Some common structural patterns:
Façade. The dynamic information in any given Web page may have to be They usually define both the stimulus and the
constructed from a collection of business objects and controllers. response, or input and output.
Page composition. Each conceptual Web page in the system is
assembled at runtime from a set of independent smaller page fragments, Functional requirements, the most common type of
which are often reused across pages in the system. requirement, identify the things that the system can
Templated page. This pattern defines a one-page template that all
outgoing Web pages go through on their way to the client do, usually in response to external input.
The Requirement and Use Cases (2) The Requirement and Use Cases (3)
Some common nonfunctional requirement categories are:
Usability.
Security.
Tend to specify levels of access to the system and often map to
Refer to general aspects of the interface between the user and the system. human roles of the business.
Example: defines the maximum number of clicks a user must make to Example: described mechanisms: access control, authentication,
complete a function of the application. Other requirements may constrain the encryption, audit, and intrusion detection.
Web page design: "The system interface shall not use HTML frames" or "The
system shall be accessible by any browser that is forms capable and supports Hardware.
the use of the <table> tag." Often state the minimal hardware required to implement the system.
Performance. Deployment.
Describe system execution performance and are usually related to time. Describe how the application is delivered to the end users.
Example: "Web pages should not take longer than 15 seconds to load in the Example: how the system is to be installed, maintained, and accessed
browser during normal system usage." by maintenance staff.
Robustness/reliability.
All mission-critical applications need to clearly state the degree to which the
application must be available.
Building the use case model
Example: The system needs to be fully functional 24/7/52—24 hours a day,
7 days a week, 52 weeks
September 2007 IF4061 15 September 2007 IF4061 16
3
The User Experience (UX) (3) UX Modeling with UML
Navigational Paths
one of the most architecturally important artifacts
express the structure of an application's screens with their
potential navigational pathways: a road map of the
application's screens
expresses all the legal and expected paths through the system.
Analysis Design
Transform the requirements of the system into a design that can The Web Application Extension (WAE) to UML enables us to
be realized in software represent Web pages and other architecturally significant
Focuses on the functional requirements of the system, ignoring elements in the model alongside the "normal" classes of the
for the moment the architectural constraints of the system. model.
The emphasis is on ensuring that all functional requirements, as expressed Only by doing this can we accurately express the entirety of the system in
by the use cases and other documents, are realized somewhere in the a model and maintain its traceability and integrity
system. An extension to UML is expressed in terms of:
Each requirement item and use case is linked to the classes and packages Stereotype, an extension to the vocabulary of the language, allows us to
that realize them. attach a new semantic meaning to a model element.
UX Model Mapping Tagged value, an extension to a property of a model element, is the
expressed as dependencies from analysis boundary classes and UX definition of a new property that can be associated with a model element.
screens Constraint, an extension to the semantics of the language, specifies the
conditions under which the model can be considered well formed.
4
Association Stereotypes Server pages build the client pages
5
Designing Web App (2) Client Collaboration
Client-Side Scripting
Designing Web applications that have dynamic client
pages requires careful attention to the partitioning of
the objects.
Thick Web client applications can have all sorts of
objects and activity on the client.