SlideShare a Scribd company logo
1 of 43
Download to read offline
APACHE UNOMI IN-DEPTH I 2nd October 20151
APACHE UNOMI IN-DEPTH
SERGE HUBER, CTO & Co-founder, shuber@jahia.com
APACHE UNOMI IN-DEPTH I 2nd October 20152
HISTORY
NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
APACHE UNOMI IN-DEPTH I 2nd October 20153
HISTORY
NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
APACHE UNOMI IN-DEPTH I 2nd October 20154
HISTORY
NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
APACHE UNOMI IN-DEPTH I 2nd October 20155
HISTORY
NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
APACHE UNOMI IN-DEPTH I 2nd October 20156
HISTORY
NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
APACHE UNOMI IN-DEPTH I 2nd October 20157
INTRODUCING UNOMI
YOU KNOW ME ?
WHAT IS
UNOMI?
APACHE UNOMI IN-DEPTH I 2nd October 20158
TARGETED FUNCTIONALITIES
MARKETING TO MARKETERS
UNOMI
User tracking
Event tracking
Goal tracking, scoring Segmentation Form
Input
tracking
Download
tracking
Impersonification
(personas)
A/B testing
Profile
(visitor,contact,leads)
management and export
Reporting
Privacy
management
APACHE UNOMI IN-DEPTH I 2nd October 20159
ARCHITECTURE DESIGN GOALS
FROM LESSONS LEARNED THE HARD WAY
1
2
3
Avoid putting additional
load on the WCMnodes
Highly scalable
(avoiding node cross-talk)
Make it easy for users
to define and use
marketing segments
4
5
6
Integration with existing
analytics
Integration with multiple
systems including mobile apps,
not just WCM
Highly pluggable architecture,
making it easy to extend and
build differentsolutions based
on a common core
APACHE UNOMI IN-DEPTH I 2nd October 201510
SCALING ARCHITECTURE
THROWING MORE SERVERS AT THE PROBLEM
CONTEXT
SERVER
CMS
Issue
trackingCRMSocial
APACHE UNOMI IN-DEPTH I 2nd October 201511
INPUT/OUTPUT
RULES
ACTIONS
Protocols
HTTP REST + JSON
SEGMENTSEVENTS
CONTEXT
CONDITIONS
PROFILES
MUST REFRAIN… NO JOKES ON I/O
CONTEXT SERVER
APACHE UNOMI IN-DEPTH I 2nd October 201512
REQUEST FLOW
HEY LOOKI HAVE ARROWS
Load HTML page
Load HTML +JS
to connectContextServer
Load context.js
Context for currentrequest
(Optional)Load contentbased
on context
(Optional)Send event such as login / hover
BROWSER CMS CONTEXT SERVER
JS callbacks
APACHE UNOMI IN-DEPTH I 2nd October 201513
CONTEXT EXAMPLE
digitalData = {
"loaded": true,
"user": [{
"profiles": [{
"profileInfo": {
"profileId": "d6454520-f2b6-40b7-829c-d17214f209d1”,
"firstName": "Serge",
"lastName": "Huber”,
"userName": "Serge Huber",
"email": "bhillou@yahoo.com",
"gender": "male”,
"itemClass": "org.oasis_open.context.server.api.User",
"segments": ["alwaysTrue", "maleGender"]
}
}]
}]};
FOR THE JSON ADDICTS LIKE ME
APACHE UNOMI IN-DEPTH I 2nd October 201514
UNOMI ARCHITECTURE
LOTS OF BOXES
APACHEKARAF
PERSISTENCE IMPLEMENTATION(ELASTICSEARCH, …)
PERSISTENCE SPI(SERVICE PROVIDER INTERFACE)
APACHE CXF
REST API
OSGISERVICES
APACHE UNOMI IN-DEPTH I 2nd October 201515
UNOMI SERVICES
STUFF THAT ACTUALLY DOES STUFF
PROFILES
Managesprofilesandpersonas
(loading,updating,saving,
deleting,merging, …)
PRIVACY
Managesprivacy (anonymous
browsing,event filtering,profile
deletion)
QUERIES
Performs queries againstthe
stored data(events,profiles,…)
SEGMENTS
Managessegments(definitions,
loading,saving,scoring)
DEFINITIONS
Managespropertytypes,
conditiontypes,actionstypes,
tags andother metadata
CLUSTERING
Managesthe clusterof
context servers
APACHE UNOMI IN-DEPTH I 2nd October 201516
VISITOR PROFILES
YOU KNOW ME, I GET IT !
A profile is createdas soon
as a visitor arriveson a site
Trackedby
navigator cookies
Populated through events,
such as page views,CMS
login, Social login, mobile
action, beacon detectedor
form submissions
Sessions are tracked for
each profile,history of
navigation is accessible too.
APACHE UNOMI IN-DEPTH I 2nd October 201517
SEGMENTS
I’M A PERSON NOT A SEGMENT
Built
through
simple UI
Conditions
match user
profile
properties
Potentially
complex
assembly of
conditions
Example
Profilesyounger
than 25 and have
an incomeof more
than USD 100’000
(young rich
segment)
APACHE UNOMI IN-DEPTH I 2nd October 201518
EVENTS
I DID WHAT WHEN ?
Client or server-side eventscanbe sent to the context
server,intheory in very high volume
The context server willprocessthe eventsusing plugins,
either synchronously or asynchronously (for example
using an Apache Mahout BigData analysis cluster)
Example: login eventsends additional user data, page
vieweventused to build user or general analytics, mouse
over eventcan be used to build content heat maps
Sample request:
GET
http://wemicontext.name:8181/eventcollector/view?url=PAGE_URL&referr
er=REFERRER_URL (referrer isdifferentfor AJAX requests so we use the
document.referrer to build thisrequest)
APACHE UNOMI IN-DEPTH I 2nd October 201519
IMPERSONIFICATIONS (PERSONAS)
FOR WHEN YOU WISH YOUWERE SOMEONE ELSE
⎯ Persona definition make it
possible to “emulate” a certain type
of profile, e.g : US visitor, non-US
visitor, search engine bot, …
⎯ Predefined personas as well as
persona editing UIavailable
⎯ Jahia provides a side-panel UI to
view profile and session data for
both the current profile or switch
between available personas and
see immediate personalization
changes
APACHE UNOMI IN-DEPTH I 2nd October 201520
RULES
ONE SERVER TO RULE THEM ALL
⎯ Executed mostly on
event triggers
⎯ Use same conditions are
segments to match events
⎯ May perform a list of
actions (update profile,
session, send email)
APACHE UNOMI IN-DEPTH I 2nd October 201521
RULES, CONTINUED
ANOTHER RULE : YOUSHOULD LISTEN TO
THE SPEAKER INSTEAD OF READING THESE
⎯ Conditions evaluate to a boolean that will
determine if the actions of the rule will be
executed or not
⎯ Conditions may be complex, using operators
such as and/or for building sub-conditions
(condition tree)
⎯ Conditions and actions are either pre-defined
or may be extended using Unomi plugins
Structure:
when
conditions
then
actions
Example:
when
login event is received
then
merge profiles based on login id
APACHE UNOMI IN-DEPTH I 2nd October 201522
PROFILE MERGING
BECAUSE MERGING PEOPLE DIDN’T WORK WELL AS A TITLE
A single (physical) visitor may come to a website or web
service using differentdevicesor browsers
APACHE UNOMI IN-DEPTH I 2nd October 201523
PROFILE MERGING
BECAUSE MERGING PEOPLE DIDN’T WORK WELL AS A TITLE
Each visit will (initially) generate a separate profile ID
Upon visitor identication (usually after login), the current
profile will be merge with any existing profiles with the
same identifier
Tracking cookies will be modified to associated with the
identifier of the mergedprofile
Recognized visitors will therefore be trackedacross
devices,as the same profile instead of differentones
APACHE UNOMI IN-DEPTH I 2nd October 201524
PLUGINS
NOT THAT TYPE OF PLUG, COME ON
Custom conditions to be usedin segments or
rules
Custom actions to be used in rules
Custom session or profile property definitions
Resource bundles
Predefinedrules
Predefinedsegments
Predefinedscoring
PLUGINS MAY INCLUDEPlugins are OSGi bundles that may extend the
built-in functionality of the Context Server
APACHE UNOMI IN-DEPTH I 2nd October 201525
PLUGIN EXAMPLE
YEAH SOME MORE JSON !
MAIL ACTIONPLUGIN
⎯ Defines a new custom action : send an email
⎯ Provides a Java implementation of the action
⎯ Provides a JSON descriptor to declare the action
and it’s parameters to Unomi
⎯ Parameters will be used to build UI to edit the action
instance
{
"id":  "sendMailAction",
"actionExecutor":  "sendMail",
"tags":  [  "event"  ],
"parameters":  [
{
"id":  "from",
"type":  "string",
"multivalued":  false
},
{
"id":  "to",
"type":  "string",
"multivalued":  false
},
{
"id":  "cc",
"type":  "string",
"multivalued":  false
},
APACHE UNOMI IN-DEPTH I 2nd October 201526
PLUGIN EXAMPLE
YEAH SOME MORE JSON !
{
"id":  "bcc",
"type":  "string",
"multivalued":  false
},
{
"id":  "subject",
"type":  "string",
"multivalued":  false
},
{
"id":  "template",
"type":  "string",
"multivalued":  false,
"defaultValue":  "Hello  $profile.properties.("j:firstName")$  
$profile.properties.("j:lastName")$,nHoware  you  doing  today?"
}
]
}
APACHE UNOMI IN-DEPTH I 2nd October 201527
PERSISTENCE
SAVING THOSE PRECIOUS MOMENTS
⎯ Service Provider Interface
⎯ Default implementation : ElasticSearch
⎯ ElasticSearch providesout of the box :
⎯ NoSQL JSON document storage
⎯ Built-in scaling and clustering
⎯ Separate nodes for data storage
& query execution
⎯ Powerfulquery sub-system
⎯ Apache License
APACHE UNOMI IN-DEPTH I 2nd October 201528
REST API
EXPOSING OURSELVES TO THE OUTSIDE, CLEANLY
FUNCTIONALITIES
⎯ Implemented using Apache CXF
⎯ REST + JSON protocol (no SOAP or other
bindings to keepthings simple)
⎯ Exposes most ofUnomi’s built-in services
⎯ Protectedby Karaf container security
⎯ Will be standardized by OASIS Context
Server specification
⎯ Can be used to either built administration
UI or interface with third party systems
APACHE UNOMI IN-DEPTH I 2nd October 201529
PRIVACY SERVICE
YOU KNOW ME A BIT TOO MUCH ?
FUNCTIONALITIES
⎯ Server andeventdiscovery
⎯ Currentvisitor profile access
⎯ Retrieving and setting list of eventsto may
or may not be collectedfor currentprofile
⎯ Management of anonymous browsing,
including anonymous collection activation or
anonymizing ofpreviously collecteddata
⎯ Profile deletion
3RD PARTY UIS may be built to
give end-userscontrol over their data.
APACHE UNOMI IN-DEPTH I 2nd October 201530
ALGORITHMS
DISCOVERING (BAD) HABBITS AND BEHAVIORS
This is not yet
implementedin
Unomi…
The Context Server can also integrate “algorithms”, meaning that data can be
processed/mined to extract additional knowledge
APACHE UNOMI IN-DEPTH I 2nd October 201531
ALGORITHMS
OUR IDEAS
RECOMMENDATION ENGINE
SIMILARITY ENGINE
APACHE MAHOUT INTEGRATION
BIGDATA INTEGRATION
APACHE UNOMI IN-DEPTH I 2nd October 201532
ALGORITHMS, CONTINUED
EVEN BETTER TARGETING
Open source reference
implementation will also help
guarantee interoperability
Algorithms have the
potential to make it much
easier for integrators and
developers to provide
functionality to users of
Unomi
If/When OASISContext
Server specification includes
them, the potential for re-
usability between
implementation could be very
interesting
APACHE UNOMI IN-DEPTH I 2nd October 201533
CONNECTORS
NO MORE INAPPROPRIATE JOKES PLEASE
CUSTOM
CONDITIONS
maybe used to
perform dynamic
dataexchanges
uponincoming
events
can perform
calls toexternal
services
EXTERNAL
SERVICES
mayuse Unomi’s
publicURLs or
administrationURLs
to access REST
services (for
querying,reporting,
editing,etc)
EXTERNAL
SYSTEMS
maypushdatainto
Unomieither
throughevents
DIRECT
ACCESS
to ElasticSearch
is alsopossible
to directly
interface with
the persistence
system
CUSTOM
ACTIONS
APACHE UNOMI IN-DEPTH I 2nd October 201534
OASIS CONTEXT SERVERSTANDARD
AN OVERVIEW WITH LOTS OF COMPETITORS
Co-chairs
Serge Huber (myself)
Jahia
Thomas Sigdestad
Enonic
Established technical
committee in April 2015
APACHE UNOMI IN-DEPTH I 2nd October 201535
OASIS CONTEXT SERVERSTANDARD
MEMBER COMPANIES
APACHE UNOMI IN-DEPTH I 2nd October 201536
OASIS CONTEXT SERVERSTANDARD
GOOOOOOAAAAALLLLLSSSS !
PROVIDE ASTANDARD
§ A context server REST API
§ An associateddomainmodel
§ An opensource reference
implementation(ApacheUnomi)
APPROVED
Makesure thatthe
standardis basedonreal
needs of theindustry
DESIGNED FOR GREATNESS
Not onlyCMS-specific, designed
to integratewithas manytoolsas
possible(CRM,ERP, mobile
applications,…)
APACHE UNOMI IN-DEPTH I 2nd October 201537
OASIS CONTEXT SERVERSTANDARD
WORK ORGANIZATION AND STUFF DONE
https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cxs
Whole TCmeets once per month
2 workgroups meet once per week
CURRENT STATUSMEETINGS
⎯ Use case listing & discussions :
completion
⎯ Domain model definition :
undergoing
⎯ REST API : to be done
⎯ Formal specification : to be done
APACHE UNOMI IN-DEPTH I 2nd October 201538
INCUBATION PROPOSAL
WHO TO BLAME J
https://wiki.apache.org/incubator/UnomiProposal
Champion
Jean-Baptiste Onofré
Talend
Mentor
Bertrand Delacretaz
Adobe
Mentor
Roman Shaposchnik
Pivotal
Mentor
ChrisMattmann
NASA JPL
APACHE UNOMI IN-DEPTH I 2nd October 201539
CURRENT STATUS & NEXT STEPS
THE FORCE IS STRONG IN THIS ONE
1
2
3
PROPOSAL
to Apache incubator
VOTE
Open right now
ESTABLISH
Incubation project
4
5
6
MOVE CODEBASE
From Github to Apache
Git repository
GROW COMMUNITY
We need you!
WORK
On first projectrelease
APACHE UNOMI IN-DEPTH I 2nd October 201540
COMMERCIAL APPLICATIONS
COMPLETELY GRATUITOUS PLUG
Build your own !
It’s the beauty
of the Apache
License !
First (known) application
Jahia Marketing Factory
APACHE UNOMI IN-DEPTH I 2nd October 201541
TAKING SOME RISKS LIVE
DEMO
JAHIA MARKETING FACTORY + UNOMI
AN EXAMPLE APPLICATION
APACHE UNOMI IN-DEPTH I 2nd October 201542
YOUR TURN
HAVE YOU BEEN READING THESE ?
Q & A
APACHE UNOMI IN-DEPTH I 2nd October 201543
LEARN MORE
THANK YOUSO MUCHFOR YOUR ATTENTION !
Incubation proposal
https://wiki.apache.org/incubator/UnomiProposal
Unomi Github repository
https://github.com/Jahia/unomi
Jahia Marketing Factory
https://www.jahia.com/products/marketing-factory

