application architecture

38
T H E S O C R A T E S G R O U P Application Architecture T H E S O C R A T E S G R O U P, I N C.

Upload: liko

Post on 10-Jan-2016

31 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: Application Architecture

ApplicationArchitecture

T H E S O C R A T E S G R O U P, I N C.

Page 2: Application Architecture

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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