Lect-1-SOA_basics
Lect-1-SOA_basics
• Service is
• a distinct component that encapsulates a high-level
business concept. It's a modular piece of functionality
that serves a specific purpose within a larger system.
• Lego block
• Service contains
• Contract – message type def,
constraint, description (comment)
• Interface – set of operations
• Implementation – Logic and data
1
Examples of a Service
• Creating a Purchase Order
inside a mainframe
application
• Requesting and reserving a room
in a hotel
• Applying for a loan by filling out
a loan request form
• Search books/music based on
keywords
2
What is SOA?
• A set of components which can be invoked, and
whose interface description can be published
and discovered (W3C).
• Service-oriented architecture is a client/server
design approach in which an application consists
of software services and software service
consumers (also known as clients or service
requesters).
• SOA differs from the more general client/server
model in its definitive emphasis on loose coupling
between software components, and in its use of
separately standing interfaces (Gartner).
3
What is SOA?
• Service-Oriented Architecture is a business-
driven IT architecture approach that supports
integrating your business as linked, repeatable
business tasks, or services.
• SOA helps today’s business innovate by
ensuring that IT systems can adapt quickly,
easily and economically to support rapidly
changing business needs.
• SOA helps customers increase the flexibility of
their business processes, strengthen their
underlying IT infrastructure and reuse their
existing IT investments by creating connections
among disparate applications and information
sources. (IBM)
4
Potential Benefits of SOA
Feedback at
different levels
Agility
Risk mitigation
5
SOA architecture
Service
Directory
Finds Register
and s
Retrieve
s
Service Servic
e
Consum Invoke Provid
er s er
6
Traditional Architecture Vs Service Oriented
Architecture
Traditional Architecture Service Oriented
Architecture
•ARCHITECTURE
Components are tightly coupled •ARCHITECTURE
Loose coupling by means of services with
• Interface between subsystems is explicitly standardized interfaces
defined in terms a stack of protocols • Application components communicate only
through services and can be plugged in to any
• Known implementation infrastructure that implements the standardized
service
• Components are not independent of
implementation attributes • Uses abstraction and is based on XML over
SOAP
• • Largely independent of implementation
Tends to be closed architecture – Difficult to
replace, or reuse components from one system • attributes
Loosely coupling between interaction software
to another components – leads to re-use of software
• Commonly, functions are accessible with the components
help of point-point connections over the • Designed to follow publically accessible
network models for consumption
• Tends to be confined to a single organization • Meant for enabling participation of multiple
organizations
• Business layer => Service and business
• Based on standard set of layer – presentation,
• Requires additional
model layers
/ components
business, data access, Database
• Service Bus / Service Facade
• BPM
7
Traditional Architecture Vs Service Oriented
Architecture
Traditional Architecture Service Oriented
Architecture
STANDARDS
• Involves only traditional J2EE and Web related •STANDARDS
Includes standards related to Web Service
standards • Builds a messaging layer above HTTP using SOAP
• Uses only HTTP • Prefer WS-Security for end-to-end security
• Uses HTTPS for security • Implementations must deal with evolving set of
• More or less stable set of standards standards
USAGE USAGE
• Process centric • Workflow centric
• Known context of • To a large extent, future context of usage
usage unknown at the time of design i.e unknown users
and usage platforms
8
Challenges of SOA
• Technical Challenges
• Security challenges - loosely
coupled environment
• Performance - XML brings
robustness not speed
• Optimization
• Organizing the services –
registry & repository
• Finding the right services and
right interfaces
• Transaction management is complex in
interactions between logically separate 9
Key components of SOA
10
Key components of SOA
SOA
11
Enterprise service bus (ESB): An ESB manages the flow of messages across different
applications, orchestrating communications and allowing, for instance, an MDM hub to
access application messages and data. It's not for data integration; rather, it's a
messaging mechanism.
Service registry: A service registry is critical for an SOA environment in order to track
and publish services to applications developers, business partners and exchange
members so they know which services exist and how they should be used in the form of
service metadata.