More Related Content

What's hot

Introducing AWS DataSync - Simplify, automate, and accelerate online data tra...
Introducing AWS DataSync - Simplify, automate, and accelerate online data tra...Introducing AWS DataSync - Simplify, automate, and accelerate online data tra...
Introducing AWS DataSync - Simplify, automate, and accelerate online data tra...Amazon Web Services
 
SharePoint 2013 Document Management Features
SharePoint 2013 Document Management FeaturesSharePoint 2013 Document Management Features
SharePoint 2013 Document Management FeaturesThuan Ng
 
Automated Metadata Management in Data Lake – A CI/CD Driven Approach
Automated Metadata Management in Data Lake – A CI/CD Driven ApproachAutomated Metadata Management in Data Lake – A CI/CD Driven Approach
Automated Metadata Management in Data Lake – A CI/CD Driven ApproachDatabricks
 
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Amazon Web Services
 
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain Pipeline
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain PipelineThe Zen of DataOps – AWS Lake Formation and the Data Supply Chain Pipeline
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain PipelineAmazon Web Services
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksDatabricks
 
Amazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon EC2 Instances, Featuring Performance Optimisation Best PracticesAmazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon EC2 Instances, Featuring Performance Optimisation Best PracticesAmazon Web Services
 
