Using Oracle B2B in a Dutch Government Project Ronald van Luttikhuizen 20-November-2012 DOAG 2012 1 x
Ronald van Luttikhuizen Managing Partner at Vennster Oracle ACE Director for Fusion Middleware and SOA Author of different articles, co-author Oracle SOA Book 11g book Upcoming book SOA Made Simple Architect, consultant, trainer for Oracle, SOA, EDA, Java More than 10 years of software development and architecture experience Contact: ronald.van.luttikhuizen@vennster.nl Blog: blog.vennster.nl Twitter: rluttikhuizen 2 x
Agenda 1. Introduction 2. Case 3. Solution 4. Oracle B2B 5. Summary 3 x
Introduction Figures Inhabitants: 16,7m Density: 403/km 2 Capital: Amsterdam Government: The Hague Income: $48.222/capita Government 11 state departments & > 200 nation wide agencies 12 provinces 415 municipalities 4 x
Introduction Figures Inhabitants: 1,1m (6 th ) Surface: 3.421 km 2, density: 321/km 2 Capital: Zwolle Workforce (province): approx. 1.000 Tasks Regional tasks around themes: territorial planning, water management, stimulating culture, economy, and tourism, improving environment, (financial) governance of municipalities, etc. Products: permits, subsidies, supervision and enforcement Drivers Mergers, shift in tasks, budget cuts Chain cooperation Working together for economies of scale 5 x
Government and IT Reference Architectures Digi Netwerk Standards StUF DigiKoppeling WUS and ebms Internet College Standaardisatie NORA GEMMA PETRA MARIJ ORA Specific solution Specific solution Specific solution Specific solution Specific solution Shared Solutions 6 x
Agenda 1. Introduction 2. Case 3. Solution 4. Oracle B2B 5. Summary 8 x
Permits how it used to be Clients Governments 9 x
Permits how it is now WABO Clients Omgevingsloket Online (OLO) Governments Province of Overijssel ebms 10 x
ebms 1. Request message 2. Acknowledge 3. Response message 4. Acknowledge http://the-pink-shrink.blogspot.nl/2011/03/80-data-exchange-protocol.html x
DigiKoppeling: WUS and ebms WUS: plain SOAP ebms: SOAP+ (metadata) <eb:from> <eb:partyid eb:type="urn:osb:oin">0123456789</eb:partyid> <eb:role>lvo</eb:role> </eb:from> <eb:to> <eb:partyid eb:type="urn:osb:oin">0123456789</eb:partyid> <eb:role>bevoegdgezag</eb:role> </eb:to> <eb:cpaid>cpaid_minvrom_olo_abcd-1234</eb:cpaid> <eb:conversationid>123456-123456</eb:conversationid> <eb:service eb:type="urn:osb:services">lvo:2:0:0:i</eb:service> <eb:action>omvdi01aanbiedenaanvraag</eb:action> <eb:messageid>20120725-115045-00499-63_13f2</eb:messageid> <eb:timestamp>2012-07-25t11:50:45</eb:timestamp> <eb:timetolive>2012-07-26t11:50:45</eb:timetolive> <eb:duplicateelimination/> <eb:ackrequested SOAP:actor="urn:oasis:names:tc:ebxmlmsg:actor:toPartyMSH" SOAP:mustUnderstand="1" eb:signed="false" eb:version="2.0"/> 13 x
DigiKoppeling: WUS and ebms DigiKoppeling WUS (DK-WUS) DigiKoppeling ebms (DK-ebMS) + ebms DigiKoppeling type: Request/Response (synchronous, unreliable) Note: Reliable messaging via WS-RM added to DK spec DigiKoppeling type: Publication (asynchronous, reliable) Multiple profiles: 2W-be, 2W-be-S, 2W-be-SE Note: be (best effort), S (signed), E (encrypted) WUS: QoS is optional, DK-WUS: QoS through profiles Multiple profiles: osb-be, osb-rm, osb-be-s, osb-rm-s, osb-be-e, osb-rm-e ebms: addresses security, reliability, QoS Formal WUS Based on a set of standards: WSDL, SOAP, XML, XSD, WS-Addressing, SSL/TLS Multiple optional and additional standards (WS-*) Based on a set of standards: SOAP, XML, XSD, XML D- SIG, PKI, SSL/TLS Independent of transport: HTTP, JMS, FTP, etc. Independent of transport: HTTP, JMS, FTP, etc. Wide adoption (tools, #developers) Little adoption (tools, #developers) REST Committees: W3C, OASIS Committees: OASIS and UN/CEFACT _ Point-to-many integration (provider independent of consumer) Point-to-point integration (tight-coupling between provider and consumer through CPA and CPP) 14 x
Agenda 1. Introduction 2. Case 3. Solution 4. Oracle B2B 5. Summary 15 x
Solution DMZ LAN OLO HTTP Server Oracle B2B Oracle Service Bus ebms over HTTPS ebms over HTTP JMS FTPS SOAP FTPS 16 x
Agenda 1. Introduction 2. Case 3. Solution 4. Oracle B2B 5. Summary 17 x
Oracle B2B introduction Overview Exchange of documents between businesses (industry standards, security, reliability) Document types: HL7, EDI, RosettaNet, xcbl, Custom (XML, CSV, flat, etc.), and so on Packaging: MIME, SMIME, gzip, XMLDSig, XMLEncryp, SOAP (as part of ebms) Transport: AQ, JMS, File, (s)ftp(s), HTTP(s), SMTP, IMAP, POP3, MLLP, TCP/IP Messaging & requirements: RNIF, AS1, AS2, ebms & digital signing, time to ack, retry Component of Oracle SOA Suite, separate license for adapters : EDI, Healthcare, RosettaNet and ebxml Integration SOA Suite: services and references in SCA (native/default, AQ and JMS) OSB or 3 rd party: use transports such as JMS or AQ Gateway Management WLS Console, EM, B2B Console, command-line, APIs, Web Service (http://server:port/b2b/services) 18 x
Oracle B2B steps to implement scenario Start Acquire Overheid Identificatie Nummer (OIN) and PKI certificates Configure Infrastructure Install WebLogic Server, SOA Suite, and B2B Configure transport security (SSL/TLS) Configure firewall Configure B2B Create Collaboration Protocol Agreement (CPA) using Government Service Registry and CPA tool Configure B2B: import CPA, import B2B configuration, and/or use B2B Console Integrate B2B Connect B2B with OSB (JMS) and OSB with backend system (SOAP) Configure Web Server and set endpoint in B2B Configure OLO using Admin Console Test and management Validate compliancy of Oracle B2B with ebms compliancy tool Integration testing Management by IT-Operations 19 x
Oracle B2B collaboration protocol agreement (CPA) DigiKoppeling Service Registry (DSR): provider specification (OLO) KeyInfo: Certificates CPA Creation Program 20 x
Oracle B2B configure B2B Manual configuration using B2B Console Export/import B2B Configuration Create and import CPA 21 x
Oracle B2B configure B2B Listening channels: where do inbound messages come from? Oracle Service Bus Partners Oracle SOA Suite 3 rd party Packaged Apps Oracle Database. gateway Oracle B2B http://[server]:[port]/b2b/httpreceiver 22 x
Oracle B2B configure B2B Trading partners: what organizations are involved? 23 x
Oracle B2B configure B2B Delivery channels: how are outbound messages delivered? B2B OLO (ebms) B2B OSB (JMS) 24 x
Oracle B2B configure B2B Document management: what messages are sent? 25 x
Oracle B2B configure B2B Document management: what messages are defined in B2B? 26 x
Oracle B2B configure B2B Agreements: putting it together! 27 x
Oracle B2B integration of B2B and backend using OSB OLO ebms Oracle B2B JMS Oracle Service Bus SOAP Squit XO 28 x
Oracle B2B integration of B2B and backend using OSB OLO ebms Oracle B2B JMS Oracle Service Bus SOAP Squit XO 29 x
Oracle B2B integration of B2B and backend using OSB Squit XO SOAP Oracle Service Bus JMS Oracle B2B ebms OLO 30 x
Oracle B2B integration of B2B and backend using OSB Squit XO SOAP Oracle Service Bus JMS Oracle B2B ebms OLO More information: http://tomhofte.blogspot.nl/search?q=b2b 31 x
Oracle B2B integration of B2B and HTTP Server OLO ebms (2-way SSL) HTTP Server ebms Oracle B2B SSL and Certificates WebLogic Server plugin Virtual hosts httpd-vhosts.conf ProxyPass /olo https://[olo].nl/ebms/inbound ProxyPassReverse /olo https://[olo].nl/osb/ebms/inbound httpd-ssl.conf SSLEngine on SSLProtocol -ALL +SSLv3 +TLSv1 SSLCipherSuite HIGH ServerName [server].[domain].nl SSLVerifyClient require httpd.conf <IfModule mod_weblogic.c> WebLogicHost [ip-number] WebLogicPort [port] </IfModule> <Location /b2b/httpreceiver> SetHandler weblogic-handler </Location> 32 x
Oracle B2B management & reporting Proactive monitoring of B2B log files and B2B Console by IT operations Use B2B Console for ad hoc questions from users or OLO, and to resubmit Other consoles than B2B Console needed 33 x
Agenda 1. Introduction 2. Case 3. Solution 4. Oracle B2B 5. Summary 34 x
Summary Dutch government Architecture, standards, and shared solutions DigiKoppeling WUS and ebms: Moving towards WUS with WS-RM ebms ebms tighly-couples and creates point-to-point integrations (overhead in management) Focus on quality-of-service aspects: reliability, security, and so on Compared to plain Web Services Optionality for QoS Complexity Adoption, knowledge, experience, tooling Status of ebms standard B2B A gateway to integrate organizations using industry standards that are supported out-of-the-box Different ways to integrate B2B with your infrastructure: SOA Suite (native/aq/jms) and OSB/3 rd party (transports) 35 x
Thank you! Ronald van Luttikhuizen ronald.van.luttikhuizen@vennster.nl 36 x