Professional Documents
Culture Documents
Prior to SOA
Limitations of Components
Tightly coupled
Cross language/ platform issues
Interoperability issues
Maintenance and management
Security issues
What are services?
A service is
o Autonomous unit of automated business logic
o Accessible to other systems
A service represents
o Business process
o Sub process
o Activity (process step) (or multiple)
What is Service Architecture?
A collection of services
classified into types
arranged into layers
Governed by architectural patterns and policies
Definitions for SOA
Service-Oriented Architectures (SOA) is a set of patterns for building distributed systems
where one application that comprises a system can find another application that provides
needed service and can exchange data with it
SOA is a software architecture model in which business functionality are logically
grouped and encapsulated into self contained, distinct and reusable units called services
that
— represent a high level business concept
— can be distributed over a network
— can be reused to create new business applications
— contain contract with specification of the purpose, functionality, interfaces
(coarse grained), constraints, usage
Services
• Units of processing logic
• Example: Credit card Service
Messages
• Units of communications between services
• Needed for services to do their job
Operations
• Units of Work
• Example: Determine Cost of Attendance
Processes
• Composed / orchestrated groups of services
• Example: Financial Aid Disbursement
Why SOA?
Because it supports,
— 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
Primary Benefits are:
— Reusability
— Interoperability
— Scalability
— Flexibility
— Cost Efficiency
Features of SOA
Self- describing Interface (WSDL)
Message communication via formally defined XML
Services are maintained in a registry
Each service has a Quality Of Service
Applications adapt to changing technologies
Easy integration of applications with other systems
Leverage existing investments in legacy applications
SOA Characteristics
Loosely coupled: minimizes dependencies between services.
Contractual: adhere to agreement on service descriptions.
Autonomous: control the business logic they encapsulate.
Abstract: hide the business logic from the service consumers.
Reusable: divide business logic into reusable services.
Composable: facilitate the assembly of composite services.
Stateless: minimize retained information specific to an activity.
Discoverable: self-described so that they can be found and assessed.
Definition-W3C
A Web service is a software system designed to support interoperable machine-to-
machine interaction over a network.
It has an interface described in a machine-processable format (specifically WSDL).
Other systems interact with the Web service in a manner prescribed by its description
using SOAP-messages, typically conveyed using HTTP with an XML serialization in
conjunction with other Web-related standards.
SOAP
SOAP - Simple Object Access Protocol
SOAP is an XML-based protocol for exchanging information in a distributed
environment.
SOAP provides a common message format for exchanging data between clients and
services.
The basic item of transmission - is a SOAP message, which consists of a mandatory
SOAP envelope, an optional SOAP header, and a mandatory SOAP body
WSDL
WSDL – Web Service Description Language.
A WSDL document contains information specified in Web Service Description
Language, as defined in the WSDL specification.
WSDL defines an XML schema for describing a web service.
To uncover the description for a Web service, a client needs to find the service's
WSDL document.
UDDI
The Universal Description, Discovery, and Integration (UDDI) specifications define
how to publish and discover information about services in a UDDI-conforming
registry.
More specifically, the specifications define a UDDI schema and a UDDI API.
The UDDI schema identifies the types of XML data structures that comprise an entry
in the registry for a service.
UDDI registry - "Yellow Pages" for web services.
WS-Security
It describes security-related enhancements to SOAP messaging that provide for
message integrity and confidentiality.
WS-Security uses security tokens to enable SOAP message security and integrity.
Provides a general-purpose mechanism for associating security tokens with messages,
and describes how to encode binary security tokens.
WS-Security is flexible and can be used with a wide variety of security models and
encryption technologies, such as Public-key infrastructure (PKI) and Kerberos, as
well as the SSL and TLS
WS-BPEL
WS-BPEL is (Web Services Business Process Execution Language), also identified
as BPELWS, BPEL4WS, or simply BPEL
An XML-based language that is used to coordinate web services across a single
business process.
It uses WSDL to describe the web services that participate in a process and how the
services interact
Conclusion
SOA is a way of sharing functions in a widespread and flexible way.
Web services make it possible for clients and services to communicate and understand
each other.