Follow Us on Twitter

Oracle in de Wolken met PCS, ICS, SOACS en meer...

Proces Cloud Service en Integration Cloud Service cloud-oplossingen van Oracle

November 2015 - Alles is tegenwoordig cloud, buzzwords als PaaS, SaaS, IaaS zijn dagelijks te zien en te horen in de media, en het lijkt wel alsof alles dat aan het internet hangt de stempel cloud krijgt opgedrukt. Ook Oracle is in de wolken. Het cloud-aanbod van Oracle is al aanzienlijk groot.

Ook op het gebied van middleware is er al heel wat te halen op cloud-gebied. In dit Whitebook leg ik de focus op de twee grote jongens uit de Integration-wereld: Integration Cloud Service (ICS) en Process Cloud Service (PCS). Ik zal uiteenzetten wat ICS en PCS is en kan, maar ook wat het niet is. Is de on-premise SOA Suite verleden tijd, of vult het ICS en PCS aan?

Integration Cloud Service: Oracle Service Bus in de cloud?

De Integration Cloud Service is een service die gebruikt kan worden om systemen te koppelen op basis van webservices.

Oracle ICS Start Screen

De gebruiker krijgt de mogelijkheid om in enkele stappen een koppeling te creëren:

  • Definieer de connecties met de systemen (Connections);
  • Definieer de koppeling (Integration);
  • Transformeer de data van het bronformaat naar het doelformaat.

Connections

Connections zijn de "adapters" naar de externe systemen. Dit kunnen eigen (externe) webservices zijn (gebaseerd op WSDLs), maar ook koppelingen naar Oracle SaaS-producten zoals Oracle HCM. Connections worden gebruikt als bron én als doel van de integratie.

De figuur hieronder laat de connections zien De pagina toont tevens de compleetheid, zodat in één oogopslag zichtbaar is of een connection nog moet worden afgeconfigureerd.

Oracle ICS Connections
Figure 1 Connections.

Het definiëren van een connection gebeurt in een eenvoudig scherm, waarin zaken als endpoint, naamgeving en security kunnen worden ingeregeld.

Oracle ICS Create Connections
Figure 2 Het maken van een Connection.

Integrations

Een Integration bestaat uit een serie stappen. Het meest voorkomende integratiepatroon is een request-response message exchange pattern:

  1. Een bericht komt binnen uit de bron;
  2. Het bericht kan worden verrijkt door een (extra) Connection aan te roepen;
  3. Het bericht wordt getransformeerd;
  4. Het (eventuele getransformeerde) bericht wordt aangeboden aan het doel.

    Vervolgens komt het doel met een antwoordbericht, dat eigenlijk dezelfde stappen kan doorlopen als de flow van de bron naar het doel:

  5. Het antwoordbericht komt binnen uit het doel;
  6. Het antwoordbericht kan worden verrijkt door een (extra) Connection aan te roepen;
  7. Het antwoordbericht wordt getransformeerd;
  8. Het (eventuele getransformeerde) antwoordbericht wordt aangeboden aan de bron.

Het eindresultaat is een integration flow die overzichtelijk wordt weergegeven zoals in de onderstaande figuur is afgebeeld.

Oracle ICS: Voorbeeld van een Integration flow
Figure 3 Voorbeeld van een Integration flow.

Transformations

Transformaties van berichten en data is een van de belangrijkste aspecten binnen een integratie. ICS heeft een geavanceerde toolset om deze transformatie te maken. Het heeft veel weg van de van de mapper functionaliteit die we kennen uit de ontwikkeltool van de on-premise SOA Suite jDeveloper. De bron datavelden kunnen eenvoudig worden gemapt op de doelvelden, en Oracle heeft zelfs al een set aan veelgebruikte mappingen out-of-the-box paraat voor veelgebruikte transformaties.

Oracle ICS Voorbeeld van een mapper
Figure 4 Voorbeeld van een mapper.

Veelal is het simpelweg transformeren van de data tussen het bron- en doelformaat niet voldoende. Ook de data zelf bevindt zich in verschillende (functionele) domeinen, en bevat verschillende identifiers die moeten worden vertaald tijdens de transformatie van de data. Hiervoor heeft ICS de zgn. lookup-functionaliteit. Lookup stelt je in staat om data referentietabellen op te stellen, om bijvoorbeeld een adrestype met de waarde "BA" uit het bronsysteem te laten vertalen naar waarde "PO" voor het doelsysteem. Dit is vergelijkbaar met de cross-reference functionaliteit uit de on-premise SOA Suite. Deze lookups worden onderdeel van de transformatie in de mapper.

Oracle ICS Definieer Lookups
Figure 5 Definieer Lookups.

Oracle Service Bus in de cloud?

