You are on page 1of 11

SERVICE ORIENTED ARCHITECTURES AND WEB SERVICES

Prior to SOA

Distributed Object Systems / Protocols


The distributed object paradigm has been widely adopted in distributed applications, for which a
large number of mechanisms based on the paradigm are available. Among the most well known
of such mechanisms are:
 Java Remote Method Invocation (RMI),
 the Common Object Request Broker Architecture (CORBA) systems
o CORBA - acronym for Common Object Request Broker Architecture.
o It was developed under the auspices of the Object Management Group (OMG). It
is middleware.
o The first service-oriented architecture for many people in the past was with the
use of Object Request Brokers (ORBs) based on the CORBA specification.
o The CORBA specification is responsible for really increasing the awareness of
service-oriented architectures.
 the Distributed Component Object Model(DCOM)
o An extension of the Component Object Model (COM).
o Introduced in 1996
o Designed for use across multiple network transports, including Internet protocols
such as HTTP.
o DCOM is based on the Open Software Foundation's DCE-RPC specification.
 Mechanisms that support the Simple Object Access Protocol (SOAP).

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

Definition for Services


Services are autonomous, discrete and reusable units of business functionality exposing its
capabilities in a form of contracts. Services can be independently evolved, moved, scaled even in
runtime.

Service Architecture Composition


 Service architectures are composed of:

 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

Service Oriented Architecture Model

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.

Potential Benefits of SOA


 Based on open standards.
 Supports vendor diversity.
 Fosters intrinsic interoperability.
 Promotes discovery.
 Promotes federation.
 Fosters inherent reusability.
 Emphasizes extensibility.
 Promotes organizational agility.
 Supports incremental implementation.
Stateful vs Stateless services
Stateless -- a service does not maintain any state information
 consumer must provide all the needed information permits for easy implementations and
mass production of services (generic services)
Any disadvantages?
 Cannot provide “sessions” between providers and consumers
e.g., cannot provide security certificate once per session

Stateful services - Needs to share consumer specific context


 May be part of interface
 Or exchanged as a sequence of messages
 Not scalable
WEB SERVICES

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.

Types of Web Services


 External – the request and the service belong to two different organizations.
o Risk of Security
 Internal – the request and service are in the same organization.

Web Services Standards


 XML
 SOAP
 WSDL
 UDDI and ebXML
 WS-Security
 WS-BPEL
XML
 XML has become the de facto standard for describing data to be exchanged on the
Web.
 As it's name indicates, XML is a markup language.
 It involves the use of tags that "mark up" the contents of a document, and in doing so,
describe the contents of a document.
 An XML tag identifies information in a document, and also identifies the structure of
the information.
 Eg:
<bookshelf>
<book>
<title>My Life and times</title>
<author>Felix Harrison</author>
<price>39.95</price>
</book>
</bookshelf>

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.

You might also like