SlideShare a Scribd company logo
© 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

Advaced training-wso2-esb
Advaced training-wso2-esbAdvaced training-wso2-esb
Advaced training-wso2-esb
Chanaka Fernando
 
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
Chanaka 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 Transport
Chanaka Fernando
 
WSDL in Mule Esb
WSDL in Mule EsbWSDL in Mule Esb
WSDL in Mule Esb
Anand kalla
 
Mule
MuleMule
Introduction to asp.net web api
Introduction to asp.net web apiIntroduction to asp.net web api
Introduction to asp.net web api
Lohith Goudagere Nagaraj
 
Muletransformers
MuletransformersMuletransformers
Muletransformers
vijaynerd
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchanges
Son 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 webinar
Chanaka Fernando
 
Mule overview
Mule overviewMule overview
Mule overview
Praneethchampion
 

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

Streamline - Stream Analytics for Everyone
Streamline - Stream Analytics for EveryoneStreamline - Stream Analytics for Everyone
Streamline - Stream Analytics for Everyone
DataWorks Summit/Hadoop Summit
 
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
Bergmans 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 CloudHub
Alfonso Martino
 
OpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewOpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology Overview
Jason Peng
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
Oracle Korea
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
DonghuKIM2
 
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
Alcide
 
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
Son 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 2017
Patrick 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/OS
Eranea
 
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
markgrover
 
CNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to EnvoyCNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to Envoy
Harish
 
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
Mark 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 Overview
cornelia 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 Systems
FIWARE
 
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 practice
connectwebex
 
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
connectwebex
 
AEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, IntegrationsAEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, Integrations
connectwebex
 
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 know
connectwebex
 
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
connectwebex
 
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 Privacy
connectwebex
 
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
connectwebex
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Security
connectwebex
 
Integration Testing in AEM
Integration Testing in AEMIntegration Testing in AEM
Integration Testing in AEM
connectwebex
 
Sling Component Filters in CQ5
Sling Component Filters in CQ5 Sling Component Filters in CQ5
Sling Component Filters in CQ5
connectwebex
 
Scaling CQ5
Scaling CQ5Scaling CQ5
Scaling 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 Muppet
connectwebex
 
CQ Maven Methods
CQ Maven MethodsCQ Maven Methods
CQ Maven Methods
connectwebex
 

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

What are the main advantages of using HR recruiter services.pdf
What are the main advantages of using HR recruiter services.pdfWhat are the main advantages of using HR recruiter services.pdf
What are the main advantages of using HR recruiter services.pdf
HumanResourceDimensi1
 
The effects of customers service quality and online reviews on customer loyal...
The effects of customers service quality and online reviews on customer loyal...The effects of customers service quality and online reviews on customer loyal...
The effects of customers service quality and online reviews on customer loyal...
balatucanapplelovely
 
Discover the innovative and creative projects that highlight my journey throu...
Discover the innovative and creative projects that highlight my journey throu...Discover the innovative and creative projects that highlight my journey throu...
Discover the innovative and creative projects that highlight my journey throu...
dylandmeas
 
Project File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdfProject File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdf
RajPriye
 
BeMetals Presentation_May_22_2024 .pdf
BeMetals Presentation_May_22_2024   .pdfBeMetals Presentation_May_22_2024   .pdf
BeMetals Presentation_May_22_2024 .pdf
DerekIwanaka1
 
Enterprise Excellence is Inclusive Excellence.pdf
Enterprise Excellence is Inclusive Excellence.pdfEnterprise Excellence is Inclusive Excellence.pdf
Enterprise Excellence is Inclusive Excellence.pdf
KaiNexus
 
RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...
RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...
RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...
BBPMedia1
 
Improving profitability for small business
Improving profitability for small businessImproving profitability for small business
Improving profitability for small business
Ben Wann
 
What is the TDS Return Filing Due Date for FY 2024-25.pdf
What is the TDS Return Filing Due Date for FY 2024-25.pdfWhat is the TDS Return Filing Due Date for FY 2024-25.pdf
What is the TDS Return Filing Due Date for FY 2024-25.pdf
seoforlegalpillers
 
Introduction to Amazon company 111111111111
Introduction to Amazon company 111111111111Introduction to Amazon company 111111111111
Introduction to Amazon company 111111111111
zoyaansari11365
 
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
taqyed
 
Exploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social DreamingExploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social Dreaming
Nicola Wreford-Howard
 
Unveiling the Secrets How Does Generative AI Work.pdf
Unveiling the Secrets How Does Generative AI Work.pdfUnveiling the Secrets How Does Generative AI Work.pdf
Unveiling the Secrets How Does Generative AI Work.pdf
Sam H
 
