SlideShare a Scribd company logo
1 of 50
Download to read offline
Jboss Fuse in
Vodafone’s Global
Integration Gateway
5th December 2013 / Bruno Meseguer
Jboss Architect Meetup
Jboss Architect Meetup | 05 December 20132
Contents of the presentation
• Who we are within Vodafone
• The performance challenge
• Selection process for the new technology
• Creation of a new framework
• Some final thoughts
Welcome !
Jboss Architect Meetup | 05 December 2013
Global Integration Gateway (GIG)
Vodafone Group Enablers
Jboss Architect Meetup | 05 December 20134
Vodafone Group Enablers
• Enablers team, responsible to enable capabilities in Vodafone Group
– Charging
– Messaging
– Customer Registry
 GIG
– … and more
• GIG (Global Integration Gateway) (100+ systems)
– Intelligent Gateway which allows flexible Partners/Vodafone integration.
– Local/Global Partners and Vodafone internal systems can access services provided by OpCo’s.
– Opco’s can access services provided by Partners and Vodafone internal systems.
Who we are and what we do
Jboss Architect Meetup | 05 December 20135
Vodafone’s Global Integration Gateway (GIG)
HTTP HTTP
Technical capabilities view
Authentication
Authorisation
Protocol
Bridging
Orchestration
Throttling
Routing
Header
Enrichment
Error Handling
Data
Transformation
Logging &
Reporting
Asynchronous
Very fast > 800 TPS
Jboss Architect Meetup | 05 December 20136
Vodafone’s Global Integration Gateway (GIG)
HTTP HTTP
Bridge
In
(north)
IBM DP
Bridge
Out
(south)
IBM DP
Orchestration
(Tibco BE)
Atomic
(Tibco BE)
Atomic
(Tibco BE)
Orchestration
Orchestration
Orchestration
Atomic
Atomic
Atomic
System layers view
Jboss Architect Meetup | 05 December 20137
Vodafone Group Enablers
• In GIG’s ecosystem there are currently 100+ systems
• GIG’s current traffic is 1000+ TPS
• GIG’s original design aimed to be capable of handling 10,000 TPS
– This principle has been maintained on every evolutionary step of the solution
– GIG scales horizontally: 10,000 doesn’t represent a barrier
• The latency that GIG introduces is <0.1 seconds on slowest use cases
• The average payload size is around 2KB
– As GIG typically exposes API’s, payloads are not significantly big.
Some GIG numbers
Jboss Architect Meetup | 05 December 20138
Vodafone’s Global Integration Gateway (GIG)
• 2008:
– Poor HTTP performance from TIBCO component
– Had to find a fast HTTP gateway
– IBM's DataPower was the answer > 800 TPS
• 2012:
– Vision to port systems to a cloud environment
– IBM's hardware not portable
– the quest to find a replacement for IBM's DataPower starts
A little bit of history
Jboss Architect Meetup | 05 December 20139
Vodafone’s Global Integration Gateway (GIG)
• To find a software based solution, current DataPowers not portable to the cloud.
– With very high levels of performance, ideally > 800 TPS
– Fully asynchronous socket handling
– EMS compatible
• Minimise impact on clients.
– Able to maintain the same port definitions as in DataPower
• Minimise migration efforts
– Quick adoption of the technology
– 70+ flows to be migrated
The goals to replace IBM’s DataPowers
Jboss Architect Meetup | 05 December 2013
The performance
challenge
Jboss Architect Meetup | 05 December 201311
The performance challenge
• A normal HTTP server retrieves resources or generates some content and quickly responds to the
client
• What happens when a system acts as a pass-through and needs to wait for backend responses?
• delays from the backend could be disastrous to the system
Jboss Architect Meetup | 05 December 201312
The performance challenge
• The worker thread-pool gets exhausted, where are the workers?
Quickly running out of workers!
Jboss Architect Meetup | 05 December 201313
The performance challenge
• Worker threads need to wait for the backend response to resume.
Threads busy… doing nothing!
Jboss Architect Meetup | 05 December 201314
The performance challenge
• A waiting queue of requests rapidly grows
Requests keep coming!
Jboss Architect Meetup | 05 December 201315
The performance challenge
• Clients get increasingly angry!
Unhappiness!
Jboss Architect Meetup | 05 December 201316
The performance challenge
• The system is exposed:
– Delays from the backend could be disastrous to the system
– The workers thread pool gets exhausted
– Worker threads need to wait for the backend response to resume
– A waiting queue of requests rapidly grows
• Systems will need to be proved to be robust:
– Under high rates of client requests
– Possible delays from back-ends
• Systems need to be Asynchronous
Jboss Architect Meetup | 05 December 2013
Selection Process
Jboss Architect Meetup | 05 December 201318
Selection Process
• Direct competitor to DataPower
• Highly recommended by Group Architecture
– Pre-selected by Group Architecture to replace DataPower
• Can be used as a Hardware or Software based solution
• A promise of raw performance, up to 30000 TPS
Layer7… first candidate
Jboss Architect Meetup | 05 December 201319
Selection Process
• How can we stress a system capable of 30000 TPS without the need of a farm of HTTP clients?
• There is an old friend to us called Netty used back in 2008 (a beta library back then) to test
DataPower on the lab.
• Using Netty we created a powerful client and stub proved to handle 5000+ TPS per instance
• Netty is an NIO client/server framework (event driven) with HTTP capability:
– Non-blocking socket management
– threads are freed up when posting requests, they don't wait for responses
– difficult to exhaust the thread pool
– responses are taken care of by a second thread pool
– the socket and HTTP context are kept in memory awaiting for a response thread to pick them up and close
Lab preparation
Jboss Architect Meetup | 05 December 201320
Selection Process
Lab preparation
• To stress the bridge we bombard it with a constant TPS rate and delay the response by 5 seconds.
Jboss Architect Meetup | 05 December 201321
Selection Process
• Within the space of two weeks we realised Layer7 was not the right choice
– By the third day of testing we aborted the performance study for Layer7
• Layer7 proved not to fulfil our performance requirements
– delays at the backend proved to be deadly to Layer7
– it was not asynchronous
Layer7 results
Jboss Architect Meetup | 05 December 201322
Selection Process
• As Netty proved to be very efficient we approached Red Hat and asked to provide us with Netty
support
• Initially Red Hat recommends Fuse + Jetty (Netty equivalent)
– 1st round of performance test show the solution works (400+ TPS), and it is indeed asynchronous
• From our Netty benchmarks we knew there was more potentially to exploit
• Red Hat agrees to integrate Netty HTTP into their product (it already included the Netty TCP
component)
– Red Hat delivers a Netty HTTP concept for us to try out
– 2nd round of performance show an improvement by a factor of 2 at least
Red Hat comes into play
Jboss Architect Meetup | 05 December 201323
Selection Process
• We triggered parallel assessments for:
– JBoss7
– TIBCO BusinessEvents 5.0
– WSO2
More candidates…
Jboss Architect Meetup | 05 December 201324
Selection Process
Performance results
Jboss Architect Meetup | 05 December 201325
Selection Process
Performance results
Jboss Architect Meetup | 05 December 201326
Selection Process
• Although only one product could get selected, all of them had an opportunity to identify
weaknesses in their product
• They all immediately put engineers at work to focus around those areas to be improved
• They all managed to boost up their engines:
– some more than others (x2, x3, x4)
– some adopted the asynchronous mechanisms (x100)
Everyone wins
Jboss Architect Meetup | 05 December 201327
Selection Process
• Fastest NIO product available (Netty enabled)
• Integration product (Camel)
• OSGI container
• Fully covering our migration requirements
• Java based solution
• Red Hat’s engineers: main open source committers
• Red Hat quality assurance
Red Hat’s JBOSS FUSE gets selected
Jboss Architect Meetup | 05 December 201328
Selection Process
• It was very critical to make to right choice
• We invested the right amount of time on each one of the steps
• We know we got it RIGHT!
No rushing !
Jboss Architect Meetup | 05 December 2013
Vodafone’s Framework
Jboss Architect Meetup | 05 December 201330
Vodafone’s Framework
• Jboss Fuse offering an opportunity to improve DEV, Deployment & Support processes
– Traditionally our developments are based on frameworks
– Upgrades on frameworks require:
 from DEV a new build (per component)
 and from D&S another testing and deployment process
 … per component !
