architecture, styles, and service oriented architecture
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 PresentationTRANSCRIPT
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
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
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
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
IT or Systems Architecture All have some common elements:
Structure
Components
Relationships
Purpose
Plan
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
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
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
Enterprise Architecture All have some
combination of the following concepts:Busines
sInformation
Technology
Application
Contextual
Conceptual
Logical
Physical
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
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
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
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
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?
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
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
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
How do we achieve integration?
The Silo – monolithic architecture
User Interface
Business Logic
Data Access
Data
How do we achieve integration?
Separation of Concerns
User Interface
Business Logic
Data Access
Data
Integration Layer
Integration Layer
Integration Layer
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
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
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
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