P4
Document Sample


Architecture Document for Bröoglé
Revision History
Date Version Description Edited by
January 31, 2006 1.0 Initial Draft Nathan Marks, Nathan Carlson, Aaron Milam
Decomposition View
Section 1: Primary Presentation
TCP/IP DataAccess
Web Server Database
WebserverPing DatabasePing
TCP/IP DataAccess
Web Server [hot backup] Database [warm backup]
Section 2: Element Catalog
Section 2.A
Webserver – The main webserver machine.
Webserver (hot backup) – A secondary webserver that is always available
to take over webserver functionality in the event the primary
webserver fails.
Database – The main database that stores all data.
Database (warm backup) – Maintains backup of primary database’s data.
This is updated in real-time. In the event the primary database fails, the
secondary database takes over the database functionality.
Section 2.B
All of the dependencies shown in the diagrams are run-time.
Section 2.C Interface Specification
2.C.1
2.C.1.1 DataAccess Interface
2.C.1.2 This section is implementation specific for this system.
Because the implementation details are not being specified at
this time, we are unable to specify this section.
2.C.1.3 None
2.C.1.4
Database exception – Notify admin(s) of exception and
throw TransactionAbort exception, which is handled by
the webserver at the TCP/IP interface.
Timeout exception – Notify every admin & switch to
backup database.
2.C.1.5 None
2.C.1.6 None
2.C.1.7 This pertains to the resources and therefore is not able to
be specified at this time.
2.C.1.8 This allows for the standardization of database access and
modification. This was our first idea for this functionality.
2.C.1.9 This is implementation specific.
2.C.2
2.C.2.1 WebserverPing Interface
2.C.2.2 This section is implementation specific for this system.
Because the implementation details are not being specified at
this time, we are unable to specify this section.
2.C.2.3 None
2.C.2.4
Timeout exception – Notify every admin & switch to
backup webserver.
2.C.2.5 None
2.C.2.6 Availability – This interface provides fault detection and
recovery for the webserver.
2.C.2.7 This pertains to the resources and therefore is not able to
be specified at this time.
2.C.2.8 This allows the hot backup to know when the primary
webserver is down, and then allows the backup to take over the
workload. This was our first idea for this functionality.
2.C.2.9 This is implementation specific.
2.C.3
2.C.3.1 DatabasePing Interface
2.C.3.2 This section is implementation specific for this system.
Because the implementation details are not being specified at
this time, we are unable to specify this section.
2.C.3.3 None
2.C.3.4
Timeout exception – Notify every admin & switch to
backup database.
2.C.3.5 None
2.C.3.6 Availability – This interface provides fault detection and
recovery for the database.
2.C.3.7 This pertains to the resources and therefore is not able to
be specified at this time.
2.C.3.8 This allows the warm backup to know when the primary
database server is down, and then allows the backup to take
over the workload. This was our first idea for this functionality.
2.C.3.9 This is implementation specific.
2.C.4
2.C.4.1 TCP/IP Interface
2.C.4.2 This section is implementation specific for this system.
Because the implementation details are not being specified at
this time, we are unable to specify this section.
2.C.4.3 None
2.C.4.4
TransactionAbort exception – The user is told that the
transaction was aborted and given user friendly
instructions for how to redo the transaction.
2.C.4.5 None
2.C.4.6 Security – Because all communication via this interface is
encrypted.
2.C.4.7 This pertains to the resources and therefore is not able to
be specified at this time.
2.C.4.8 The client’s browser needs a standard interface to access
the webserver.
2.C.4.9 This is implementation specific.
Section 3: Context Diagram
Section 4: Variability Guide
Section 5: Architecture Background
Section 5.A
Availability of the service is a major concern so both the webserver and
database server have backups to minimize downtime, and prevent loss
of data.
As security is also a primary concern all communication into and out of
the system is encrypted.
Section 6: Glossary of Terms
Section 7: Other Information
This is a further breakdown of the webserver module into its components.
TCP/IP
SendOverTCP/IP
SendToDecrypter
Encryption/Decryption
SendToEncrypter
SendToActiveServerPage
Active Server Page Engine
DatabaseAccess
Database Access Layer
Client-Server View
Section 1: Primary Presentation
`
Webserver Database
Client
Firewall
Hot Backup Warm Backup
Client
Section 2: Element Catalog
Section 2.A
Webserver – The main webserver machine.
Webserver (hot backup) – A secondary webserver that is always available
to take over webserver functionality in the event the primary
webserver fails.
Database – The main database that stores all data.
Database (warm backup) – Maintains backup of primary database’s data.
This is updated in real-time. In the event the primary database fails, the
secondary database takes over the database functionality.
Firewall – Used to restrict unauthorized access to the webserver.
Clients – Computers used by the end users to access the system.
Section 2.B
Database Connection – Communication channel between the webserver
and the database.
Webserver Connection – TCP/IP communication channel between the
webserver and the firewall.
Section 3: Context Diagram
See left of firewall in the Primary Presentation.
Section 4: Variability Guide
Section 5: Architecture Background
Section 5.A Design Rationale
Availability of the service is a major concern so both the webserver and
database server have backups to minimize downtime, and prevent loss
of data.
As security is also a primary concern then the servers will be insulated to
the outside world with a firewall.
As usability is a primary concern of the system, the Client GUI is
completely separate form the rest of the system so that it can be
developed separately to be as usable as possible.
Section 5.B Analysis of results
Section 5.C Assumptions
That all the appropriate connections will be encrypted.
Firewall’s connection to the outside world will be available at all times.
Client is using a standard web browser.
Section 6: Glossary of Terms
Work Assignment View
Section 1: Primary Presentation
Development Team Module
Team A Encryption
Team B Web Pages
Team C Database Design
Team C Database backup
Team D Webserver skeleton
Team D Webserver backup
Team C Database access
Team B Active Server Engine
Section 2: Element Catalog
See table.
Section 3: Context Diagram
Section 4: Variability Guide
Section 5: Architecture Background
Section 5.A Design rationale
Teams should be in charge of designing their own backup systems.
Team designed the database, should also be in charge of the database
access, so that that they are on the only team that has to understand
how the DB works.
The team in charge of designing the web pages, should also be in charge
of developing the active server engine to generate those webpages.
Section 5.B Analysis of results
Section 5.C Assumptions
Section 6: Glossary of Terms
Tactics for Achieving the Architecture Shaping Quality Attributes
1. Security
a. The main security of the system is provided by the fact that all traffic in
and out of the system must be encrypted.
b. Security is also provided by the firewall between the webservers and the
outside world.
c. Further security is provided by the fact that the database servers are not
directly connected to the outside world.
2. Availability
a. The main availability of the system is supported by having a hot backup of
the webserver and a warm backup of the database server.
b. Availability is also maintained by the WebserverPing and DatabasePing
interfaces that allow for quick detection of a failure.
3. Usability
a. The client end of the system is a completely separate module. The
separation of the GUI from the rest of the system allows for easier design
and redesign of the GUI to accommodate usability.
Get documents about "