Jboss Fuse’s potential
Jboss Architect Meetup | 05 December 201331
Vodafone’s Framework
Traditional build and deployment processes
Customisation
Vodafone’s
Framework
Build
Customisation
Vodafone’s
Framework
Deployable Unit
Deployable Unit
Source Code
Vodafone’s
Framework
Customisation
Customisation
Customisation
JVM
JVM
Jboss Architect Meetup | 05 December 201332
Vodafone’s Framework
• JBoss Fuse container is OSGI based
– It encourages to think differently
– Perhaps Vodafone can exploit the benefits
 Could we change our processes to reduce efforts?
 Could these benefits help the various involved teams
 Development
 Deployment
 Support
OSGI and bundles
Jboss Architect Meetup | 05 December 201333
Vodafone’s Framework
New processes: OSGI orientated
Build
Vodafone’s
Framework
Deployable Unit
Customisation
Deployable Unit
Source Code
Vodafone’s
Framework
Customisation
Customisation
Customisation
Customisation
Deployable Unit
JVM
Customisation
Customisation
Vodafone’s
Framework
Jboss Architect Meetup | 05 December 201334
Vodafone’s Framework
• The Framework is decoupled from business components and sits on the OSGI container as a
reusable module
• Implemented using Camel route definitions
• It contains 90% of the execution logic of a flow
• The Framework is responsible for
– Standarising flow definitions
– Reduce complexity in customisations
– Include all common functionality
– Ensure stability, robustness and performance
Framework's main bundle
Jboss Architect Meetup | 05 December 201335
Vodafone’s Framework
Framework's main bundle
common common common
Direct-VM JMS
common
Framework 1.0.0
1. Accept internal
invocations.
2. Throtteling.
3. Header
Enrichment.
4. System Logging.
5. Collect Reporting
Information.
6. Bridge to JMS.
Jboss Architect Meetup | 05 December 201336
Vodafone’s Framework
• Business components (called Connectors) are configured to communicate with the framework
• Implemented using Camel route definitions
• Connectors are responsible for
– Listening to incoming requests
– Concentrate on the business logic
– Delegate execution control to the Framework
Connector’s bundle
Jboss Architect Meetup | 05 December 201337
Vodafone’s Framework
Connector’s bundle
HTTP
custom
Direct-VM
out
Flow A
1. Open an HTTP
port.
2. Custom manipulation, typically
extraction of the Service ID, MSISDN,
and country code.
3. Invoke the Framework
route definition.
Jboss Architect Meetup | 05 December 201338
Vodafone’s Framework
• Connectors are configured to communicate with the framework
• N connectors talk to the same single Framework module within the same OSGI container
• Upgrades on the framework do not require new deliveries from Development and do not require
redeployments
Framework and connectors interaction
Jboss Architect Meetup | 05 December 201339
Vodafone’s Framework
Framework and connectors interaction
Jboss Architect Meetup | 05 December 201340
Vodafone’s Framework
• Upgrades on the Framework do not cause an impact on Connectors
• When a Framework fix is delivered, Connectors are simple reconfigured
• Multiple Framework versions can coexist if necessary
Framework upgrades
Jboss Architect Meetup | 05 December 201341
Vodafone’s Framework
Framework upgrades
common common common
Direct-VM
in
JMS
common
Framework 1.0.0
custom
HTTP Direct-VM
out
HTTP
custom
Direct-VM
out
common common common
Direct-VM
in
JMS
common
Framework 2.0.0
Flow A
Flow B
Jboss Architect Meetup | 05 December 201342
Vodafone’s Framework
• An early performance round shows a degradation (when
compared to POC results) well within the acceptable
margin
– around 10-15% loss only to the raw potential available
– with 5 seconds delay at the back and 2K payload we obtain 700
TPS
 Note: The Lab environment used is SLOW !
 We think the Lab environment is around half the speed of a
