Download presentation
Presentation is loading. Please wait.
Published byVanessa Booth Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.