What is SSL/TLS, 1-way and 2-way SSL?
What is SSL/TLS, 1-way and 2-way SSL?What is SSL/TLS, 1-way and 2-way SSL?
What is SSL/TLS, 1-way and 2-way SSL?pqrs1234
 
Google Vertex AI
Google Vertex AIGoogle Vertex AI
Google Vertex AIVikasBisoi
 
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...Amazon Web Services
 
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon Web Services
 
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...Amazon Web Services Korea
 
AWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveAWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveCobus Bernard
 
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarRunning Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarAmazon Web Services
 
Azure Data Explorer deep dive - review 04.2020
Azure Data Explorer deep dive - review 04.2020Azure Data Explorer deep dive - review 04.2020
Azure Data Explorer deep dive - review 04.2020Riccardo Zamana
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유Hyojun Jeon
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
Amazon S3 & Amazon Glacier - Object Storage Overview
Amazon S3 & Amazon Glacier - Object Storage OverviewAmazon S3 & Amazon Glacier - Object Storage Overview
Amazon S3 & Amazon Glacier - Object Storage OverviewAmazon Web Services
 

What's hot (20)

Introducing AWS DataSync - Simplify, automate, and accelerate online data tra...
Introducing AWS DataSync - Simplify, automate, and accelerate online data tra...Introducing AWS DataSync - Simplify, automate, and accelerate online data tra...
Introducing AWS DataSync - Simplify, automate, and accelerate online data tra...
 
