Follow Us on Twitter

Oracle B2B 12c – de nieuwe features die echt de moeite waard zijn

December 2014 - De Oracle Fusion Middleware stack biedt al enige jaren een platform om een service-georiënteerde architectuur op te zetten en daarmee interne systemen en die van partners aan elkaar te koppelen. De meeste interfaces tussen partijen zijn gestandaardiseerd en deze standaarden zijn vaak zeer uitgebreid en goed gedocumenteerd. De uitdaging is echter om de transformatie van informatie van en naar deze interfaces te realiseren op zo'n manier dat aan de standaarden voldaan wordt en de informatie correct wordt geïnterpreteerd.

Zoveel partners als er zijn in een service-georiënteerde architectuur, zoveel verschillende standaarden zijn er voor de inhoud van de informatie, protocollen voor de wijze van verpakking en transport, de beveiliging en de autorisatie. Dit is waar Oracle B2B zijn intrede doet. Door Oracle omschreven als een "e-commerce gateway", is Oracle B2B specifiek ontwikkeld voor communicatie tussen bedrijven (business-to-business). Het begrip "gateway" zou kunnen suggereren dat het alleen een interface of een portaal is. Oracle B2B doet meer dan dat. Het is een complete engine waarmee het mogelijk is om de levenscyclus van een bericht te volgen, en sluit daarbij nauw aan op de andere Middleware componenten zoals de Enterprise Manager en Oracle SOA Suite en BPM Suite.

Al die standaarden kunnen in het begin intimiderend zijn. Wat wordt er bedoeld met een documentprotocol of transportprotocol? Hoe kan ik dat relateren aan de levenscyclus van een document of bericht en welke eisen daar aan gesteld worden? Onderstaande tabel vergelijkt de rol van de protocollen in een B2B transactie met een fysiek proces wat iedereen kent: het verzenden van een postpakketje.
Hoe wordt het item verzonden en ontvangen?

  Postpakket E-commerce transactie
Wat wordt er verzonden? Een boek, machineonderdelen, een televisie Elektronisch document.
Documentprotocol: Custom, EDI EDIFACT, HL7, OAG, flat file, RosettaNet, UCCnet, etc
Hoe is het verpakt? Doos, bubbelenvelop Verpakkingsprotocol: MIME, SMIME, SOAP, XMLDSig,XMLEncrypt
Schip, vliegtuig, bestelbus Transportprotocol: HTTP, File, FTP, SFTP (SSH FTP), TCP/IP, SMTP, MLLP
Wie is de vervoerder? PostNL, DPD, FedEx, UPS Berichtuitwisselingsprotocol: RNIF, AS1, AS2, AS3, AS4, ebMS v3
Wat zijn de vervoersvoorwaarden? Tekenen voor ontvangst, legitimatie verplicht, next-business day delivery. Onweerlegbaarheid van verzenden/ontvangst (nonrepudiation), retry counts, responsetijd.

Maar B2B gaat verder dan deze kenmerken. Ook authenticatie, identiteitsbeheer, auditing, versleuteling en policies kunnen met B2B worden geconfigureerd en afgedwongen. In de praktijk betekent dit, dat de inhoud van berichten versleuteld kan worden en er per gebruikersprofiel ingesteld kan worden wie welke type documenten in mag zien.

Architectuur 
Afbeelding 1 - Oracle B2B architectuur (Bron: Oracle Documentatie)

Wat is nieuw in 12c

Met B2B 12c en de steeds grotere rol van de cloud in IT infrastructuur, is B2B aan het uitgroeien van "alleen maar" een veilige en gestandaardiseerd kanaal tussen 2 partners naar een hulpmiddel om bedrijfskritische informatie uit te wisselen met outsourcing partners en andere bedrijven. De behoefte van B2B neemt toe. Gartner voorspelde 2 jaar geleden dat bedrijven op korte termijn al meer aan B2B integratie zullen doen dan aan application-to-application (A2A) integratie.

Integratie in SOA Suite 12c

Het eerste dat opvalt is dat B2B 12c onderdeel is van de Oracle SOA Suite 12c download. Het hoeft dus niet meer apart gedownload en geïnstalleerd te worden.
Verzenden en ontvangen van berichten in Oracle B2B kan geregeld via MFT (Managed File Transfer), mits daar een aparte licentie voor is aangeschaft.

Efficiënter verwerken van grote berichten

