1 / 22

Lecture 3: Web Service Standard and SOA

INX954376 : Web Service for Enterprise System 2 nd Semester, Academic Year 2016 College of Arts, Media and Technology Chiang Mai University. Lecture 3: Web Service Standard and SOA. Ref. : Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Agenda. XML: eXtensible Markup Language

retana
Télécharger la présentation

Lecture 3: Web Service Standard and SOA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INX954376 : Web Service for Enterprise System 2nd Semester, Academic Year 2016 College of Arts, Media and Technology Chiang Mai University Lecture 3:Web Service Standard and SOA Ref. : Munindar P. Singh and Michael N. Huhns, Wiley, 2005

  2. Agenda • XML: eXtensible Markup Language • SOAP: Simple Object Access Protocol • WSDL: Web Services Description Language • Directory Services • UDDI: Universal Description, Discovery, and Integration

  3. Standards for Web Services

  4. Standards for Web Services • platforms and programming language independent • support loosely coupled connections between systems[1] • based on open standard such as XML and three other core technologies: WSDL, SOAP, and UDDI.[3]

  5. XML Web Service Foundation • Publish, Find, Use Services • UDDI • Service Interactions • SOAP • Universal Data Format • XML • Description Language • WSDL • Ubiquitous Communications • TCP/IP, HTTP, SMTP, SIP, Reliable messaging • Security (authentication and authorization) • WS-Security, SAML XML Extensible Markup Language • XML is a meta-language for describing data • enable the structuring, description and interchange of data • used to describe any content in a structured way underlying web service[7] Open and with broad industry support

  6. Markup History • None, as in comma separated values • Ad hoc tags • SGML (Standard Generalized Markup L): complex, few reliable tools • HTML (HyperText ML): simple, unprincipled, mixes structure and display • XML (eXtensible ML): simple, yet extensible subset of SGML to capture new vocabularies • Machine processible • Comprehensible to people: easier debugging

  7. XML Basics and Namespaces <?xml version="1.0"?> <!– not part of the document per se  <arbitrary:toptag xmlns=“http://one.default.namespace/if-needed” xmlns:arbitrary=“http://wherever.it.might.be/arbit-ns”       xmlns:random=“http://another.one/random-ns”>      <arbitrary:atag attr1=“v1” attr2=“v2”> Optional text also known as PCDATA <arbitrary:btag attr1=“v1” attr2=“v2” /> </arbitrary:atag> <random:simple_tag/> <random:atag attr3=“v3”/> <!– compare with arbitrary:atag above  </arbitrary:toptag>

  8. XML Schema • A data definition language for XML: defines a notion of schema validity; helps us define desired grammars for documents • Same syntax as regular XML documents • Local scoping of subelement names • Incorporates namespaces • Types • Primitive (built-in): string, ID, IDREF, integer, float, date, • simpleType constructors: list, union • Restrictions: intervals, lengths, enumerations, regex patterns, • Flexible ordering of elements • Key and referential integrity constraints

  9. WSDL: Web Service Description Language WSDL Web Service Description Language • An XML-based format for describing Web services • uses to specify the operation, parameters, and service access information • act as the initial web service interface

  10. WSDL: Web Services Description Language • Describes a programmatic interface to a Web service, including • Definitions of data types • Input and output message formats • The operations provided by the service • Network addresses • Protocol bindings

  11. Describing a Service • Namee.g., GetTemperature • Types of Input Parameterse.g., (String, String) • Types of Output Parameterse.g., Integer

  12. SOAP: Simple Object Access Protocol SOAP Simple Object Access Protocol • XML-based protocol for exchanging data over the Internet • HTTP, SMTP, and FTP • provides a simple packaging structure standard and method for transporting XML messages • Used to exchange messages via HTTP, SMTP, and SIP (Session Initiation Protocol for Internet telephony) • Originally designed for remote-procedure calls (RPC) • Works through firewalls on port 80 • Character-based, so easy to encrypt/decrypt and thus easy to secure • Inefficient due to character, not binary, data and large headers • Does not describe bidirectional or n-party interaction

  13. Directory Services • Support discovery: enable applications, agents, Web service providers, Web service requestors, people, objects, and procedures to locate each other • White pages – entries found by name • Yellow pages – entries found by characteristics and capabilities • A basic directory might be a simple database (passive) or a broker/facilitator (active, that provides alerts and recruits participants) • UDDI – both white pages and yellow pages, but passive

  14. UDDI: Universal Description, Discovery, and Integration UDDI Universal Description Discovery and Integration • a specification for creating an XML-based registry • provides lists of business information and the web services they offer. • use UDDI to discover available web services • provides structure for representing businesses, business relationships, web services, specification metadata, and web service access points. UDDI registers • tModels: technical descriptions of a service’s behavior • businessEntities: describes the specifications of multiple tModels

  15. Yellow, Green, and White Pages in UDDI

  16. UML Model for Business Entity in a UDDI Registry

  17. Core Data Structures for UDDI

  18. WSDL  UDDI Correspondence

  19. Service-Oriented Architecture • SOA is the underlying structure supporting communication between services. • Being a paradigm for organizing and utilizing distributed capabilities under the control of different ownership domains. • Service repository • Responsible for making the service interface and advertises the access information • Service client • Application that requires and uses the service • Owner of service • Responsible for creating service description

  20. SOA: Service Provider • Business perspective: Service provider is the owner of the service. • Architectural perspective: Service provider is the platform that hosts access to the service. • responsible for creating a service description • publishing that description to a service registry (or several registries), and • receiving and answering invocations (bind requests) from service consumers.

  21. SOA: Service Requester • The service requester known as a service client. • It is the application that requires and uses the service which is provided by service provider as a part of its operation. • Service requestor can find a service description published to one or more service registries by searching in the criteria such as service type or keywords. • The result of the finding operation is a list of service descriptions or URL that match the find criteria. • After the service requester has the necessary details of the service, it can bind or connect directly to the service provider and invoke operations on it.

  22. SOA: Service Registry • Service registry provides mechanisms for registering and finding services. • We can define as it is the service repository. • It is responsible for making the service interface and advertises the access information that was published by service provider to any potential service requester.

More Related