SharePoint 2013 Document Management Features
SharePoint 2013 Document Management FeaturesSharePoint 2013 Document Management Features
SharePoint 2013 Document Management Features
 
Automated Metadata Management in Data Lake – A CI/CD Driven Approach
Automated Metadata Management in Data Lake – A CI/CD Driven ApproachAutomated Metadata Management in Data Lake – A CI/CD Driven Approach
Automated Metadata Management in Data Lake – A CI/CD Driven Approach
 
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
 
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain Pipeline
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain PipelineThe Zen of DataOps – AWS Lake Formation and the Data Supply Chain Pipeline
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain Pipeline
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
 
Amazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon EC2 Instances, Featuring Performance Optimisation Best PracticesAmazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon EC2 Instances, Featuring Performance Optimisation Best Practices
 
What is SSL/TLS, 1-way and 2-way SSL?
What is SSL/TLS, 1-way and 2-way SSL?What is SSL/TLS, 1-way and 2-way SSL?
What is SSL/TLS, 1-way and 2-way SSL?
 
Google Vertex AI
Google Vertex AIGoogle Vertex AI
Google Vertex AI
 
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
 
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
AWS 기반 지속 가능한 데이터 분석 플랫폼 구축하기 - 소성운, 지그재그 :: AWS Summit Seoul 2019
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best Practices
 
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
 
AWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveAWS Lake Formation Deep Dive
AWS Lake Formation Deep Dive
 
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarRunning Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
 
Microsoft SharePoint Syntex
Microsoft SharePoint SyntexMicrosoft SharePoint Syntex
Microsoft SharePoint Syntex
 
Azure Data Explorer deep dive - review 04.2020
Azure Data Explorer deep dive - review 04.2020Azure Data Explorer deep dive - review 04.2020
Azure Data Explorer deep dive - review 04.2020
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Amazon S3 & Amazon Glacier - Object Storage Overview
Amazon S3 & Amazon Glacier - Object Storage OverviewAmazon S3 & Amazon Glacier - Object Storage Overview
Amazon S3 & Amazon Glacier - Object Storage Overview
 

Viewers also liked

Introducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionIntroducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionSerge Huber
 
Jahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafJahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafSerge Huber
 
JahiaOne 2015- 360° with privacy - The Road to an Ethical WEM by Elie Auvray
JahiaOne 2015- 360° with privacy - The Road to an Ethical WEM by Elie AuvrayJahiaOne 2015- 360° with privacy - The Road to an Ethical WEM by Elie Auvray
JahiaOne 2015- 360° with privacy - The Road to an Ethical WEM by Elie AuvrayJahia Solutions Group
 
JahiaOne 2015 - Building high-performance user experiences with Digital Factory
JahiaOne 2015 - Building high-performance user experiences with Digital FactoryJahiaOne 2015 - Building high-performance user experiences with Digital Factory
JahiaOne 2015 - Building high-performance user experiences with Digital FactoryJahia Solutions Group
 
Apache REEF - stdlib for big data
Apache REEF - stdlib for big dataApache REEF - stdlib for big data
Apache REEF - stdlib for big dataSergiy Matusevych
 

Viewers also liked (6)

Introducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionIntroducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 Session
 
Jahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafJahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karaf
 
JahiaOne 2015- 360° with privacy - The Road to an Ethical WEM by Elie Auvray
JahiaOne 2015- 360° with privacy - The Road to an Ethical WEM by Elie AuvrayJahiaOne 2015- 360° with privacy - The Road to an Ethical WEM by Elie Auvray
JahiaOne 2015- 360° with privacy - The Road to an Ethical WEM by Elie Auvray
 
JahiaOne 2015 - Building high-performance user experiences with Digital Factory
JahiaOne 2015 - Building high-performance user experiences with Digital FactoryJahiaOne 2015 - Building high-performance user experiences with Digital Factory
JahiaOne 2015 - Building high-performance user experiences with Digital Factory
 
Apache REEF - stdlib for big data
Apache REEF - stdlib for big dataApache REEF - stdlib for big data
Apache REEF - stdlib for big data
 
Giraph+Gora in ApacheCon14
Giraph+Gora in ApacheCon14Giraph+Gora in ApacheCon14
Giraph+Gora in ApacheCon14
 

Similar to Apache Unomi In Depth - ApacheCon EU 2015 Session

Prototyping applications with heroku and elasticsearch
 Prototyping applications with heroku and elasticsearch Prototyping applications with heroku and elasticsearch
Prototyping applications with heroku and elasticsearchprotofy
 