ICS is de noodzakelijke tool om je cloud-applicaties op een eenvoudige manier te laten koppelen met andere systemen. Het is met name geschikt om (Oracle) SaaS-producten te koppelen met elkaar en met on-premise systemen. Het ondersteunt de basics van integratie koppelingen. Het verbindt het bronsysteem met het doelsysteem, en kan de berichten tussen deze systemen met een goede visuele transformatietool vertalen. Dit maakt het echter nog geen Oracle Service Bus (OSB). Zonder de Enrich-functionaliteit is het eerder te vergelijken met de Mediator uit de Oracle SOA Suite. OSB kan zo veel meer. De OSB is een krachtpatser die je in staat stelt zeer complexe integratie flows te creëren waarmee bijna alles mogelijk is. ICS doet precies dat waarmee 95% van de gebruikers genoegen neemt: het koppelen van twee systemen.

Process Cloud Service

Een andere cloud-service van Oracle is Process Cloud Service (PCS). Deze service heeft veel weg van Oracle’s Business Process Management (BPM) on-premise oplossing die we kennen uit de SOA Suite.

In PCS kan je BPM workflows definiëren. In tegenstelling tot ICS zijn de integratie processen niet synchroon, maar asynchroon en leunen erg op menselijke interactie.

Hoe werkt het?

Een PCS BPM-proces begint altijd door een startevent en doorloopt een workflow die veelal bestaat uit verschillende taken die gebruikers moeten uitvoeren. PCS kent de volgende mogelijke startevents:

  1. een Message van een externe bron, bijvoorbeeld vanuit ICS;
  2. een ingevuld Web Form in PCS, in feite dan dus door een gebruiker.

Oracle PCS Begin met het maken van een proces
Figure 6 Begin met het maken van een proces.

Als het startevent eenmaal is gegenereerd, kan het worden gebruikt in het BPMN-proces. Een PCS-proces is BPMN business as usual: een proces bestaat uit één of meerdere swimlanes waarin de bijbehorende rol bepaalde activiteiten kan uitvoeren.

Oracle PCS: Een leeg proces
Figure 7 Een leeg proces.

De activiteiten variëren van de welbekende taak voor de gebruiker, service aanroepen naar externe systemen, tot beslissingen nemen op basis van business rules.

Oracle PCS: De gereedschapskist voor de PCS ontwikkelaar
Figure 8 De gereedschapskist voor de PCS ontwikkelaar.

Deze activiteiten kunnen op de bekende BPMN-manier aan elkaar worden gekoppeld om zo te komen tot een workflow.

Oracle PCS: Simpel voorbeeld van een PCS worklow
Figure 9 Simpel voorbeeld van een PCS worklow.

De uiteindelijke BPM workflow definieert het bedrijfsproces en leidt de gebruiker(s) binnen verschillende rollen met taken door dit proces.

Voor het definiëren van formulieren, zoals takenschermen, heeft PCS alleen Web Forms. ADF wordt niet ondersteund. De Web Forms kennen we al uit de on-premise oplossing van Oracle BPM. In een eenvoudige interface kan een formulier worden gedefinieerd die de invoer afneemt van deze gebruiker. Hierbij kan bijvoorbeeld gedacht worden aan date-pickers voor datuminvoer, dropdownboxen, aanvinkvelden, tekstvelden en tabellen die kunnen worden ondergebracht binnen verschillende tabbladen. JavaScript kan worden gebruikt om dynamische content te creëren in de WebForms, om zo tot een rijke gebruikers ervaring te komen.

Deze Web Forms vertalen zich binnen een PCS-proces naar een gestructureerd data object. Bij het versturen van het formulier is de data beschikbaar binnen je PCS-proces en kan de workflow haar werk gaan doen. Binnen een proces kunnen meerdere Web Formulieren worden gebruikt, immers, een workflow kan diverse verschillende taken voor gebruikers bevatten. Web Forms zijn te hergebruiken binnen verschillende PCS-processen.

Oracle PCS: Maken van een Web Form
Figure 10 Maken van een Web Form.

De Web Forms van PCS-processen zijn voor gebruikers ook te benaderen via een mobile app, iets wat natuurlijk helemaal past in het nieuwe werken.

Beslismomenten in de BPMN proces flows kunnen worden ingericht met Business Rules met behulp van de Decision Service. Op basis van invoer variabelen kunnen regels worden gedefinieerd die het pad van de proces flow kunnen beïnvloeden.

Oracle PCS: Simpele business rule
Figure 11 Simpele business rule.

De functionaliteit wijkt niet veel af van de on-premise editie, het is nu alleen wachten op de verbal rules uit de 12C BPM editie.

BPM Suite in de cloud?