modern environment.
• An official data gathering is pending to be collected
Framework's performance
0
100
200
300
400
500
600
700
800
PoC Framework
TPS
Jboss Architect Meetup | 05 December 2013
Final overview
Jboss Architect Meetup | 05 December 201344
Current status of the project
• Vodafone’s Framework
– Implemented internally at
– Nearly 100% of the functionality completed
• Migration of DataPower flows
– The migration is outsourced to our trusted vendor Bulgaria
– Sprint 6 out of 8 is on its way
– 70+ flows in total
• Deployment
– First migrated flows started to be deployed in the pre-production environment
Jboss Architect Meetup | 05 December 201345
How JBoss Fuse compares to DataPower?
• Of course, JBoss Fuse is software based instead of Hardware based
– this means it is “cloudable”
– this means we are free to choose the hardware to run on
– it means the hardware is much cheaper (this is specially important when scaling)
– it means everyone can run it on its laptop
• Performance results suggest a substantial gain in overall TPS rate (1000+ TPS per instance)
• We can exploit the potential of 64 bits environments
– DataPower runs on 32 bits unless money is invested to acquire the new 64 DataPower XI52s
• The community of open source based solutions is much bigger
Jboss Architect Meetup | 05 December 201346
Are there any other advantages?
• it is Java based
– the skills required are much more common
• It is developer friendly
– DataPower development is painful
• One single Framework for all (instead of several in DataPower)
• RED HAT Customer support represents a quality leap coming from IBM's
– fast responses to customer cases
– skilled agents at the other end of the line
– proactive and collaborative reaction
– open to customer's point of view
– a user friendly Customer support Portal !!
Absolutely !!
Jboss Architect Meetup | 05 December 201347
What about the disadvantages?
• It's new
– we don't have OSGI experience
– we don't know yet the pitfalls
• New Component
– Red Hat has included Netty HTTP to satisfy our requirements
– we may find some integration defects
• New Framework
– will need some time to mature
– surely problems will be found
– migrated components may differ in behaviour from DataPower
Jboss Architect Meetup | 05 December 201348
The good and the bad
• The good
– Plenty has been said on previous slides
– The raw performance of the Camel framework and the Netty HTTP component
– The incredible number of available alternatives on how to do a particular task
– Very active product, with constant addition of features
– Customer support is first class
• The bad
– Not intuitive with the mix of available frameworks
– The available IDE to graphically define flows is not mature enough
– Having many options to do one task is seen as a positive, but in some cases is a negative
– Steep learning curve for less experienced developers
Jboss Architect Meetup | 05 December 201349
Questions and answers
Thank you
Jboss Architect Meetup | 5th December 2013

More Related Content

What's hot

How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...Capgemini
 
Cloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard UniversityCloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard UniversityBarton George
 
RHTE2015_CloudForms_Containers
RHTE2015_CloudForms_ContainersRHTE2015_CloudForms_Containers
RHTE2015_CloudForms_ContainersJerome Marc
 
Integration in the Cloud
Integration in the CloudIntegration in the Cloud
Integration in the CloudRob Davies
 
Jelastic DevOps Platform Product Overview for ISVs
Jelastic DevOps Platform Product Overview for ISVsJelastic DevOps Platform Product Overview for ISVs
Jelastic DevOps Platform Product Overview for ISVsJelastic Multi-Cloud PaaS
 
Jelastic DevOps Platform Product Overview for Service Providers
Jelastic DevOps Platform Product Overview for Service ProvidersJelastic DevOps Platform Product Overview for Service Providers
Jelastic DevOps Platform Product Overview for Service ProvidersJelastic Multi-Cloud PaaS
 
Regarding Clouds, Mainframes, and Desktops … and Linux
Regarding Clouds, Mainframes, and Desktops … and LinuxRegarding Clouds, Mainframes, and Desktops … and Linux
Regarding Clouds, Mainframes, and Desktops … and LinuxRobert Sutor
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Vinícius Carvalho
 
