Title: Architecture, Styles, and Service Oriented Architecture
1Architecture, Styles, and Service Oriented
Architecture
- Richard Osborne
- September 22, 2006
2Architecture 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
3IT 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
4IT 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
5IT or Systems Architecture
- All have some common elements
- Structure
- Components
- Relationships
- Purpose
- Plan
6Enterprise 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
7Enterprise 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
8Enterprise 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
9Enterprise Architecture
- All have some combination of the following
concepts
10Reference 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
11Reference 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
12Service 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
13Service Oriented Architecture
Service Oriented Business Applications (Loosely
Coupled, Business Services as Assets)
Application Silos with Components (Tightly
Coupled and Limited Reuse)
Service Oriented Architecture
Monolithic Architecture (Tightly Coupled,
Application Silos)
Component Based Architecture
Monolithic Architecture
Time
14Service Oriented Architecture
Next stage of integration
Services (SOA)
Whats Next?
Business Process Management
EAI
Message Processing
Remote Object Invocation
Sub-routines Remote Procedure Calls
Monolithic Architectures
Pre 50s - 60s
70s - mid 80s
80s - Mid 90s
Mid 90s to Early 00s
Today
Future
Late 90s
15Why 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
16Why 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
17Why is Integration Important?
SOI
EAI
SOI integrates applications platforms using
service interactions an ESB is the least
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.
Custom Point-to-Point Integration uses technology
aware bridges between application components
very brittle for changes.
18How do we achieve integration?
- The Silo monolithic architecture
User Interface
Business Logic
Data Access
Data
19How do we achieve integration?
User Interface
Integration Layer
Business Logic
Integration Layer
Data Access
Integration Layer
Data
20SOA 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
21SOA Reference Architecture
22SOA'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
23Conclusion
- 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