Lecture4+ +Service+Oriented+Architecture
Lecture4+ +Service+Oriented+Architecture
SOA characteristics
SOA platforms
Software Paradigms
Overview of the content
Current trends
Software paradigms
Application architecture
Procedure oriented
Object-oriented
Component based
Event-driven
Logic based
Aspect-oriented
The monolithic mainframe application
architecture
Integrated applications
Bottom-up approach
Client-server model
Application servers
Basic idea of Tiers
Request Web
Thick
server
client Response
Tier 1: GUI
interactions with the
user and basic
validations
Applicati Databas
on e
server
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
Firewall Control
ASP ISAPI
DC OM DC OM
HTML/XML pages
DC OM
Business Tier
Database Tier
Database Database
Sun’s Web Technologies
Presentation Tier
HTML HTML
Browser Browse
r CORBA Java
Client Applet
Firewall
Servlet JSP
RMI/IIOP RMI/IIOP
HTML/XML pages
RMI/IIOP
Business
Tier
JDBC / SQL/J
EJB Session Beans EJB Entity Beans
MQSeries/Java Messaging
Service (JMS)
Database Tier
Database Database
Component World …
Interface
Implementation
Reusability
standards
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
Limitations
Service
Registry
find Publish
Service Service
Requestor provider
Bind
An Archetypal Distributed Objects System
obje
c tr e g
istry
object c object se
lien t rve r
clie se rv
n tp e rp r
rox oxy
r uy n t i ru n ti
m es u m es u
ppor ppor
nt e t w n
t etw
o r ks u o r ks u
ppor ppor
t t
ph ysical da
ta path
logical data
path
Distributed Object Systems / Protocols
Web
server
Client
Browse HTTP
r
Applets HTML
HTML pages
Java applets
Applicatio
n server
Object
Implementation
Stub Skeleton
JRMP / IIOP
CORBA architecture
Web
server
Client
HTTP
Brows
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
Applicatio
Controls n server
Object
Implementation
Proxy Stub
DCOM
Limitations of Components
Tightly coupled
Interoperability issues
Security issues
Application Centric
Business
Narrow Consumers
scope Limited Business Processes
Finance
Integration bound to
Supply EAI vendor
Architecture
Manufacturing Distribution
Redundancy
Overlapped resources
Overlapped
providers
A service is
➢Autonomous unit of automated
business logic
➢Accessible to other systems
A service represents
➢Business process
➢Sub process
➢Activity (process step)
(or multiple)
What is Service Architecture?
• A collection of services
services
• Governed by architectural if ca
tio
n
l ar
i ty
d e nc
y
nt
i nu en
patterns and policies i de gr
a
de
p
invokes
GUI Applications Serv
uses ices
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 Contract
Service abstraction
Service Documentation
Service reusability
Service composability
Encapsulation
Loose Coupling
between
Service contract
Service implementation
Source: Thomas Erl
Service consumers
Standardized Service Contracts
Data
Focus on the areas of
Source: Thomas Erl
representation
Abstraction
contract
Composability
Primary benefits
Increased reliability
Source: Thomas Erl
Discoverability
Goals
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
source:IBM
Why SOA?
To enable Flexible, Federated Business
Enabling a virtual federation of
Processes Enabling reuse of
Enabling alternative
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
Consolidation/ Encapsulating
Reducing impact
Selection implementation
of change
process complexity
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 API
Concerns.
6. Policies may vary by Layer
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
Basic Services:
Data-centric and logic-centric services
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 Benefits Summary