SnowCamp 2016 - Apache Unomi Introduction
SnowCamp 2016 - Apache Unomi IntroductionSnowCamp 2016 - Apache Unomi Introduction
SnowCamp 2016 - Apache Unomi IntroductionChristophe Laprun
 
AWS Cyber Security Best Practices
AWS Cyber Security Best PracticesAWS Cyber Security Best Practices
AWS Cyber Security Best PracticesDoiT International
 
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...James Gallagher
 
Introduction to 2FA on AWS
Introduction to 2FA on AWSIntroduction to 2FA on AWS
Introduction to 2FA on AWSOlinData
 
Cloud Native Identity with SPIFFE
Cloud Native Identity with SPIFFECloud Native Identity with SPIFFE
Cloud Native Identity with SPIFFEPrabath Siriwardena
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB
 
AnDevCon - Tracking User Behavior Creatively
AnDevCon - Tracking User Behavior CreativelyAnDevCon - Tracking User Behavior Creatively
AnDevCon - Tracking User Behavior CreativelyKiana Tennyson
 
Zalando - The Big Switch - ForgeRock Identity Summit 2015
Zalando - The Big Switch - ForgeRock Identity Summit 2015Zalando - The Big Switch - ForgeRock Identity Summit 2015
Zalando - The Big Switch - ForgeRock Identity Summit 2015Jan Löffler
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
Saving Time And Effort With QuickBase Api - Sergio Haro
Saving Time And Effort With QuickBase Api - Sergio HaroSaving Time And Effort With QuickBase Api - Sergio Haro
Saving Time And Effort With QuickBase Api - Sergio HaroQuickBase, Inc.
 
UserCentric Identity based Service Invocation
UserCentric Identity based Service InvocationUserCentric Identity based Service Invocation
UserCentric Identity based Service Invocationguestd5dde6
 
Integrating Your Site With Internet Explorer 8
Integrating Your Site With Internet Explorer 8Integrating Your Site With Internet Explorer 8
Integrating Your Site With Internet Explorer 8goodfriday
 
Php & Web Security - PHPXperts 2009
Php & Web Security - PHPXperts 2009Php & Web Security - PHPXperts 2009
Php & Web Security - PHPXperts 2009mirahman
 
Externalizing Authorization in Micro Services world
Externalizing Authorization in Micro Services worldExternalizing Authorization in Micro Services world
Externalizing Authorization in Micro Services worldSitaraman Lakshminarayanan
 
Cloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and OpsCloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and OpsChris DeLashmutt
 

Similar to Apache Unomi In Depth - ApacheCon EU 2015 Session (20)

Prototyping applications with heroku and elasticsearch
 Prototyping applications with heroku and elasticsearch Prototyping applications with heroku and elasticsearch
Prototyping applications with heroku and elasticsearch
 
SnowCamp 2016 - Apache Unomi Introduction
SnowCamp 2016 - Apache Unomi IntroductionSnowCamp 2016 - Apache Unomi Introduction
SnowCamp 2016 - Apache Unomi Introduction
 
2023-May.pptx
2023-May.pptx2023-May.pptx
2023-May.pptx
 
AWS Cyber Security Best Practices
AWS Cyber Security Best PracticesAWS Cyber Security Best Practices
AWS Cyber Security Best Practices
 
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
 
Introduction to 2FA on AWS
Introduction to 2FA on AWSIntroduction to 2FA on AWS
Introduction to 2FA on AWS
 
Cloud Native Identity with SPIFFE
Cloud Native Identity with SPIFFECloud Native Identity with SPIFFE
Cloud Native Identity with SPIFFE
 
SEA Open Hack - YAP
SEA Open Hack - YAPSEA Open Hack - YAP
SEA Open Hack - YAP
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day One
 
AnDevCon - Tracking User Behavior Creatively
AnDevCon - Tracking User Behavior CreativelyAnDevCon - Tracking User Behavior Creatively
AnDevCon - Tracking User Behavior Creatively
 
Zalando - The Big Switch - ForgeRock Identity Summit 2015
Zalando - The Big Switch - ForgeRock Identity Summit 2015Zalando - The Big Switch - ForgeRock Identity Summit 2015
Zalando - The Big Switch - ForgeRock Identity Summit 2015
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
Saving Time And Effort With QuickBase Api - Sergio Haro
Saving Time And Effort With QuickBase Api - Sergio HaroSaving Time And Effort With QuickBase Api - Sergio Haro
Saving Time And Effort With QuickBase Api - Sergio Haro
 
UserCentric Identity based Service Invocation
UserCentric Identity based Service InvocationUserCentric Identity based Service Invocation
UserCentric Identity based Service Invocation
 
Integrating Your Site With Internet Explorer 8
Integrating Your Site With Internet Explorer 8Integrating Your Site With Internet Explorer 8
Integrating Your Site With Internet Explorer 8
 
Starwest 2008
Starwest 2008Starwest 2008
Starwest 2008
 
Php & Web Security - PHPXperts 2009
Php & Web Security - PHPXperts 2009Php & Web Security - PHPXperts 2009
Php & Web Security - PHPXperts 2009
 
Externalizing Authorization in Micro Services world
Externalizing Authorization in Micro Services worldExternalizing Authorization in Micro Services world
Externalizing Authorization in Micro Services world
 
Cloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and OpsCloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and Ops
 

More from Serge Huber

ApacheCon NA 2019 : Customer segmentation and personalization using apache unomi
ApacheCon NA 2019 : Customer segmentation and personalization using apache unomiApacheCon NA 2019 : Customer segmentation and personalization using apache unomi
ApacheCon NA 2019 : Customer segmentation and personalization using apache unomiSerge Huber
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL IntroductionSerge Huber
 
Introducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerIntroducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerSerge Huber
 
