More Related Content Similar to How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware (20) How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware1. How Capgemini Built a
Pan-European Messaging System
with Oracle Fusion Middleware
Nathan Dolan
October 2015
Oracle OpenWorld | Oct 25-29 | San Francisco
2. 2Copyright © 2015 Capgemini. All Rights Reserved
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware | September 2015
Who are we
Nathan Dolan
nathan.dolan@capgemini.com
Architect
Capgemini UK
Insert
contact
picture
Ramit Jain
ramit.jain@capgemini.com
Delivery Director
Capgemini UK
Insert
contact
picture
Andrew Richards
andrew.richards@capgemini.com
Architect
Capgemini UK
Insert
contact
picture
3. 3Copyright © 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. 4Copyright © 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. 5Copyright © 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. 6Copyright © 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. 7Copyright © 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. 8Copyright © 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. 9Copyright © 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. 10Copyright © 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. 11Copyright © 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. 12Copyright © 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. 13Copyright © 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 servicesService Bus
SOA/BPM database Application databaseMDS 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. 14Copyright © 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 servicesService Bus
SOA/BPM database Application databaseMDS 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. 15Copyright © 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 DatabaseSOA/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. 16Copyright © 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. 17Copyright © 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. 18Copyright © 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. 19Copyright © 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 TestsDeveloper Tests
20. 20Copyright © 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. 21Copyright © 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. 22Copyright © 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. 23Copyright © 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. 24Copyright © 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. 25Copyright © 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
26. 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
organization, Capgemini has developed its own way of working,
the Collaborative Business Experience™, and draws on Rightshore®, its worldwide
delivery model.
Learn more about us at www.capgemini.com.