architecture, styles, and service oriented architecture

23
Architecture, Styles, and Service Oriented Architecture Richard Osborne September 22, 2006

Upload: dustin-allen

Post on 31-Dec-2015

35 views

Category:

Documents


0 download

DESCRIPTION

Architecture, Styles, and Service Oriented Architecture. Richard Osborne September 22, 2006. Architecture Defined. the art of creating an actual, implied or apparent plan of any complex object or system - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Architecture, Styles, and Service Oriented Architecture

Architecture, Styles, and Service Oriented Architecture

Richard Osborne

September 22, 2006

Page 2: Architecture, Styles, and Service Oriented Architecture

Architecture Defined the art of creating an actual, implied or

apparent plan of any complex object or system

a subjective mapping from a human perspective to the elements or components of some kind of structure or system, which preserves the relationships among the elements/components

Page 3: Architecture, Styles, and Service Oriented Architecture

IT or Systems Architecture Many definitions the representation of an engineered system,

and the process and discipline for effectively implementing the design(s) for such a system. Such a system may consist of information and/or hardware and/or software

The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution. From ANSI/IEEE 1471-2000

Page 4: Architecture, Styles, and Service Oriented Architecture

IT or Systems Architecture A representation of a system in which there is a

mapping of functionality onto hardware and software components, a mapping of the software architecture onto the hardware architecture, and human interaction with these components. From the Carnegie Mellon University's Software Engineering Institute

An architecture description is a formal description of a system, organized in a way that supports reasoning about the structural properties of the system. It defines the [system] components or building blocks...and provides a plan from which products can be procured, and systems developed, that will work together to implement the overall system. It thus enables you to manage...investment in a way that meets [business] needs. From The Open Group Architecture Framework

Page 5: Architecture, Styles, and Service Oriented Architecture

IT or Systems Architecture All have some common elements:

Structure

Components

Relationships

Purpose

Plan

Page 6: Architecture, Styles, and Service Oriented Architecture

Enterprise Architecture Applying IT Architecture disciplines to an

enterprise Outside-in, strategy-driven, top-down

viewpoint Alignment – the “holy grail” the practice of applying a comprehensive

and rigorous method for describing a current and/or future structure and behavior for an organization's processes, information systems, personnel and organizational sub-units, so that they align with the organization's core goals and strategic direction

Page 7: Architecture, Styles, and Service Oriented Architecture

Enterprise Architecture FEA – Federal Enterprise

Architecture Core Principles:

Business-driven Proactive & collaborative across the Federal

government Architecture improves the effectiveness and

efficiency of government information resources

No IT investment without a business-approved architecture

Page 8: Architecture, Styles, and Service Oriented Architecture

Enterprise Architecture Alignment of business strategy & IT

investments Architecture is the translation of

business strategy into technical strategy Use of a framework to:

Document current state Define the future state desired capabilities Create a roadmap to get there

There are many reference frameworks Zachman FedArch E2A TOGAF

Page 9: Architecture, Styles, and Service Oriented Architecture

Enterprise Architecture All have some

combination of the following concepts:Busines

sInformation

Technology

Application

Contextual

Conceptual

Logical

Physical

Page 10: Architecture, Styles, and Service Oriented Architecture

Reference Architecture Reference architecture - a style or method a coherent design principle used in a

specific domain describes the kinds of system

components, their responsibilities, dependencies, possible interactions, and constraints.

basis for designing the system architecture for a particular system.

the architect can select from a set of well-known elements (standard parts) and use them in ways appropriate to the desired system architecture

Page 11: Architecture, Styles, and Service Oriented Architecture

Reference Architecture Pre-defined architectural pattern Designed and proven for use in particular

business and technical contexts Often harvested from previous projects Best practices Abstract solutions from many previous

attempts Example - Open System Interconnection

model defines a networking framework for implementing protocols in seven layers

Page 12: Architecture, Styles, and Service Oriented Architecture

Service Oriented Architecture

A collection of services that communicate with each other

A service is a function that is well-defined, self-contained and does not depend on the context or state of other services

From simple data passing to two or more services coordinating (orchestrating) some activity (business process)

Not a new concept

Page 13: Architecture, Styles, and Service Oriented Architecture

Service Oriented Architecture

Monolithic Architecture

Component Based Architecture

Service Oriented Architecture

Monolithic Architecture

(Tightly Coupled, Application Silos)

Application Silos with Components(Tightly Coupled

and Limited Reuse)

Service Oriented Business Applications (Loosely

Coupled, Business Services as Assets)

Time

Page 14: Architecture, Styles, and Service Oriented Architecture

Service Oriented ArchitectureNext stage of integration

Services(SOA)

MonolithicArchitectures

