26
How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware Nathan Dolan October 2015 Oracle OpenWorld | Oct 25-29 | San Francisco

How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

Embed Size (px)

Citation preview

Page 1: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

How Capgemini Built a Pan-European Messaging System with Oracle Fusion Middleware Nathan Dolan October 2015

Oracle OpenWorld | Oct 25-29 | San Francisco

Page 2: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 3: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 4: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 5: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 6: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 7: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 8: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 9: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 10: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 11: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 12: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 13: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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?

Page 14: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 15: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 16: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 17: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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)

Page 18: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 19: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 20: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 21: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 22: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 23: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 24: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 25: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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

Page 26: How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion Middleware

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.