Automating the Enterprise with CloudForms & Ansible
Automating the Enterprise with CloudForms & AnsibleAutomating the Enterprise with CloudForms & Ansible
Automating the Enterprise with CloudForms & AnsibleJerome Marc
 
Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container StrategyRed Hat Events
 
Bootcamp 2017 - SQL Server on Linux
Bootcamp 2017 - SQL Server on LinuxBootcamp 2017 - SQL Server on Linux
Bootcamp 2017 - SQL Server on LinuxMaximiliano Accotto
 
High Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling TechniquesHigh Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling TechniquesZendCon
 
Build your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open SourceBuild your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open SourceApache Geode
 
Devops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational RolesDevops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational Rolescornelia davis
 
Machine learning services with SQL Server 2017
Machine learning services with SQL Server 2017Machine learning services with SQL Server 2017
Machine learning services with SQL Server 2017Mark Tabladillo
 
Pivotal cloud cache for .net microservices
Pivotal cloud cache for .net microservicesPivotal cloud cache for .net microservices
Pivotal cloud cache for .net microservicesJagdish Mirani
 
Not all open source is the same
Not all open source is the sameNot all open source is the same
Not all open source is the sameEDB
 

What's hot (20)

How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
 
Cloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard UniversityCloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard University
 
Cache-Aside Cloud Design Pattern
Cache-Aside Cloud Design PatternCache-Aside Cloud Design Pattern
Cache-Aside Cloud Design Pattern
 
RHTE2015_CloudForms_Containers
RHTE2015_CloudForms_ContainersRHTE2015_CloudForms_Containers
RHTE2015_CloudForms_Containers
 
Integration in the Cloud
Integration in the CloudIntegration in the Cloud
Integration in the Cloud
 
Jelastic DevOps Platform Product Overview for ISVs
Jelastic DevOps Platform Product Overview for ISVsJelastic DevOps Platform Product Overview for ISVs
Jelastic DevOps Platform Product Overview for ISVs
 
Jelastic DevOps Platform Product Overview for Service Providers
Jelastic DevOps Platform Product Overview for Service ProvidersJelastic DevOps Platform Product Overview for Service Providers
Jelastic DevOps Platform Product Overview for Service Providers
 
Regarding Clouds, Mainframes, and Desktops … and Linux
Regarding Clouds, Mainframes, and Desktops … and LinuxRegarding Clouds, Mainframes, and Desktops … and Linux
Regarding Clouds, Mainframes, and Desktops … and Linux
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
 
Automating the Enterprise with CloudForms & Ansible
Automating the Enterprise with CloudForms & AnsibleAutomating the Enterprise with CloudForms & Ansible
Automating the Enterprise with CloudForms & Ansible
 
Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container Strategy
 
Bootcamp 2017 - SQL Server on Linux
Bootcamp 2017 - SQL Server on LinuxBootcamp 2017 - SQL Server on Linux
Bootcamp 2017 - SQL Server on Linux
 
Jelastic DevOps VPC and Hybrid Cloud
Jelastic DevOps VPC and Hybrid CloudJelastic DevOps VPC and Hybrid Cloud
Jelastic DevOps VPC and Hybrid Cloud
 
High Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling TechniquesHigh Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling Techniques
 
Build your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open SourceBuild your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open Source
 
Devops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational RolesDevops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational Roles
 
Jelastic Turnkey Cloud PaaS for Developers
Jelastic Turnkey Cloud PaaS for DevelopersJelastic Turnkey Cloud PaaS for Developers
Jelastic Turnkey Cloud PaaS for Developers
 
Machine learning services with SQL Server 2017
Machine learning services with SQL Server 2017Machine learning services with SQL Server 2017
Machine learning services with SQL Server 2017
 
Pivotal cloud cache for .net microservices
Pivotal cloud cache for .net microservicesPivotal cloud cache for .net microservices
Pivotal cloud cache for .net microservices
 
Not all open source is the same
Not all open source is the sameNot all open source is the same
Not all open source is the same
 

Viewers also liked

JBoss Fuse Workshop 101 part 5
JBoss Fuse Workshop 101 part 5JBoss Fuse Workshop 101 part 5
JBoss Fuse Workshop 101 part 5Christina Lin
 
JBoss Fuse - Fuse workshop Error Handling
JBoss Fuse - Fuse workshop Error HandlingJBoss Fuse - Fuse workshop Error Handling
JBoss Fuse - Fuse workshop Error HandlingChristina Lin
 
Valencia Smart City project powered by Telefonica and Red Hat IoT solutions
Valencia Smart City project powered by Telefonica and Red Hat IoT solutionsValencia Smart City project powered by Telefonica and Red Hat IoT solutions
Valencia Smart City project powered by Telefonica and Red Hat IoT solutionsDavid Bericat
 
Improve business process with microservice integration
Improve business process with microservice integration �Improve business process with microservice integration �
Improve business process with microservice integration Christina Lin
 
JBoss Fuse Workshop 101 part 6
JBoss Fuse Workshop 101 part 6JBoss Fuse Workshop 101 part 6
JBoss Fuse Workshop 101 part 6Christina Lin
 
JBoss Fuse Workshop 101 part 4
JBoss Fuse Workshop 101 part 4JBoss Fuse Workshop 101 part 4
JBoss Fuse Workshop 101 part 4Christina Lin
 
JBoss Fuse Workshop 101 part 3
JBoss Fuse Workshop 101 part 3JBoss Fuse Workshop 101 part 3
JBoss Fuse Workshop 101 part 3Christina Lin
 
