1 / 60

Chapter 1: Computing with Services

Chapter 1: Computing with Services. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Semantic Web and Beyond. Human  Machine  Agents Client-Server  P2P  Cooperative

Download Presentation

Chapter 1: Computing with Services

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. Chapter 1:Computing with Services Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

  2. Semantic Web and Beyond • Human  Machine  Agents • Client-Server  P2P  Cooperative • Syntax  Semantics  Mutual Understanding  Pragmatics and Cognition • Data  Services  Processes Future Web Services: focus on organization and society Pragmatics (getting work done) - Workflows, BPEL4WS Distributed Cognition - Decisions and Plans Semantics and Understanding - Ontologies, OWL Syntax, Language, and Vocabulary - FIPA ACL Current Web Services: focus on individual and small group Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  3. Open Environments: Characteristics • Cross enterprise boundaries • Comprise autonomous resources that • Involve loosely structured addition and removal • Range from weak to subtle consistency requirements • Involve updates only under local control • Frequently involve nonstandard data • Have intricate interdependencies Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  4. Chapter 2:Basic Standards for Web Services Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005 Annotated by Juggy Jagannathan in this color

  5. Highlights of this Chapter • eXtensible Markup Language (XML) • Simple Object Access Protocol (SOAP) • Web Services Description Language (WSDL) • Directory Services • Universal Description, Discovery, and Integration (UDDI) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  6. Standards for Web Services Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  7. XML Web Service Foundation Open and with broad industry support • 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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  8. Web Services: Basic Architecture Service Broker Registry; well-known Publish or announce (WSDL) Find or discover (UDDI) Service Provider Service Requestor Bind or invoke (SOAP) Not well-known Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  9. Basic Profile (BP 1.0) • The Web Services Interoperability Organization (WS-I) has specified the following Basic Profile version 1.0: • SOAP 1.1 • HTTP 1.1 • XML 1.0 • XML Schema Parts 1 and 2 • UDDI Version 2 • WSDL 1.1 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  10. SOAP (Simple Object Access Protocol) • 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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  11. Ex. SOAP Request POST /temp HTTP/1.1 Host: www.socweather.com Content-Type: text/xml; charset="utf-8" Content-Length: xxx SOAPAction: "http://www.socweather.com/temp" <!-- The above are HTTP headers --> <?xml version=“1.0”?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <env:Body> <m:GetTemp xmlns:m="http://www.socweather.com/temp.xsd"> <m:City>Honolulu</m:City> <m:When>now</m:When> </m:GetTemp> </env:Body> </env:Envelope> Message sent to this URL Define the namespace for the message Get me the temp in Honolulu now Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  12. Ex. SOAP Response HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: xxx SOAPAction: "http://www.socweather.com/temp" <?xml version=“1.0”?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <env:Body> <m:GetTempResponse xmlns:m="http://www.socweather.com/temp.xsd"> <m:DegreesCelsius>30</m:DegreesCelsius> </m:GetTempResponse> </env:Body> </env:Envelope> Syntax for encoding response Temp is 30o Celsius Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  13. 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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  14. Concepts • Operation: Equivalent to a method • Message: Typed data that can be IN, OUT or INOUT • Type: Typed data using XML Schema • Port Type: Like a class or like Java interface – a collection of operations • Binding: A mechanism to invoke operations – how do I invoke this method? • Port: a reference to where an operation may be invoked • Service: a collection of ports (classes) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  15. WSDL Data Model Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  16. Yellow, Green, and White Pages in UDDI Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  17. Chapter 3:Programming Web Services Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2004

  18. Web Service Development Tools • Several exist (e.g., .NET, Cape Clear) • Generate WSDL documents automatically from OO (e.g., Java) source code • Generate source code stubs from WSDL Java Class Files WSDL Docs WSDL Generator Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  19. Chapter 3 Summary • Tools help with low-level details • Agreeing on standards is more important than the standards themselves • Should conceptualize interactions in a manner compatible with the Web architecture • Can simplify from SOAP in many cases • The above is a small point anyway • Bigger challenges are in ensuring larger-scale interactions, ensuring integrity, handling exceptions, … • Sophisticated programming models are emerging Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  20. Chapter 4:Enterprise Architectures Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005 Few slides added by Juggy Jagannathan

  21. Highlights of this Chapter • Enterprise Integration • J2EE • .NET • Model Driven Architecture • Legacy Systems Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  22. XHTML XML RDBMS Java App. HTTP(S) CORBA Server Web Container Applet Tag Library JSPs Servlets J2EE Application Server JAF JAF JavaMail JavaMail Directory Service EJB Container JMS JMS Session Beans Entity Beans JDBC JDBC JTA JTA Message Queue Client App. JNDI JNDI RMI/IIOP RMI/IIOP Mail Server J2EE Architecture Reproduced with Permission from Java Server Programming J2EE Edition – Wrox Press, Ltd, 2000 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  23. .NET Technology Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  24. Chapter 4 Summary • Services must fit into existing architectures • J2EE and .NET are architecturally similar • Legacy systems provide the basis for many services • Interoperating with legacy systems is nontrivial • Challenge: refactoring legacy capabilities to derive best value from resulting services Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  25. Chapter 5:Principles of Service-Oriented Computing Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2004

  26. Key Concepts for an SOA • Loose coupling • Implementation neutrality • Flexible configurability • Persistence • Granularity • Teams Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  27. Chapter 6:Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

  28. Integration versus Interoperation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  29. Modeling and Composing Services Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  30. Ontologies and Articulation Axioms Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  31. Exercise: Which Conceptualization Has More Expressive Power? • awg22SolidBlueWire(ID5) • blueWire(ID5, AWG22, Solid) • solidWire(ID5, AWG22, Blue) • wire(ID5, AWG22, Solid, Blue) • wire(ID5)^size(ID5, AWG22)^type(ID5, solid)^color(ID5, Blue) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  32. Chapter 6 Summary • Shared models are essential for interoperation • Based on shared ontologies or conceptualizations • Good models must accommodate several important considerations • Modeling requires several subtle considerations • Declarative representations facilitate reasoning about and managing models • Formalization enables ensuring correctness of models and using them for interoperation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  33. Chapter 7:Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

  34. RDF • Provides a basis for knowledge representation • Simple language to capture assertions (statements), which help capture knowledge, e.g., about resources • RDF puts together old KR ideas but uses the Web to enhance their range and avoid some longstanding problems Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  35. Statements or Triples • RDF is based on a simple grammar • An RDF document is just a set of statements or triples • Each statement consists of • Subject: a resource • Object: a resource or a literal • Predicate: a resource Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  36. Example (Using Dublin Core) <?xml version='1.0' encoding='UTF-8'?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.wiley.com/SOC"> <dc:title>Service-Oriented Computing</dc:title> <dc:creator>Munindar</dc:creator> <dc:creator>Michael</dc:creator> <dc:publisher>Wiley</dc:publisher> </rdf:Description> </rdf:RDF> • rdf:Description gathers statements about one subject Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  37. N-Triples Notation <http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/title> "Service-Oriented Computing" . <http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/creator> "Munindar" . <http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/creator> "Michael" . <http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/publisher> "Wiley” . • Could also write individual statements in the XML syntax, but the rdf:Description element simplifies the notation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  38. Chapter 7 Summary • RDF captures the deep structure whereas XML captures the surface structure • RDF captures graphs in general • RDF is based on an simple linguistic representation: subject, predicate, object • But “webified” via URIs • RDF comes with RDF Schema • In essence, an object-oriented type system • Has been used for important custom vocabularies • For our purposes, best used as part of OWL Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  39. Chapter 8:Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

  40. Web Ontology Language (OWL) • RDF captures the basics, i.e., an object-oriented type system • Additional subtleties of meaning are needed for effective KR • OWL standardizes additional constructs to show how to capture such subtleties of meaning • OWL builds on RDF Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  41. OWL in Brief • Specifies classes and properties in a form of description logic (DL) • Class operators analogous to Boolean operators and, not, and or • Constraints on properties: transitive, … • Restrictions: constructs unique to DL • Has three species: OWL Full, OWL DL, and OWL Lite Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  42. Ontologies to Define Vocabulary Semantics • A trivial ontology defining our vocabulary • Uses simple subclasses and properties • Disjointness goes beyond RDF • Object properties refine RDF propeties; relate two objects <owl:Class rdf:ID="Mammal"> <rdfs:subClassOf rdf:resource="#Animal"/> <owl:disjointWith rdf:resource="#Reptile"/> </owl:Class> <owl:ObjectProperty rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/> </owl:ObjectProperty> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  43. Constructing OWL Classes • Explicitly (as in the examples above) or • Anonymously, using • Restrictions (next page) • Set operators: intersectionOf, unionOf, complementOf, e.g., <owl:Class rdf:ID='SugaryBread'> <owl:intersectionOf rdf:parseType='Collection'> <owl:Class rdf:about='#Bread'/> <owl:Class rdf:about='#SweetFood'/> </owl:intersectionOf> </owl:Class> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  44. Restrictions: 1 • A unique feature of description logics • Kind of like division: define classes in terms of a restriction that they satisfy with respect to a given property • Anonymous: typically included in a class def to enable referring them • Key primitives are • someValuesFrom a specified class • allValuesFrom a specified class • hasValue equal to a specified individual or data type • minCardinality • maxCardinality • Cardinality (when maxCardinality equals minCardinality) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  45. Restrictions: 2 Examples of restriction fragments <owl:Restriction> <owl:onProperty rdf:resource="#hasFather"/> <owl:maxCardinality rdf:datatype="xsd:nonNegativeInteger"> 1 </owl:maxCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource='#bakes'/> <owl:someValuesFrom rdf:resource='#Bread'/> </owl:Restriction> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  46. Restrictions versus Axioms • Axioms are global assertions that can be used as the basis for further inference • Restrictions are constructors • When we state that hasFather has a maxCardinality of 1, we are • Defining the class of animals who have zero or one fathers: this class may or may not have any instances • Not stating that all animals have zero or one fathers • Often, to achieve the desired effect, we would have to combine restrictions with axioms (such as based on equivalentClass) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  47. Inference • OWL is about content, not the syntax • Statements from different documents about the same URI are automatically conjoined • OWL can appear unintuitive to the uninitiated • Declare that no one can have more than one mother • Declare Mary is John’s mother • Declare Jane is John’s mother • A DBMS would declare an integrity violation • An OWL reasoner would say Mary = Jane Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  48. Expressiveness Limitations (sample): • Constraints among individuals • Cannot define tall person: one whose height is above a certain threshold • Can define ETHusband: one who has been married to Elizabeth Taylor • Cannot capture defeasibility (also known as nonmonotonicity) • Birds fly • Penguins are birds • Penguins don’t fly Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  49. Chapter 8 Summary • OWL builds on RDF to provide a rich vocabulary for capturing knowledge • Synthesizes a lot of excellent work on discrete, taxonomic knowledge representation • Fits well with describing information resources – a basis for describing metadata vocabularies • Critical for unambiguously describing services so they can be selected and suitably engaged Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  50. Chapter 10:Execution Models Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

More Related