Introduction to Web Services[2]

download Introduction to Web Services[2]

of 47

Transcript of Introduction to Web Services[2]

  • 8/13/2019 Introduction to Web Services[2]

    1/47

    Introduction to Web Services

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    2/47

    What is Web Service?

    ! Currently, most websites limit themselves toextremely simple methods of integration.

    !you might be provided with a link that opensanother website in an existing frame on thecurrent web page.

    !

    Most important, units of application logic canteasily be reused between one application andanother.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    3/47

    What is Web Service?

    The Web Today: The Human Centric

    !"#$%$&

    !"#$%$&

    !"#$%$&

    Internet

    Web Application Server

    HTTP GET

    HTTP Response

    HTML

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    4/47

    What is Web Service?

    Web Services: Application Centric Web

    !"#$%$&

    !"#$%$&

    !"#$%$&

    Web Services Server

    Application B

    Application A

    Internet

    XML

    XML

    XML

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    5/47

    What is Web Service?

    ! !"#$%"&'%()*+,-./01231435'%6*%(Internet 2"78Private!Intranet"Network

    !143"9!!:38;6=%&"?%6XML!@=':AB68CD'$E!"9!!.F#!E$%"2"78G%H%1016$%"*I%(%6! 8J#!%C;KLM=!E$=%&"?%6

    !WSDL"

    ! M%=%"N;362%@03O0C

  • 8/13/2019 Introduction to Web Services[2]

    6/47

    What is Web Service?

    Internet

    XM

    L

    XML

    XML

    Language: C#

    Operating System: Windows

    Mobile

    Language: Perl

    Operating System: Windows

    2000

    Language: Java

    Operating System: Linux

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    7/47

    What is Web Service?

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    8/47

    Uses of Web Services

    ! Business#to#Business

    ! Electronic Data Interchange !EDI"has been thetechnology of choice.

    ! EDI has been a technology that only largecorporations could a$ord to leverage.

    ! XML could facilitate the low#cost and simplisticapproach that was necessary for the B2B task.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    9/47

    Uses of Web Services

    ! Exposing Functionality to Customers

    !

    An example might be the history report of a carbut not just any report, especially not one that isdisplayed in a Web page.

    ! Rather, this information must be provided in

    XML so that a car dealer can build a used#carevaluation system that automatically approves or

    rejects trade#ins.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    10/47

    Uses of Web Services

    ! Integrating Heterogeneous Systems

    ! It's normal for companies to have computingsystems dispersed across multiple platforms.

    !Web Services is the solutions for these problems

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    11/47

    Uses of Web Services

    !Rapid Development Environment!Web Services can make your project

    development environment operate faster!

    Developers can work in their preferredenvironment, while still allowing them toproduce an integrated solution.

    !Web Services also force you to think in terms of

    interfaces.!You don't have to worry about compiling

    another developer's source code or linking inlibraries.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    12/47

    Web Service Architecture

    !Web Services Role!Service Provider

    !

    This is the provider of the web service. Theservice provider implements the service andmakes it available on the Internet.

    !Service Requestor!

    This is any consumer of the web service. Therequestor utilizes an existing web service byopening a network connection and sending anXML request.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    13/47

    Web Service Architecture

    ! Service Registry

    !This is a logically centralized directory ofservices. The registry provides a central place

    where developers can publish new services orfind existing ones. It therefore serves as a

    centralized clearinghouse for companies andtheir services.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    14/47

    Web Service Architecture

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    15/47

    Web Service Architecture

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    16/47

    Web Service Architecture

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    17/47

    Web Service Architecture

    !Web Services Protocol Stack !4 layers"!Service Transport

    !

    This layer is responsible for transportingmessages between applications.Currently, this layer includes hypertexttransfer protocol !HTTP", Simple Mail

    Transfer Protocol!SMTP

    ", file transferprotocol !FTP", and newer protocols,

    such as Blocks Extensible ExchangeProtocol !BEEP".

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    18/47

    Web Service Architecture

    !XML Messaging!This layer is responsible for encoding messagesin a common XML format so that messages

    can be understood at either end. Currently,this layer includes XML#RPC and SOAP.!Service Description

    !This layer is responsible for describing the

    public interface to a specific web service.Currently, service description is handled viathe Web Service Description Language!WSDL".

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    19/47

    Web Service Architecture

    ! Service Discovery

    !This layer is responsible for centralizingservices into a common registry, and providingeasy publish/find functionality. Currently,service discovery is handled via Universal

    Description, Discovery, and Integration!UDDI".

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    20/47

    Service Transport

    ! HTTP

    ! HTTP is the most popular of Web services

    transport! HTTP is simple, stable, and widely deployed

    ! HTTP is allowed by Firewall

    !Allows XML, XML#RPC! Security Concern

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    21/47

    XML Messaging

    ! XML !eXtension Markup Language"! Mid#1970s, Charles F Goldfarb introduce theworld of Standard Generalized Markup Language!SGML". It is designed for data representation.

    ! HTML !Hyper Text Markup Language"is basedon SGML. It is describe how to formatting andpresent the data

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    22/47

    XML Messaging

    ! XML !eXtension Markup Language"

    ! Mid#1970s, Charles F Goldfarb introduce theworld of Standard Generalized Markup Language!SGML". It is designed for data representation.

    ! HTML !Hyper Text Markup Language"is based

    on SGML. It is describe how to formatting andpresent the data

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    23/47

    XML Messaging

    ! XML !eXtension Markup Language"!XML is really just a collection of data consisting

    of both physical and logical structure.!

    Physically, the document consists of textualinformation. It contains entities that canreference other entities that are locatedelsewhere in memory, on a hard disk, or, more

    importantly, on the Web.!The logical structure of an XML document

    includes processing instructions, declarations,comments, and elements.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    24/47

    XML Messaging

    ! XML !eXtension Markup Language"

    Chevrolet

    Optra

    Blue

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    25/47

    XML Messaging

    ! XML#RPC !Remote Procedure Call"

    !

    It is the simple protocol that uses XMLmessaging for perform RPC.

    ! Message send via HTTP POST.

    !

    XML#RPC is platform independent. JAVA clientcan sent XML#RPC for call .NET Server.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    26/47

    XML Messaging

    !XML#RPC !Request"

    weather.getWeather

    10016

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    27/47

    XML Messaging

    !XML#RPC !Response"

    65

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    28/47

    XML Messaging

    ! SOAP !Simple Object Access Protocol"!SOAP is an XML#based protocol for

    exchanging information between computers.!SOAP can be used in a variety of messaging

    systems, and can be delivered via a variety oftransport protocols, the main focus of SOAP is

    RPCs transported via HTTP.!Like XML#RPC, SOAP is platform#

    independent and therefore enables diverseapplications to communicate.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    29/47

    XML Messaging

    ! SOAP (Request)

    10016

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    30/47

    XML Messaging

    ! SOAP (Response)

    65

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    31/47

    Service Description: WSDL

    !WSDL !Web Services Description Language"!WSDL is an XML grammar for specifying a

    public interface for a web service.!Information on all publicly available functions.!Data type information for all XML message.!Biding information about the specific transport

    protocol to be used.!Address information for locating thespecifiedservice.

    !Describing of SOAP Services

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    32/47

    Service Description: WSDL

    ! WSDL !Example"

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    33/47

    Service Discovery: UDDI

    ! Universal Description, Discovery, and Integration

    ! UDDI is was originally created by Microsoft, IBM and

    Ariba! UDDI is the place the to find and discover the Web

    Service

    !

    Public UDDI or Private UDDI !Public: http://uddi.microsoft.com"

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    34/47

  • 8/13/2019 Introduction to Web Services[2]

    35/47

    Security Consideration

    !Confidential!both XML#RPC and SOAP run primarily

    on top of HTTP, and XML

    communications can therefore beencrypted via the Secure Sockets Layer!SSL". SSL is a proven technology, is widelydeployed, and is therefore a very viable

    option for encrypting messages.!Authentication!Network Security

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    36/47

    Security Consideration

    !Authentication

    !One solution is to leverage HTTPauthentication. HTTP includes built#in

    support for Basic and Digestauthentication, and services can thereforebe protected in much the same manner as

    HTML documents are currentlyprotected. Most security experts, however,agree that HTTP authentication is arelativel weak o tion.

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    37/47

    All Together

    ! Services Provider

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    38/47

    All Together

    ! Services Requestor

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    39/47

    ."9OC46P:8(Web Services &'8$%"0I%-6#6JK"$#Q$%";3%

    ! !"#$%&'()*+,*(-.*/*%*(01,&2345#62.'782197*:2;,*(-.#1#$?(,&=,*(-.*@7AB(&,*(/*%*(01CD#6C62.@BB8"':#%"'&E#(A2"B38+Application to Application (A2A):2;,*(@7,1C7FG;#3.8%H7

    IJ*#)*+Web Services! +J*;'J8,*(#>6CEK.+*#1#LG8+=*,E#CM==?B"#%F1-(LG8+%L8%*,%*;)FGEK.KJ9;

    11CD#:2;38B(&,*(=*,Web

    Services 38+!"#$%&'()*+,*(-.*

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    40/47

    ,*(C(A;?,'OEK.Web Services

    ! $%"-47,8=OC("9!!M%"M6-*RG%C168(;P$"Enterprise Application Integration (EAI)! $%"-47,8=OC("9!!M%"M6-*R*+,=+;

  • 8/13/2019 Introduction to Web Services[2]

    41/47

    Government Data Exchange

    Application Center Server Gateway

    '()*+*)+,(-.%/"01 2&3456%&7-%6 89)%*+6*)+,(-.%/"01

    GDI DataLegacy Data

    Government

    Data

    Exchange

    (GDX)

    GatewaySOAPSOAP

    Applicatio

    n

    Web browser

    SOAPSOAP

    Servlet

    Aspx

    HTTP/

    HTTPSHTTP/

    HTTPS

    HTTP/

    HTTPS

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    42/47

    Question & Answer

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    43/47

    43

    )B)9#

    ! !"#HE*:6M'(6I%4EC&38($%"VEW6%"9!!MI%2"E! &%=M#6;3%:8(SD$;3%O0C123SD$;3%M%=%"N&"6

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    44/47

    44

    )B)9#

    ! M%C$%"!#6X2'(26A,(&38($%"VEW6%"9!!MI%2"E!123!"#HE**E?9#!34734@

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    45/47

    45

    )B)9#

    ! 23%(M""VM#6;3%Big A &38($%""9!!MI%2"E!4'

  • 8/13/2019 Introduction to Web Services[2]

    46/47

    46

    )B)9#

    ! !"#HE*"NC6&PX2'(26A,(&38($%"VEW6%"9!!MI%2"E!123SD$;3%S78$4="NXS98K.$"LP&!X&'(

    V"38=&"6

    Saturday, October 29, 2011

  • 8/13/2019 Introduction to Web Services[2]

    47/47

    47

    )B)9#

    ! -;"78:'%CM=%;=O"(X"=&38($%"VEW6%"9!!MI%2"E!123!"#$%"Q8(238(VE$O0C"9!!M%=%"N

    &"