Jboss Fuse Workshop 101 part 1
Jboss Fuse Workshop 101 part 1Jboss Fuse Workshop 101 part 1
Jboss Fuse Workshop 101 part 1Christina Lin
 
JBoss Fuse Workshop 101 part 2
JBoss Fuse Workshop 101 part 2JBoss Fuse Workshop 101 part 2
JBoss Fuse Workshop 101 part 2Christina Lin
 
JBoss Fuse Service Works
JBoss Fuse Service WorksJBoss Fuse Service Works
JBoss Fuse Service WorksElvis Rocha
 
Introduction to IOT & Smart City
Introduction to IOT & Smart CityIntroduction to IOT & Smart City
Introduction to IOT & Smart CityDr. Mazlan Abbas
 

Viewers also liked (12)

JBoss Fuse Workshop 101 part 5
JBoss Fuse Workshop 101 part 5JBoss Fuse Workshop 101 part 5
JBoss Fuse Workshop 101 part 5
 
JBoss Fuse - Fuse workshop Error Handling
JBoss Fuse - Fuse workshop Error HandlingJBoss Fuse - Fuse workshop Error Handling
JBoss Fuse - Fuse workshop Error Handling
 
Valencia Smart City project powered by Telefonica and Red Hat IoT solutions
Valencia Smart City project powered by Telefonica and Red Hat IoT solutionsValencia Smart City project powered by Telefonica and Red Hat IoT solutions
Valencia Smart City project powered by Telefonica and Red Hat IoT solutions
 
Improve business process with microservice integration
Improve business process with microservice integration �Improve business process with microservice integration �
Improve business process with microservice integration
 
JBoss Fuse Workshop 101 part 6
JBoss Fuse Workshop 101 part 6JBoss Fuse Workshop 101 part 6
JBoss Fuse Workshop 101 part 6
 
JBoss Fuse Workshop 101 part 4
JBoss Fuse Workshop 101 part 4JBoss Fuse Workshop 101 part 4
JBoss Fuse Workshop 101 part 4
 
JBoss Fuse Workshop 101 part 3
JBoss Fuse Workshop 101 part 3JBoss Fuse Workshop 101 part 3
JBoss Fuse Workshop 101 part 3
 
Jboss Fuse Workshop 101 part 1
Jboss Fuse Workshop 101 part 1Jboss Fuse Workshop 101 part 1
Jboss Fuse Workshop 101 part 1
 
JBoss Fuse Workshop 101 part 2
JBoss Fuse Workshop 101 part 2JBoss Fuse Workshop 101 part 2
JBoss Fuse Workshop 101 part 2
 
JBoss Fuse Service Works
JBoss Fuse Service WorksJBoss Fuse Service Works
JBoss Fuse Service Works
 
Fuse overview
Fuse overviewFuse overview
Fuse overview
 
Introduction to IOT & Smart City
Introduction to IOT & Smart CityIntroduction to IOT & Smart City
Introduction to IOT & Smart City
 

Similar to JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Integration Gateway

Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...C2B2 Consulting
 
Accelerating workloads and bursting data with Google Dataproc & Alluxio
Accelerating workloads and bursting data with Google Dataproc & AlluxioAccelerating workloads and bursting data with Google Dataproc & Alluxio
Accelerating workloads and bursting data with Google Dataproc & AlluxioAlluxio, Inc.
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLEDB
 
SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1SQLPASSTW
 
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...LetsConnect
 
Reducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresReducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresEDB
 
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...chiportal
 
How to Choose a Host for a Big Data Project
How to Choose a Host for a Big Data ProjectHow to Choose a Host for a Big Data Project
How to Choose a Host for a Big Data ProjectPeak Hosting
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesEDB
 
Top 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentTop 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentEDB
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoFrank van der Linden
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®Serdar Basegmez
 
Outsourcing SDWorx Mainframe environment - Lily Craps
Outsourcing SDWorx Mainframe environment - Lily CrapsOutsourcing SDWorx Mainframe environment - Lily Craps
Outsourcing SDWorx Mainframe environment - Lily CrapsNRB
 
Doing More with Postgres - Yesterday's Vision Becomes Today's Reality
Doing More with Postgres - Yesterday's Vision Becomes Today's RealityDoing More with Postgres - Yesterday's Vision Becomes Today's Reality
Doing More with Postgres - Yesterday's Vision Becomes Today's RealityEDB
 
How Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and ManagersHow Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and ManagersEDB
 
PPCD_And_AmazonRDS
PPCD_And_AmazonRDSPPCD_And_AmazonRDS
PPCD_And_AmazonRDSVibhor Kumar
 
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization SolutionsMigrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization SolutionsLenovo Business
 
Multi-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a ServiceMulti-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a ServiceJelastic Multi-Cloud PaaS
 
Webinar: How MongoDB is Used to Manage Reference Data - May 2014
Webinar: How MongoDB is Used to Manage Reference Data - May 2014Webinar: How MongoDB is Used to Manage Reference Data - May 2014
Webinar: How MongoDB is Used to Manage Reference Data - May 2014MongoDB
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 

Similar to JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Integration Gateway (20)

Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
 
Accelerating workloads and bursting data with Google Dataproc & Alluxio
Accelerating workloads and bursting data with Google Dataproc & AlluxioAccelerating workloads and bursting data with Google Dataproc & Alluxio
Accelerating workloads and bursting data with Google Dataproc & Alluxio
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1
 
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
 
Reducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresReducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with Postgres
 
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
 
How to Choose a Host for a Big Data Project
How to Choose a Host for a Big Data ProjectHow to Choose a Host for a Big Data Project
How to Choose a Host for a Big Data Project
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle Databases
 
Top 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentTop 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres Deployment
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on Domino
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
 
Outsourcing SDWorx Mainframe environment - Lily Craps
Outsourcing SDWorx Mainframe environment - Lily CrapsOutsourcing SDWorx Mainframe environment - Lily Craps
Outsourcing SDWorx Mainframe environment - Lily Craps
 
Doing More with Postgres - Yesterday's Vision Becomes Today's Reality
Doing More with Postgres - Yesterday's Vision Becomes Today's RealityDoing More with Postgres - Yesterday's Vision Becomes Today's Reality
Doing More with Postgres - Yesterday's Vision Becomes Today's Reality
 
How Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and ManagersHow Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and Managers
 
PPCD_And_AmazonRDS
PPCD_And_AmazonRDSPPCD_And_AmazonRDS
PPCD_And_AmazonRDS
 
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization SolutionsMigrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
Migrating to Windows 7 or 8 with Lenovo's Deployment Optimization Solutions
 
Multi-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a ServiceMulti-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a Service
 
Webinar: How MongoDB is Used to Manage Reference Data - May 2014
Webinar: How MongoDB is Used to Manage Reference Data - May 2014Webinar: How MongoDB is Used to Manage Reference Data - May 2014
Webinar: How MongoDB is Used to Manage Reference Data - May 2014
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 