Oracle’s BPM Suite, de on-premise BPM-oplossing van Oracle vormt de basis van Process Cloud Service. Heel oneerbiedig zou je kunnen zeggen dat de bestaande BPM Workspace uit de on-premise BPM oplossing een grote verbouwing heeft ondergaan, en tegenwoordig door het leven gaat als PCS. Dit laatste is overigens helemaal geen slechte zaak. PCS stelt je in staat zeer snel en op een eenvoudige manier BPM-workflows te maken in de cloud. Approval processen, declaratie workflows, allemaal voorbeelden van workflows die in een handomdraai te maken zijn. De SCA-composites uit de on-premise versie vind je niet terug in PCS: het focust zich echt op de workflow processen. En dit integreert natuurlijk met ICS en andere (Oracle) SaaS-diensten. PCS komt een heel eind om de on-premise BPM oplossing van Oracle te benaderen, al is PCS vergelijkbaar met het instapmodel van een auto en de on-premise BPM de full-option editie. Zo zijn de adapters, de grote vrijheid in het gebruik van de task workflow en de diepe integratie met het Event Delivery Network features die erg gemist worden uit de on-premise oplossing.De PCS service heeft ingebouwde versionering, test to production promotie, dus volledige application life cycle management, iets wat niet altijd vanzelfsprekend is bij het on-premise platform.

De SOA Cloud Service

Tijdens Oracle Open World 2015 is de SOA Cloud Service (SOACS) aangekondigd. De SOACS is een SOA Suite (SOA, Service Bus, API Manager) domain gehost bij Oracle. Het is dus de volledig on-premise suite in de cloud. SOACS helpt je bij de provisioning van je SOA platform. Met SSH-tunnels kunnen de on-premise backend systemen, of on-premise SOA Suite worden benaderd om zo een Hybrid Cloud te creëren. Ontwikkelaars kunnen bestaande on-premise composites blijven bouwen en deployen naar de cloud. SOACS is Oracle’s antwoord op het provisionen van een SOA Suite domain bij partijen als Amazon of de Azure Cloud. Oracle certificeert echter een hele set aan Cloud Adapters voor (Oracle) SaaS producten, iets wat de integratie met andere producten uit het Oracle Cloud portfolio versimpeld.

Oracle SOA Cloud Service provisioning (SOACS)
Figure 12 SOA Cloud Service provisioning.

SOACS is dus niet een kant-en-klaar product zoals ICS en PCS, maar meer een PaaS SOA Suite in de cloud, met alle toeters en bellen die je gewend bent van de on-premise editie. 

Conclusie

Is dit nu het einde van Oracle’s on-premise producten?

Totdat de industrie weer iets nieuws verzint zijn alle pijlen gericht op Cloud computing. Oracle vult met ICS en PCS het gat van integratie in de cloud en BPM workflow management in de cloud. Voor snelle en eenvoudige integratie tussen cloud based systemen (en eventueel on-premise systemen) is ICS zeer geschikt. PCS is tevens zeer geschikt voor cloud based BPM. De "maar" bij deze twee producten zit in de geboden functionaliteit ten opzichte van de on-premise varianten. Dat is natuurlijk helemaal niet gek. ICS en PCS zullen voor een groot scala aan integratie-uitdagingen de oplossing bieden. Er zullen echter altijd requirements zijn waaraan ICS en PCS niet kunnen voldoen, en dat gat kan worden opgevuld met een PaaS oplossing als SOACS of een on-premise platform.

Het grote voordeel van de cloud-oplossingen is dat Oracle het volledige beheer in handen heeft. Provisioning gaat razend snel, de hardware is altijd paraat, je hoeft geen eigen datacenter te hebben, of hardware te hosten en daar op beheer uit te oefenen. Zo kan SOACS helpen om op een eenvoudige manier heel snel SOA Suite omgevingen te provisionen.

Los van de functionaliteit die geboden wordt in ICS en PCS versus hun on-premise varianten, zijn er heel veel toepassingsgebieden waar cloud-systemen geen oplossing kan bieden. Zo zijn er bijvoorbeeld grote datacentra van bedrijven, bestaande uit vele (legacy) systemen die geïntegreerd dienen te worden. Vaak is het helemaal niet wenselijk of mogelijk deze te ontsluiten via een cloud-systeem. De belangrijkste reden is vaak security en privacy. Zolang deze centra en redenen bestaan is er behoefte aan on-premise integratieoplossingen.

Het is interessant om te zien dat Oracle veel prioriteit geeft aan de cloud-oplossingen als PCS en ICS. Het is zelfs zo dat nieuwe BPM-features eerst in PCS worden gelanceerd voordat ze de weg vinden naar de on-premise Oracle BPM. Ongetwijfeld zal dit ook gebeuren voor de SOACS. Er zal altijd wel behoefte zijn aan on-premise integratieproducten, dus beide werelden zullen naast elkaar blijven bestaan. De eenvoud in het gebruik van ICS en PCS en de voordelen van de provisioning van SOACS geven gebruikers een snelle start in de integratiewereld van Oracle. De eenvoud van ICS en PCS en de frisse en eenvoudige gebruikerservaring geven aan dat Oracle de goede richting is ingeslagen en met haar hoofd in de wolken is.

 

Referentie:

Lees ook de blogpost van Herman Brunnekreef "Business Rules in Oracle Process Cloud Service".

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.