Service Oriented Architecture
Service Oriented Architecture
Service Oriented Architecture
Dr.S.Swamynathan
Department of Information Science and Technology
College of Engineering Guindy Campus
Anna University
Chennai, INDIA
Email: [email protected]
Overview of the syllabus
SOA characteristics
Principles of service orientation
Web service and its role in SOA
Service oriented analysis
Service oriented design
SOA platforms
SOA support in J2EE and .NET
SOA standards
Service composition (BPEL)
Security in SOA
Prerequisite for understanding SOA
Current trends
Software paradigms
Application architecture
Web based systems
2-tier and 3-tier architecture
Web based technologies
component based systems
Current trends …
Procedure oriented
Object-oriented
Component based
Event-driven
Logic based
Aspect-oriented
Service oriented
The monolithic mainframe application
architecture
Integrated applications
Applications can share resources
A single instance of functionality (service) can
be reused.
Common user interfaces
Bottom-up approach
Real world scenario
Web based systems …
Client-server model
Client side technologies
Server side technologies
Web client, Web servers
Application servers
Basic idea of Tiers
Request Web
Thick
client server
Response
Tier 1: GUI
interactions with the
user and basic
validations
Applicati Databas
on server e server
Presentation
Logic
Database
Driver
Presentation / Business Layer
Tier Boundary
Data Layer
Database
Two tier architecture
Presentation
Logic
Tier Boundary
Business Business Business
Logic Logic Logic
Database
Driver
Tier Boundary
Data Layer
Database
N-Tier architecture
HTML HTML
Browser Browser
COM ActiveX
Client Control
Firewall
ASP ISAPI
DCOM DCOM
HTML/XML pages
DCOM
Business Tier
Database Tier
Database Database
Sun’s Web Technologies
Presentation Tier
HTML HTML
Browser Browser
CORBA Java
Client Applet
Firewall
Servlet JSP
RMI/IIOP RMI/IIOP
HTML/XML pages
RMI/IIOP
Business Tier
MQSeries/Java Messaging
Service (JMS)
Database Tier
Database Database
Component World – Definition
Component Environment
Component World – Major steps
Iteractions with
traditional software Traditional
entities software
entities
Interactions
Interactions with
with other Components
other components
components
Component
Infrastructure
Interactions with
component
infrastructure
Interface and Implementation
Eject Actual
implementation
External Skip in terms of
world (a user voltages,
of the audio - Volume + signals, currents
system) etc.
- Bass +
Interface Implementation
Technologies for implementing
components
RMI / EJB
CORBA
COM, DCOM, COM+
Limitations
Web services (XML based standards)
Basic model of distributed system
Service
Registry
find Publish
Service Service
Requestor provider
Bind
An Archetypal Distributed Objects System
o bje ct
re g is try
clie n t s e rv e r
pro x y pro x y
ru n tim e ru n t im e
s u ppo rt s u ppo rt
n e two rk n e two rk
s u ppo rt s u ppo rt
ph y s ica l da ta pa th
lo g ica l da t a pa th
Distributed Object Systems / Protocols
Web
server
Client
Browse HTTP
r
Applets HTML
HTML pages
Java applets
Applicatio
n server
Object
Implementatio
n
Stub Skeleton
JRMP / IIOP
CORBA architecture
Web
server
Client
Brows HTTP
er
Applets HTML
HTML pages
Java applets
Application
server
Object
Implementation
Client Server
ORB IIOP ORB
DCOM architecture
Web
server
Client
Browse HTTP
r
ActiveX HTML
HTML pages
ActiveX
Controls Applicatio
n server
Object
Implementation
Proxy Stub
DCOM
Limitations of Components
Tightly coupled
Cross language/ platform issues
Interoperability issues
Maintenance and management
Security issues
Application Centric
Business
Narrow Consumers
scope
Limited Business Processes
Finance
Application
Application
services
invokes
GUI Applications Serv ices
uses
participates exposes
in
Student Business
Applications
Goals Business
supported Processes
by
Why SOA?
Heterogeneous cross-platform
Reusability at the macro (service) level rather
than micro(object) level
Interconnection to - and usage of - existing IT
(legacy) assets
Granularity, modularity, composability,
componentization
Compliance with industry standards
SOA is an evolutionary step
for architecture
SOA is an evolutionary step
in distributed communications
source:Sam Gentile
Features of SOA
Operations
• Units of Work
• Example: Determine Cost of Attendance
Processes
• Composed / orchestrated groups of services
• Example: Financial Aid Disbursement
SOA principles
Service Encapsulation
Service Loose coupling
Service Contract
Service abstraction
Service Documentation
Service reusability
Service composability
Service autonomy
Service optimization and Discovery
Service statelessness
Encapsulation
Loose Coupling
between
Service contract
Service implementation
Service consumers
Source: Thomas Erl
Standardized Service Contracts
Policy
Abstraction
“Service contracts only contain essential
information and information about services is
limited to what is published in service contracts”
Avoid the proliferation of unnecessary service
information, meta-data.
Hide as much of the underlying details of a
service as possible.
Enables and preserves the loosely coupled
relationships
Plays a significant role in the positioning and
design of service compositions Source: Thomas Erl
Documentation
Reusability
Primary benefits
Increased reliability
Behavioral predictability
Policies
Codification of laws, regulations, corporate
guidelines and best practices
Must address all stages of the service lifecycle
(technology selection, design, development
practices, configuration management, release
management, runtime management, etc.)
Applying SOA - Governance
Processes
Enforce policies
System-driven processes (code check-in, code
builds, unit tests)
Human-driven process (requests, design
reviews, code reviews, threat assessment, test
case review, release engineering, service
registration, etc.)
Applying SOA - Governance
Metrics
Measurements of service reuse, compliancy
with policy, etc.
Organization
Governance program should be run by SOA
Board, which should have cross-functional
representatives
Foundation
I/CAD
Business
Capabilities
In
Serv
i ce
Software and IT
Architects
Service implementation
SOA and deployment
model
Board
St del
Po ar
an
Mo rns
Pat
lic ds
d
y
te
Enterprise
Architects
s
Service specification
Service model
Designers
Business service
model
Applying SOA - Challenges
Business functionality has to be made available as services.
Service Orientation Service contracts must be fixed
Sharing of Responsibilities
Potential service users must be involved in the design
Increased complexity! process and will have influence on the service design
Applying SOA – Renovation
Roadmap
source:IBM
Why SOA?
To enable Flexible, Federated Business Processes
Enabling a virtual federation of Enabling alternative Enabling reuse of
participants to collaborate in an implementations Services
end-to-end business process
Service
Service
Service
Inventory Service
Logistics Service Service
Service
Availability
Manufacturing
BPM Expressed in
terms of Services
Provided/Consumed
Smart Clients
Stores POS
Mobile
3rd Party Agents
Portal
Internal Systems
Policy Consistency
e.g. Single Customer Service
Details Service
Example Layers
Reasons for Layering
Presentation
1. Flexible composition. & workflow
2. Reuse.
Composed Services
3. Functional standardization in
lower levels
Basic Services
4. Customization in higher
layers
Underlying
5. Separation of Concerns. API
Aid
Disbursement
Process
Is Realized By
App
Logic
FA System Registrar System Dept of Ed Bursar
Microsoft .NET Mainframe ??? Java on Linux
Applying services to the problem
Monolithic
Before After
The System S1 S2 S3 S4
Loosely coupled
The goal for a SOA is a world wide mesh of
collaborating services, which are published
and available for invocation on the Service
Bus.
SOA is not just an architecture of services
seen from a technology perspective, but the
policies, practices, and frameworks by which
we ensure the right services are provided and
consumed.
Major service types
Basic Services:
Data-centric and logic-centric services
Encapsulate data behavior and data model and
ensures data consistency (only on one
backend).
Basic services are stateless services with high
degree of reusability.
Represent fundamental SOA maturity level and
usually are build on top existing legacy API
(underlying services.
Major service types
Composed Services :
expose harmonized access to inconsistent basic
services technology (gateways, adapters, façades,
and functionality-adding services).
Encapsulate business specific workflows or
orchestrated services.
Service Types SOA Management & Security
service mediation, routing, trust
enablement. ESB, Service Registry
facades )
ct
fra er
In S
Foundation
Service Blocks
Core APIs
I/CAD
Business
Capabilities
In
Serv
i
SOA Benefits Summary
Allow us to execute complex business
processes by composing systems from small,
less complex building blocks
Fosters collaborative business and technical
environment through sharing and coordination
of services
Create outward facing self-service applications
not constrained by organizational boundaries
Enables creating adaptive, agile systems that
are resilient to changes in the business
environment
Conclusions
SOA represents a fundamental change to the
way information systems will designed in the
future
Long term impact on IT portfolio management
is dramatic
Adds a significant dimension to system
evaluation process
Undertaking SOA requires commitment from
all levels of the organization and significant
investments (people, process, and tools)
Conclusion and Summary