3. Capgemini is One of the World's Largest Consulting,
Technology, and Outsourcing Firms & a global “full
service” business transformation provider
Group Workforce: 200,000+ Globally
Asia Pacific
Latin America
Canada
United States
Mexico
Brazil
Argentina
Europe
Morocco
Australia
People’s Republic of China
India
Chile
Guatemala
Russia
Singapore
Hong Kong
North
America
UK & Ireland
Nordics
Benelux
“It is the quality of our people, and their
capacity to deliver fitting solutions, with you
and for you, that drive real business results.”
Across 40+ countries, 100 nationalities
5Businesses
Revenue
12,8
Billion EUR (2017)
Central Europe
Morocco
Net Profit
€1,18B
Targeting Value
Mitigating Risk
Optimising
Capabilities
Aligning the
Organisation
Elements to
successful
collaboration
Application Services
Infrastructure
Services
Business Process
Outsourcing
Consulting
(Capgemini Consulting)
Local Professional
4
4. Cloud Premier Partner
Oracle Diamond Partner
Oracle Cloud Managed Service
Provider (*New!) partner – only a
handful of SI’s
Only Global SI to be accredited as
Oracle Authorized Education Center
Part of Beta programmes for:
Cotainer Native & Microservices
Inteligent Chatbot
API platform
Integration cloud
Process cloud
Oracle Self-Service Automation
Oracle IoT Cloud
Oracle Mobile Cloud
Continuous investments in cloud
accelerators
5 Oracle Aces: 2 Directors, 3 Aces
Real experts and thought leaders including
several books:
2013: Oracle SOA Governance
Implementation
2015: Oracle API Management
Implementation
2016: Oracle Case Management
Solutions
2017: Implementing Cloud service
Oracle API Platform CS
Implementation
Enterprise API Management
Several publications in OTN, Oracle
Magazine, Oracle Scene & Other
2018 –Global Excellence Award for Extend and Connect
2018 –Silver Awards for Managed Services, Middleware &
infrastructure Services - UKOUG Partner of the Year
2018 – PaaS & API Community Awards
2017 – Gold & Silver UKOUG Partner of the Year Awards
2017 – API 2017 – Global Excellence Award for Extend and
Connect
& PaaS Community Award
2017 – Chatbot PaaS Community Award
2016 – Oracle Specialized Partner of the Year: Industry
2016 – Oracle University Partner of the Year
2016 – BPM and Cloud community awards
2015 – Oracle Customer Support Services Partner of the Year
2011 – Global Partner of the Year Award for Oracle
Applications
2012 – Fusion Middleware partner of the year
2010 – Partner of the year for Oracle Fusion Middleware
2010 – 2010 EMEA Industry Partner of the Year
2010 – Oracle Customer Services Partner of The Year
2009 – Oracle Customer Services Partner of The Year
2008 – Oracle Customer Services Partner of The Year
Alliance and Strategic Partnership Awards & Recognitions Thought Leadership
Article – June 17
Article – June 17
Podcast – August 17
Capgemini & Oracle
5. • Technical Enterprise Architect specializing in
Integration, APIs and PaaS.
• Started out as a developer working on Radar systems
• Moved into integration space – using Open Source
Tech e.g. JBoss App Server & Fuse, Apache Camel etc.
• Worked with Oracle middleware & PaaS >9yrs
• Worked in end user companies, ISVs & consultancy.
• Oracle Ace
About: Phil Wilkins
Peer technical
review on a variety
of books published
by
Thomas Erl
(Prentice Hall),
Packt etc
Articles published
in a range of
Journals
Co-Author 1st
Oracle iPaaS Book
Implementing
Oracle Integration
Cloud - Jan, 2017
Co-Author of
Implementing
Oracle API
Platform - Mar, 2018
TOGAF 9 Certified
2013
• Co-authored books on API Platform CS & Oracle Integration Cloud
• contributing to development of more than a dozen other titles ranging from Apache Camel to
Cloud Computing Design
• Articles published in a range of journals on Cloud Strategy, PaaS, Integration & APIs.
8. Custom Policies with
Groovy
1.How it appears
2.Foundation principles for both
3.What happens when it deploys
4.Debugging live
5.Setting up the IDE to make it easier to test
9. API Policy Cycle
Policy
Development
• Groovy Policy doesn’t provide any syntax awareness – so worth using a Groovy aware Editor
• Content of an API call can be accessed in the same way for both Java & Groovy
• Positioning of the Groovy policy in the sequence of policies is important. All policies get executed
• Recommend in the Policy description you describe the purpose of the script
Deploy API
• Operates in the same basic manner as any other policy, except …
• Groovy is Transcoded to Java and compiled to Byte code – if this fails the deployment will fail
API Policies
Execute
• Will behave like any other policy because …
• Cross compiled code is executed as method at runtime – with the constraints that brings
• Remember every time you make a call out / OS operation to get values it happens on every API call
– nothing is retained between executions!
Retire
• Just remove the policy from the API or delete the API
12. Interaction with
the inbound
header
Context is the
predefined &
reserved entity to
accessing API
Platform data
structure
Set the backend
bound vaue
This Groovy policy
implements Zipkin
based Open
Tracing
Completing the feedback form will get you access to more cloud credits
Before clicking through the steps explain the components
So I’ve shown the theory let’s take a look at an example of a Groovy Request
Talk about the fact that the errors will come during deployment as that is when cross compilation is done
UI reporting a deployment error is the 1st tell tale sign your deployment is working
Note how the process doesn’t have and end of life – one of the limitations is
Cd to unpacked PolicyTemplate folder:
cd /D d:
cd d:\API-SDK-Dev
Run the python command:
Claims made it works with Python 3, but I’ve not had luck so careful to use Python 2.7.x
Parameters are folder for the new template, name of the policy, the location of the SDK jars – retrieved from a gateway
Python PolicyTemplate.py –t ../newDemo –p newDemo –s ../sdk
Import the .project file from the newDemo folder into IntelliJ
Entries such as Policy.name will get picked up and used in multiple locations
Note how the GeoIP-edit.html is only a subsection of the template as it gets wrapped up in the parent elements by the code
This is a key differentiation to the Groovy framework as it is possible to load up and reuse data from memory once
Make sure you autoRevision is true otherwise updates aren’t deployed to gateways
curl -X POST -u {username}:{password} http://{hostname}:{port number}/apiplatform/administration/v1/policies -H "Content-Type:application/octet-stream" --data-binary @{prefix to the policy jar}.{policyname}.jar