Soa Web Services Presentation

  • Uploaded by: api-3818400
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Soa Web Services Presentation as PDF for free.

More details

  • Words: 2,440
  • Pages: 50
Service Oriented Architecture && Web Services Ganesh. G. && Team Wipro - EAI Chennai

Agenda 

SOA What is SOA?  Rules of SOA  SOA Characteristics  Basic SOA Model 



Webservices What is a Webservice?  WS Model and Process flow  Technologies in WS 

  

WSDL SOAP UDDI

Case Study  Webservices – Where appropriate? 

10/23/08

Ganesh. G. Wipro - EAI Chennai

2

Service Oriented Architecture Definition 

SOA – a component model that inter-relates the different functional units of an application, called services, through well-defined interfaces and contracts between these services.



The interface is defined in a neutral manner that should be independent of the hardware platform, the operating system, and the programming language the service is implemented in.



This allows services, built on a variety of such systems, to interact with each other in a uniform and universal manner.

10/23/08

Ganesh. G. Wipro - EAI Chennai

3

SOA Definition – Contd. In SOA, there will be a service provider and a service consumer  A service-oriented architecture is a collection of services. These services communicate with each other (may be by simple data passing or by involving two or more services coordinating some activity).  Communication between consumer and provider happens in standard message format. 

10/23/08

Ganesh. G. Wipro - EAI Chennai

4

Pre SOA World 

A classic example of a pre-SOA system that have been around for a while is the Common Object Request Broker Architecture (CORBA) which defines similar concepts to SOA.



CORBA is based on IDL, where as SOA is based on XML based language called WSDL. Hence services have moved to more dynamic and flexible interface system than the older IDL in CORBA

10/23/08

Ganesh. G. Wipro - EAI Chennai

5

Rules of SOA  The

messages must be descriptive, rather than instructive and should be written in a format, structure and vocabulary understood by all parties.  The messages should be extensible.  Mechanism support to discover a service provider. 10/23/08

Ganesh. G. Wipro - EAI Chennai

6

What is a Service? 

A service is a function that is Well-defined  Self-contained  Does not depend on the context or state of other services. 

A service is the endpoint of a connection.  Services are what you connect together using Web Services. 

10/23/08

Ganesh. G. Wipro - EAI Chennai

7

SOA Characteristics 

Services are  Discoverable

and Dyanmically bound  Self-contained and modular  Stress interoperability  Loosely coupled  Network-addressable interface  Coarse-grained interfaces  Location-transparent 10/23/08

Ganesh. G. Wipro - EAI Chennai

8

Basic SOA Model A basic service-oriented architecture can be depicted as follows.

10/23/08

Ganesh. G. Wipro - EAI Chennai

9

WebServices - Definition 

A Web service is a software application identified by a URI, whose interface and bindings are capable of being identified, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based messages via Internet-based protocols.

10/23/08

Ganesh. G. Wipro - EAI Chennai

10

What is a Web Service?  Application

components  Communicate using open protocols  Self-contained and self-describing  Discovered using UDDI  Can be used by other applications  XML is the basis for Web services 10/23/08

Ganesh. G. Wipro - EAI Chennai

11

What is a Web Service? – Contd. 

Using Web services, your application can publish its function or message to the rest of the world.



An interface that describes a collection of operations that are network accessible through standardized XML messaging.



Refers to the technologies that allow for making connections.

10/23/08

Ganesh. G. Wipro - EAI Chennai

12

Web Services Model

10/23/08

Ganesh. G. Wipro - EAI Chennai

13

Typical Web Service Scenario

10/23/08

Ganesh. G. Wipro - EAI Chennai

14

Web Service Process Flow 

A service provider describes its service using WSDL. This definition is published to a directory of services. The directory could use Universal Description, Discovery, and Integration (UDDI). Other forms of directories can also be used.



A service consumer issues one or more queries to the directory to locate a service and determine how to communicate with that service.



Part of the WSDL provided by the service provider is passed to the service consumer. This tells the service consumer what the requests and responses are for the service provider. 10/23/08

Ganesh. G. Wipro - EAI Chennai

15

Web Service Process Flow – Contd.  The

service consumer uses the WSDL to send a request to the service provider.

 The

service provider provides the expected response to the service consumer.

10/23/08

Ganesh. G. Wipro - EAI Chennai

16

What is WSDL? 

Language for describing web services.



Format for describing a Web Services Interface.



Forms the basis for Web Services.



Way to describe services and how they should be bound to specific network addresses.

10/23/08

Ganesh. G. Wipro - EAI Chennai

17

WSDL Components 

WSDL has following parts Types Message Port Type Binding Port service

10/23/08

Ganesh. G. Wipro - EAI Chennai

