This topic applies only to the IBM Business Process Manager Advanced configuration.

Atom-Feed-Format

In diesem Abschnitt wird das Atom-Feed-Format beschrieben.

Der Begriff "Atom" bezieht sich auf zwei verwandte Standards:

  • Das Atom Syndication-Format ist eine XML-Sprache, die für Web-Feeds verwendet wird.
  • Das Atom Publishing Protocol (AtomPub oder APP) ist ein einfaches HTTP-basiertes Protokoll zum Erstellen und Aktualisieren von Webressourcen.

Web-Feeds ermöglichen Clients das Suchen nach Aktualisierungen, die auf einer Website veröffentlicht wurden. Um einen Web-Feed anzubieten, wird auf einer Website eine Liste mit kürzlich veröffentlichten Artikeln oder Inhalten in einem standardisierten maschinenlesbaren Format bereitgestellt. Diese Liste wird als Feed bezeichnet. Dieser Feed kann durch Websites abgerufen werden, die gemeinsame Inhalte aus dem Feed entnehmen, oder durch Feed-Reader-Software.

Das Atom-Feed-Format verfügt über ein klar definiertes Schema. Der Feed enthält mehrere Einträge, denen jeweils bestimmte Inhalte zugeordnet sind. Der Inhalt kann in den Feed integriert sein oder über einen angegebenen Link abgerufen werden. Die zugeordneten Typinformationen für den Inhalt werden als MIME-Typ des Inhalts bezeichnet.

Es gibt drei klar strukturierte Typen mit den Bezeichnungen "Text", "HTML" und "XHTML". Der Benutzer kann eigene Typen bereitstellen, die mit der Atom-Spezifikation übereinstimmen.

Eingehende Daten

Für eingehende Daten konvertiert der Atom-Datenhandler den Atom-Feed in ein klar strukturiertes Geschäftsobjekt. Wenn der Feed integrierten Inhalt enthält, wird (je nach Konfigurationssetup des Datenhandlers) der konfigurierte Datenhandler aufgerufen, der den integrierten Inhalt in ein Geschäftsobjekt umwandelt und das Geschäftsobjekt in den Feed einfügt. Sie müssen ein Schema für das Geschäftsobjekt bereitstellen, das diesem integrierten Inhalt entspricht.

Ein Beispiel: Der Feed enthält zwei Einträge. Der Inhaltstyp des ersten Eintrags ist 'XML' und der des zweiten Eintrags ist 'JSON'. Die Eingabedaten sehen wie folgt aus:

287	<?xml version="1.0" encoding="utf-8"?>
288	<feed xmlns="http://www.w3.org/2005/Atom">
289	 
290	 <title>Example Feed</title>
291	 <subtitle>A subtitle.</subtitle>
292	 <link href="http://example.org/feed/" rel="self"/>
293	 <link href="http://example.org/"/>
294	 <updated>2003-12-13T18:30:02Z</updated>
295	 <author>
296	   <name>John Doe</name>
297	   <email>johndoe@example.com</email>
298	 </author>
299	 <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
300	 
301	 <entry>
302	   <content type="text/xml">
303	       <p:Customer xmlns:p="http://www.ibm.com/crm" xmlns="http://www.ibm.com/crm">
304	               <id>10</id>
305	       </p:Customer>
306	   </content>
307	   <title>Atom-Powered Robots Run Amok</title>
308	   <link href="http://example.org/2003/12/13/atom03"/>
309	   <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
310	   <updated>2003-12-13T18:30:02Z</updated>
311	   <summary>Some text.</summary>
312	 </entry> 
313	<entry>
314	   <content>
315	      <content type="text/json">
316	          {"firstName"="John","lastName"="Doe","id"="10"}
317	      </content>
318	      <type>text/json</type>
319	   </content>
320	   <title>Atom-Powered Robots Run Amok</title>
321	   <link href="http://example.org/2003/12/13/atom03"/>
322	   <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
323	   <updated>2003-12-13T18:30:02Z</updated>
324	   <summary>Some text.</summary>
325	 </entry> 
326	
327	</feed>

