SlideShare a Scribd company logo
1 of 31
Download to read offline
© Unic - Seite 1
• About the speaker:
• 31 years old
• Degree in Computer Science (BA) in 2008
• Professional Java Developer ever since
• Experience with CQ since 2012
• Published Open Source Software
Introduction
© Unic - Seite 2
• Extensible Component Scanner
• Allows scanning for components with a fluent API
• select(javaClasses()).from(„my.package“).returning(allExtending(A.class))
• Available from Maven and Sourceforge at http://sf.net/projects/extcos
• TestNG Data Binding
• Allows the binding of test data from external data sources to TestNG test method
parameters
• Available from Maven and Sourceforge at http://sf.net/projects/testngdatabind
• Join the community on http://facebook.com/TestNGDataBinding
Published Open Source Software
CQCon 2013: Integrating Backend Systems into CQ
Matthias Rothe
19.06.2013
© Unic - Seite 4
Integrating Backend Systems into CQ
• CQ in an Enterprise Environment
• System Integration Layer
• Connecting to the ESB
• Modes of Content Retrieval
• Conclusion
CQ in an Enterprise Environment
© Unic - Seite 6
CQ can be used standalone as a WCMS
But:
• Usually a company has more systems then just the WCMS to store, process and
retrieve data from
• A company might want to display and let the user enter data from these other
systems through their CQ-powered website
• Integrating these other systems in real-time opens up great new business
opportunities
CQ in an Enterprise Environment
© Unic - Seite 7
CQ in an Enterprise Environment
Product
Management
System
User Management
System
Car Connect
System
CQ
(User Access System)
CRM
System
Software
Distribution
System
Other
Systems
© Unic - Seite 8
CQ in an Enterprise Environment
CQ
(User Access System)
Product
Management
System
Browser
User Frontend Backend
System Integration Layer
© Unic - Seite 10
• Most use cases require not just one backend system, but the ordered access to
several of them – all of which might greatly differ from each other
System Integration Layer
Business Rules and
Processes
Service Orchestration
Different Data
Structures and
Protocols
Heterogeneous
Technologies
Transactions
© Unic - Seite 11
System Integration Layer
Product
Management
System
User Management
System
Car Connect
System
CQ
(User Access System)
CRM
System
Software
Distribution
System
Other
Systems
JMS / Binary
JMS / XML
REST / JSON
FTP / Binary
HTTP / SOAP
SMTP / SOAP
© Unic - Seite 12
System Integration Layer
Product
Management
System
User Management
System
Car Connect
System
CQ
(User Access System)
CRM
System
Software
Distribution
System
Other
Systems
JMS / Binary
JMS / XML
REST / JSON
FTP / Binary
HTTP / SOAP
SMTP / SOAP
?
?
?
© Unic - Seite 13
System Integration Layer
Product
Management
System
Car Connect
System
CQ
CRM
System
Software
Distribution
System
Content Management
ESB: Only 1 Simple Point of Access
EnterpriseServiceBus
Business Rules
Business Processes
Service Orchestration
Intelligent Routing
Data Validation
Transformation
Traceability
Auditing of SLAs
Error Handling
Transaction Handling
© Unic - Seite 14
System Integration Layer
CQ
Backend
Systems
Apache ServiceMix
CXF (JAX-RS)
CXF (JAX-RS, JAX-WS)
Camel Routing Engine
Business Process Execution
with Orchestration / Aggregation
using Enterprise Architecture Patterns
Protocol and Data Conversion
REST
REST / SOAPJ
M
S
F
T
P
T
C
P
© Unic - Seite 15
• Advantages of using an ESB like Apache ServiceMix
• Separation of Concerns
• Leveraging the individual strengths of each system
• Easy reuse of middleware for different frontends
• Increased organizational flexibility
• Increased specialization of development teams
• Opportunity to scale integration layer and CQ independently
• More reliable system, by using technologies specially tailored for integration
• Increased cost efficiency and lower TCO
System Integration Layer
Connecting to the ESB
© Unic - Seite 17
• The communication between CQ and Apache ServiceMix is
• RESTful
• Based on the HTTP protocol
• Exchange of JSON request and response objects
• As the client library we chose the OSGI version of the Apache HTTP components
library
• For ease of use we built a light-weight „RelayService“ framework on top of it
Connecting to the ESB
© Unic - Seite 18
Connecting to the ESB
CustomRelayService
JsonRelayService
DefaultRelayService
Apache HttpClient
Service Controller
CQ
Apache ServiceMix
Automatic adding
of common headers
Automatic JSON
handling
HttpClient Abstraction
© Unic - Seite 19
• To support the full live cycle of resources, we use all of these HTTP methods
• GET To get lists of resources and single resources
• POST To create a new resource
• PUT To update a resource
• DELETE To delete a resource
Connecting to the ESB
doGet(…)
doPost(…)
doPut(…)
doDelete(…)
© Unic - Seite 20
• Resource: Custom lists of Points of Interest
• Retrieve lists:
• relayService.doGet(„http://smxhost/vehicles/v123/s/ppoi/lists“);
• Upload a new list:
• relayService.doPost(„http://smxhost/vehicles/v123/s/ppoi/lists“, listJson);
• Update a list:
• relayService.doPut(„http://smxhost/vehicles/v123/s/ppoi/lists/list1“, updatedJson);
• Delete a list:
• relayService.doDelete(„http://smxhost/vehicles/v123/s/ppoi/lists/list1“);
Connecting to the ESB
© Unic - Seite 21
• Data Exchange Format: JSON
• Lightweight, Easy to use – especially within Javascript frontend
• Conversion to and from Java objects is done with Google Gson
• For dependency injection Gson is wrapped in a Spring component
• All changes, validation, localization etc. are done on Java objects
Connecting to the ESB
Modes of Content Retrieval
© Unic - Seite 23
Modes of Content Retrieval
Browser ESB
Component
JSP
Resource
Model
Service
Relay
Service
CQ
Synchroneous Mode
© Unic - Seite 24
Modes of Content Retrieval
Browser ESB
Component
JSP
Resource
Model
Spring MVC
Controller
Relay
Service
CQ
Asynchroneous Mode
AJAX
© Unic - Seite 25
• Based on Unic proprietary library NEBA II
• Allows mapping of CRX content to Java objects (Resource Models)
• Integrates Spring framework into CQ
• Dependency Injection
• Spring MVC with Spring DispatcherServlet as Sling registered servlet
Modes of Content Retrieval
Conclusion
© Unic - Seite 27
• Todays enterprises have numerous systems holding and processing data
• Business processes require the interaction with several of these systems
• CQ can act as the user facing system and a channel to the backend systems
• An ESB like Apache ServiceMix can be used to integrate the various backend
systems in real-time
• Lots of technical, organizational, financial and business advantages can be
achieved
Conclusion
© Unic - Seite 28
References
Brand Portal: audi.de
myAudi: my.audi.de
© Unic - Seite 29
Questions
© Unic - Seite 30
Belpstrasse 48
3007 Bern
Tel +41 31 560 12 12
Fax +41 31 560 12 13
info@unic.com
www.unic.com
Unic AG
© Unic - Seite 31

More Related Content

What's hot

Wso2 integration platform deep dive eu con 2016
Wso2 integration platform deep dive   eu con 2016Wso2 integration platform deep dive   eu con 2016
Wso2 integration platform deep dive eu con 2016Chanaka Fernando
 
Introduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through TransportIntroduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through TransportChanaka Fernando
 
WSDL in Mule Esb
WSDL in Mule EsbWSDL in Mule Esb
WSDL in Mule EsbAnand kalla
 
Muletransformers
MuletransformersMuletransformers
Muletransformersvijaynerd
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchangesSon Nguyen
 
Wso2 esb 5.0.0 product release webinar
Wso2 esb 5.0.0   product release webinarWso2 esb 5.0.0   product release webinar
Wso2 esb 5.0.0 product release webinarChanaka Fernando
 

What's hot (10)

Advaced training-wso2-esb
Advaced training-wso2-esbAdvaced training-wso2-esb
Advaced training-wso2-esb
 
Wso2 integration platform deep dive eu con 2016
Wso2 integration platform deep dive   eu con 2016Wso2 integration platform deep dive   eu con 2016
Wso2 integration platform deep dive eu con 2016
 
Introduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through TransportIntroduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through Transport
 
WSDL in Mule Esb
WSDL in Mule EsbWSDL in Mule Esb
WSDL in Mule Esb
 
Mule
MuleMule
Mule
 
Introduction to asp.net web api
Introduction to asp.net web apiIntroduction to asp.net web api
Introduction to asp.net web api
 
Muletransformers
MuletransformersMuletransformers
Muletransformers
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchanges
 
Wso2 esb 5.0.0 product release webinar
Wso2 esb 5.0.0   product release webinarWso2 esb 5.0.0   product release webinar
Wso2 esb 5.0.0 product release webinar
 
Mule overview
Mule overviewMule overview
Mule overview
 

Similar to Integrating Backend Systems

Extending LabVIEW to the Web Using the LabSocket System
Extending LabVIEW to the Web Using the LabSocket SystemExtending LabVIEW to the Web Using the LabSocket System
Extending LabVIEW to the Web Using the LabSocket SystemBergmans Mechatronics LLC
 
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubAlfonso Martino
 
OpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewOpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewJason Peng
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoringOracle Korea
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringDonghuKIM2
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesAlcide
 
How to – wrap soap web service around a database
How to – wrap soap web service around a databaseHow to – wrap soap web service around a database
How to – wrap soap web service around a databaseSon Nguyen
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Codit
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZERAshish Tanwer
 
Migrating legacy applications (Cobol, PL/I) to Java on z/OS
Migrating legacy applications (Cobol, PL/I) to Java on z/OSMigrating legacy applications (Cobol, PL/I) to Java on z/OS
Migrating legacy applications (Cobol, PL/I) to Java on z/OSEranea
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyftmarkgrover
 
CNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to EnvoyCNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to EnvoyHarish
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyMark Proctor
 
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
ZZ BC#7.5 asp.net mvc practice  and guideline refresh! ZZ BC#7.5 asp.net mvc practice  and guideline refresh!
ZZ BC#7.5 asp.net mvc practice and guideline refresh! Chalermpon Areepong
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE
 
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) Surendar S
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overviewabhi1112
 

Similar to Integrating Backend Systems (20)

Streamline - Stream Analytics for Everyone
Streamline - Stream Analytics for EveryoneStreamline - Stream Analytics for Everyone
Streamline - Stream Analytics for Everyone
 
Extending LabVIEW to the Web Using the LabSocket System
Extending LabVIEW to the Web Using the LabSocket SystemExtending LabVIEW to the Web Using the LabSocket System
Extending LabVIEW to the Web Using the LabSocket System
 
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
 
OpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewOpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology Overview
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your Services
 
How to – wrap soap web service around a database
How to – wrap soap web service around a databaseHow to – wrap soap web service around a database
How to – wrap soap web service around a database
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZER
 
Migrating legacy applications (Cobol, PL/I) to Java on z/OS
Migrating legacy applications (Cobol, PL/I) to Java on z/OSMigrating legacy applications (Cobol, PL/I) to Java on z/OS
Migrating legacy applications (Cobol, PL/I) to Java on z/OS
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
 
CNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to EnvoyCNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to Envoy
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
 
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
ZZ BC#7.5 asp.net mvc practice  and guideline refresh! ZZ BC#7.5 asp.net mvc practice  and guideline refresh!
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
 

More from connectwebex

Jackrabbit OCM in practice
Jackrabbit OCM in practiceJackrabbit OCM in practice
Jackrabbit OCM in practiceconnectwebex
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Managerconnectwebex
 
AEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, IntegrationsAEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, Integrationsconnectwebex
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?connectwebex
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMconnectwebex
 
Presentation daniel takai
Presentation daniel takaiPresentation daniel takai
Presentation daniel takaiconnectwebex
 
Presentation thomas simlinger
Presentation thomas simlingerPresentation thomas simlinger
Presentation thomas simlingerconnectwebex
 
five Sling features you should know
five Sling features you should knowfive Sling features you should know
five Sling features you should knowconnectwebex
 
Efficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQEfficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQconnectwebex
 
Web, Mobile, App and Back!
Web, Mobile, App and Back!Web, Mobile, App and Back!
Web, Mobile, App and Back!connectwebex
 
Tighten your Security and Privacy
Tighten your Security and PrivacyTighten your Security and Privacy
Tighten your Security and Privacyconnectwebex
 
THE BREAK-UP - A user interface love story
THE BREAK-UP - A user interface love storyTHE BREAK-UP - A user interface love story
THE BREAK-UP - A user interface love storyconnectwebex
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Securityconnectwebex
 
Integration Testing in AEM
Integration Testing in AEMIntegration Testing in AEM
Integration Testing in AEMconnectwebex
 
Sling Component Filters in CQ5
Sling Component Filters in CQ5 Sling Component Filters in CQ5
Sling Component Filters in CQ5 connectwebex
 
Auto-testing production CQ instances with Muppet
Auto-testing production CQ instances with MuppetAuto-testing production CQ instances with Muppet
Auto-testing production CQ instances with Muppetconnectwebex
 

More from connectwebex (19)

Jackrabbit OCM in practice
Jackrabbit OCM in practiceJackrabbit OCM in practice
Jackrabbit OCM in practice
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
AEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, IntegrationsAEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, Integrations
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
SonarQube for AEM
SonarQube for AEMSonarQube for AEM
SonarQube for AEM
 
Presentation daniel takai
Presentation daniel takaiPresentation daniel takai
Presentation daniel takai
 
Presentation thomas simlinger
Presentation thomas simlingerPresentation thomas simlinger
Presentation thomas simlinger
 
five Sling features you should know
five Sling features you should knowfive Sling features you should know
five Sling features you should know
 
Efficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQEfficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQ
 
Web, Mobile, App and Back!
Web, Mobile, App and Back!Web, Mobile, App and Back!
Web, Mobile, App and Back!
 
Tighten your Security and Privacy
Tighten your Security and PrivacyTighten your Security and Privacy
Tighten your Security and Privacy
 
THE BREAK-UP - A user interface love story
THE BREAK-UP - A user interface love storyTHE BREAK-UP - A user interface love story
THE BREAK-UP - A user interface love story
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Security
 
Integration Testing in AEM
Integration Testing in AEMIntegration Testing in AEM
Integration Testing in AEM
 
Sling Component Filters in CQ5
Sling Component Filters in CQ5 Sling Component Filters in CQ5
Sling Component Filters in CQ5
 
Scaling CQ5
Scaling CQ5Scaling CQ5
Scaling CQ5
 
Auto-testing production CQ instances with Muppet
Auto-testing production CQ instances with MuppetAuto-testing production CQ instances with Muppet
Auto-testing production CQ instances with Muppet
 
CQ Maven Methods
CQ Maven MethodsCQ Maven Methods
CQ Maven Methods
 

Recently uploaded

UJJAIN CALL GIRL ❤ 8272964427❤ CALL GIRLS IN UJJAIN ESCORTS SERVICE PROVIDE
UJJAIN CALL GIRL ❤ 8272964427❤ CALL GIRLS IN UJJAIN ESCORTS SERVICE PROVIDEUJJAIN CALL GIRL ❤ 8272964427❤ CALL GIRLS IN UJJAIN ESCORTS SERVICE PROVIDE
UJJAIN CALL GIRL ❤ 8272964427❤ CALL GIRLS IN UJJAIN ESCORTS SERVICE PROVIDEkajalroy875762
 
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAIGetting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAITim Wilson
 
10 Influential Leaders Defining the Future of Digital Banking in 2024.pdf
10 Influential Leaders Defining the Future of Digital Banking in 2024.pdf10 Influential Leaders Defining the Future of Digital Banking in 2024.pdf
10 Influential Leaders Defining the Future of Digital Banking in 2024.pdfciolook1
 
A DAY IN THE LIFE OF A SALESPERSON .pptx
A DAY IN THE LIFE OF A SALESPERSON .pptxA DAY IN THE LIFE OF A SALESPERSON .pptx
A DAY IN THE LIFE OF A SALESPERSON .pptxseemajojo02
 
Pre Engineered Building Manufacturers Hyderabad.pptx
Pre Engineered  Building Manufacturers Hyderabad.pptxPre Engineered  Building Manufacturers Hyderabad.pptx
Pre Engineered Building Manufacturers Hyderabad.pptxRoofing Contractor
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Adnet Communications
 
Thompson_Taylor_MBBS_PB1_2024-03 (1)- Project & Portfolio 2.pptx
Thompson_Taylor_MBBS_PB1_2024-03 (1)- Project & Portfolio 2.pptxThompson_Taylor_MBBS_PB1_2024-03 (1)- Project & Portfolio 2.pptx
Thompson_Taylor_MBBS_PB1_2024-03 (1)- Project & Portfolio 2.pptxtmthompson1
 
Ital Liptz - all about Itai Liptz. news.
Ital Liptz - all about Itai Liptz. news.Ital Liptz - all about Itai Liptz. news.
Ital Liptz - all about Itai Liptz. news.htj82vpw
 
Abortion pills in Jeddah ! +27737758557, cytotec pill riyadh. Saudi Arabia" A...
Abortion pills in Jeddah ! +27737758557, cytotec pill riyadh. Saudi Arabia" A...Abortion pills in Jeddah ! +27737758557, cytotec pill riyadh. Saudi Arabia" A...
Abortion pills in Jeddah ! +27737758557, cytotec pill riyadh. Saudi Arabia" A...bleessingsbender
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxCynthia Clay
 
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxQSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxDitasDelaCruz
 
2024 May - Clearbit Integration with Hubspot - Greenville HUG.pptx
2024 May - Clearbit Integration with Hubspot  - Greenville HUG.pptx2024 May - Clearbit Integration with Hubspot  - Greenville HUG.pptx
2024 May - Clearbit Integration with Hubspot - Greenville HUG.pptxBoundify
 
Moradia Isolada com Logradouro; Detached house with patio in Penacova
Moradia Isolada com Logradouro; Detached house with patio in PenacovaMoradia Isolada com Logradouro; Detached house with patio in Penacova
Moradia Isolada com Logradouro; Detached house with patio in Penacovaimostorept
 
PALWAL CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN PALWAL ESCORTS
PALWAL CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN PALWAL ESCORTSPALWAL CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN PALWAL ESCORTS
PALWAL CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN PALWAL ESCORTSkajalroy875762
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 MonthsIndeedSEO
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon investment
 
The Vietnam Believer Newsletter_May 13th, 2024_ENVol. 007.pdf
The Vietnam Believer Newsletter_May 13th, 2024_ENVol. 007.pdfThe Vietnam Believer Newsletter_May 13th, 2024_ENVol. 007.pdf
The Vietnam Believer Newsletter_May 13th, 2024_ENVol. 007.pdfbelieveminhh
 

Recently uploaded (20)

UJJAIN CALL GIRL ❤ 8272964427❤ CALL GIRLS IN UJJAIN ESCORTS SERVICE PROVIDE
UJJAIN CALL GIRL ❤ 8272964427❤ CALL GIRLS IN UJJAIN ESCORTS SERVICE PROVIDEUJJAIN CALL GIRL ❤ 8272964427❤ CALL GIRLS IN UJJAIN ESCORTS SERVICE PROVIDE
UJJAIN CALL GIRL ❤ 8272964427❤ CALL GIRLS IN UJJAIN ESCORTS SERVICE PROVIDE
 
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAIGetting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
 
10 Influential Leaders Defining the Future of Digital Banking in 2024.pdf
10 Influential Leaders Defining the Future of Digital Banking in 2024.pdf10 Influential Leaders Defining the Future of Digital Banking in 2024.pdf
10 Influential Leaders Defining the Future of Digital Banking in 2024.pdf
 
A DAY IN THE LIFE OF A SALESPERSON .pptx
A DAY IN THE LIFE OF A SALESPERSON .pptxA DAY IN THE LIFE OF A SALESPERSON .pptx
A DAY IN THE LIFE OF A SALESPERSON .pptx
 
Pre Engineered Building Manufacturers Hyderabad.pptx
Pre Engineered  Building Manufacturers Hyderabad.pptxPre Engineered  Building Manufacturers Hyderabad.pptx
Pre Engineered Building Manufacturers Hyderabad.pptx
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
Buy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail AccountsBuy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail Accounts
 
Thompson_Taylor_MBBS_PB1_2024-03 (1)- Project & Portfolio 2.pptx
Thompson_Taylor_MBBS_PB1_2024-03 (1)- Project & Portfolio 2.pptxThompson_Taylor_MBBS_PB1_2024-03 (1)- Project & Portfolio 2.pptx
Thompson_Taylor_MBBS_PB1_2024-03 (1)- Project & Portfolio 2.pptx
 
Ital Liptz - all about Itai Liptz. news.
Ital Liptz - all about Itai Liptz. news.Ital Liptz - all about Itai Liptz. news.
Ital Liptz - all about Itai Liptz. news.
 
Abortion pills in Jeddah ! +27737758557, cytotec pill riyadh. Saudi Arabia" A...
Abortion pills in Jeddah ! +27737758557, cytotec pill riyadh. Saudi Arabia" A...Abortion pills in Jeddah ! +27737758557, cytotec pill riyadh. Saudi Arabia" A...
Abortion pills in Jeddah ! +27737758557, cytotec pill riyadh. Saudi Arabia" A...
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxQSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
 
2024 May - Clearbit Integration with Hubspot - Greenville HUG.pptx
2024 May - Clearbit Integration with Hubspot  - Greenville HUG.pptx2024 May - Clearbit Integration with Hubspot  - Greenville HUG.pptx
2024 May - Clearbit Integration with Hubspot - Greenville HUG.pptx
 
Contact +971581248768 for 100% original and safe abortion pills available for...
Contact +971581248768 for 100% original and safe abortion pills available for...Contact +971581248768 for 100% original and safe abortion pills available for...
Contact +971581248768 for 100% original and safe abortion pills available for...
 
Moradia Isolada com Logradouro; Detached house with patio in Penacova
Moradia Isolada com Logradouro; Detached house with patio in PenacovaMoradia Isolada com Logradouro; Detached house with patio in Penacova
Moradia Isolada com Logradouro; Detached house with patio in Penacova
 
PALWAL CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN PALWAL ESCORTS
PALWAL CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN PALWAL ESCORTSPALWAL CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN PALWAL ESCORTS
PALWAL CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN PALWAL ESCORTS
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business Growth
 
Home Furnishings Ecommerce Platform Short Pitch 2024
Home Furnishings Ecommerce Platform Short Pitch 2024Home Furnishings Ecommerce Platform Short Pitch 2024
Home Furnishings Ecommerce Platform Short Pitch 2024
 
The Vietnam Believer Newsletter_May 13th, 2024_ENVol. 007.pdf
The Vietnam Believer Newsletter_May 13th, 2024_ENVol. 007.pdfThe Vietnam Believer Newsletter_May 13th, 2024_ENVol. 007.pdf
The Vietnam Believer Newsletter_May 13th, 2024_ENVol. 007.pdf
 

Integrating Backend Systems

  • 1. © Unic - Seite 1 • About the speaker: • 31 years old • Degree in Computer Science (BA) in 2008 • Professional Java Developer ever since • Experience with CQ since 2012 • Published Open Source Software Introduction
  • 2. © Unic - Seite 2 • Extensible Component Scanner • Allows scanning for components with a fluent API • select(javaClasses()).from(„my.package“).returning(allExtending(A.class)) • Available from Maven and Sourceforge at http://sf.net/projects/extcos • TestNG Data Binding • Allows the binding of test data from external data sources to TestNG test method parameters • Available from Maven and Sourceforge at http://sf.net/projects/testngdatabind • Join the community on http://facebook.com/TestNGDataBinding Published Open Source Software
  • 3. CQCon 2013: Integrating Backend Systems into CQ Matthias Rothe 19.06.2013
  • 4. © Unic - Seite 4 Integrating Backend Systems into CQ • CQ in an Enterprise Environment • System Integration Layer • Connecting to the ESB • Modes of Content Retrieval • Conclusion
  • 5. CQ in an Enterprise Environment
  • 6. © Unic - Seite 6 CQ can be used standalone as a WCMS But: • Usually a company has more systems then just the WCMS to store, process and retrieve data from • A company might want to display and let the user enter data from these other systems through their CQ-powered website • Integrating these other systems in real-time opens up great new business opportunities CQ in an Enterprise Environment
  • 7. © Unic - Seite 7 CQ in an Enterprise Environment Product Management System User Management System Car Connect System CQ (User Access System) CRM System Software Distribution System Other Systems
  • 8. © Unic - Seite 8 CQ in an Enterprise Environment CQ (User Access System) Product Management System Browser User Frontend Backend
  • 10. © Unic - Seite 10 • Most use cases require not just one backend system, but the ordered access to several of them – all of which might greatly differ from each other System Integration Layer Business Rules and Processes Service Orchestration Different Data Structures and Protocols Heterogeneous Technologies Transactions
  • 11. © Unic - Seite 11 System Integration Layer Product Management System User Management System Car Connect System CQ (User Access System) CRM System Software Distribution System Other Systems JMS / Binary JMS / XML REST / JSON FTP / Binary HTTP / SOAP SMTP / SOAP
  • 12. © Unic - Seite 12 System Integration Layer Product Management System User Management System Car Connect System CQ (User Access System) CRM System Software Distribution System Other Systems JMS / Binary JMS / XML REST / JSON FTP / Binary HTTP / SOAP SMTP / SOAP ? ? ?
  • 13. © Unic - Seite 13 System Integration Layer Product Management System Car Connect System CQ CRM System Software Distribution System Content Management ESB: Only 1 Simple Point of Access EnterpriseServiceBus Business Rules Business Processes Service Orchestration Intelligent Routing Data Validation Transformation Traceability Auditing of SLAs Error Handling Transaction Handling
  • 14. © Unic - Seite 14 System Integration Layer CQ Backend Systems Apache ServiceMix CXF (JAX-RS) CXF (JAX-RS, JAX-WS) Camel Routing Engine Business Process Execution with Orchestration / Aggregation using Enterprise Architecture Patterns Protocol and Data Conversion REST REST / SOAPJ M S F T P T C P
  • 15. © Unic - Seite 15 • Advantages of using an ESB like Apache ServiceMix • Separation of Concerns • Leveraging the individual strengths of each system • Easy reuse of middleware for different frontends • Increased organizational flexibility • Increased specialization of development teams • Opportunity to scale integration layer and CQ independently • More reliable system, by using technologies specially tailored for integration • Increased cost efficiency and lower TCO System Integration Layer
  • 17. © Unic - Seite 17 • The communication between CQ and Apache ServiceMix is • RESTful • Based on the HTTP protocol • Exchange of JSON request and response objects • As the client library we chose the OSGI version of the Apache HTTP components library • For ease of use we built a light-weight „RelayService“ framework on top of it Connecting to the ESB
  • 18. © Unic - Seite 18 Connecting to the ESB CustomRelayService JsonRelayService DefaultRelayService Apache HttpClient Service Controller CQ Apache ServiceMix Automatic adding of common headers Automatic JSON handling HttpClient Abstraction
  • 19. © Unic - Seite 19 • To support the full live cycle of resources, we use all of these HTTP methods • GET To get lists of resources and single resources • POST To create a new resource • PUT To update a resource • DELETE To delete a resource Connecting to the ESB doGet(…) doPost(…) doPut(…) doDelete(…)
  • 20. © Unic - Seite 20 • Resource: Custom lists of Points of Interest • Retrieve lists: • relayService.doGet(„http://smxhost/vehicles/v123/s/ppoi/lists“); • Upload a new list: • relayService.doPost(„http://smxhost/vehicles/v123/s/ppoi/lists“, listJson); • Update a list: • relayService.doPut(„http://smxhost/vehicles/v123/s/ppoi/lists/list1“, updatedJson); • Delete a list: • relayService.doDelete(„http://smxhost/vehicles/v123/s/ppoi/lists/list1“); Connecting to the ESB
  • 21. © Unic - Seite 21 • Data Exchange Format: JSON • Lightweight, Easy to use – especially within Javascript frontend • Conversion to and from Java objects is done with Google Gson • For dependency injection Gson is wrapped in a Spring component • All changes, validation, localization etc. are done on Java objects Connecting to the ESB
  • 22. Modes of Content Retrieval
  • 23. © Unic - Seite 23 Modes of Content Retrieval Browser ESB Component JSP Resource Model Service Relay Service CQ Synchroneous Mode
  • 24. © Unic - Seite 24 Modes of Content Retrieval Browser ESB Component JSP Resource Model Spring MVC Controller Relay Service CQ Asynchroneous Mode AJAX
  • 25. © Unic - Seite 25 • Based on Unic proprietary library NEBA II • Allows mapping of CRX content to Java objects (Resource Models) • Integrates Spring framework into CQ • Dependency Injection • Spring MVC with Spring DispatcherServlet as Sling registered servlet Modes of Content Retrieval
  • 27. © Unic - Seite 27 • Todays enterprises have numerous systems holding and processing data • Business processes require the interaction with several of these systems • CQ can act as the user facing system and a channel to the backend systems • An ESB like Apache ServiceMix can be used to integrate the various backend systems in real-time • Lots of technical, organizational, financial and business advantages can be achieved Conclusion
  • 28. © Unic - Seite 28 References Brand Portal: audi.de myAudi: my.audi.de
  • 29. © Unic - Seite 29 Questions
  • 30. © Unic - Seite 30
  • 31. Belpstrasse 48 3007 Bern Tel +41 31 560 12 12 Fax +41 31 560 12 13 info@unic.com www.unic.com Unic AG © Unic - Seite 31