18

Basic Parts of WSDL Representation

10/23/08

Ganesh. G. Wipro - EAI Chennai

19

WSDL Components – Contd. 

Port Type 



It is a set of abstract operations. Each operation refers to an input message and output messages.

Binding It specifies concrete protocol and data format specifications for the operations and messages defined by a particular portType.  A binding Must specify exactly one Protocol  A binding must not specify address information.  Per operation Info as well as per Binding Information may also be specified. 

10/23/08

Ganesh. G. Wipro - EAI Chennai

20

WSDL Components – Contd. 

Port  It

specifies an address for a binding, thus defining a single communication endpoint.  Port must not specify more than one address.  Port must not specify any binding information other than address info. 

Service  It

10/23/08

is used to aggregate a set of related ports.

Ganesh. G. Wipro - EAI Chennai

21

Parts of WSDL 

Definitions 



Operations  



include both data type definitions and message definitions Operations describe actions for the messages supported by a Web service There are four types of operations: One-way, Request/response, Solicit response, Notification

Service bindings   

10/23/08

Service bindings connect port types to a port A collection of ports defines a service This binding is commonly created using SOAP

Ganesh. G. Wipro - EAI Chennai

22

Sample WSDL File <definitions name="StockQuote" targetNamespace="http://example.com/stockquote.ws dl" xmlns:tns="http://example.com/stockquote.wsdl" /"> <schema targetNamespace="http://example.com/stockquote.xsd " xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="TradePriceRequest"> <element name="tickerSymbol" type="string"/> <element name="TradePrice"> <element name="price" type="float"/> 10/23/08

Ganesh. G. Wipro - EAI Chennai

23

Sample WSDL File <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePriceRequest"/> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/> <portType name="StockQuotePortType"> 24 Ganesh. G. Wipro - EAI Chennai 10/23/08 

Sample WSDL File <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <soap:operation soapAction="http://example.com/GetLastTradePrice"/ > <soap:body use="literal"/> <soap:body use="literal"/> <service name="StockQuoteService"> <documentation>My first service <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> 10/23/08

Ganesh. G. Wipro - EAI Chennai

25

SOAP  Stands

for Simple Object Access Protocol  is a communication protocol  is for communication between applications  is a format for sending messages  is designed to communicate via Internet

10/23/08

Ganesh. G. Wipro - EAI Chennai

26

SOAP – Contd.  is

platform and language independent  is based on XML  is simple and extensible  allows you to get around firewalls  will be developed as a W3C standard

10/23/08

Ganesh. G. Wipro - EAI Chennai

27

Why soap? It is important for application to communicate with each other  Application communicate using RPC calls  But a better way to communicate with various application will be through HTTP. But HTTP was not designed for this.  HTTP + XML = SOAP was created to accomplish this.  W3C works on this. 

10/23/08

Ganesh. G. Wipro - EAI Chennai

28

SOAP – Representation <soap:Envelope xmlns:soap= "http://www.w3.org/2001/12/soapenvelope" soap:encodingStyle= "http://www.w3.org/2001/12/soapencoding"> <soap:Header> <soap:Body> <soap:Fault>

10/23/08

Ganesh. G. Wipro - EAI Chennai

29

SOAP – Representation – Contd. XML

document

 Envelope

– identify xml doc is a soap

message  Header – Optional – header information  Body – call and response information  Fault – error info occurred while message processing

10/23/08

Ganesh. G. Wipro - EAI Chennai

30

SOAP – Representation – Contd.  must

be encoded using XML

must use the SOAP Envelope namespace  must use the SOAP Encoding namespace  must NOT contain a DTD reference  must NOT contain XML Processing Instructions 

10/23/08

Ganesh. G. Wipro - EAI Chennai

31

SOAP HTTP Binding   

HTTP + XML = SOAP SOAP method is an HTTP request/response that complies with the SOAP encoding rules SOAP request could be an HTTP POST or an HTTP GET request

Normal HTTP request message POST /item HTTP/1.1 Host: 189.123.345.239 Content-Type: text/plain Content-Length: 200

SOAP HTTP Message POST /item HTTP/1.1 Host: 189.123.345.239 Content-Type: application/soap+xml; charset=utf-8 Content-Length: 250

10/23/08

Ganesh. G. Wipro - EAI Chennai

32

SOAP Example - Request POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock"> <m:GetStockPrice> <m:StockName>IBM

10/23/08

Ganesh. G. Wipro - EAI Chennai

33

SOAP Example - Response HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock"> <m:GetStockPriceResponse> <m:Price>34.5

10/23/08

Ganesh. G. Wipro - EAI Chennai

34

UDDI  Is