Grote bestanden worden in B2B 12.1.3 op een andere manier behandeld. Voorheen werd de hele payload in het geheugen geladen, wat kon veroorzaken dat de JVM Heap Space volliep. In deze versie worden de documenttypes EDI X12, EDI_EDIFACT en HL7 via stream-based processing verwerkt, mits via één van de transportprotocollen File, FTP, SFTP of MFT. De bestandslimiet is 2GB.
Om het Managed File Transfer (MFT) protocol ook te kunnen gebruiken in B2B moet er een (prijzige) aparte licentie afgenomen worden voor MFT.

Use Case Pattern
Afbeelding 2 - B2B Use Case Pattern (bron: Oracle documentatie)

Introductie van Business Flow Events

Ook nieuw is het concept "Business Flow Events". Een business flow in deze context, is het uitwisselen van één of meer berichten. De levenscyclus van een document in de business flow is te volgen in de Oracle B2B Console, waarin niet alleen een unieke ID voor die specifieke flow, maar ook unieke identifiers zoals de ECID en instanceID van een gerelateerde service of composite instance zijn opgenomen. Business Flow Events zijn te monitoren via de OFM Enterprise Manager Console, waar een gedetailleerde audit trail in te zien is, exact zoals we gewend zijn bij composite instances in de SOA Suite.

Goed om te onthouden is, dat wanneer een Oracle SOA composite een aanroep doet naar Oracle B2B, de correlationFlowId uit de Oracle SOA composite wordt gehaald. Wanneer Oracle B2B Oracle SOA aanroept, moet Oracle B2B het correlationFlowId genereren en aan de composite aanleveren voor de integratie met het common instance tracking framework.

Default Channels

In B2B 12c zijn een aantal veelgebruikte communicatie-interfaces voor geconfigureerd, en hebben een eigen URL gekregen. Zo is het HTTP channel voor het ontvangen van HTTP berichten vastgelegd op http://:/b2b/httpReceiver, en wordt ook gebruikt voor de uitwisselingsprotocollen AS2 en eBMS. De httpReceiver is een typisch voorbeeld van een externe default channel; gericht op communicatie met de buitenwereld. De 3 interne standaard listeningchannels zijn Fabric, JMS en AQ. Fabric is voor communicatie met een SOA composite, en afhankelijk van de configuratie van de B2B console wordt geluisterd op de B2B_OUT_QUEUE in het geval van de keuze voor JMS of de IP_OUT_QUEUE voor AQ.

E-mails

Payloads kunnen nu ook per e-mail verzonden en ontvangen worden; als tekst in de emailbody en/of één of meerdere bijlagen. B2B detecteert van inkomende e-mails automatisch of er bijlagen aanzitten, en slaat die op in de directory geconfigureerd in de "b2b.attachments.dir" B2B serverproperty. Als er geen bijlagen zijn wordt de e-mailbody als payload beschouwd.

De hub-functie

Een hub is een naaf; het heeft ook de betekenis van centraal verdeelpunt. Oracle B2B kan als hub fungeren tussen twee zogenaamde trading partners. Het begrip trading partners wordt gebruikt voor organisaties die documenten met elkaar uitwisselen. Als PartnerA een bericht zendt naar PartnerB via B2B in plaats van rechtstreeks, worden de agreements gebruikt die opgesteld zijn tussen de partners, maar de channellocatie is de Oracle B2B listener.

PartnerA <---> [bericht] <---> PartnerB

PartnerA <---> [bericht] <---> Oracle B2B Hub <---> [bericht] <---> PartnerB

Inzetbaarheid van B2B

Oracle B2B is toepasbaar in verschillende sectoren; retail, finance, maar ook de gezondheidszorg, luchtvaart, ruimtevaart, en in de transportsector, waar het gebruikt wordt om vracht te volgen door de keten.

Een sterke use case voor B2B ligt in de gezondheidszorg. De laatste jaren is de noodzaak om gestandaardiseerde berichten tussen zorgverleners uit te wisselen enorm toegenomen. Niet alleen de recepten van de huisarts worden tegenwoordig elektronisch naar de apotheek verzonden, ook worden patiëntdossiers en delen daarvan uitgewisseld volgens regionale en landelijke patiëntdossiers. De informatie die daarin staat, varieert van de bloeddruk tot aan dieetadviezen en röntgenfoto’s. Een aantal voorbeelden van berichtenstandaarden ondersteund door Oracle B2b volgen hieronder.