DEVOXX FR 2016 We're Watching You (Apache Unomi)
DEVOXX FR 2016 We're Watching You (Apache Unomi)DEVOXX FR 2016 We're Watching You (Apache Unomi)
DEVOXX FR 2016 We're Watching You (Apache Unomi)Serge Huber
 
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...Serge Huber
 
Webinar Présentation jahia en collaboration avec Developpez.com
Webinar Présentation jahia en collaboration avec Developpez.comWebinar Présentation jahia en collaboration avec Developpez.com
Webinar Présentation jahia en collaboration avec Developpez.comSerge Huber
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutesSerge Huber
 
Portets to composite applications
Portets to composite applicationsPortets to composite applications
Portets to composite applicationsSerge Huber
 

More from Serge Huber (8)

ApacheCon NA 2019 : Customer segmentation and personalization using apache unomi
ApacheCon NA 2019 : Customer segmentation and personalization using apache unomiApacheCon NA 2019 : Customer segmentation and personalization using apache unomi
ApacheCon NA 2019 : Customer segmentation and personalization using apache unomi
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
 
Introducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerIntroducing the Jahia Log Analyzer
Introducing the Jahia Log Analyzer
 
DEVOXX FR 2016 We're Watching You (Apache Unomi)
DEVOXX FR 2016 We're Watching You (Apache Unomi)DEVOXX FR 2016 We're Watching You (Apache Unomi)
DEVOXX FR 2016 We're Watching You (Apache Unomi)
 
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
 
Webinar Présentation jahia en collaboration avec Developpez.com
Webinar Présentation jahia en collaboration avec Developpez.comWebinar Présentation jahia en collaboration avec Developpez.com
Webinar Présentation jahia en collaboration avec Developpez.com
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutes
 
Portets to composite applications
Portets to composite applicationsPortets to composite applications
Portets to composite applications
 