Recently uploaded

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Integration Gateway

  • 1. Jboss Fuse in Vodafone’s Global Integration Gateway 5th December 2013 / Bruno Meseguer Jboss Architect Meetup
  • 2. Jboss Architect Meetup | 05 December 20132 Contents of the presentation • Who we are within Vodafone • The performance challenge • Selection process for the new technology • Creation of a new framework • Some final thoughts Welcome !
  • 3. Jboss Architect Meetup | 05 December 2013 Global Integration Gateway (GIG) Vodafone Group Enablers
  • 4. Jboss Architect Meetup | 05 December 20134 Vodafone Group Enablers • Enablers team, responsible to enable capabilities in Vodafone Group – Charging – Messaging – Customer Registry  GIG – … and more • GIG (Global Integration Gateway) (100+ systems) – Intelligent Gateway which allows flexible Partners/Vodafone integration. – Local/Global Partners and Vodafone internal systems can access services provided by OpCo’s. – Opco’s can access services provided by Partners and Vodafone internal systems. Who we are and what we do
  • 5. Jboss Architect Meetup | 05 December 20135 Vodafone’s Global Integration Gateway (GIG) HTTP HTTP Technical capabilities view Authentication Authorisation Protocol Bridging Orchestration Throttling Routing Header Enrichment Error Handling Data Transformation Logging & Reporting Asynchronous Very fast > 800 TPS
  • 6. Jboss Architect Meetup | 05 December 20136 Vodafone’s Global Integration Gateway (GIG) HTTP HTTP Bridge In (north) IBM DP Bridge Out (south) IBM DP Orchestration (Tibco BE) Atomic (Tibco BE) Atomic (Tibco BE) Orchestration Orchestration Orchestration Atomic Atomic Atomic System layers view
  • 7. Jboss Architect Meetup | 05 December 20137 Vodafone Group Enablers • In GIG’s ecosystem there are currently 100+ systems • GIG’s current traffic is 1000+ TPS • GIG’s original design aimed to be capable of handling 10,000 TPS – This principle has been maintained on every evolutionary step of the solution – GIG scales horizontally: 10,000 doesn’t represent a barrier • The latency that GIG introduces is <0.1 seconds on slowest use cases • The average payload size is around 2KB – As GIG typically exposes API’s, payloads are not significantly big. Some GIG numbers
  • 8. Jboss Architect Meetup | 05 December 20138 Vodafone’s Global Integration Gateway (GIG) • 2008: – Poor HTTP performance from TIBCO component – Had to find a fast HTTP gateway – IBM's DataPower was the answer > 800 TPS • 2012: – Vision to port systems to a cloud environment – IBM's hardware not portable – the quest to find a replacement for IBM's DataPower starts A little bit of history
  • 9. Jboss Architect Meetup | 05 December 20139 Vodafone’s Global Integration Gateway (GIG) • To find a software based solution, current DataPowers not portable to the cloud. – With very high levels of performance, ideally > 800 TPS – Fully asynchronous socket handling – EMS compatible • Minimise impact on clients. – Able to maintain the same port definitions as in DataPower • Minimise migration efforts – Quick adoption of the technology – 70+ flows to be migrated The goals to replace IBM’s DataPowers
  • 10. Jboss Architect Meetup | 05 December 2013 The performance challenge
  • 11. Jboss Architect Meetup | 05 December 201311 The performance challenge • A normal HTTP server retrieves resources or generates some content and quickly responds to the client • What happens when a system acts as a pass-through and needs to wait for backend responses? • delays from the backend could be disastrous to the system
  • 12. Jboss Architect Meetup | 05 December 201312 The performance challenge • The worker thread-pool gets exhausted, where are the workers? Quickly running out of workers!
  • 13. Jboss Architect Meetup | 05 December 201313 The performance challenge • Worker threads need to wait for the backend response to resume. Threads busy… doing nothing!
  • 14. Jboss Architect Meetup | 05 December 201314 The performance challenge • A waiting queue of requests rapidly grows Requests keep coming!
  • 15. Jboss Architect Meetup | 05 December 201315 The performance challenge • Clients get increasingly angry! Unhappiness!
  • 16. Jboss Architect Meetup | 05 December 201316 The performance challenge • The system is exposed: – Delays from the backend could be disastrous to the system – The workers thread pool gets exhausted – Worker threads need to wait for the backend response to resume – A waiting queue of requests rapidly grows • Systems will need to be proved to be robust: – Under high rates of client requests – Possible delays from back-ends • Systems need to be Asynchronous
  • 17. Jboss Architect Meetup | 05 December 2013 Selection Process
  • 18. Jboss Architect Meetup | 05 December 201318 Selection Process • Direct competitor to DataPower • Highly recommended by Group Architecture – Pre-selected by Group Architecture to replace DataPower • Can be used as a Hardware or Software based solution • A promise of raw performance, up to 30000 TPS Layer7… first candidate
  • 19. Jboss Architect Meetup | 05 December 201319 Selection Process • How can we stress a system capable of 30000 TPS without the need of a farm of HTTP clients? • There is an old friend to us called Netty used back in 2008 (a beta library back then) to test DataPower on the lab. • Using Netty we created a powerful client and stub proved to handle 5000+ TPS per instance • Netty is an NIO client/server framework (event driven) with HTTP capability: – Non-blocking socket management – threads are freed up when posting requests, they don't wait for responses – difficult to exhaust the thread pool – responses are taken care of by a second thread pool – the socket and HTTP context are kept in memory awaiting for a response thread to pick them up and close Lab preparation
  • 20. Jboss Architect Meetup | 05 December 201320 Selection Process Lab preparation • To stress the bridge we bombard it with a constant TPS rate and delay the response by 5 seconds.
  • 21. Jboss Architect Meetup | 05 December 201321 Selection Process • Within the space of two weeks we realised Layer7 was not the right choice – By the third day of testing we aborted the performance study for Layer7 • Layer7 proved not to fulfil our performance requirements – delays at the backend proved to be deadly to Layer7 – it was not asynchronous Layer7 results
  • 22. Jboss Architect Meetup | 05 December 201322 Selection Process • As Netty proved to be very efficient we approached Red Hat and asked to provide us with Netty support • Initially Red Hat recommends Fuse + Jetty (Netty equivalent) – 1st round of performance test show the solution works (400+ TPS), and it is indeed asynchronous • From our Netty benchmarks we knew there was more potentially to exploit • Red Hat agrees to integrate Netty HTTP into their product (it already included the Netty TCP component) – Red Hat delivers a Netty HTTP concept for us to try out – 2nd round of performance show an improvement by a factor of 2 at least Red Hat comes into play
  • 23. Jboss Architect Meetup | 05 December 201323 Selection Process • We triggered parallel assessments for: – JBoss7 – TIBCO BusinessEvents 5.0 – WSO2 More candidates…
  • 24. Jboss Architect Meetup | 05 December 201324 Selection Process Performance results
  • 25. Jboss Architect Meetup | 05 December 201325 Selection Process Performance results
  • 26. Jboss Architect Meetup | 05 December 201326 Selection Process • Although only one product could get selected, all of them had an opportunity to identify weaknesses in their product • They all immediately put engineers at work to focus around those areas to be improved • They all managed to boost up their engines: – some more than others (x2, x3, x4) – some adopted the asynchronous mechanisms (x100) Everyone wins
  • 27. Jboss Architect Meetup | 05 December 201327 Selection Process • Fastest NIO product available (Netty enabled) • Integration product (Camel) • OSGI container • Fully covering our migration requirements • Java based solution • Red Hat’s engineers: main open source committers • Red Hat quality assurance Red Hat’s JBOSS FUSE gets selected
  • 28. Jboss Architect Meetup | 05 December 201328 Selection Process • It was very critical to make to right choice • We invested the right amount of time on each one of the steps • We know we got it RIGHT! No rushing !
  • 29. Jboss Architect Meetup | 05 December 2013 Vodafone’s Framework
  • 30. Jboss Architect Meetup | 05 December 201330 Vodafone’s Framework • Jboss Fuse offering an opportunity to improve DEV, Deployment & Support processes – Traditionally our developments are based on frameworks – Upgrades on frameworks require:  from DEV a new build (per component)  and from D&S another testing and deployment process  … per component ! Jboss Fuse’s potential
  • 31. Jboss Architect Meetup | 05 December 201331 Vodafone’s Framework Traditional build and deployment processes Customisation Vodafone’s Framework Build Customisation Vodafone’s Framework Deployable Unit Deployable Unit Source Code Vodafone’s Framework Customisation Customisation Customisation JVM JVM
  • 32. Jboss Architect Meetup | 05 December 201332 Vodafone’s Framework • JBoss Fuse container is OSGI based – It encourages to think differently – Perhaps Vodafone can exploit the benefits  Could we change our processes to reduce efforts?  Could these benefits help the various involved teams  Development  Deployment  Support OSGI and bundles
  • 33. Jboss Architect Meetup | 05 December 201333 Vodafone’s Framework New processes: OSGI orientated Build Vodafone’s Framework Deployable Unit Customisation Deployable Unit Source Code Vodafone’s Framework Customisation Customisation Customisation Customisation Deployable Unit JVM Customisation Customisation Vodafone’s Framework
  • 34. Jboss Architect Meetup | 05 December 201334 Vodafone’s Framework • The Framework is decoupled from business components and sits on the OSGI container as a reusable module • Implemented using Camel route definitions • It contains 90% of the execution logic of a flow • The Framework is responsible for – Standarising flow definitions – Reduce complexity in customisations – Include all common functionality – Ensure stability, robustness and performance Framework's main bundle
  • 35. Jboss Architect Meetup | 05 December 201335 Vodafone’s Framework Framework's main bundle common common common Direct-VM JMS common Framework 1.0.0 1. Accept internal invocations. 2. Throtteling. 3. Header Enrichment. 4. System Logging. 5. Collect Reporting Information. 6. Bridge to JMS.
  • 36. Jboss Architect Meetup | 05 December 201336 Vodafone’s Framework • Business components (called Connectors) are configured to communicate with the framework • Implemented using Camel route definitions • Connectors are responsible for – Listening to incoming requests – Concentrate on the business logic – Delegate execution control to the Framework Connector’s bundle
  • 37. Jboss Architect Meetup | 05 December 201337 Vodafone’s Framework Connector’s bundle HTTP custom Direct-VM out Flow A 1. Open an HTTP port. 2. Custom manipulation, typically extraction of the Service ID, MSISDN, and country code. 3. Invoke the Framework route definition.
  • 38. Jboss Architect Meetup | 05 December 201338 Vodafone’s Framework • Connectors are configured to communicate with the framework • N connectors talk to the same single Framework module within the same OSGI container • Upgrades on the framework do not require new deliveries from Development and do not require redeployments Framework and connectors interaction
  • 39. Jboss Architect Meetup | 05 December 201339 Vodafone’s Framework Framework and connectors interaction
  • 40. Jboss Architect Meetup | 05 December 201340 Vodafone’s Framework • Upgrades on the Framework do not cause an impact on Connectors • When a Framework fix is delivered, Connectors are simple reconfigured • Multiple Framework versions can coexist if necessary Framework upgrades
  • 41. Jboss Architect Meetup | 05 December 201341 Vodafone’s Framework Framework upgrades common common common Direct-VM in JMS common Framework 1.0.0 custom HTTP Direct-VM out HTTP custom Direct-VM out common common common Direct-VM in JMS common Framework 2.0.0 Flow A Flow B
  • 42. Jboss Architect Meetup | 05 December 201342 Vodafone’s Framework • An early performance round shows a degradation (when compared to POC results) well within the acceptable margin – around 10-15% loss only to the raw potential available – with 5 seconds delay at the back and 2K payload we obtain 700 TPS  Note: The Lab environment used is SLOW !  We think the Lab environment is around half the speed of a modern environment. • An official data gathering is pending to be collected Framework's performance 0 100 200 300 400 500 600 700 800 PoC Framework TPS
  • 43. Jboss Architect Meetup | 05 December 2013 Final overview
  • 44. Jboss Architect Meetup | 05 December 201344 Current status of the project • Vodafone’s Framework – Implemented internally at – Nearly 100% of the functionality completed • Migration of DataPower flows – The migration is outsourced to our trusted vendor Bulgaria – Sprint 6 out of 8 is on its way – 70+ flows in total • Deployment – First migrated flows started to be deployed in the pre-production environment
  • 45. Jboss Architect Meetup | 05 December 201345 How JBoss Fuse compares to DataPower? • Of course, JBoss Fuse is software based instead of Hardware based – this means it is “cloudable” – this means we are free to choose the hardware to run on – it means the hardware is much cheaper (this is specially important when scaling) – it means everyone can run it on its laptop • Performance results suggest a substantial gain in overall TPS rate (1000+ TPS per instance) • We can exploit the potential of 64 bits environments – DataPower runs on 32 bits unless money is invested to acquire the new 64 DataPower XI52s • The community of open source based solutions is much bigger
  • 46. Jboss Architect Meetup | 05 December 201346 Are there any other advantages? • it is Java based – the skills required are much more common • It is developer friendly – DataPower development is painful • One single Framework for all (instead of several in DataPower) • RED HAT Customer support represents a quality leap coming from IBM's – fast responses to customer cases – skilled agents at the other end of the line – proactive and collaborative reaction – open to customer's point of view – a user friendly Customer support Portal !! Absolutely !!
  • 47. Jboss Architect Meetup | 05 December 201347 What about the disadvantages? • It's new – we don't have OSGI experience – we don't know yet the pitfalls • New Component – Red Hat has included Netty HTTP to satisfy our requirements – we may find some integration defects • New Framework – will need some time to mature – surely problems will be found – migrated components may differ in behaviour from DataPower
  • 48. Jboss Architect Meetup | 05 December 201348 The good and the bad • The good – Plenty has been said on previous slides – The raw performance of the Camel framework and the Netty HTTP component – The incredible number of available alternatives on how to do a particular task – Very active product, with constant addition of features – Customer support is first class • The bad – Not intuitive with the mix of available frameworks – The available IDE to graphically define flows is not mature enough – Having many options to do one task is seen as a positive, but in some cases is a negative – Steep learning curve for less experienced developers
  • 49. Jboss Architect Meetup | 05 December 201349 Questions and answers
  • 50. Thank you Jboss Architect Meetup | 5th December 2013