Bloeddruk van een patiënt wordt gemeten in bovendruk (systolisch) en onderdruk (diastolisch) in mmHg. Een gezonde bloeddruk is bijvoorbeeld 120/80.
In HL7 V3 wordt dat als volgt weergegeven. De stylesheet:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:hl7="urn:hl7-org:v3" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"><!-- Main stylesheet, include templates to override imported templates -->
    <xsl:import href="http://art-decor.org/ADAR/rv/DECOR-DTr1.xsl"/>
    <xsl:import href="generated-xsl-2.xsl"/>
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="/">
        <hl7bericht>
            <xsl:call-template name="Actuelebloeddruk-20111206000000">
                <xsl:with-param name="element-2.16.840.1.113883.2.4.3.11.60.90.77.9.900661.1" select="extract/actuelebloeddruk/systolisch"/>
                <xsl:with-param name="element-2.16.840.1.113883.2.4.3.11.60.90.77.9.900662.1" select="extract/actuelebloeddruk/diastolisch"/>
            </xsl:call-template>
        </hl7bericht>
    </xsl:template>
</xsl:stylesheet>

En het uiteindelijke bericht:

<hl7bericht xmlns:hl7="urn:hl7-org:v3" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!--Template: Actuelebloeddruk effectiveDate=2011-12-06T00:00:00 (ID=2.16.840.1.113883.2.4.6.10.90.900612)-->
    <hl7:organizer classCode="CONTAINER" moodCode="EVN">
        <hl7:code code="75367002" codeSystem="2.16.840.1.113883.6.96"/>
        <hl7:component typeCode="COMP">
            <!--Template: Actuelebloeddruksystolisch effectiveDate=2011-12-06T00:00:00 (ID=2.16.840.1.113883.2.4.6.10.90.900661)-->
            <hl7:observation classCode="OBS" moodCode="EVN">
                <hl7:code code="271649006" codeSystem="2.16.840.1.113883.6.96"/>
                <hl7:value xsi:type="PQ" value="120" unit="mm[Hg]"/>
            </hl7:observation>
        </hl7:component>
        <hl7:component typeCode="COMP">
            <!--Template: Actuelebloeddrukdiastolisch effectiveDate=2011-12-06T00:00:00 (ID=2.16.840.1.113883.2.4.6.10.90.900662)-->
            <hl7:observation classCode="OBS" moodCode="EVN">
                <hl7:code code="271650006" codeSystem="2.16.840.1.113883.6.96"/>
                <hl7:value xsi:type="PQ" value="80" unit="mm[Hg]"/>
            </hl7:observation>
        </hl7:component>
    </hl7:organizer>
</hl7bericht>

Bovenstaande berichtvoorbeelden laten zien dat het veel kan helpen om software te hebben die de interpretatie van de vele berichtformaten grotendeels op zich neemt. Hl7 is nog een bekende standaard (en gebaseerd op XML), maar voor het uitwisselen van radiologische afbeeldingen wordt DICOM gebruikt (Digital Imaging and Communication in Medicine) en voor het voorschrijven van medicatie is er de standaard NCPDP (National Council for Prescription Drug Programs). En deze worden door B2B ondersteund.

Aan de beveiliging van medische informatie worden hoge eisen gesteld. Berichtenverkeer tussen zorgverleners mag niet onderschept worden door derden. Bij de zorgverlener zijn er strikte scheidingen van functies die bepalen of patiëntinformatie getoond mag worden. Dit zijn allemaal taken die met Oracle B2B vervuld kunnen worden.

Conclusie

Er is een duidelijke synergie tussen Oracle SOA Suite, Managed File Transfer en B2B. Waar de SOA suite sterk is in orchestratie van processen en complexe integratievraagstukken, MFT vooral geschikt is voor grote bestanden of "fanning out" van één bron naar meerdere bestemmingen , is de kracht van B2B :

  • Uitgebreide ondersteuning van industriële documentformaten en protocolformaten.
  • Eenvoudig beheer van trading partners
  • Helder overzicht door beheersoftware en rapportages (met sterke integratie in SOA Suite)
  • Op verschillende manieren inzetbaar in het SOA landschap: als hub of schakel in de keten.
  • B2B is een typische gateway tussen het interne domein en de buitenwereld, waarbij de communicatie met pertners op het internet beveiligd verloopt.

En er is geen scenario waarin gekozen moet worden voor één van de genoemde producten. B2B is al onderdeel van de SOA Suite, en MFT is op zijn beurt een te gebruiken transportkanaal in B2B.

Er is een sterke integratie met andere componenten van de SOA Suite. B2B sluit naadloos aan op BPEL en B2B transacties zijn te monitoren vanuit de Enterprise Manager.

Concluderend lijken er weinig redenen om Oracle B2B niet te onderzoeken als er de behoefte is om berichten van en naar partners te verzenden, zeker als er sprake is van gespecialiseerde documentstandaarden en beveiligingsprotocollen.

Referenties

Waardering:
 

Reacties

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.