Sie müssten ein XML-Schema bereitstellen, das dem oben angegebenen Kunden (Customer) entspricht. Dieser Kunde (Customer) ist ein Eintrag für integrierten Inhalt.

Außerdem müssten Sie ein XML-Schema bereitstellen, das den oben angegebenen JSON-Daten entspricht. Diese JSON-Daten sind ebenfalls ein Eintrag für integrierten Inhalt.

Anschließend würden Sie den Datenhandler wie folgt konfigurieren:
  • mimeType="text/xml" and data handler = "XMLDataHandlerConfig"
  • mimeType="text/json" and data handler = "JSONDataHandlerConfig".

Abgehende Daten

Für abgehende Daten konvertiert der Atom-Datenhandler ein klar strukturiertes Geschäftsobjekt in einen Atom-Feed. Wenn das Feed-Geschäftsobjekt ein Geschäftsobjekt für integrierten Inhalt enthält, wird (je nach Konfiguration des Datenhandlers) der konfigurierte Datenhandler aufgerufen, der das Geschäftsobjekt im Inhalt in den Eintrag für integrierten Inhalt in dem Feed umwandelt. Sie müssen ein Schema für das Geschäftsobjekt bereitstellen, das diesem integrierten Inhalt entspricht.

Ein Beispiel: Es sind zwei Geschäftsobjekte vorhanden, die dem Inhaltseintrag entsprechen. Eines dieser Geschäftsobjekte ist 'Customer' (Kunde), das andere Geschäftsobjekt ist 'Order' (Auftrag). Das Geschäftsobjekt 'Customer' muss im Atom-Feed in XML-Code serialisiert werden und das Geschäftsobjekt 'Order' muss im Atom-Feed als Datenstrom mit Begrenzer serialisiert werden.

Das Geschäftsobjekt 'Customer':

Geschäftsobjekt 'Customer'

Serialisiertes XML für dieses Objekt:

<entry>
	<content type="text/xml">
		<p:Customer xmlns:p="http://www.ibm.com/crm" 
					xmlns="http://www.ibm.com/crm">
			<id>10</id>
			<firstName>John</firstName>
			<lastName>Doe</lastName>
		</p:Customer>
	</content>
</entry>

Das Geschäftsobjekt 'Order':

Geschäftsobjekt 'Order'

Serialisierter Datenstrom mit Begrenzer für dieses Objekt:

<entry>
	<content type="text/delimited">
		10,Television

Die Ausgabedaten würden wie folgt aussehen:

328	<?xml version="1.0" encoding="utf-8"?>
329	<feed xmlns="http://www.w3.org/2005/Atom">
330	 
331	 <title>Example Feed</title>
332	 <subtitle>A subtitle.</subtitle>
333	 <link href="http://example.org/feed/" rel="self"/>
334	 <link href="http://example.org/"/>
335	 <updated>2003-12-13T18:30:02Z</updated>
336	 <author>
337	   <name>John Doe</name>
338	   <email>johndoe@example.com</email>
339	 </author>
340	 <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
341	 <entry>
342	   <content type="text/xml">
343	       <p:Customer xmlns:p="http://www.ibm.com/crm" 
344	                   xmlns="http://www.ibm.com/crm">
345	           <id>10</id>
346	           <firstName>John</firstName>
347	           <lastName>Doe</lastName>
348	       </p:Customer>
349	   </content>       
350	   <title>Atom-Powered Robots Run Amok</title>
351	   <link href="http://example.org/2003/12/13/atom03"/>
352	   <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
353	   <updated>2003-12-13T18:30:02Z</updated>
354	   <summary>Some text.</summary>
355	 </entry>  
356	 <entry>
357	   <content type="text/delimited">
358	       10,Television
359	   </content>        
360	   <title>Atom-Powered Robots Run Amok</title>
361	   <link href="http://example.org/2003/12/13/atom03"/>
362	   <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
363	   <updated>2003-12-13T18:30:02Z</updated>
364	   <summary>Some text.</summary>
365	 </entry> 
366	 <entry>
367	   <title>Atom-Powered Robots Run Amok</title>
368	   <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
369	   <updated>2003-12-13T18:30:02Z</updated>
370	   <summary>Some text.</summary>
371	 </entry> 
372	</feed>