320 likes | 445 Views
Information and Content Exchange (ICE) Protokoll. 1. Einführung 2. Überblick 3. Protokoll 4. Inside 5. Weitere Eigenschaften 6. Zusammenfassung. Einführung: Einsatzgebiet von ICE. Information and Content Exchange : Austausch von Online-Inhalten zwischen Geschäftspartnern
E N D
Information and Content Exchange (ICE) Protokoll 1. Einführung 2. Überblick 3. Protokoll 4. Inside 5. Weitere Eigenschaften 6. Zusammenfassung
Einführung: Einsatzgebiet von ICE • Information and Content Exchange:Austausch von Online-Inhalten zwischen Geschäftspartnern • Speziell ausgerichtet auf Syndication-Szenarien:Vertrieb/Verteilung von Informationen über das Internet
xy.com Einführung: Beispiel 1 (News-Service) Nachrichtenagentur Geschäftskunden Nachrichten Internet Datenquellen Syndication-Server
Einführung: Beispiel 2 (Produktinformationen) Elektronikhersteller Händler Internet Produktkataloge Syndication-Server
Überblick: Syndication-Beziehung Syndicator (Anbieter) Subscriber (Abonnent) Geschäftsvereinbarung Einrichten von Abonnements Datenübertragung Datenübertragung ... t
Überblick: Beispiel (News-Lieferung) Steuerungs-/Übertragungsprotokoll Metadaten XMLNews-Meta PRISM Inhalt XMLNews-Story Syndicator Subscriber
ICE Protokoll: Bisherige Übertragungsverfahren • Kein einheitlicher Standard • Ad hoc • Zusammenspiel verschiedener Tools • Zusätzliche Kommunikation notwendig • Schlecht skalierbar
ICE Protokoll: Lösung mit ICE • Einheitlicher Standard • Basiert auf XML • Definierte Abonnement-Einrichtung und Datenübertragung • Unabhängig vom Datenformat • Direkt über das Internet einsetzbar
ICE Protokoll: Beispiel (News-Lieferung) Transportprotokoll HTTP Anwendungsprotokoll ICE Metadaten XMLNews-Meta PRISM Inhalt XMLNews-Story Syndicator Subscriber
ICE Protokoll: ICE/HTTP • ICE: Request/Response-Struktur • Abbildung auf HTTP POST Sender Empfänger HTTP POST <ice-payload> <ice-request ... /> </ice-payload> HTTP Response <ice-payload> <ice-response ... /> </ice-payload>
ICE Protokoll: Syndication-Ablauf mit ICE Syndicator Subscriber Geschäftsvereinbarung Freischalten des Subscribers Eingabe der Zugangsdaten Einrichten von Subscriptions Datenübertragung Datenübertragung ...
ICE Inside: Einrichten von Subscriptions Syndicator Subscriber Kataloganforderung Katalog mit Angeboten Auswahl Verhandlung eines Angebots Akzeptiertes Angebot Annahme Bestätigung der Subscription
ICE Inside: Szenario Syndicator Subscriber Tech-News xy.com Internet Börsen-News News-Service Online-Magazin
ICE Inside: Angebote Katalog Subscription-Angebot 1: Technologie-News Lieferregel 1: Montag-Freitag 8-18 Uhr 1-10 Updates Lieferregel 2: Samstag-Sonntag Update alle 2-24 h Bedingungen: keine Änderungen Quelle nennen Subscription-Angebot 2: Börsen-Nachrichten Lieferregel: Montag-Freitag 9-20 Uhr min. 4 Updates Bedingungen: keine Änderungen
ICE Inside: Kataloganforderung Syndicator Kataloganforderung Subscriber • <?xml version="1.0"?> • <!DOCTYPE ice-payload SYSTEM "http://www.ice-ag.org/ICE.dtd"> • <ice-payload payload-id="PL-55071" ice.version="1.1"> • <ice-header> • <ice-sendersender-id="4af37b30-2c35-11d2-be4a-204c4f4f5020" • name ="OnlineIllu" role="subscriber" /> • </ice-header> • <ice-request request-id="REQ-1234"> • <ice-get-catalog /> • </ice-request> • </ice-payload>
ICE Inside: Katalog-Response Syndicator Katalog Subscriber <ice-payload payload-id="0048817" ice.version="1.1"> <ice-header> <ice-sendersender-id="7223457c2-1fff-ee11-bdd2-3563af4b5333" name="Ultranews.com" role="syndicator" /> </ice-header> <ice-response response-id="RESP-2001052"> <ice-code numeric="200" phrase="OK" message-id="REQ-1234" /> <ice-catalog name="Ultranews.com Offers"> <ice-offer product-name="Ultranews.com Technology Newsletter"> … </ice-offer> <ice-offer product-name="Ultranews.com Stocks Newsletter"> … </ice-offer> </ice-catalog> </ice-response> </ice-payload>
ICE Inside: ICE-offer <ice-offer product-name="Ultranews.com Technology Newsletter" offer-id="NEWS-18991-A" expiration-date="2001-12-31" rights-holder="TechnoSource Inc." editable="false" credit-owner="true"> <ice-delivery-policy> <ice-delivery-rule weekday="1 2 3 4 5" mode="pull" starttime="08:00:00" duration="P36000S" min-num-updates="1" max-num-updates="10" /> <ice-delivery-rule weekday="6 7" mode="pull“ min-update-interval="P7200S" max-update-interval="P86400S" /> </ice-delivery-policy> <ice-business-term lang="en" type="payment"> Free service with embedded advertising. </ice-business-term> <ice-business-term lang="en" type="licensing"> Syndicator makes no claims as to the validity of this material. </ice-business-term> </ice-offer>
ICE Inside: Einrichten von Subscriptions Syndicator Subscriber Kataloganforderung Katalog mit Angeboten Auswahl Verhandlung eines Angebots Akzeptiertes Angebot Annahme Bestätigung der Subscription
ICE Inside: Annahme eines Angebots Syndicator Akzeptiertes Angebot Subscriber <ice-payload …> <ice-request request-id="REQ-1277"> <ice-offer …> … </ice-offer> </ice-request> </ice-payload> Syndicator Bestätigung der Subscription Subscriber <ice-payload …> <ice-response response-id="RESP-2001052"> <ice-subscription> <ice-offer subscription-id="TECH-0899Q" …> … </ice-offer> </ice-subscription> </ice-response> </ice-payload>
ICE Inside: Verhandlung eines Angebots Nachrichtenfluss bei 1 „Verhandlungsrunde“: ice-get-catalog (Kataloganforderung) Syndicator Subscriber ice-catalog (Katalog) Auswahl ice-offer (modifiziertes Angebot) Ablehnung Error, ice-offer (abgelehnt, Gegenangebot) ice-offer (Kopie des Gegenangebots) Annahme ice-subscription (Bestätigung der Subscription)
ICE Inside: Syndication-Ablauf mit ICE Syndicator Subscriber Geschäftsvereinbarung Einrichten von Subscriptions Neue Inhalte Datenübertragung Verarbeitung Neue Inhalte Datenübertragung Verarbeitung ...
ICE Inside: Übertragungsmodi • Pull • Push Syndicator Subscriber Paketanfrage Paket Syndicator Subscriber Paket Bestätigung
ICE Inside: Beispiel Pull-Modus Syndicator Paketanfrage Subscriber <ice-payload …> <ice-request request-id="REQ-1340"> <ice-get-package subscription-id="TECH-0899Q" current-state="S-004" /> </ice-request> </ice-payload> Paket Syndicator Subscriber <ice-payload …> <ice-response response-id="RESP-2001052"> <ice-package package-id="PK-5" subscription-id="TECH-0899Q" old-state="S-004" new-state="S-005"> … </ice-package> </ice-response> </ice-payload>
ICE Inside: Paketelemente • Eingebettete Inhalte • Referenzierte Inhalte • Löschen alter Inhalte <ice-item item-id="IT661" name="WAP-Story" content-transfer-encoding="x-native-xml"> <![CDATA[ <html> … </html> ]]> </ice-item> <ice-item-ref item-id="REF17" url="http://www.ultranews.com/data/66040101.html" /> <ice-item-remove subscription-element="XYZ-123" />
ICE Inside: Einbetten von XML • Standard-DTD • Erweiterung der DTD <!ELEMENT ice-item (#PCDATA)> <ice-item …> <article> <title>ICE, Syndication, and You</title> </article> </ice-item> <!ELEMENT ice-item (article*)> <ice-item …> <article> <title>ICE, Syndication, and You</title> </article> </ice-item>
ICE Inside: Paketsequenz-Modell • Paketreihenfolge wichtig • Zustandsmodell Paket Pi Si Si+1 Subscriber Zustand Si Subscriber Zustand Si+1
Weitere Eigenschaften • Log-Austausch • Benachrichtigungen • Minimal-Subscriber-Konzept
Weitere Eigenschaften Minimal Subscriber / Unsolicited Messages Syndicator Subscriber wartende Nachrichten Request Response + „Unsolicited pending“ „Unsolicited now“ „Unsolicited request“ Bearbeitung „Unsolicited response“ Bestätigung
Zusammenfassung: Offene Fragen / Probleme • Keine Sicherheitsmerkmale • Bezahlung nicht geregelt • Höheres Datenvolumen durch XML • Technologie noch relativ unbekannt
Zusammenfassung: Stärken • Zugeschnitten auf Syndication-Anwendungen • Leicht implementierbar • Flexibel einsetzbar • Erweiterbar
Zusammenfassung: ICE-Anwender (Beispiele) Implementierungen • Vignette Syndication Server • Intershop Enfinity • Kinecta Interact • ICE Cubes (Open Source Java) Informationsanbieter • National Semiconductor • Reuters