Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Similar presentations


Presentation on theme: "Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005."— Presentation transcript:

1 Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005

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

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

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

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

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

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

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

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

11 Chapter 111Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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" <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> Honolulu now Message sent to this URL Get me the temp in Honolulu now Define the namespace for the message

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

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

14 Chapter 114Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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)

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

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

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

18 Chapter 118Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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 WSDL Docs WSDL Generator Java Class Files

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

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 Chapter 121Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights of this Chapter Enterprise Integration J2EE.NET Model Driven Architecture Legacy Systems

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

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

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

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

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

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

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

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

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

31 Chapter 131Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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)

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

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

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

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

36 Chapter 136Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Example (Using Dublin Core) <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf- syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> Service-Oriented Computing Munindar Michael Wiley rdf:Description gathers statements about one subject

37 Chapter 137Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns N-Triples Notation "Service-Oriented Computing". "Munindar". "Michael". "Wiley”. Could also write individual statements in the XML syntax, but the rdf:Description element simplifies the notation

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

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

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

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

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

43 Chapter 143Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Constructing OWL Classes Explicitly (as in the examples above) or Anonymously, using Restrictions (next page) Set operators: intersectionOf, unionOf, complementOf, e.g.,

44 Chapter 144Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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)

45 Chapter 145Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Restrictions: 2 Examples of restriction fragments 1

46 Chapter 146Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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)

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

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

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

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

51 Chapter 151Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights of this Chapter Messaging CORBA Peer-to-Peer Computing Jini Grid Computing

52 Chapter 152Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Application Interoperation

53 Chapter 153Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Basic Interaction Models: 1 Invocation-based adapters: common in distributed object settings (EJBs, DCOM, CORBA) Synchronous: blocking method invocation Asynchronous: nonblocking (one-way) method invocation with callbacks Deferred synchronous: (in CORBA) sender proceeds independently of the receiver, but only up to a point Execution is best effort, at most once More than once is OK for idempotent operations, not otherwise

54 Chapter 154Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Basic Interaction Models: 2 Message-oriented middleware: usually used through an invocation-based interface (registered callbacks) Post and read messages from queues (point to point) Publish and subscribe (topic-based; more flexible) Some messages correspond to event notifications

55 Chapter 155Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Basic Interaction Models: 3 Peer to peer computing: Symmetric client-server: (callbacks) each party can be the client of the other Asynchrony: while the request-response paradigm corresponds to pull, asynchronous communication corresponds to push Applications that place their entire intelligence on the server (pushing) side are inappropriate Federation of equals: (our favorite) when the participants can enact the protocols they like

56 Chapter 156Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns P2P Models of Computation The term P2P stands for different models of computation Symmetric client-server. Each party can query the other, thereby giving each power over the other at different times doesn't fundamentally look beyond client-server Asynchrony. While the request-response paradigm corresponds to pull, asynchronous communication corresponds to push Push, unfortunately, got a lot of bad press with applications that place their entire intelligence on the server (pushing) side Federation of equals. When the participants can enact whatever protocols they see fit

57 Chapter 157Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Jini Architecture Extends Java from one machine to a network Uses Remote Method Invocation (RMI) to move code Has mechanisms for services (devices and users) to join and detach Provides time-bound leases for resource sharing.

58 Chapter 158Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Jini Services Service Provider (printer) Lookup Service Client (digital camera) Service object & attributes 1. discover 2. join 3. look up 4. invoke

59 Chapter 159Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Grid Computing Goal: efficient utilization of an organization’s heterogeneous, loosely coupled resources tied to workload management capabilities or information virtualization. The objective of workload management is to allocate resources to the most important applications Supported by Globus Toolkit that provides Grid Resource Allocation and Management (GRAM) protocol and its gatekeeper (factory) service; these provide for the secure and reliable creation and management of arbitrary computations, termed transient service instances Grid Security Infrastructure (GSI), which supports single sign on, delegation, and credential mapping. A two-phase commit protocol is used for reliable invocation Meta Directory Service (MDS-2), which provides for information discovery through soft-state registration, data modeling, and a local registry

60 Chapter 160Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns WSRF: Aligning Grid Computing with Web Services The Web Services Resource Framework (WSRF) describes how to model stateful resources with Web services, and includes WS-Resource Properties, which defines how data associated with a stateful resource can be queried and changed using Web service technologies; it allows clients to build applications that read and update data associated with resources, such as contracts, servers, and purchase orders WS-Resource Lifetime, which allows a user to specify the period during which a resource definition is valid. It can, for example, automatically update suppliers from all systems once contracts or service-level agreements expire, or delete from inventory system products that are no longer being manufactured


Download ppt "Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005."

Similar presentations


Ads by Google