1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication...
-
Upload
ashlee-farmer -
Category
Documents
-
view
221 -
download
1
Transcript of 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication...
![Page 1: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/1.jpg)
1
Module 4Module 4
Web Services, RSS, Web Services, RSS, MashupsMashups
![Page 2: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/2.jpg)
2
RecapRecap Module 1: Why XML?Module 1: Why XML?
communication datacommunication data, meta-data, , meta-data, documentsdocuments
more flexibilitymore flexibility Module 2: What is XML?Module 2: What is XML?
Basics: Namespaces, DTDsBasics: Namespaces, DTDs Module 3: What is XML (ctd.)?Module 3: What is XML (ctd.)?
XML SchemaXML Schema Module 4: XML for Module 4: XML for communicationcommunication??
Web Services, RSS / ATOM, MashupsWeb Services, RSS / ATOM, Mashups
![Page 3: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/3.jpg)
3
AgendaAgenda
Web ServicesWeb Services DefinitionDefinition SOAPSOAP WSDLWSDL UDDIUDDI
RSS / ATOMRSS / ATOM MashUpsMashUps
(Demo)(Demo)
![Page 4: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/4.jpg)
4
Why Web Services?Why Web Services? Automization of ProcessesAutomization of Processes
Enterprise Application Enterprise Application Integration (EAI)Integration (EAI)
Workflow ManagementWorkflow Management Data IntegrationData Integration
Enterprise Information Enterprise Information Integration (EII)Integration (EII)(Connectivity, Global Data Model)(Connectivity, Global Data Model)
PortalsPortalsIntegration, Integration, Integration
![Page 5: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/5.jpg)
5
Application Application IntegrationIntegration
App
App
App
App
I/VI
II/V
III/IV
VII/VIII
VII/IX
![Page 6: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/6.jpg)
6
Application Application IntegrationIntegration
App
App
App
App
I/VI
II/V
III/IV
VII/VIII
VII/IXXII XI
![Page 7: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/7.jpg)
7
Application Application IntegrationIntegration
App
App
App
App
I/VI
II/V
III/IV
VII/VIII
VII/IXX XI
• What impact do delays have?• Who is affected by a change in one interface?• How can this process be optimized?• What about humans? How to exploit a Grid of machines?
![Page 8: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/8.jpg)
8
Issues: Distributed Issues: Distributed ComputingComputing
Platform DependencyPlatform Dependency Management and OptimizationManagement and Optimization
What do 99,99% availability mean?What do 99,99% availability mean? How can I guarantee 3 seconds response How can I guarantee 3 seconds response time?time?
Who owns the Log? Who owns the context?Who owns the Log? Who owns the context? Load Balancing, Caching, Replication?Load Balancing, Caching, Replication?
Change a Process: All or NothingChange a Process: All or Nothing Whole system fails when a component is Whole system fails when a component is upgradedupgraded
Versioning, Schema Evolution while process Versioning, Schema Evolution while process runs runs
![Page 9: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/9.jpg)
9
Loose Coupling of Loose Coupling of AppsApps
App App
App App
Message Broker
![Page 10: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/10.jpg)
10
Loose Coupling of Loose Coupling of Apps (CORBA)Apps (CORBA)
App App
App App
Message Broker
Good old CORBA!!!
![Page 11: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/11.jpg)
11
Loose Coupling of Loose Coupling of Apps (CORBA)Apps (CORBA)
App App
App App
Message Broker
Good old CORBA!!!
Fixed Wiringa la RPC
![Page 12: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/12.jpg)
12
Evaluation of CORBAEvaluation of CORBA
Platform Independence (okay)Platform Independence (okay) Management and Optimization Management and Optimization (poor)(poor)
Dynamic Change of a Process Dynamic Change of a Process (poor)(poor)
![Page 13: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/13.jpg)
13
Loose Coupling of Loose Coupling of Apps (Web Services)Apps (Web Services)
App App
App App
Message Broker
Web Services
SOAP
SOAP
WSDL WSDL
WSDL WSDL
Routing?Virtualisation?
![Page 14: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/14.jpg)
14
Virtualisation of Virtualisation of AppsApps
App App
App App
Message Broker
Web Services
WSDL WSDL
WSDL WSDL
I want all x!Find & Bind
![Page 15: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/15.jpg)
15
Virtualisation of Virtualisation of AppsApps
App App
App App
Message Broker
Web Services
WSDL WSDL
WSDL WSDL
I want all x!Find & Bind
x1 I want y!
![Page 16: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/16.jpg)
16
Virtualisation of Virtualisation of AppsApps
App App
App App
Message Broker
Web Services
WSDL WSDL
WSDL WSDL
I want all x!Find & Bind
x1x2,x3 I want y!
y
![Page 17: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/17.jpg)
17
Virtualisation of Virtualisation of AppsApps
App App
App App
Message Broker
Web Services
WSDL WSDL
WSDL WSDL
I want all x! x1,x2,x3 Find & Bind
x1x2,x3 I want y!
y
![Page 18: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/18.jpg)
18
How deep does XML go?How deep does XML go?
App App
App
Message Broker
Web Services
SOAP
SOAP
WSDL WSDL
WSDL WSDLApp
![Page 19: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/19.jpg)
19
Information Information IntegrationIntegration
DB1 DB2 DBn. . .
Mediator
Portal(Portlets, Personalization, Single-Logon, ...)
(Relational View)
Wrapper Wrapper Wrapper
Tabelle EXCEL LDAP
![Page 20: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/20.jpg)
20
Information Information IntegrationIntegration
DB1 DB2 DBn. . .
Mediator
Portal(Portlets, Personalisierung, Single-Logon, ...)
(XML View)
Wrapper Wrapper Wrapper
Tabelle EXCEL LDAP
![Page 21: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/21.jpg)
21
Information Information IntegrationIntegration
DB1 DB2 DBn. . .
Mediator
Portal(Portlets, Personalisierung, Single-Log-On, ...)
(XML View)
WSDL WSDL WSDL
XML XML XML
![Page 22: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/22.jpg)
22
Information Information IntegrationIntegration
Is the data model „XML“ or Is the data model „XML“ or relational?relational? Advantage: Power of XMLAdvantage: Power of XML Problem: XML for Business Problem: XML for Business Intelligence???Intelligence???
Are data sources wrapped as XML?Are data sources wrapped as XML? Many variants conceivableMany variants conceivable Impact performance and project costImpact performance and project cost
![Page 23: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/23.jpg)
23
SummarySummary Why should I care about Web Services?Why should I care about Web Services?
Potentially best technology for Potentially best technology for Integration and Management of large IT Integration and Management of large IT Infrastructures Infrastructures
Great Model for OutsourcingGreat Model for Outsourcing Because everybody does it Because everybody does it (Connectivity, Standards, Tools, Research)(Connectivity, Standards, Tools, Research)
Why should I ignore Web Services?Why should I ignore Web Services? „„still“ an old hatstill“ an old hat Not mature (cost, robustness, performance)Not mature (cost, robustness, performance) Technology DjungleTechnology Djungle
![Page 24: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/24.jpg)
24
AgendaAgenda
Web ServicesWeb Services DefinitionDefinition SOAPSOAP WSDLWSDL UDDIUDDI
RSS / ATOMRSS / ATOM MashUpsMashUps
(Demo)(Demo)
![Page 25: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/25.jpg)
25
What is a Web Service?What is a Web Service?
The short answer...The short answer... „„A class on the Web“A class on the Web“
The long answer...The long answer... (see next 50 slides)(see next 50 slides)
![Page 26: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/26.jpg)
26
DefintionDefintion A service is a software component, has a A service is a software component, has a purposepurpose
A service has a unique Id in its environmentA service has a unique Id in its environment Id is a URI -> Web ServiceId is a URI -> Web Service
Services communicate via messagesServices communicate via messages XML messages, SOAP, HTTP -> Web ServiceXML messages, SOAP, HTTP -> Web Service Operations (Actions) are the Interface of a Operations (Actions) are the Interface of a ServiceService
Correlation/Conversations for complex tasksCorrelation/Conversations for complex tasks Compose complex services from basic servicesCompose complex services from basic services A service is autonomous; implem. is A service is autonomous; implem. is encapsulatedencapsulated
A service may have a persistent state:A service may have a persistent state: Transactions: CD okay, AI limitedTransactions: CD okay, AI limited Compensation, Options, restricted AbortCompensation, Options, restricted Abort
![Page 27: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/27.jpg)
27
Definition of W3CDefinition of W3C
A A Web serviceWeb service is a is a software software application identified by a URIapplication identified by a URI, , whose whose interfaces interfaces and binding are and binding are capable of being capable of being defined and defined and discovered by XMLdiscovered by XML artifacts and artifacts and supports direct supports direct interactions with interactions with other software applications using other software applications using XML based messages via internet-XML based messages via internet-based protocols.based protocols.
![Page 28: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/28.jpg)
28
SOA vs. OOSOA vs. OO
Web ServicesWeb Services Object-OrientedObject-Oriented
Service (URI)Service (URI) Class (Name)Class (Name)
Instance Instance (Conversation)(Conversation)URI (ID of URI (ID of Conversation)Conversation)
ObjectObjectObject IDObject ID
OperationOperation MethodMethod
MessageMessage Method CallMethod Call
?? Inheritance, Inheritance, SubstituabilitySubstituability
Autonomy, Asyn., SLAAutonomy, Asyn., SLA ??
![Page 29: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/29.jpg)
29
Web Services StackWeb Services Stack
SOAP(Messages)
WSDL(Service Description)
UDDI(Register & Search)
XMLhttp(s)smtp
![Page 30: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/30.jpg)
30
Web Services StackWeb Services Stack
SOAP(Messages)
WSDL(Service Description)
UDDI(Register & Search)
XMLhttp(s)smtp
J2EE / .NET
![Page 31: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/31.jpg)
31
Web Services StackWeb Services Stack
SOAP(Messages)
WSDL(Service Description)
XMLhttp(s)smtp
XQueryP(Definition)
UDDI(Register & Search)
![Page 32: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/32.jpg)
32
Technology StackTechnology Stack
SOAP(Messages)
WSDL(Service Description)
XMLhttp(s)smtp
BPEL(Definition)
XQuery / XSLT(Transformation)
UDDI(Register & Search)
J2EE / .NET
![Page 33: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/33.jpg)
33
Other TechnologiesOther Technologies (W3C, IBM & (W3C, IBM & Microsoft)Microsoft)
WS-Security, WS-Trust, WS-Privacy, WS-WS-Security, WS-Trust, WS-Privacy, WS-Federation, WS-Authorization, WS-Federation, WS-Authorization, WS-AddressingAddressing Signatures and Encryption of SOAP MessagesSignatures and Encryption of SOAP Messages Security Tokens (e.g., for Kerberos)Security Tokens (e.g., for Kerberos) Rules for privacyRules for privacy Authorisation and federations of Web servicesAuthorisation and federations of Web services
WS-PolicyWS-Policy Properties / Restrictions for the use of Web Properties / Restrictions for the use of Web services services
WSLA - Service Level AgreementsWSLA - Service Level Agreements WS-TransactionsWS-Transactions
![Page 34: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/34.jpg)
34
AgendaAgenda
Web ServicesWeb Services DefinitionDefinition SOAPSOAP WSDLWSDL UDDIUDDI
RSS / ATOMRSS / ATOM MashUpsMashUps
(Demo)(Demo)
![Page 35: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/35.jpg)
35
SOAPSOAP SOAP = Simple Object Access ProtocolSOAP = Simple Object Access Protocol W3C Standard; current version 1.2W3C Standard; current version 1.2 Communication between applicationsCommunication between applications(e.g. RPC, Streams of Sensor Data)(e.g. RPC, Streams of Sensor Data)
Defines Layout (Type) of MessagesDefines Layout (Type) of Messages Use in Internet and through Use in Internet and through FirewallsFirewalls
Platform- and PL independentPlatform- and PL independent Based on XMLBased on XML Simple and extensibleSimple and extensible Basis for further standards Basis for further standards (Encryption, ...)(Encryption, ...)
![Page 36: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/36.jpg)
36
ScenarioScenario
Send Message from Sender to ReceiverSend Message from Sender to Receiver Pass Message through IntermediariesPass Message through Intermediaries
Logging, Authorization, ..., application-Logging, Authorization, ..., application-specificspecific
Role of SOAPRole of SOAP Define Layout of MessagesDefine Layout of Messages Define Roles of NodesDefine Roles of Nodes Enable alternative Protocol BindingsEnable alternative Protocol Bindings
Enable Communication Patterns (e.g., Enable Communication Patterns (e.g., RPC)RPC)
Sender Interm. Interm. Interm. Receiv.
![Page 37: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/37.jpg)
37
Structure of a MessageStructure of a Message
SOAP Envelope
SOAP Header (optional)
SOAP Body
SOAP Faults (optional)
![Page 38: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/38.jpg)
38
SOAP EnvelopeSOAP Envelope<?xml version=‚1.0‘ ?><?xml version=‚1.0‘ ?><env:Envelope <env:Envelope xmlns:env=„http://.../soap-xmlns:env=„http://.../soap-envelope“>envelope“>
<env:Header> ... </env:Header><env:Header> ... </env:Header> <env:Body> ...<env:Body> ... <env:Fault> ... <env:Fault> ... </env:Fault></env:Fault>
...... </env:Body></env:Body> </env:Envelope></env:Envelope>
![Page 39: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/39.jpg)
39
SOAP HeaderSOAP Header Info for Receiver and IntermediariesInfo for Receiver and Intermediaries Structured in Blocks (sub-elements)Structured in Blocks (sub-elements) Each block specifiesEach block specifies
Who should read it Who should read it (default: only receiver)(default: only receiver)
Who needs to understand (default: Who needs to understand (default: nobody)nobody)
All elements must have qualified All elements must have qualified namesnames
Headers are optionalHeaders are optional
![Page 40: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/40.jpg)
40
Example: Flight Example: Flight ReservationReservation
<?xml version=‚1.0‘ ?><?xml version=‚1.0‘ ?><env:Envelope xmlns env = „...“><env:Envelope xmlns env = „...“><env:header><env:header> <m:reservation xmlns:m = „...“<m:reservation xmlns:m = „...“ env:role = „http://.../next“env:role = „http://.../next“ env:mustUnderstand = „true“env:mustUnderstand = „true“ >> 4711-314154711-31415 </m:reservation> </m:reservation> ... andere Blöcke im Header ...... andere Blöcke im Header ...</env:header></env:header> ... ...
![Page 41: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/41.jpg)
41
RolesRoles
Predefined Roles (URIs in SOAP Predefined Roles (URIs in SOAP N.Space)N.Space) „„next“ - everybodynext“ - everybody (Intermediaries and (Intermediaries and Receiver)Receiver)
„„none“ - nobodynone“ - nobody „„ultimateReceiver“ - Receiver onlyultimateReceiver“ - Receiver only
User-defined Roles (new URIs)User-defined Roles (new URIs) Application-dependent Matching possibleApplication-dependent Matching possible
Sender Interm. Interm. Interm. Receiv.
![Page 42: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/42.jpg)
42
Processing ModelProcessing Model1.1. Parse MessageParse Message2.2. Check Block in HeaderCheck Block in Header
• Does the role fit to me? Does the role fit to me? (N.B. Blocks can involve several (N.B. Blocks can involve several roles!!!)roles!!!)
• Do I understand the block?Do I understand the block? jes -> actionjes -> action no -> if (mustUnderstand) then Errorno -> if (mustUnderstand) then Error
else Ignore else Ignore
3.3. Further Actions (Relaying, Further Actions (Relaying, Processing ...)Processing ...)
![Page 43: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/43.jpg)
43
SOAP BodySOAP Body Only relevant for the receiverOnly relevant for the receiver Exactly one body per messageExactly one body per message Content free and application Content free and application defineddefined
All elements must be qualifiedAll elements must be qualified......<env:body> <env:body> <f:destination xmlns:f = <f:destination xmlns:f = „...“>Paris</f:destination>„...“>Paris</f:destination>
<f:origin>München<f:origin><f:origin>München<f:origin> <f:number>LH285</f:number><f:number>LH285</f:number></env:body></env:body>
![Page 44: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/44.jpg)
44
Remote Procedure Remote Procedure CallCall
Specify operation + parameters in Specify operation + parameters in bodybody
Example: foo(5, Wutz)Example: foo(5, Wutz)<env:body><env:body>
<op:call xmlns:op = „...“ name = „foo“><op:call xmlns:op = „...“ name = „foo“>
<op:param>5</op:param><op:param>5</op:param>
<op:param>Wutz</op:param><op:param>Wutz</op:param>
</op:call> </op:call>
</env:body></env:body> Return result in „result“ element of Return result in „result“ element of bodybody
![Page 45: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/45.jpg)
45
ErrorsErrors Element in Body with Sub-elementsElement in Body with Sub-elements
code: defines code of error (mandatory)code: defines code of error (mandatory) reason: human-readible text (mandatory)reason: human-readible text (mandatory) detail: further details (optional)detail: further details (optional) node: URI of node raising error node: URI of node raising error (optional)(optional)
role: URI of role of node (optional)role: URI of role of node (optional)
![Page 46: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/46.jpg)
46
Example: Error in RPC Example: Error in RPC CallCall
<env:body><env:body>
<env:Fault><env:Fault>
<env:Code> <env:Code> <env:Value>env:Sender</env:Value><env:Value>env:Sender</env:Value>
<env:Subcode>rpc:BadArguments</env:Subcod<env:Subcode>rpc:BadArguments</env:Subcode>e>
</env:Code></env:Code>
<reason>Too many parameters:got 3, <reason>Too many parameters:got 3, expected 2 </reason>expected 2 </reason>
</env:Fault></env:Fault>
</env:body> </env:body>
![Page 47: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/47.jpg)
47
Predefined Error CodesPredefined Error Codes env:VersionMismatchenv:VersionMismatch
Envelope has no or wrong name spaceEnvelope has no or wrong name space env:MustUnderstandenv:MustUnderstand
Did not understand block in headerDid not understand block in header env:DataEncodingUnknownenv:DataEncodingUnknown
Encodierung of message not supportedEncodierung of message not supported env:Senderenv:Sender
Wrong call of service (e.g., RPC)Wrong call of service (e.g., RPC) env:Receiverenv:Receiver
Local error at receiver (e.g. Local error at receiver (e.g. OutOfStock)OutOfStock)
![Page 48: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/48.jpg)
48
Protocol BindingProtocol Binding Specify how message should be Specify how message should be delivereddelivered E.g., HTTP or SMTP protocolE.g., HTTP or SMTP protocol
Specify how to serialize the Specify how to serialize the messagemessage E.g., pure XML, compressed XML, E.g., pure XML, compressed XML, encryptedencrypted
Specify Req/Resp Pattern (z.B. Specify Req/Resp Pattern (z.B. HTTP)HTTP)
Every hop has its own bindingEvery hop has its own binding
![Page 49: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/49.jpg)
49
SOAP 1.2 (XML SOAP 1.2 (XML Protocol)Protocol)
Extension of SOAPExtension of SOAP Simpler error handlingSimpler error handling „„misunderstood“ Elementsmisunderstood“ Elements Additional Roles (none, anonymous)Additional Roles (none, anonymous) „„response“ Element for RPCresponse“ Element for RPC etc.etc.
XML ProtocolXML Protocol Abstractes ModelAbstractes Model Many, diverse application scenariosMany, diverse application scenarios
![Page 50: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/50.jpg)
50
Summary SOAPSummary SOAP Important Building BlockImportant Building Block
Defines type / layout of messagesDefines type / layout of messages Defines error handlingDefines error handling Defines transmission through Defines transmission through IntermediariesIntermediaries
Defines protocol bindings (http, smtp, Defines protocol bindings (http, smtp, beep, ...)beep, ...)
Supports many ScenariosSupports many Scenarios More than just RPCMore than just RPC Wrapping of non XML MessagesWrapping of non XML Messages
![Page 51: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/51.jpg)
51
AgendaAgenda
Web ServicesWeb Services DefinitionDefinition SOAPSOAP WSDLWSDL UDDIUDDI
RSS / ATOMRSS / ATOM MashUpsMashUps
(Demo)(Demo)
![Page 52: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/52.jpg)
52
WSDLWSDL Web Service Description LanguageWeb Service Description Language Describes the Interface of a Web Describes the Interface of a Web ServiceService
Call of a Web Service done via SOAPCall of a Web Service done via SOAP Allows the registration of servicesAllows the registration of services
Basis for UDDIBasis for UDDI Syntax is XMLSyntax is XML
![Page 53: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/53.jpg)
53
Operation MessagePortType
Binding
Port Service
WSDL Overview
What?
How?
Where?
providesimplements
protocols invocation encoding
input/output
supports
![Page 54: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/54.jpg)
54
Components of Components of DescriptionDescription
<wsdl:definitions xmlns:wsdl = <wsdl:definitions xmlns:wsdl = „http://w3.org/...“>„http://w3.org/...“>
<wsdl:documentation ... /><wsdl:documentation ... /> <wsdl:types> <wsdl:types> Schema ImportsSchema Imports </wsdl:types></wsdl:types>
<wsdl:message> <wsdl:message> Messages Messages </wsdl:message></wsdl:message> <wsdl:portType> <wsdl:portType> Operations Operations </wsdl:portType></wsdl:portType>
<wsdl:serviceType><wsdl:serviceType>OSets OSets <</wsdl:serviceType>/wsdl:serviceType>
<wsdl:binding> <wsdl:binding> Protocols Protocols </wsdl:binding></wsdl:binding> <wsdl:service> <wsdl:service> Servicedefinition Servicedefinition </wsdl:service></wsdl:service>
</wsdl:definitions></wsdl:definitions>
![Page 55: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/55.jpg)
55
Types and ParametersTypes and Parameters<wsdl:types> ?<wsdl:types> ? <wsdl:documentation .... /> ?<wsdl:documentation .... /> ? <xsd:schema .... /> *<xsd:schema .... /> *</wsdl:types></wsdl:types>
<wsdl:message name="ncname"> *<wsdl:message name="ncname"> * <wsdl:documentation .... /> ?<wsdl:documentation .... /> ? <part name="ncname" <part name="ncname" element="qname"? element="qname"?
type="qname"?/> *type="qname"?/> *</wsdl:message></wsdl:message>
![Page 56: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/56.jpg)
56
OperationsOperations<wsdl:portType name="ncname"> *<wsdl:portType name="ncname"> * <wsdl:documentation .... /> ?<wsdl:documentation .... /> ? <wsdl:operation name="ncname"> *<wsdl:operation name="ncname"> * <wsdl:documentation .... /> ?<wsdl:documentation .... /> ? <wsdl:input message="qname"> ?<wsdl:input message="qname"> ? <wsdl:documentation .... /> ?<wsdl:documentation .... /> ? </wsdl:input></wsdl:input> <wsdl:output message="qname"> ?<wsdl:output message="qname"> ? <wsdl:documentation .... /> ?<wsdl:documentation .... /> ? </wsdl:output></wsdl:output> <wsdl:fault name="ncname" <wsdl:fault name="ncname" message="qname"> *message="qname"> *
<wsdl:documentation .... /> ?<wsdl:documentation .... /> ? </wsdl:fault></wsdl:fault> </wsdl:operation></wsdl:operation></wsdl:portType></wsdl:portType>
![Page 57: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/57.jpg)
57
Example: AdditionExample: Addition<message name=“addRequest"><message name=“addRequest"> <part name="term1" type="xs:double"/><part name="term1" type="xs:double"/> <part name="term2" type="xs:double"/> <part name="term2" type="xs:double"/> </message></message>
<message name=“addResponse"><message name=“addResponse"> <part name="value" type="xs:double"/><part name="value" type="xs:double"/></message></message>
<portType name=“arithmetics"><portType name=“arithmetics"> <operation name=“add"><operation name=“add"> <input message=“addRequest"/><input message=“addRequest"/> <output message=“addResponse"/><output message=“addResponse"/> </operation></operation></portType></portType>
N.B.: „wsdl:“ Qualifizierung fehlt
![Page 58: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/58.jpg)
58
BindingsBindings<wsdl:binding name="ncname" type="qname"> *<wsdl:binding name="ncname" type="qname"> * <wsdl:documentation .... /> ?<wsdl:documentation .... /> ? <-- binding details --> *<-- binding details --> * <wsdl:operation name="ncname"> *<wsdl:operation name="ncname"> * <wsdl:documentation .... /> ?<wsdl:documentation .... /> ? <-- binding details --> *<-- binding details --> * <wsdl:input> ?<wsdl:input> ? <wsdl:documentation .... /> <wsdl:documentation .... /> ??
<-- binding details --><-- binding details --> </wsdl:input></wsdl:input> desgleichen für Output und desgleichen für Output und FehlerFehler
</wsdl:operation></wsdl:operation></wsdl:binding></wsdl:binding>
![Page 59: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/59.jpg)
59
Servicetypes and Servicetypes and ServicesServices
<wsdl:serviceType name="ncname"> *<wsdl:serviceType name="ncname"> *
<wsdl:portType name="qname"/> +<wsdl:portType name="qname"/> +
</wsdl:serviceType></wsdl:serviceType>
<wsdl:service name="ncname" <wsdl:service name="ncname" serviceType="qname"> *serviceType="qname"> *
<wsdl:documentation .... /> ?<wsdl:documentation .... /> ?
<wsdl:port name="ncname" <wsdl:port name="ncname" binding="qname"> *binding="qname"> *
<wsdl:documentation .... /> ?<wsdl:documentation .... /> ?
<-- address details --><-- address details -->
</wsdl:port></wsdl:port>
</wsdl:service></wsdl:service>
![Page 60: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/60.jpg)
60
WSDL SummaryWSDL Summary What WSDL can do:What WSDL can do:
Describes the types of messages (in + Describes the types of messages (in + out)out)
Describes protocols used in bindingsDescribes protocols used in bindings Describes the Describes the staticstatic Interface of a Interface of a serviceservice
What WSDL can What WSDL can not not do:do: Describe dynamic aspects (Choreographie)Describe dynamic aspects (Choreographie) Describe SLA, Transactions, Cost (WS Describe SLA, Transactions, Cost (WS Policy)Policy)
Describe properties for optimizationDescribe properties for optimization(Side-effects, Compensation, ...)(Side-effects, Compensation, ...)
![Page 61: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/61.jpg)
61
AgendaAgenda
Web ServicesWeb Services DefinitionDefinition SOAPSOAP WSDLWSDL UDDIUDDI
RSS / ATOMRSS / ATOM MashUpsMashUps
(Demo)(Demo)
![Page 62: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/62.jpg)
62
UDDIUDDI Universal Description Discovery Universal Description Discovery IntegrationIntegration
Directory which stores WSDLDirectory which stores WSDL „„Jini“ for the Web, „yellow pages“ Jini“ for the Web, „yellow pages“ Communicates via SOAP MessagesCommunicates via SOAP Messages Organized in white, yellow and green Organized in white, yellow and green pagespages white, yellow pages: Informationen about white, yellow pages: Informationen about ProvidersProviders
green pages: WSDL of Servicesgreen pages: WSDL of Services IBM and Microsoft have public UDDI ServerIBM and Microsoft have public UDDI Server Today, typically used in IntranetToday, typically used in Intranet
![Page 63: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/63.jpg)
63
UDDIUDDI
RegisterSearch
Use
UDDI
ProviderClient
![Page 64: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/64.jpg)
64
UDDI SummaryUDDI Summary What UDDI can do:What UDDI can do:
Store Meta data of ServicesStore Meta data of Services(good for Intranet and Extranet)(good for Intranet and Extranet)
Unified Interface for Register & Unified Interface for Register & SearchSearch(first step towards „Virtualisation“)(first step towards „Virtualisation“)
What UDDI can What UDDI can not not do:do: Guarantees about providers (TÜV)Guarantees about providers (TÜV)(needed in Internet)(needed in Internet)
Extensible Data ModelExtensible Data Model(no user-defined meta-data)(no user-defined meta-data)
Does not compensate for WSDL‘s Does not compensate for WSDL‘s weaknessesweaknesses
![Page 65: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/65.jpg)
65
AgendaAgenda
Web ServicesWeb Services DefinitionDefinition SOAPSOAP WSDLWSDL UDDIUDDI
RSS / ATOMRSS / ATOM MashUpsMashUps
(Demo)(Demo)
![Page 66: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/66.jpg)
66
Is „Pull“ the winner?Is „Pull“ the winner?
Most of our interaction with the Most of our interaction with the Web and Databases is „Pull“Web and Databases is „Pull“ Browse the web to find the pictures Browse the web to find the pictures of my friend‘s vacation on some of my friend‘s vacation on some remote islandremote island
Query the database to find out Query the database to find out which books were the the top which books were the the top sellers in Zurich around Christmassellers in Zurich around Christmas
Invoke a web service to compute Invoke a web service to compute ππ up to ten billion digitsup to ten billion digits
Is this the whole story?Is this the whole story?
![Page 67: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/67.jpg)
67
Examples of „Push“Examples of „Push“ E-Mail communication:E-Mail communication:
Who uses a Blackberry?Who uses a Blackberry? Who sends more than a 100 SMS/month?Who sends more than a 100 SMS/month?
Event notificationEvent notification Information about offers Information about offers (apartments, cars, jobs)(apartments, cars, jobs)
News, stock tickersNews, stock tickers Sensor data Sensor data
Monitor temperature in a buildingMonitor temperature in a building
![Page 68: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/68.jpg)
68
Factors favoring „Push“Factors favoring „Push“ Long-standing interestLong-standing interest Very low or very high update rate Very low or very high update rate
1 update per week1 update per week 100 updates per second100 updates per second
Large number of independant sourcesLarge number of independant sources Watching 100.000 news sites all over the Watching 100.000 news sites all over the world is impossible, but watching an RSS world is impossible, but watching an RSS feed via Google News is certainly feed via Google News is certainly possiblepossible
Scalability: many users want the Scalability: many users want the same thingsame thing E.g., this lecture, TV, …E.g., this lecture, TV, …
![Page 69: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/69.jpg)
69
RSSRSS Content syndication:Content syndication:
News tickersNews tickers BlogsBlogs AlertsAlerts
Simple XML Simple XML formatformat
LightweightLightweight Still some Still some get it wrong get it wrong
![Page 70: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/70.jpg)
70
RSS 2.0RSS 2.0
Simple Message Format for Data Simple Message Format for Data PushPush <channel><channel> <item><item> ... ... <cal:startTime>...</cal:startTime><cal:startTime>...</cal:startTime></item>…</item>…
</channel></channel>
![Page 71: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/71.jpg)
71
RSS Items and TypesRSS Items and TypesItemsItems
ItemItem++ Title: TextTitle: Text
Link: URLLink: URL
Description: TextDescription: Text
GUID? : Unique IDGUID? : Unique ID
Author*: NameAuthor*: Name
Category*: TagCategory*: Tag
Comments?: URLComments?: URL
Enclosure?: BlobEnclosure?: Blob
Source?: URLSource?: URL
““Types”Types”
AuthorAuthor Just TextJust Text
DateDateSat, 07 Sep 2002 9:42:31 GMTSat, 07 Sep 2002 9:42:31 GMT
URLURL <link> <link> http://www.nytimes.com/2002/0http://www.nytimes.com/2002/09/07/movies/07FEST.html 9/07/movies/07FEST.html </link> </link>
TextText <description> Some of chatter <description> Some of chatter at Venice was about the at Venice was about the
stars. </description>stars. </description> CommentComment <comments>http://a.org/<comments>http://a.org/
comments/123 </comments>comments/123 </comments> BlobBlob <enclosure <enclosure
url="http://a.org/mp3/cscms.murl="http://a.org/mp3/cscms.mp3" p3" length="1069871“type="audio/mlength="1069871“type="audio/mpeg"/>peg"/>
TagTag <category <category domain="google.com">entertaindomain="google.com">entertainment</category> ment</category>
![Page 72: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/72.jpg)
72
RSS 2.0 exampleRSS 2.0 example<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <channel> <channel>
<title>D-INFK Events</title> <title>D-INFK Events</title> <description>Events of the Department of Computer Science, ETH <description>Events of the Department of Computer Science, ETH Zurich</description> Zurich</description> <link>http://www.inf.ethz.ch/news/events/</link> <link>http://www.inf.ethz.ch/news/events/</link> <docs>http://www.inf.ethz.ch/rss</docs> <docs>http://www.inf.ethz.ch/rss</docs> ……<pubDate>Tue, 17 Jan 2006 11:06:04 GMT</pubDate><pubDate>Tue, 17 Jan 2006 11:06:04 GMT</pubDate> <image> <url>http://www.inf.ethz.ch/rss/inf-logo.png</url> <image> <url>http://www.inf.ethz.ch/rss/inf-logo.png</url>
<title>Department of Computer Science</title> <title>Department of Computer Science</title> <link>http://www.inf.ethz.ch/</link> <link>http://www.inf.ethz.ch/</link> <width>140</width> <height>35</height><width>140</width> <height>35</height>
</image></image> <item rdf:about="http://www.inf.ethz.ch/news/events/details/index?id=593"> <item rdf:about="http://www.inf.ethz.ch/news/events/details/index?id=593">
<title>Establishing trust in electronic business <title>Establishing trust in electronic business correspondence</title> correspondence</title> <link>http://www.inf.ethz.ch/news/events/details/index?id=593</link> <link>http://www.inf.ethz.ch/news/events/details/index?id=593</link>
<category>ZISC Colloquium</category> <category>ZISC Colloquium</category> <description>Tuesday, 17 January 2006 17:15, by: Dr. Ralf Hauser <description>Tuesday, 17 January 2006 17:15, by: Dr. Ralf Hauser
Privasphere Privasphere AG</description> AG</description> <dc:date>2006-01-17</dc:date> <dc:date>2006-01-17</dc:date>
<guid>http://www.inf.ethz.ch/news/events/details/index?id=593</guid> <guid>http://www.inf.ethz.ch/news/events/details/index?id=593</guid> </item> </item>
![Page 73: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/73.jpg)
73
RSS NotesRSS Notes Format wars: RSS 0.91, 1.0, 2.0, AtomFormat wars: RSS 0.91, 1.0, 2.0, Atom All major news sites use it nowAll major news sites use it now Blogs would not work without itBlogs would not work without it Currently targeted to human-machine Currently targeted to human-machine communicationcommunication
Might be a good candidate for push-Might be a good candidate for push-style machine-machine communication, style machine-machine communication, tootoo
Ironically, RSS currently uses Ironically, RSS currently uses push-only as interaction modelpush-only as interaction model pull at the communication levelpull at the communication level
![Page 74: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/74.jpg)
74
AtomAtom
Direct Competition to RSS 2.0Direct Competition to RSS 2.0 <feed><feed> <entry><entry> ... ... <cal:startTime>...</cal:startTime><cal:startTime>...</cal:startTime></entry>…</entry>…
</feed></feed>
![Page 75: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/75.jpg)
75
Atom/RSS TypesAtom/RSS Types““Types”Types” AtomAtom RSSRSS
AuthorAuthor <name>George Matesky</name> <name>George Matesky</name> <email>[email protected]</email> <email>[email protected]</email>
<uri>www.matesky.net</uri><uri>www.matesky.net</uri> Just TextJust Text
DateDate 2002-09-07T09:42:31Z2002-09-07T09:42:31Z Sat, 07 Sep 2002 9:42:31 GMTSat, 07 Sep 2002 9:42:31 GMT URLURL <link rel="alternate" <link rel="alternate"
type="text/html“ type="text/html“ ref="http://example.org/2005/04/0ref="http://example.org/2005/04/0
2/atom"/>2/atom"/>
<link> <link> http://www.nytimes.com/2002/0http://www.nytimes.com/2002/09/07/movies/07FEST.html 9/07/movies/07FEST.html </link> </link>
TextText <content type="xhtml" <content type="xhtml" xml:lang="en"> <div xml:lang="en"> <div xmlns="http://www.w3.org/1999/xhtxmlns="http://www.w3.org/1999/xhtml"> <p>Some of the chatter at ml"> <p>Some of the chatter at <i>Venice </i> was about the <i>Venice </i> was about the stars</p> </div> </content> stars</p> </div> </content>
<description> Some of chatter <description> Some of chatter at Venice was about the at Venice was about the
stars.</description>stars.</description>
CommentComment <link rel="comments" <link rel="comments" href=“http://a.org/comments/123"/href=“http://a.org/comments/123"/
>.>.
<comments>http://a.org/<comments>http://a.org/
comments/123 </comments>comments/123 </comments>
BlobBlob <link rel="enclosure" <link rel="enclosure" type="audio/mpeg" length="1337" type="audio/mpeg" length="1337" href="http://a.org/mp3/cscms.mp3"href="http://a.org/mp3/cscms.mp3"/> />
<enclosure <enclosure url="http://a.org/mp3/cscms.murl="http://a.org/mp3/cscms.mp3" p3" length="1069871“type="audio/mlength="1069871“type="audio/mpeg"/>peg"/>
TagTag <category term="entertainment" <category term="entertainment" scheme="google.com"/> scheme="google.com"/>
<category <category domain="google.com">entertaindomain="google.com">entertainment</category> ment</category>
![Page 76: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/76.jpg)
76
Atom/RSS ItemsAtom/RSS ItemsAtomAtom RSSRSS
EntryEntry++ Title: TextTitle: Text
ID: Unique IDID: Unique ID
Updated: DateUpdated: Date
Content? : TextContent? : Text
Link?: URLLink?: URL
Link*: BlobLink*: Blob
Link*: CommentsLink*: Comments
Published?: DatePublished?: Date
Author*: AuthorAuthor*: Author
Contributor*: AuthorContributor*: Author
Category*: TagCategory*: Tag
Link?: Link?: EditURL(rel=sService.editEditURL(rel=sService.edit))
ItemItem++ Title: TextTitle: Text
Link: URLLink: URL
Description: TextDescription: Text
GUID? : Unique IDGUID? : Unique ID
Author*: NameAuthor*: Name
Category*: TagCategory*: Tag
Comments?: URLComments?: URL
Enclosure?: BlobEnclosure?: Blob
Source?: URLSource?: URL
![Page 77: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/77.jpg)
77
AgendaAgenda
Web ServicesWeb Services DefinitionDefinition SOAPSOAP WSDLWSDL UDDIUDDI
RSS / ATOMRSS / ATOM MashUpsMashUps
(Demo)(Demo)
![Page 78: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/78.jpg)
78
MashupsMashups
Compose a new Web Service / Page Compose a new Web Service / Page from existing Web Servicesfrom existing Web Services VERY simple concept (that is the VERY simple concept (that is the beauty)beauty)
ExamplesExamples Restaurant Guide + Google MapsRestaurant Guide + Google Maps http://www.gangstaweb.comhttp://www.gangstaweb.com http://www.programmableweb.comhttp://www.programmableweb.com
Demo - MXQuery EngineDemo - MXQuery Engine http://www.mxquery.orghttp://www.mxquery.org
![Page 79: 1 Module 4 Web Services, RSS, Mashups. 2Recap Module 1: Why XML? Module 1: Why XML? communication data, meta-data, documents communication data, meta-data,](https://reader030.fdocuments.in/reader030/viewer/2022032707/56649e055503460f94af1cba/html5/thumbnails/79.jpg)
79
SummarySummary Integration, Integration, IntegrationIntegration, Integration, Integration
Applications and/or DataApplications and/or Data XML is strong becauseXML is strong because
more forgiving if formats changemore forgiving if formats change serialization of dataserialization of data
Push: XML is strong becausePush: XML is strong because RSS and Atom are incidently XMLRSS and Atom are incidently XML XML is good for text / documents with some XML is good for text / documents with some structurestructure
XML is good for integrationXML is good for integration Mashups: XML is strong becauseMashups: XML is strong because
can be processed by machines (WS) and humans can be processed by machines (WS) and humans (XHTML)(XHTML)
Next: Programming for XML (XPath, ..., Next: Programming for XML (XPath, ..., XQueryP)XQueryP)