an acronym for Universal Description, Discovery, and Integration  Is a platform-independent, XML-based registry for businesses worldwide to list themselves on the Internet  Is an open industry initiative, sponsored by OASIS 10/23/08

Ganesh. G. Wipro - EAI Chennai

35

UDDI – Contd. Enables businesses to publish service listings and discover each other  Defines how the services or software applications interact over the Internet  consists of three components 

 White

Pages: address, contact, and known identifiers  Yellow Pages: industrial categorizations based on standard taxonomies  Green Pages: technical information about services exposed by the business.

10/23/08

Ganesh. G. Wipro - EAI Chennai

36

UDDI – Contd.  

  

Is one of the core Web Services standards Is designed to be interrogated by SOAP messages Is meant to provide access to WSDL documents. UDDI is not just a specification Has a set of publicly available internet-based implementations

10/23/08

Ganesh. G. Wipro - EAI Chennai

37

Functional flow of UDDI

10/23/08

Ganesh. G. Wipro - EAI Chennai

38

Where UDDI fits in?

10/23/08

Ganesh. G. Wipro - EAI Chennai

39

UDDI and its role  UDDI

addresses a number of business problems  Problem: A mid-sized manufacturer may interact with numerous on-line customers with differing interfaces and their own standards and protocols.  Solution:

UDDI broadens and simplifies the use of B2B through web Service description

10/23/08

Ganesh. G. Wipro - EAI Chennai

40

UDDI and its role – Contd. 

The other scenarios can be: 1. A flower shop in Australia desires to be "plugged in" to every marketplace in the world but doesn't know how. 

In such a scenario, UDDI offers a simple one-stop location for Service Discovery.

2. A B2B marketplace needs to get catalog data for relevant suppliers in its industry, along with connections to shippers, insurers, etc. 

10/23/08

In such a scenario, UDDI offers easy integration.

Ganesh. G. Wipro - EAI Chennai

41

How UDDI Works  

 

A UDDI registry contains programmatic descriptions of businesses and the services they support. It also contains references to specifications (called Technical Models, or "tModels") which describe how web services work. It is built upon a programming model and schema which are platform and language independent. Business and standards organizations are the primary source of registry information.

10/23/08

Ganesh. G. Wipro - EAI Chennai

42

How UDDI Works – Contd. 

Populating the registry has several steps.  Software

companies, standards bodies and programmers populate the registry with descriptions of various tModels (tModels describe specifications common to an industry vertical or business. )  Businesses populate the registry with descriptions of the services they support. 

UDDI assigns a programmatically unique universal identifier (UUID) to each tModel and business registration and stores them in the registry.

10/23/08

Ganesh. G. Wipro - EAI Chennai

43

How UDDI Works – Contd. Marketplaces, search engines, and business applications then query the registry to discover services of other companies.  Businesses then use this data to facilitate easier integration with each other over the web.  This can then be a dynamic process where search and discovery automatically adapts to available services. 

10/23/08

Ganesh. G. Wipro - EAI Chennai

44

Case Study Web service for bank ATM 



10/23/08

Ganesh. G. Wipro - EAI Chennai

Fujitsu is a top ATM vendor. ATMs expected to provide more service than just financial transactions.

45

Web service for bank ATM – Contd. 





10/23/08

IFX-SOAP Implementation protocol used in order to make its ATMs internet enabled. ATMs are contact points between bank operations and users. Data communications between ATMs,mainframes and external gateway servers performed over vendor-specific protocol as shown in figure.

Ganesh. G. Wipro - EAI Chennai

46

Web service for bank ATM – Contd. 





By connecting ATMs to the Internet, rich services can be provided on the Internet Expensive and time consuming to replace all existing ATMs and external servers with the new ATM or ATM Switch at once. An EAI software package produced by Fujitsu enables existing ATMs to coexist with new ones.

Conclusion: Possible to gradually and easily add new ATMs and ATM Switch without changing the existing system.

10/23/08

Ganesh. G. Wipro - EAI Chennai

47

WS && SOA Where Appropriate? In general SOA and Web services are most appropriate for applications:    

10/23/08

That must operate over the Internet where reliability and speed cannot be guaranteed Where there is no ability to manage deployment so that all requesters and providers are upgraded at once Where components of the distributed system run on different platforms and vendor products Where an existing application needs to be exposed for use over a network, and can be wrapped as a Web service.

Ganesh. G. Wipro - EAI Chennai

48

Questions && Answers 10/23/08

Ganesh. G. Wipro - EAI Chennai

49

THANK YOU

10/23/08

Ganesh. G. Wipro - EAI Chennai

50

Related Documents

Presentation Web Services
November 2019 3
Web Services
November 2019 38
Web Services
November 2019 48
Web Services
November 2019 43