Title: CM322 Business Modelling for Internet Based Technology
1CM322 Business Modelling for Internet Based
Technology
- Applied Business Modelling
2Web Application Design
- Architecture
- Which objects go where?
- The final model
- notation
- Summary
3Architecture
- Why should the architecture affect the app.?
- Recap
- single tier
- two tier
- three tier
4Partitioning the application
- Three fundamental parts
- Presentation
- means by which app. displays output and accepts
input - Logic
- computation that is programmed into the
application - Data
- quantities and values that your app. processes
and stores
5Single tier
- Presentation, Logic and Data all performed on one
machine - Known as standalone application
- Everything self-contained - no connection to
network required - Difficult to synchronise data with other machines
- Data integrity damaged by time delays - not
real-time changes - Change the logic, every machine to update
- Platform dependent (PC, Mac, Unix etc.)
6Two tier
- Client-server framework
- Data resides on server, Presentation and Logic on
client - Data is centralised
- System performance subject to network conditions
and utilisation of server - Logic updates still apply to each client
7Three tier
- Presentation layer resident on client
- Logic performed by separate server
- Data on network database server
- Quick to change logic without affecting users
- Clients OS must be compatible with Logic
servers OS - Still dependent on network performance
- Presentation at mercy of weakest computer - 16
colour client cannot display photos
8Web App. Architecture
- With three tier, we can use a browser for
presentation - Only has to process ASCII text-based HTML to
produce web pages - Platform independent
- To be operational, two things are required
- Browser must be on desktop machine
- Desktop needs access to network via TCP/IP
- Thin Client
9Example
tutor
input attendance
input marks
ltltincludegtgt
ltltincludegtgt
authenticate
ltltincludegtgt
ltltincludegtgt
check marks
login
ltltincludegtgt
Why is this ltltincludegtgt? Should it not be
ltltextendgtgt?
student
get mark scheme
create marking scheme
read timetable
10Example - presentation
tutor
input attendance
input marks
ltltincludegtgt
authenticate
ltltincludegtgt
ltltincludegtgt
ltltincludegtgt
check marks
login
ltltincludegtgt
student
get mark scheme
create marking scheme
read timetable
11Example - logic
tutor
input attendance
input marks
ltltincludegtgt
authenticate
ltltincludegtgt
ltltincludegtgt
ltltincludegtgt
check marks
login
ltltincludegtgt
student
get mark scheme
create marking scheme
read timetable
12Example - data?
..and attendance marks must be stored centrally
(more data)...
tutor
input attendance
The use case text gives us the complete process -
if we are inputting marks then we will have
identified a database object
input marks
ltltincludegtgt
ltltincludegtgt
authenticate
ltltincludegtgt
ltltincludegtgt
check marks
login
ltltincludegtgt
..similarly if we are creating a new marking
scheme then it must be saved somewhere - in a
database object
student
get mark scheme
create marking scheme
read timetable
13So far...
- We have identified the users requirements and
produced textual descriptions for each operation - We have produced a use case diagram to
graphically represent the model - We identified the objects from the noun phrases
that had behaviour - We have examined the sequence of messages passed
between objects
14All we need to do now is
- Map the application logic to the users
requirements - Develop the navigation
- Decide what the user will see
- Communicate our design with the user and coder
15Component Diagram Notation
Document that sends output to client - otherwise
known as client page
navigation link
Document that does not send output to client -
also referred to as server page
16Example
valid login
redirect
authenticate tutor login
click tutor index link
invalid user
invalid login
redirect
authenticate login
valid login
click timetable link
17Technology - CGI
valid login
redirect
chcltlog.cgi
click tutor index link
invalid user
invalid login
redirect
chcklog.cgi
valid login
click timetable link
18Technology - ASP
valid login
redirect
chcltlog.asp
click tutor index link
invalid user
invalid login
redirect
chcklog.asp
valid login
click timetable link
19Technology - JSP
valid login
redirect
chcltlog.jsp
click tutor index link
invalid user
invalid login
redirect
chcklog.jsp
valid login
click timetable link
20Summary
- Design is where the abstraction of the business
takes its first step into the reality of software - Design starts with the analysis model and
architecture as the major inputs - The design model can be mapped straight to code
- Component diagrams visualise components,
interfaces and relationships
21Summary 2
- Proper partitioning of the business objects in a
Web App. is critical and depends on the
architecture - In Thin Web Client apps., actors interact only
with client pages - Server pages interact only with server resources
- In Thick Web Client apps., client can execute
business logic with scripts, applets or ActiveX
(Microsoft) components
22Summary 3
- Various technologies to use
- Common Gateway Interface server-side scripts
- Java Server Pages
- VBscript on client
- JavaScript on client
- Active Server Pages