So A Web Services

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
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