application architecture

Post on 10-Jan-2016

31 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

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

top related