EAI

MessageProcessing

RemoteObject

Invocation

Sub-routines&

RemoteProcedure

Calls

Business Process

Management

Today Late 90’s Future Pre 50’s- 60’s

70’s - mid 80’s

80’s -Mid 90’s

Mid 90’s toEarly 00’s

What’sNext?

Page 15: Architecture, Styles, and Service Oriented Architecture

Why is Integration Important? Investments made in “legacy” systems

Trillions of $ over the past 40 to 50 years Remember Y2K? Mainframe Distributed Client-Server Web Application Packages such as ERP

Cost and Time to develop & deploy new business functionality Rates from $30/hour (off-shore) to

$300+/hour A small 5 person year project (10,000 hours)

can easily cost in excess of $2M and take a year to deliver

Page 16: Architecture, Styles, and Service Oriented Architecture

Why is Integration Important? Why develop a new system/business

function when you already have it? Is it “locked up” in a different technology? The cost to maintain two of the same is not

2X but 3X .. Or more

SOA is a way to re-use the assets that most organizations already own Break down the existing systems into

components that can be combined in new ways

A flexible, standards-based integration method is needed

Page 17: Architecture, Styles, and Service Oriented Architecture

Why is Integration Important?

Custom Point-to-Point Integration uses

technology aware bridges between application

components; very brittle for changes.

EAI uses broker-specific adaptors which provide pre-built connectivity to

a wide variety of applications & platforms; less brittle for changes

than P2P.

EAI

SOI integrates applications & platforms

using service interactions & an ESB; is the least

brittle for changes.

SOI

Page 18: Architecture, Styles, and Service Oriented Architecture

How do we achieve integration?

The Silo – monolithic architecture

User Interface

Business Logic

Data Access

Data

Page 19: Architecture, Styles, and Service Oriented Architecture

How do we achieve integration?

Separation of Concerns

User Interface

Business Logic

Data Access

Data

Integration Layer

Integration Layer

Integration Layer

Page 20: Architecture, Styles, and Service Oriented Architecture

SOA Definitions - Viewpoints a set of services that a business wants to

expose to their customers and partners, or other portions of the organization

an architectural style which requires a service provider, requestor and a service description

a set of architectural principles, patterns and criteria which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, compose-ability and single implementation

a programming model complete with standards, tools and technologies such as Web Services

Page 21: Architecture, Styles, and Service Oriented Architecture

SOA Reference Architecture

Da

ta A

rchite

cture

an

d B

usin

ess In

tellig

en

ce

Qo

S, S

ecu

rity, Ma

na

ge

me

nt, a

nd

Mo

nito

ring

Infra

structu

re S

ervice

Inte

gra

tion

(En

terp

rise S

ervice

Bu

s Ap

pro

ach

)consumers

business processesprocess choreography

servicesatomic and composite

service components

operational systems

Se

rvice C

on

sum

er

Se

rvice P

rovid

er

AJAX Portlets WSRP B2B Other

OOApplication

CustomApplication

PackagedApplication

Go

vern

an

ce

Page 22: Architecture, Styles, and Service Oriented Architecture

SOA's Standards Foundation BPEL (Business Process Execution Language): a standard for assembling

sets of discrete services into an end-to-end business process J2EE 1.4: the current version of Java 2 Platform, Enterprise Edition, with APIs for

deploying and managing Web services JSR 168: standard for portal and portlet interoperability JSR 181: an API for Web services metadata annotation SOAP (Simple Object Access Protocol): a W3C-approved standard for

exchanging information among applications UDDI (Universal Description, Discovery, and Integration): an OASIS-

approved standard specification for defining Web service registries WS-I (Web Services Interoperability): an open industry organization

promoting Web services interoperability across platforms, operating systems, and languages

WS-Reliability (Web Services Reliability): a SOAP-based protocol for exchanging SOAP messages, with delivery and message-ordering guarantees

WS-Security (Web Services Security): a SOAP-based protocol that addresses data integrity, confidentiality, and authentication in Web services

WSDL (Web Service Description Language): a W3C-approved standard for using XML to define Web services

WSIF (Web Services Invocation Framework): an open source standard for specifying, in WSDL, EJB implementations for the Web server

WSRP (Web Services for Remote Portlets): an OASIS standard for integrating remote Web services into portals

XML (Extensible Markup Language): a data markup language for Web services

Page 23: Architecture, Styles, and Service Oriented Architecture

Conclusion Architecture plays a role in Enterprise IT EA is often used to align what IT does and

plans to do with the business strategy There are frameworks that help how to

think about the problem There are reference architectures to help

how to create an approach There are architectural patterns to help in

thinking how to build and deploy solutions There are architectural styles that can be

applied in solution design