Download - Application Architecture
![Page 1: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/1.jpg)
ApplicationArchitecture
T H E S O C R A T E S G R O U P, I N C.
![Page 2: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/2.jpg)
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)
![Page 3: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/3.jpg)
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...
![Page 4: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/4.jpg)
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
![Page 5: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/5.jpg)
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
![Page 6: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/6.jpg)
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
![Page 7: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/7.jpg)
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
![Page 8: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/8.jpg)
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
![Page 9: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/9.jpg)
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
![Page 10: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/10.jpg)
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
![Page 11: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/11.jpg)
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
![Page 12: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/12.jpg)
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
![Page 13: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/13.jpg)
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
![Page 14: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/14.jpg)
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™
![Page 15: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/15.jpg)
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)
![Page 16: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/16.jpg)
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
![Page 17: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/17.jpg)
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
![Page 18: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/18.jpg)
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
![Page 19: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/19.jpg)
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
![Page 20: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/20.jpg)
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
![Page 21: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/21.jpg)
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
![Page 22: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/22.jpg)
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”
![Page 23: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/23.jpg)
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
![Page 24: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/24.jpg)
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
![Page 25: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/25.jpg)
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
![Page 26: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/26.jpg)
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
![Page 27: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/27.jpg)
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
![Page 28: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/28.jpg)
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
![Page 29: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/29.jpg)
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
![Page 30: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/30.jpg)
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
![Page 31: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/31.jpg)
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?
![Page 32: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/32.jpg)
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?
![Page 33: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/33.jpg)
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?
![Page 34: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/34.jpg)
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
![Page 35: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/35.jpg)
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.
![Page 36: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/36.jpg)
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
![Page 37: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/37.jpg)
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
![Page 38: Application Architecture](https://reader035.vdocuments.site/reader035/viewer/2022070407/5681431e550346895daf818a/html5/thumbnails/38.jpg)
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