Upload
capgemini
View
2.616
Download
2
Embed Size (px)
Citation preview
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware Nathan Dolan October 2015
Oracle OpenWorld | Oct 25-29 | San Francisco
2 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Who are we
Nathan Dolan [email protected] Architect Capgemini UK
Insert contact picture
Ramit Jain [email protected] Delivery Director Capgemini UK
Insert contact picture
Andrew Richards [email protected] Architect Capgemini UK
Insert contact picture
3 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Capgemini & Oracle
Over 14,000+ Oracle trained
resources
Diamond Level Partner of
Oracle
Over 3,500 successful industry
implementations of Oracle
Anecdote
4 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
What we’ll cover
Our business problem and system requirement
Oracle Fusion Middleware components we used
How we broke down our work
Architectural approach, decisions and rationale
Development, testing and continuous integration
Lessons learnt
Q & A 1
2
3 4
5
6
7
5 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
The discovery phase
Our business problem and system requirement
Oracle Fusion Middleware components we used
How we broke down our work
Architectural approach, decisions and rationale
Development, testing and continuous integration
Lessons learnt
Q & A 1
2
3 4
5
6
7
6 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
The business problem
▪ New European Union tax rules: for some services businesses must pay tax based on where the service is used, rather than where their business is registered
▪ Need for tax authorities across Europe to send messages to each-other whenever: • A qualifying business registers or changes their registration information • A qualifying business issues its quarterly tax return • A payment or reimbursement is made • Queries of various types are made between officials
▪ We built the UK system using Oracle Fusion Middleware ▪ Additional processes, data, UI and rules for UK system ▪ Integration with government systems
7 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
The system requirement
Pan-EU Functional and Technical Specifications Pan-EU Messaging Schemas
Pan-EU Business Processes as
BPMN2
UK-Specific Business Processes as BPMN2
UK User Stories & Specifications UK Service Definitions
UK-Specific Data Model Pan-EU Data Model
Systems in UK Tax & Customs Enterprise Estate
UK-Specific Service Definitions
Mainframe data feed specifications
8 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Non-functional drivers
Supportable business processes
Bulk submissions
Role-based workflow
Extensibility of platform
Performance
Maintainability of platform
Workspace + bespoke UI consistency,
accessibility
Schematic flexibility
9 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Technology selection (note YAGNI principle)
! Oracle Weblogic Server ! Oracle Application Server ! JRockit ! Tuxedo
Enterprise application server
! BPEL Process Manager ! Business activity monitoring (BAM) ! Business rules ! Business Process Analysis Suite (BPA) ! Business Process Management (BPM) ! Oracle Data Integrator (ODI): an
application using the database for set-based data integration
! Enterprise connectivity (adapters) ! Oracle Service Bus ! Oracle Service Registry ! Oracle Web Services Manager (OWSM)
Integration- and process-management
! Oracle Web Cache ! Oracle Coherence
Performance
! Oracle Application Development Framework ! JDeveloper ! Oracle SOA Suite ! TopLink ! Oracle Forms services ! Oracle Developer Suite
Application development tools
! Oracle Business Intelligence ! Oracle Business Activity Monitoring (BAM) ! Oracle Crystal Ball ! Oracle Discoverer ! Data hubs ! Oracle BI Publisher ! Oracle Reports services
Business intelligence
! Oracle Beehive collaboration software ! Oracle Portal ! Oracle WebCenter ! Real-time collaboration ! Unified messaging ! Workspaces
User interaction
! Oracle Enterprise Manager ! Web services manager
Systems management
! Services registry ! application-server security
Grid infrastructure
! Oracle Imaging and Process Management ! Web content management ! Records management ! Enterprise search ! Digital asset management ! Email archiving ! Oracle Universal Content Management
Content management
! Enterprise Single sign-on ! Oracle Entitlements Server ! Oracle Identity Manager ! Oracle Access Manager ! Oracle Adaptive Access Manager ! Oracle Information Rights Management ! Oracle Virtual Directory
Identity management
10 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Oracle Service Bus
Oracle BPEL
Oracle BPM + UI
Java Services (EJB)
Oracle WebLogic
Oracle Database
Connectivity with UK tax estate and with EU messaging hub, transformation, routing, validation call-outs, throttling
Technical message processing and validation
Event process orchestration, user workspace/workflow application
Bespoke business services and data API
Clustering, messaging, identity/auth integration, app container
Operational data store
Our solution stack
11 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
The elaboration phase
Our business problem and system requirement
Oracle Fusion Middleware components we used
How we broke down our work
Architectural approach, decisions and rationale
Development, testing and continuous integration
Lessons learnt
Q & A 1
2
3 4
5
6
7
12 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Elaboration approach
Feature/Process Discovery
Registrations Process Group
Returns Process Group
Payments Process Group
Other Features Group
Processes (BPMN)
XML Schema (XSD)
Data model (ERD)
User epics & stories (JIRA)
Use cases per process
UI wireframe/storyboard
Evolving Solution
Evolve technical knowledge base
Evolve software architecture doc
Architectural Elaboration
13 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Architecture elaboration
Spin out POCs to inform software architecture and delivery systems
ADF vs Spring MVC?
Human task-webapp integration?
Test system
CI/CD system
VM environment
Others SOA composite
Payments SOA composite
Returns SOA composite
WebLogic Server
Development IDE
Build and CM system
SOA suite, BPM suite Application services Service Bus
SOA/BPM database Application database MDS database
Registrations SOA composite
Framework SOA composite OSB project UI
Oracle Custom
Hibernate vs Toplink?
EJB vs ADF business components?
Arrangement of domains, clusters, servers?
Binary XML type vs. XML-entity mapping?
Support XP principles?
14 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Some key architecture decisions
Test system
CI/CD system
VM environment
Others SOA composite
Payments SOA composite
Returns SOA composite
WebLogic Server
Development IDE
Build and CM system
SOA suite, BPM suite Application services Service Bus
SOA/BPM database Application database MDS database
Registrations SOA composite
Framework SOA composite OSB project UI
! Establish composite wiring pattern ! Segregate for parallel development
! Leverage Mediator, JCA , EJB for internal comms
! Co-locate services & BPM in app domain for performance;
! Separate OSB
! Everything in JDeveloper; svn.
! Post-discovery baseline Virtual Box image.
! BPEL = tech process ! BPM = bus. process
! Mandate OSB for external comms
! Use ADF ! Use BPM façade human task pattern
! Hibernate via JPA2 for ORM ! Annotation-driven OO/XML marshal ! Use EJB Façade; generate via JDev ! Use EJB Interceptors for AOP
! Evolve SQL-first; incremental scripts ! Restrictions on Binary XML Type
! Leave alone but must housekeep ! Automate RCU
! CI envs in VMs ! Functional tests: SOAP UI + Selenium does all
the basics
! Jenkins orchestrating Maven, WLST, subversion, tests
15 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Event flow
JMS
Message from EU
Message from UK
Time trigger
JMS
Service Bus
SOA Infra
BPEL Bulk Handler
BPM Process
Application Database SOA/BPM/MDS Database
UI (ADF)
Message from app service EJB
Intra-service call
Message from app service EJB
Application Services API (EJB)
External service
Transactional service calls
16 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
The construction phase
Our business problem and system requirement
Oracle Fusion Middleware components we used
How we broke down our work
Architectural approach, decisions and rationale
Development, testing and continuous integration
Lessons learnt
Q & A 1
2
3 4
5
6
7
17 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Packaging & source code management
BPM Processes
BPEL Processes
Rules
Workspace config
MDS config
Service Composites Artifact Service Bus code
JEE code
ADF Web App code
Database code PL/SQL
Service Bus Project Artifact
EAR
SQL zip
Platform Config
CI and environment config
Oracle platform build code WSLT/Jython
Packaged Versioned Product
Oracle Maven plugins Build system
config
Payments Service
Composite (.sar)
Returns Service
Composite (.sar)
Registrations Service
Composite (.sar)
Framework Service
Composite (.sar)
18 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Platform build
Oracle platform build code WSLT/Jython
Environment- specific configuration
properties
Own tool config (SoapUI, CI agents
etc.)
Configured WebLogic Domains
Oracle BPM & Workspace Oracle SOA & Service Bus
Oracle ADF Web App
Java Enterprise (JEE)
Infrastructure
Oracle WebLogic Platform Databases
BPEL Processes
Rules
Workspace config
MDS config
ADF Web App code
BPM Processes
Service Bus code
JEE code
Database code PL/SQL
Oracle-provided pre-packaged OFM
stack VM
Configured WebLogic Domains
Oracle BPM & Workspace Oracle SOA & Service Bus
Oracle ADF Web App
Java Enterprise (JEE)
Infrastructure
Oracle WebLogic Platform Databases
Formal Test/Production Oracle Solaris Machines
Developer/CI Machines
Oracle Enterprise Linux VM
Oracle Virtual Machine, or Cloud IaaS were good options not
available to us this time
Packaged Versioned Product
19 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Testing
Quality Governance
Configured WebLogic Domains
Oracle BPM & Workspace
Oracle SOA & Service Bus
Oracle ADF Web App
Java Enterprise (JEE) Java unit tests
SOAP UI SOA/messaging tests
Selenium UI tests
Java integration tests
JUnit
SOAP UI plug- ins
Groovy scripts
Infrastructure
Oracle WebLogic Platform
Databases
Acceptance Tests Developer Tests
20 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Continuous Integration and Continuous Delivery
Failed job log; email; report
Versioned Candidate Release Package
Versioned Release Package
Formal Test/Live
Unstable CI Environment Stable CI
Environment
Anything can go wrong…
Code & Package Management
Integration Pipeline Test Pipeline
Release Pipeline
21 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Lessons learnt
Our business problem and system requirement
Oracle Fusion Middleware components we used
How we broke down our work
Architectural approach, decisions and rationale
Development, testing and continuous integration
Lessons learnt
Q & A 1
2
3 4
5
6
7
22 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Some lessons learnt
! Model logical BPMN2 business processes, data structure and messaging schemas ! Ensuring everyone understands these means everyone is speaking the same language ! After processes and services are developed analysts and business users can review and
verify them because they’re all still BPMN2 diagrams
Shared vision
23 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Some lessons learnt
! Let the Oracle middleware do the hard generic work; the 80% ! Think and talk Events, Processes, Services, Domain Entities ! Implement standards-based bespoke services and user interfaces for the 20% that
needs the flexibility ! The more standard the architecture, the more manageable and maintainable the
solution. Think carefully before customizing OOTB systems or establishing competing patterns.
Stick to the prescribed architecture
24 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Some lessons learnt
! Use Virtual Box, OVM, Oracle IaaS, or EC2 to virtualize dev and test environments and/or use Puppet to prep the platform
! Leverage Oracle’s integration with open-source tools ! Use Jenkins/Bamboo with Oracle’s WLST library to give you deployment automation ! Make builds simple and repeatable with Maven/Ant ! Understand your source code management approach across all solution components
early ! Use SOAP UI and Selenium to automate tests of your processes and UI and orchestrate
them with Jenkins/Bamboo
DevOps is important
25 Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Q & A
Our business problem and system requirement
Oracle Fusion Middleware components we used
How we broke down our work
Architectural approach, decisions and rationale
Development, testing and continuous integration
Lessons learnt
Q & A 1
2
3 4
5
6
7
The information contained in this presentation is proprietary. Copyright © 2015 Capgemini. All rights reserved.
Rightshore® is a trademark belonging to Capgemini.
www.capgemini.com
About Capgemini
Now with 180,000 people in over 40 countries, Capgemini is one of the world's foremost providers of consulting, technology and outsourcing services. The Group reported 2014 global revenues of EUR 10.573 billion.
Together with its clients, Capgemini creates and delivers business and technology solutions that fit their needs and drive the results they want. A deeply multicultural organizat ion, Capgemini has developed i ts own way of working, the Collaborative Business Experience™, and draws on Rightshore®, its worldwide delivery model.
Learn more about us at www.capgemini.com.