Recently uploaded

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Recently uploaded (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

Apache Unomi In Depth - ApacheCon EU 2015 Session

  • 1. APACHE UNOMI IN-DEPTH I 2nd October 20151 APACHE UNOMI IN-DEPTH SERGE HUBER, CTO & Co-founder, shuber@jahia.com
  • 2. APACHE UNOMI IN-DEPTH I 2nd October 20152 HISTORY NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
  • 3. APACHE UNOMI IN-DEPTH I 2nd October 20153 HISTORY NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
  • 4. APACHE UNOMI IN-DEPTH I 2nd October 20154 HISTORY NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
  • 5. APACHE UNOMI IN-DEPTH I 2nd October 20155 HISTORY NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
  • 6. APACHE UNOMI IN-DEPTH I 2nd October 20156 HISTORY NOT SO LONG AGO, IN A GALAXY NOT SO FAR AWAY…
  • 7. APACHE UNOMI IN-DEPTH I 2nd October 20157 INTRODUCING UNOMI YOU KNOW ME ? WHAT IS UNOMI?
  • 8. APACHE UNOMI IN-DEPTH I 2nd October 20158 TARGETED FUNCTIONALITIES MARKETING TO MARKETERS UNOMI User tracking Event tracking Goal tracking, scoring Segmentation Form Input tracking Download tracking Impersonification (personas) A/B testing Profile (visitor,contact,leads) management and export Reporting Privacy management
  • 9. APACHE UNOMI IN-DEPTH I 2nd October 20159 ARCHITECTURE DESIGN GOALS FROM LESSONS LEARNED THE HARD WAY 1 2 3 Avoid putting additional load on the WCMnodes Highly scalable (avoiding node cross-talk) Make it easy for users to define and use marketing segments 4 5 6 Integration with existing analytics Integration with multiple systems including mobile apps, not just WCM Highly pluggable architecture, making it easy to extend and build differentsolutions based on a common core
  • 10. APACHE UNOMI IN-DEPTH I 2nd October 201510 SCALING ARCHITECTURE THROWING MORE SERVERS AT THE PROBLEM CONTEXT SERVER CMS Issue trackingCRMSocial
  • 11. APACHE UNOMI IN-DEPTH I 2nd October 201511 INPUT/OUTPUT RULES ACTIONS Protocols HTTP REST + JSON SEGMENTSEVENTS CONTEXT CONDITIONS PROFILES MUST REFRAIN… NO JOKES ON I/O CONTEXT SERVER
  • 12. APACHE UNOMI IN-DEPTH I 2nd October 201512 REQUEST FLOW HEY LOOKI HAVE ARROWS Load HTML page Load HTML +JS to connectContextServer Load context.js Context for currentrequest (Optional)Load contentbased on context (Optional)Send event such as login / hover BROWSER CMS CONTEXT SERVER JS callbacks
  • 13. APACHE UNOMI IN-DEPTH I 2nd October 201513 CONTEXT EXAMPLE digitalData = { "loaded": true, "user": [{ "profiles": [{ "profileInfo": { "profileId": "d6454520-f2b6-40b7-829c-d17214f209d1”, "firstName": "Serge", "lastName": "Huber”, "userName": "Serge Huber", "email": "bhillou@yahoo.com", "gender": "male”, "itemClass": "org.oasis_open.context.server.api.User", "segments": ["alwaysTrue", "maleGender"] } }] }]}; FOR THE JSON ADDICTS LIKE ME
  • 14. APACHE UNOMI IN-DEPTH I 2nd October 201514 UNOMI ARCHITECTURE LOTS OF BOXES APACHEKARAF PERSISTENCE IMPLEMENTATION(ELASTICSEARCH, …) PERSISTENCE SPI(SERVICE PROVIDER INTERFACE) APACHE CXF REST API OSGISERVICES
  • 15. APACHE UNOMI IN-DEPTH I 2nd October 201515 UNOMI SERVICES STUFF THAT ACTUALLY DOES STUFF PROFILES Managesprofilesandpersonas (loading,updating,saving, deleting,merging, …) PRIVACY Managesprivacy (anonymous browsing,event filtering,profile deletion) QUERIES Performs queries againstthe stored data(events,profiles,…) SEGMENTS Managessegments(definitions, loading,saving,scoring) DEFINITIONS Managespropertytypes, conditiontypes,actionstypes, tags andother metadata CLUSTERING Managesthe clusterof context servers
  • 16. APACHE UNOMI IN-DEPTH I 2nd October 201516 VISITOR PROFILES YOU KNOW ME, I GET IT ! A profile is createdas soon as a visitor arriveson a site Trackedby navigator cookies Populated through events, such as page views,CMS login, Social login, mobile action, beacon detectedor form submissions Sessions are tracked for each profile,history of navigation is accessible too.
  • 17. APACHE UNOMI IN-DEPTH I 2nd October 201517 SEGMENTS I’M A PERSON NOT A SEGMENT Built through simple UI Conditions match user profile properties Potentially complex assembly of conditions Example Profilesyounger than 25 and have an incomeof more than USD 100’000 (young rich segment)
  • 18. APACHE UNOMI IN-DEPTH I 2nd October 201518 EVENTS I DID WHAT WHEN ? Client or server-side eventscanbe sent to the context server,intheory in very high volume The context server willprocessthe eventsusing plugins, either synchronously or asynchronously (for example using an Apache Mahout BigData analysis cluster) Example: login eventsends additional user data, page vieweventused to build user or general analytics, mouse over eventcan be used to build content heat maps Sample request:
GET http://wemicontext.name:8181/eventcollector/view?url=PAGE_URL&referr er=REFERRER_URL (referrer isdifferentfor AJAX requests so we use the document.referrer to build thisrequest)
  • 19. APACHE UNOMI IN-DEPTH I 2nd October 201519 IMPERSONIFICATIONS (PERSONAS) FOR WHEN YOU WISH YOUWERE SOMEONE ELSE ⎯ Persona definition make it possible to “emulate” a certain type of profile, e.g : US visitor, non-US visitor, search engine bot, … ⎯ Predefined personas as well as persona editing UIavailable ⎯ Jahia provides a side-panel UI to view profile and session data for both the current profile or switch between available personas and see immediate personalization changes
  • 20. APACHE UNOMI IN-DEPTH I 2nd October 201520 RULES ONE SERVER TO RULE THEM ALL ⎯ Executed mostly on event triggers ⎯ Use same conditions are segments to match events ⎯ May perform a list of actions (update profile, session, send email)
  • 21. APACHE UNOMI IN-DEPTH I 2nd October 201521 RULES, CONTINUED ANOTHER RULE : YOUSHOULD LISTEN TO THE SPEAKER INSTEAD OF READING THESE ⎯ Conditions evaluate to a boolean that will determine if the actions of the rule will be executed or not ⎯ Conditions may be complex, using operators such as and/or for building sub-conditions (condition tree) ⎯ Conditions and actions are either pre-defined or may be extended using Unomi plugins Structure: when conditions then actions Example: when login event is received then merge profiles based on login id
  • 22. APACHE UNOMI IN-DEPTH I 2nd October 201522 PROFILE MERGING BECAUSE MERGING PEOPLE DIDN’T WORK WELL AS A TITLE A single (physical) visitor may come to a website or web service using differentdevicesor browsers
  • 23. APACHE UNOMI IN-DEPTH I 2nd October 201523 PROFILE MERGING BECAUSE MERGING PEOPLE DIDN’T WORK WELL AS A TITLE Each visit will (initially) generate a separate profile ID Upon visitor identication (usually after login), the current profile will be merge with any existing profiles with the same identifier Tracking cookies will be modified to associated with the identifier of the mergedprofile Recognized visitors will therefore be trackedacross devices,as the same profile instead of differentones
  • 24. APACHE UNOMI IN-DEPTH I 2nd October 201524 PLUGINS NOT THAT TYPE OF PLUG, COME ON Custom conditions to be usedin segments or rules Custom actions to be used in rules Custom session or profile property definitions Resource bundles Predefinedrules Predefinedsegments Predefinedscoring PLUGINS MAY INCLUDEPlugins are OSGi bundles that may extend the built-in functionality of the Context Server
  • 25. APACHE UNOMI IN-DEPTH I 2nd October 201525 PLUGIN EXAMPLE YEAH SOME MORE JSON ! MAIL ACTIONPLUGIN ⎯ Defines a new custom action : send an email ⎯ Provides a Java implementation of the action ⎯ Provides a JSON descriptor to declare the action and it’s parameters to Unomi ⎯ Parameters will be used to build UI to edit the action instance { "id":  "sendMailAction", "actionExecutor":  "sendMail", "tags":  [  "event"  ], "parameters":  [ { "id":  "from", "type":  "string", "multivalued":  false }, { "id":  "to", "type":  "string", "multivalued":  false }, { "id":  "cc", "type":  "string", "multivalued":  false },
  • 26. APACHE UNOMI IN-DEPTH I 2nd October 201526 PLUGIN EXAMPLE YEAH SOME MORE JSON ! { "id":  "bcc", "type":  "string", "multivalued":  false }, { "id":  "subject", "type":  "string", "multivalued":  false }, { "id":  "template", "type":  "string", "multivalued":  false, "defaultValue":  "Hello  $profile.properties.("j:firstName")$   $profile.properties.("j:lastName")$,nHoware  you  doing  today?" } ] }
  • 27. APACHE UNOMI IN-DEPTH I 2nd October 201527 PERSISTENCE SAVING THOSE PRECIOUS MOMENTS ⎯ Service Provider Interface ⎯ Default implementation : ElasticSearch ⎯ ElasticSearch providesout of the box : ⎯ NoSQL JSON document storage ⎯ Built-in scaling and clustering ⎯ Separate nodes for data storage & query execution ⎯ Powerfulquery sub-system ⎯ Apache License
  • 28. APACHE UNOMI IN-DEPTH I 2nd October 201528 REST API EXPOSING OURSELVES TO THE OUTSIDE, CLEANLY FUNCTIONALITIES ⎯ Implemented using Apache CXF ⎯ REST + JSON protocol (no SOAP or other bindings to keepthings simple) ⎯ Exposes most ofUnomi’s built-in services ⎯ Protectedby Karaf container security ⎯ Will be standardized by OASIS Context Server specification ⎯ Can be used to either built administration UI or interface with third party systems
  • 29. APACHE UNOMI IN-DEPTH I 2nd October 201529 PRIVACY SERVICE YOU KNOW ME A BIT TOO MUCH ? FUNCTIONALITIES ⎯ Server andeventdiscovery ⎯ Currentvisitor profile access ⎯ Retrieving and setting list of eventsto may or may not be collectedfor currentprofile ⎯ Management of anonymous browsing, including anonymous collection activation or anonymizing ofpreviously collecteddata ⎯ Profile deletion 3RD PARTY UIS may be built to give end-userscontrol over their data.
  • 30. APACHE UNOMI IN-DEPTH I 2nd October 201530 ALGORITHMS DISCOVERING (BAD) HABBITS AND BEHAVIORS This is not yet implementedin Unomi… The Context Server can also integrate “algorithms”, meaning that data can be processed/mined to extract additional knowledge
  • 31. APACHE UNOMI IN-DEPTH I 2nd October 201531 ALGORITHMS OUR IDEAS RECOMMENDATION ENGINE SIMILARITY ENGINE APACHE MAHOUT INTEGRATION BIGDATA INTEGRATION
  • 32. APACHE UNOMI IN-DEPTH I 2nd October 201532 ALGORITHMS, CONTINUED EVEN BETTER TARGETING Open source reference implementation will also help guarantee interoperability Algorithms have the potential to make it much easier for integrators and developers to provide functionality to users of Unomi If/When OASISContext Server specification includes them, the potential for re- usability between implementation could be very interesting
  • 33. APACHE UNOMI IN-DEPTH I 2nd October 201533 CONNECTORS NO MORE INAPPROPRIATE JOKES PLEASE CUSTOM CONDITIONS maybe used to perform dynamic dataexchanges uponincoming events can perform calls toexternal services EXTERNAL SERVICES mayuse Unomi’s publicURLs or administrationURLs to access REST services (for querying,reporting, editing,etc) EXTERNAL SYSTEMS maypushdatainto Unomieither throughevents DIRECT ACCESS to ElasticSearch is alsopossible to directly interface with the persistence system CUSTOM ACTIONS
  • 34. APACHE UNOMI IN-DEPTH I 2nd October 201534 OASIS CONTEXT SERVERSTANDARD AN OVERVIEW WITH LOTS OF COMPETITORS Co-chairs Serge Huber (myself) Jahia Thomas Sigdestad Enonic Established technical committee in April 2015
  • 35. APACHE UNOMI IN-DEPTH I 2nd October 201535 OASIS CONTEXT SERVERSTANDARD MEMBER COMPANIES
  • 36. APACHE UNOMI IN-DEPTH I 2nd October 201536 OASIS CONTEXT SERVERSTANDARD GOOOOOOAAAAALLLLLSSSS ! PROVIDE ASTANDARD § A context server REST API § An associateddomainmodel § An opensource reference implementation(ApacheUnomi) APPROVED Makesure thatthe standardis basedonreal needs of theindustry DESIGNED FOR GREATNESS Not onlyCMS-specific, designed to integratewithas manytoolsas possible(CRM,ERP, mobile applications,…)
  • 37. APACHE UNOMI IN-DEPTH I 2nd October 201537 OASIS CONTEXT SERVERSTANDARD WORK ORGANIZATION AND STUFF DONE https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cxs Whole TCmeets once per month 2 workgroups meet once per week CURRENT STATUSMEETINGS ⎯ Use case listing & discussions : completion ⎯ Domain model definition : undergoing ⎯ REST API : to be done ⎯ Formal specification : to be done
  • 38. APACHE UNOMI IN-DEPTH I 2nd October 201538 INCUBATION PROPOSAL WHO TO BLAME J https://wiki.apache.org/incubator/UnomiProposal Champion Jean-Baptiste Onofré Talend Mentor Bertrand Delacretaz Adobe Mentor Roman Shaposchnik Pivotal Mentor ChrisMattmann NASA JPL
  • 39. APACHE UNOMI IN-DEPTH I 2nd October 201539 CURRENT STATUS & NEXT STEPS THE FORCE IS STRONG IN THIS ONE 1 2 3 PROPOSAL to Apache incubator VOTE Open right now ESTABLISH Incubation project 4 5 6 MOVE CODEBASE From Github to Apache Git repository GROW COMMUNITY We need you! WORK On first projectrelease
  • 40. APACHE UNOMI IN-DEPTH I 2nd October 201540 COMMERCIAL APPLICATIONS COMPLETELY GRATUITOUS PLUG Build your own ! It’s the beauty of the Apache License ! First (known) application Jahia Marketing Factory
  • 41. APACHE UNOMI IN-DEPTH I 2nd October 201541 TAKING SOME RISKS LIVE DEMO JAHIA MARKETING FACTORY + UNOMI AN EXAMPLE APPLICATION
  • 42. APACHE UNOMI IN-DEPTH I 2nd October 201542 YOUR TURN HAVE YOU BEEN READING THESE ? Q & A
  • 43. APACHE UNOMI IN-DEPTH I 2nd October 201543 LEARN MORE THANK YOUSO MUCHFOR YOUR ATTENTION ! Incubation proposal https://wiki.apache.org/incubator/UnomiProposal Unomi Github repository https://github.com/Jahia/unomi Jahia Marketing Factory https://www.jahia.com/products/marketing-factory