Sustainability: Balancing the Environment, Equity & Economy
Sustainability: Balancing the Environment, Equity & EconomySustainability: Balancing the Environment, Equity & Economy
Sustainability: Balancing the Environment, Equity & Economy
Operational Excellence Consulting
 
VAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and RequirementsVAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and Requirements
uae taxgpt
 
The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...
Adam Smith
 
FINAL PRESENTATION.pptx12143241324134134
FINAL PRESENTATION.pptx12143241324134134FINAL PRESENTATION.pptx12143241324134134
FINAL PRESENTATION.pptx12143241324134134
LR1709MUSIC
 
April 2024 Nostalgia Products Newsletter
April 2024 Nostalgia Products NewsletterApril 2024 Nostalgia Products Newsletter
April 2024 Nostalgia Products Newsletter
NathanBaughman3
 
Business Valuation Principles for Entrepreneurs
Business Valuation Principles for EntrepreneursBusiness Valuation Principles for Entrepreneurs
Business Valuation Principles for Entrepreneurs
Ben Wann
 
The Parable of the Pipeline a book every new businessman or business student ...
The Parable of the Pipeline a book every new businessman or business student ...The Parable of the Pipeline a book every new businessman or business student ...
The Parable of the Pipeline a book every new businessman or business student ...
awaisafdar
 

Recently uploaded (20)

What are the main advantages of using HR recruiter services.pdf
What are the main advantages of using HR recruiter services.pdfWhat are the main advantages of using HR recruiter services.pdf
What are the main advantages of using HR recruiter services.pdf
 
The effects of customers service quality and online reviews on customer loyal...
The effects of customers service quality and online reviews on customer loyal...The effects of customers service quality and online reviews on customer loyal...
The effects of customers service quality and online reviews on customer loyal...
 
Discover the innovative and creative projects that highlight my journey throu...
Discover the innovative and creative projects that highlight my journey throu...Discover the innovative and creative projects that highlight my journey throu...
Discover the innovative and creative projects that highlight my journey throu...
 
Project File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdfProject File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdf
 
BeMetals Presentation_May_22_2024 .pdf
BeMetals Presentation_May_22_2024   .pdfBeMetals Presentation_May_22_2024   .pdf
BeMetals Presentation_May_22_2024 .pdf
 
Enterprise Excellence is Inclusive Excellence.pdf
Enterprise Excellence is Inclusive Excellence.pdfEnterprise Excellence is Inclusive Excellence.pdf
Enterprise Excellence is Inclusive Excellence.pdf
 
RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...
RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...
RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...
 
Improving profitability for small business
Improving profitability for small businessImproving profitability for small business
Improving profitability for small business
 
What is the TDS Return Filing Due Date for FY 2024-25.pdf
What is the TDS Return Filing Due Date for FY 2024-25.pdfWhat is the TDS Return Filing Due Date for FY 2024-25.pdf
What is the TDS Return Filing Due Date for FY 2024-25.pdf
 
Introduction to Amazon company 111111111111
Introduction to Amazon company 111111111111Introduction to Amazon company 111111111111
Introduction to Amazon company 111111111111
 
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
 
Exploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social DreamingExploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social Dreaming
 
Unveiling the Secrets How Does Generative AI Work.pdf
Unveiling the Secrets How Does Generative AI Work.pdfUnveiling the Secrets How Does Generative AI Work.pdf
Unveiling the Secrets How Does Generative AI Work.pdf
 
Sustainability: Balancing the Environment, Equity & Economy
Sustainability: Balancing the Environment, Equity & EconomySustainability: Balancing the Environment, Equity & Economy
Sustainability: Balancing the Environment, Equity & Economy
 
VAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and RequirementsVAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and Requirements
 
The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...
 
FINAL PRESENTATION.pptx12143241324134134
FINAL PRESENTATION.pptx12143241324134134FINAL PRESENTATION.pptx12143241324134134
FINAL PRESENTATION.pptx12143241324134134
 
April 2024 Nostalgia Products Newsletter
April 2024 Nostalgia Products NewsletterApril 2024 Nostalgia Products Newsletter
April 2024 Nostalgia Products Newsletter
 
Business Valuation Principles for Entrepreneurs
Business Valuation Principles for EntrepreneursBusiness Valuation Principles for Entrepreneurs
Business Valuation Principles for Entrepreneurs
 
The Parable of the Pipeline a book every new businessman or business student ...
The Parable of the Pipeline a book every new businessman or business student ...The Parable of the Pipeline a book every new businessman or business student ...
The Parable of the Pipeline a book every new businessman or business student ...
 

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