application architecture
DESCRIPTION
Application Architecture. T H E S O C R A T E S G R O U P, I N C. Application Architecture. Application Architecture (Logical computing view). Middleware Architecture (distributed computing connectivity). Distributed Data Architecture (distributed data access). Technology Architecture - PowerPoint PPT PresentationTRANSCRIPT
ApplicationArchitecture
T H E S O C R A T E S G R O U P, I N C.
T H E S O C R A T E S G R O U P
Application Architecture(Logical computing view)
Middleware Architecture(distributed computing connectivity)
Application Architecture
Distributed Data Architecture(distributed data access)
Technology Architecture(Physical computing view)
T H E S O C R A T E S G R O U P
PowerBuilder
Smalltalk
SQLC++
C
COBOL
Oracle
Sybase
VAX
3090
Security?
Communications?
Location?
Tool-Based Architecture
Lots of tools with no clear way of making them work together...
T H E S O C R A T E S G R O U P
Application Architecture
Business applications reside & execute within the Application Architecture
Business application developer needs to make fewer choices
Application Architecture provides a clear set of rules to decide what goes where
Business applications can be developed independent of network specifics
T H E S O C R A T E S G R O U P
Put all your eggs in one basket
Watch that basket very closely
Change is the enemy
Mainframe Architecture
T H E S O C R A T E S G R O U P
Mainframe
Desktop
Generic Service Example
TerminalsTerminals
CICSCICS
IMS, DB/2, VSAMIMS, DB/2, VSAM
Presentation ServicesPresentation Services
Transaction ServicesTransaction Services
Data Management ServicesData Management Services
Business ServicesBusiness ServicesCOBOL Applications
COBOL Applications
Mainframe Application Architecture
T H E S O C R A T E S G R O U P
Server
Desktop
Presentation ServicesPresentation Services
Transaction ServicesTransaction Services
Data Management ServicesData Management Services
Application ProgramApplication Program
Application ProgramApplication Program
Network
Splitting the Application
T H E S O C R A T E S G R O U P
Server
Desktop
Presentation ServicesPresentation Services
Transaction ServicesTransaction Services
Data Management ServicesData Management Services
Application ProgramApplication Program
Application ProgramApplication Program
A More Probable Split
Network
T H E S O C R A T E S G R O U P
Database Server
Business Process Server
Application ProgramApplication Program
Desktop
Presentation ServicesPresentation Services
Data Management ServicesData Management Services
Transaction ServicesTransaction Services
Application ProgramApplication Program
Network
Multi-Tier Split
T H E S O C R A T E S G R O U P
User InterfaceServices
BusinessProcess Services
Data Access Services
Client/Server Application Architecture
T H E S O C R A T E S G R O U P
User InterfaceServices
BusinessProcess Services
Data Access Services
Graphical or character-based Presumption today is GUI
Visual presentation & navigation
Data input & validation Initiates requests for remote
services Includes everything that
executes on the desktop: Personal productivity tools Data access tools Client applications Development tools
User Interface Services
T H E S O C R A T E S G R O U P
User InterfaceServices
BusinessProcess Services
Data Access Services
Accepts requests for business services
Common business processing logic
Data integrity Defines transaction
boundaries Makes requests for
data access/update
Business Process Services
T H E S O C R A T E S G R O U P
User InterfaceServices
BusinessProcess Services
Data Access Services
Accesses data Updates data Data may be:
Local to this computer Stored in remote computer(s)
Many forms of data: Databases File systems Remote data feeds
Data Access Services
T H E S O C R A T E S G R O U P
User
User InterfaceServices
BusinessProcess Services
Data Management Services
Operating Platform Services
Enterprise Connectivity Services
Data Access Services
The Services Model™
T H E S O C R A T E S G R O U P
User
UI Services
Business Process Svcs
Data Management Services
Operating Platform Services
Enterprise Connectivity Services
Data Access Services
Enterprise Connectivity Services
Primary Service: Inter-Process Communication (i.e. messages)
T H E S O C R A T E S G R O U P
Operating Platform Services
Primary Services: Program Execution services Device & File I/O
User
UI Services
Business Process Svcs
Data Management Services
Operating Platform Services
Enterprise Connectivity Services
Data Access Services
T H E S O C R A T E S G R O U P
Data Management Services
Primary Services: Complex data access & update Data integrity Distributed data
synchronization User
UI Services
Business Process Svcs
Data Management Services
Operating Platform Services
Enterprise Connectivity Services
Data Access Services
T H E S O C R A T E S G R O U P
EnablingLayers
Enabling Layers
The bottom three layers enable the execution of distributed applications
User
UI Services
Business Process Svcs
Data Management Services
Operating Platform Services
Enterprise Connectivity Services
Data Access Services
T H E S O C R A T E S G R O U P
Solution Layers
Solution Layers
The top three layers enable the creation of distributed applications
User
UI Services
Business Process Svcs
Data Management Services
Operating Platform Services
Enterprise Connectivity Services
Data Access Services
T H E S O C R A T E S G R O U P
Glue Layer
Glue Layer
Glue Layer
UISUIS
BPSBPS
DASDAS
NOSNOS
LANLAN
DMSDMS
The Glue Between The Layers
Distribution models all imply ability to break application processing into multiple distributed processes.
Glue layers allow process distribution.
To work effectively, the glue must be very simple to apply
T H E S O C R A T E S G R O U P
NOSNOS
LANLAN
NOSNOS
LANLAN
NOSNOS
LANLAN
DMSDMS
NOSNOS
LANLAN
DMSDMS
DASDAS
BPSBPS
UISUIS Glue Layer
Glue Layer
Glue Layer
Glue Allows Process Distribution
T H E S O C R A T E S G R O U P
User
User InterfaceServices
BusinessProcess Services
Data Management Services
Operating Platform Services
Enterprise Connectivity Services
Data Access Services
Glue Layers
Glue is called “Middleware”
T H E S O C R A T E S G R O U P
Distributed Layers
The enabling layers must be present on all participating systems
The expressive layers may be distributed to two or three tiers
Six models to consider: Stand-Alone Remote Terminal Remote File Remote Data Remote Process Distributed Process
UISUIS
BPSBPS
DASDAS
Tier 1 Tier 2 Tier 3
OPSOPS
ECSECS
DMSDMS
OPSOPS
ECSECS
DMSDMS
OPSOPS
ECSECS
DMSDMS
T H E S O C R A T E S G R O U P
Exercise—Model the Models
The next six pages of your notes contain models of various application architectures
Break into small groups and take 1/2 of a sticky wall
Use the sticky wall, the index cards and the marker pens to create each of these models on a sticky wall
Give examples of this model Discuss & identify the strengths and
weaknesses of each of these models Use the notes page below the model to
record the strengths and weaknesses of each model
T H E S O C R A T E S G R O U P
DMSDMS
UISUIS
SAOSSAOS
nonenone
BPSBPS
DASDAS
Stand-Alone Model
No remote processing or access
Stand-Alone OpSys has no remote capabilities
T H E S O C R A T E S G R O U P
DMSDMS
UISUIS
MUOSMUOS
TermTerm
BPSBPS
DASDAS
Remote Terminal Model
Centralized processing managed by multi-user OpSys
All access by remote terminals
No processing done at terminals
T H E S O C R A T E S G R O U P
NOSNOS
LANLAN
DMSDMS
UISUIS
NOSNOS
LANLAN
BPSBPS
DASDAS
Remote File Model
All application processing performed locally
File I/O performed remotely by Network OpSys
T H E S O C R A T E S G R O U P
Optional
DASDAS
NOSNOS
LANLAN
DMSDMS
UISUIS
NOSNOS
LANLAN
BPSBPS
DASDAS
Remote Data Model
User interface, business process and data access logic performed locally
Some data access may be performed close to database e.g. Database
procedures
Data management performed remotely
Also known as “Fat Client” model
T H E S O C R A T E S G R O U P
BPSBPS
DASDAS
NOSNOS
LANLAN
DMSDMS
UISUIS
NOSNOS
LANLAN
Remote Process Model
BPS and DAS performed on same server as DMS
Implies heavy use of Database Procedures layer
Also known as “Fat Server” model
T H E S O C R A T E S G R O U P
NOSNOS
LANLAN
DMSDMS
DASDAS
NOSNOS
LANLAN
DMSDMS
BPSBPS
DASDAS
NOSNOS
LANLAN
DMSDMS
UISUIS
NOSNOS
LANLAN
Distributed Process Model
Business processes performed on middle tier
Data access can be performed on 2nd or 3rd tier
DMS can be on any server… even one with no BPS
T H E S O C R A T E S G R O U P
Discussion
Each small group: Give examples of each model Describe the strengths & weaknesses
of each model Compare the models What did you learn from this exercise?
T H E S O C R A T E S G R O U P
Data Validation vs. Integrity Checking
What is the difference between: Data input and validation rules Business process & data integrity rules
Why must we distinguish between them?
Why will some rules be implemented twice?
T H E S O C R A T E S G R O U P
Fat Client Fat Server Distributed Process
Server
Desktop
DASDAS
DMSDMS
BPSBPS
DASDAS
UISUIS Desktop
Server
Server
Server
UISUIS
BPSBPS
DASDAS
DASDAS
DMSDMS
Server
Desktop
DASDAS
DMSDMS
UISUIS
BPSBPS
Where does validation logic belong in each of these models?
Where Does Validation Belong?
T H E S O C R A T E S G R O U P
The Rules!
Code in the UIS layer exists only to enhance user productivity
Rules which must be true about the data reside in the Data Access Services layer(s)
Rules which express decisions made as a part of performing business transactions reside in the Business Process Services layer(s)
DAS rules have precedence over BPS rules
BPS & DAS rules have precedence over UIS rules
T H E S O C R A T E S G R O U P
Power-Builder
SQL
Smalltalk
VAX 3090
C++C
COBOL
SybaseOracle
Abstract Architecture
An architecture provides the conceptual framework that holds everything together.
T H E S O C R A T E S G R O U P
Client Applications
Accounting Inventory EmployeeSales
Reusable, redundant BPS and DAS services located on servers
SI: GL SI: APSI: AR SI: Inv SI: Emp
EmpSalesAPAR InvGL
SI: InvSI: SalesSI: AR SI: Emp
Enterprise API
The enterprise API is the collection of all SI’s which provide business services
Enterprise API is about the server API
T H E S O C R A T E S G R O U P
User Interface Svcs
Data Access Services
Data Management Services
Operating Platform Services
Enterprise Connectivity Services
Business Process Services
Glue
Infrastructure
Building The Enterprise API
The Enterprise API is: The foundation for user’s applications The repository for business services and data
ApplicationSoftware
T H E S O C R A T E S G R O U P
Application Architecture Summary
Having an Application Architecture simplifies client/server development
Determines what code performs which services
Facilitates business process reuse Simplifies client application
development Assures data integrity Reduces risk of project failure