SlideShare a Scribd company logo
1 of 41
Download to read offline
Apache Unomi: an introduction I SnowCamp 201611
APACHE UNOMI: AN INTRODUCTION
CHRISTOPHE LAPRUN, SENIOR SOFTWARE ENGINEER, JAHIA
@METACOSM
Apache Unomi: an introduction I SnowCamp 20162
Context, context, context!
MOTIVATION
Apache Unomi: an introduction I SnowCamp 20163
MORE DATA THAN EVER
BUT CAN YOU USE IT?
Mobile IoTWeb
(Big)Data
Profit?
Apache Unomi: an introduction I SnowCamp 201644
PROFIT?
SHOW ME THE MONEY!
For enterprises, it’s all about making sense of
the context
Information is
⎯
coming from lots of different sources
⎯
split in shards, each a facet of the real user
Information systems do not usually play well
together
Need to unify information streams and simplify
access and analysis to get actionable data
Apache Unomi: an introduction I SnowCamp 201655
THE OTHER SIDE OF THE COIN
HEADS OR TAILS?
The other side of the data equation is, of course,
users
User targeting often fails or, on the other end of
the spectrum, works too well (creep factor)
What do users want?
⎯
Targeted, appropriate, interesting content
when consented
⎯
Completely anonymity, sometimes
Apache Unomi: an introduction I SnowCamp 20166
TRUST ISSUES
It takes 20 years to build a
reputation and five minutes to ruin it.
- Warren Buffet
Apache Unomi: an introduction I SnowCamp 20167
This one’s just right!
GOLDILOCKS ZONE
User needsBusiness needs
Apache Unomi: an introduction I SnowCamp 201688
THE IDEA
WHAT IF?
Aggregate user information in a single context-
providing server
Provide a single entry point to unify context
management both for users and enterprises
Able to import / export data from other systems
Make it open & extensible and standardize it
Provide users with privacy controls
Apache Unomi: an introduction I SnowCamp 201699
INTRODUCING UNOMI
YOU KNOW ME?
A Java implementation of the context server
concept
Built on top of proven technologies for
scalability and ease of extension
Aimed at being the reference implementation of
the upcoming OASIS Context Server standard
Apache Unomi: an introduction I SnowCamp 2016
Unomi
10
UNOMI ARCHITECTURE
OVERVIEW
REST API
OSGi Services
Persistence SPI
Apache Karaf
Apache CXF
Elasticsearch
Plugins
Plugins
Plugins
Apache Unomi: an introduction I SnowCamp 201611
TARGETED FUNCTIONALITIES
A LITTLE FOR EVERYONE
UNOMI
User tracking
Event tracking
Goal tracking, scoring Segmentation Form
Input
tracking
Download
tracking
Impersonation
(personas)
A/B testing
Profile
(visitor,contact,leads)
management and export
Reporting
Privacy
management
Apache Unomi: an introduction I SnowCamp 201612
ARCHITECTURE DESIGN GOALS
FROM LESSONS LEARNED THE HARD WAY
1
2
3
Avoid putting additional
load on client nodes
Highly scalable
(avoid node cross-talk)
Make it easy for clients to
create UIs to define and
use collected data
4
5
6
Integrate with existing
systems
Capable of driving external
systems if needed
Make it easy to extend core
functionality via plugins
Apache Unomi: an introduction I SnowCamp 201613
SCALING ARCHITECTURE
THROWING MORE SERVERS AT THE PROBLEM
Unomi CMS
Issue
trackingCRMSocial
Apache Unomi: an introduction I SnowCamp 201614
INTERACTION WITH UNOMI
RULES
ACTIONS
SEGMENTS
EVENTS
CONTEXT
CONDITIONS
PROFILES
TYPICALLY…
UNOMI
REST
API
Apache Unomi: an introduction I SnowCamp 201615
EXAMPLE CONTEXT
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"]
}
}]
}]};
LEVERAGING CUSTOMER EXPERIENCE DIGITAL DATA LAYER 1.0
Apache Unomi: an introduction I SnowCamp 201616
UNOMI SERVICES
STUFF THAT ACTUALLY DOES STUFF…
PROFILES
Manages profiles and personas
(loading, updating, saving,
deleting, merging, …)
PRIVACY
Manages privacy (anonymous
browsing, event filtering, profile
deletion)
QUERIES
Performs queries against the
stored data (events, profiles, …)
SEGMENTS
Manages segments (definitions,
loading, saving, scoring)
DEFINITIONS
Manages property types,
condition types, actions types,
tags and other metadata
CLUSTERING
Manages the cluster of 

context servers
Apache Unomi: an introduction I SnowCamp 201617
VISITOR PROFILES
PROFILING MADE EASY
A profile is created as soon
as a visitor arrives on a site
Populated through events,
such as page views, CMS login,
Social login, mobile action,
beacon detected or form
submissions
Sessions are tracked for each
profile, history of navigation
is accessible too.
Apache Unomi: an introduction I SnowCamp 201618
SEGMENTS
I’M A PERSON, NOT A SEGMENT
Designed
for easy
GUI
creation
Conditions
match user
profile
properties
Potentially
complex
assembly of
conditions
Example 

Profiles younger than 25
and have an income of
more than USD 100’000
(young rich segment)
Apache Unomi: an introduction I SnowCamp 20161919
EVENTS
I DID WHAT WHEN? REALLY?
Client or server-side events can be sent to
Unomi.
Events are processed natively or via plugins,
synchronously or asynchronously (e.g. using
Apache Mahout)
Apache Unomi: an introduction I SnowCamp 20162020
IMPERSONATION (PERSONAS)
FOR WHEN YOU WISH YOU WERE SOMEONE ELSE
Persona definitions make it possible to
“emulate” a certain type of profile, e.g : US
visitor, non-US visitor, search engine bot, …
Predefined personas but you can of course
define your own
Allows front-ends to create personalisation UIs
to quickly test changes based on persona
profiles
Apache Unomi: an introduction I SnowCamp 20162121
RULES
ONE SERVER TO RULE THEM ALL!
Conditions evaluate to a boolean that will
determine if the actions of the rule are executed
or not
Conditions may be complex, using Boolean
operators for building sub-conditions
Conditions and actions are either pre-defined or
defined as part of a Unomi plugin
WHEN conditions THEN actions
Apache Unomi: an introduction I SnowCamp 201622
PROFILE MERGING
BECAUSE MERGING PEOPLE IS CREEPY
A single (physical) visitor may come to a web site or web
service using different devices or browsers
Apache Unomi: an introduction I SnowCamp 201623
PROFILE MERGING
BECAUSE MERGING PEOPLE IS CREEPY
Each visit will (initially) generate a separate profile ID
Upon visitor identification (usually after login), the current
profile will be merged with any existing profiles with the
same identifier
Any tracking cookies will be modified to be associated with
the identifier of the merged profile
Recognized visitors will therefore be tracked across devices,
as the same profile instead of different ones
Apache Unomi: an introduction I SnowCamp 201624
PLUGINS
ROOM TO GROW, IN ALL THE RIGHT SPOTS
Custom conditions to be used in segments or
rules
Custom actions to be used in rules
Custom session or profile property definitions
Resource bundles
Predefined rules
Predefined segments
Predefined scoring
PLUGINS MAY INCLUDEPlugins are OSGi bundles that may extend the
built-in functionality of the Context Server
Apache Unomi: an introduction I SnowCamp 201625
PERSISTENCE
SAVING THOSE PRECIOUS MOMENTS
⎯
Service Provider Interface
⎯
Default implementation : Elasticsearch
⎯
Elasticsearch provides out of the box :
⎯ NoSQL JSON document storage
⎯ Built-in scaling and clustering
⎯ Separate nodes for data storage 

& query execution
⎯ Powerful query sub-system
⎯ Apache License
Apache Unomi: an introduction I SnowCamp 201626
REST API
EXPOSING OURSELVES TO THE OUTSIDE, CLEANLY
FUNCTIONALITIES
⎯
Implemented using Apache CXF
⎯
JSON binding to keep things simple
⎯
Exposes most of Unomi’s built-in services
⎯
Protected by 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: an introduction I SnowCamp 20162727
PRIVACY SERVICE
MAYBE, YOU KNOW ME A BIT TOO MUCH…
Server and event discovery
Current visitor profile access
Retrieving and setting list of events that may or
may not be collected for current profile
Management of anonymous browsing, including
anonymous collection activation or anonymizing
of previously collected data
Profile deletion
3rd PARTY UI
CREATION
OPPORTUNITY
Apache Unomi: an introduction I SnowCamp 20162828
ALGORITHMS
GAINING INSIGHTS ON COLLECTED DATA
Native support for “algorithms” to process/mine
data and extract additional knowledge is being
discussed
Would provide more functionality out of the box
If standardized, potential for re-usability
between implementation is intriguing
Open source reference implementation should
help interoperability
LET THE
COMMUNITY
DISCUSS AND
PROPOSE
Apache Unomi: an introduction I SnowCamp 201629
ALGORITHMS
OUR IDEAS
RECOMMENDATION ENGINE
SIMILARITY ENGINE
APACHE MAHOUT INTEGRATION
$BIG_DATA_FRAMEWORK
INTEGRATION
Apache Unomi: an introduction I SnowCamp 201630
CONNECTORS
EXTENSION POINTS
CUSTOM
CONDITIONS
may be used to
perform dynamic
data exchanges
upon incoming
events
can perform
calls to external
services
EXTERNAL
SERVICES
may use Unomi’s
public URLs or
administration URLs
to access REST
services (for
querying, reporting,
editing, etc)
EXTERNAL
SYSTEMS
may push data into
Unomi either
through events
DIRECT
ACCESS
to ElasticSearch
is also possible
to directly
interface with
the persistence
system
CUSTOM
ACTIONS
Apache Unomi: an introduction I SnowCamp 201631
A.K.A. CXS
OASIS CONTEXT SERVER STANDARD
Apache Unomi: an introduction I SnowCamp 201632
OASIS CONTEXT SERVER STANDARD
AN OVERVIEW WITH LOTS OF COMPETITORS
Co-chairs
Serge Huber
Jahia
Thomas Sigdestad
Enonic
Established technical
committee in April 2015
Apache Unomi: an introduction I SnowCamp 201633
OASIS CONTEXT SERVER STANDARD
MEMBER COMPANIES
YOU?
Apache Unomi: an introduction I SnowCamp 201634
OASIS CONTEXT SERVER STANDARD
GOOOOAAAAAAALLLLLLSSSSS!
PROVIDE A STANDARD
▪
A context server REST API
▪
An associated domain model
▪
An open source reference
implementation (Apache Unomi)
APPROVED
Make sure that the
standard is based on real
needs of the industry
DESIGNED FOR GREATNESS
Not only CMS-specific, designed
to integrate with as many tools as
possible (CRM, ERP, mobile
applications, …)
Apache Unomi: an introduction I SnowCamp 201635
OASIS CONTEXT SERVER STANDARD
WORK ORGANIZATION AND WORK DONE
https://www.oasis-open.org/committees/cxs/
PLEASE JOIN IF
YOU WANT TO
HELP
Whole TC meets 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: an introduction I SnowCamp 201636
Open-source to make it
your own
APACHE UNOMI
Apache Unomi: an introduction I SnowCamp 201637
INCUBATOR
WHO TO BLAME! ☺
https://unomi.incubator.apache.org/
Champion
Jean-Baptiste Onofré
Talend
Mentor
Bertrand Delacretaz 

Adobe
Mentor (Retired)
Roman Shaposchnik
Pivotal
Mentor
Chris Mattmann
NASA JPL
Apache Unomi: an introduction I SnowCamp 201638
COMMERCIAL APPLICATIONS
COMPLETELY GRATUITOUS PLUG
Build your own !
It’s the beauty 

of the Apache
License !
First (known) application 

Jahia Marketing Factory
Apache Unomi: an introduction I SnowCamp 20163939
TAKING SOME RISKS, LIVE!
DEMO
JAHIA MARKETING FACTORY + UNOMI
AN EXAMPLE APPLICATION
Apache Unomi: an introduction I SnowCamp 201640
YOUR TURN
HAVE YOU BEEN READING THESE?
Q & A
Apache Unomi: an introduction I SnowCamp 201641
LEARN MORE
THANK YOU SO MUCH FOR YOUR ATTENTION!
OASIS CXS standard
https://www.oasis-open.org/committees/cxs/
Unomi incubator web site
http://unomi.incubator.apache.org/
Unomi git repository
https://git-wip-us.apache.org/repos/asf?p=incubator-
unomi.git
Jahia Marketing Factory
https://www.jahia.com/software/for-marketers/
marketing-factory

More Related Content

Similar to SnowCamp 2016 - Apache Unomi Introduction

ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
Jean-Sebastien Delfino
 
What is SAP API Management_.pdf
What is SAP API Management_.pdfWhat is SAP API Management_.pdf
What is SAP API Management_.pdf
BilawalAmeen
 

Similar to SnowCamp 2016 - Apache Unomi Introduction (20)

Apache Unomi In Depth - ApacheCon EU 2015 Session
Apache Unomi In Depth - ApacheCon EU 2015 SessionApache Unomi In Depth - ApacheCon EU 2015 Session
Apache Unomi In Depth - ApacheCon EU 2015 Session
 
Monitor OpenStack Environments from the bottom up and front to back
Monitor OpenStack Environments from the bottom up and front to backMonitor OpenStack Environments from the bottom up and front to back
Monitor OpenStack Environments from the bottom up and front to back
 
Whats New in OnCommand Insight
Whats New in OnCommand InsightWhats New in OnCommand Insight
Whats New in OnCommand Insight
 
Introducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionIntroducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 Session
 
Implementing Enterprise API Management in Oracle Cloud
Implementing Enterprise API Management in Oracle CloudImplementing Enterprise API Management in Oracle Cloud
Implementing Enterprise API Management in Oracle Cloud
 
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
 
API Proxy Auto Discovery
API Proxy Auto DiscoveryAPI Proxy Auto Discovery
API Proxy Auto Discovery
 
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developers
 
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle CloudUKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
 
Building a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe CrobakBuilding a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe Crobak
 
Cwin16 tls-partner-sas new-open_analytics_platform
Cwin16 tls-partner-sas new-open_analytics_platformCwin16 tls-partner-sas new-open_analytics_platform
Cwin16 tls-partner-sas new-open_analytics_platform
 
OpsStack--Integrated Operation Platform
OpsStack--Integrated Operation PlatformOpsStack--Integrated Operation Platform
OpsStack--Integrated Operation Platform
 
What is SAP API Management_.pdf
What is SAP API Management_.pdfWhat is SAP API Management_.pdf
What is SAP API Management_.pdf
 
Progressive web apps with Angular 2
Progressive web apps with Angular 2Progressive web apps with Angular 2
Progressive web apps with Angular 2
 
Cloud Delivery: The Path from Simple to Sophisticated
Cloud Delivery: The Path from Simple to SophisticatedCloud Delivery: The Path from Simple to Sophisticated
Cloud Delivery: The Path from Simple to Sophisticated
 
James Higginbotham - API Design
James Higginbotham - API DesignJames Higginbotham - API Design
James Higginbotham - API Design
 
APIs: the Glue of Cloud Computing
APIs: the Glue of Cloud ComputingAPIs: the Glue of Cloud Computing
APIs: the Glue of Cloud Computing
 
Planning Your Cloud Strategy
Planning Your Cloud StrategyPlanning Your Cloud Strategy
Planning Your Cloud Strategy
 
ApacheCon NA 2019 : Adding AI to customer segmentation using Apache Unomi and...
ApacheCon NA 2019 : Adding AI to customer segmentation using Apache Unomi and...ApacheCon NA 2019 : Adding AI to customer segmentation using Apache Unomi and...
ApacheCon NA 2019 : Adding AI to customer segmentation using Apache Unomi and...
 
Rock the activity stream api
Rock the activity stream api Rock the activity stream api
Rock the activity stream api
 

SnowCamp 2016 - Apache Unomi Introduction

  • 1. Apache Unomi: an introduction I SnowCamp 201611 APACHE UNOMI: AN INTRODUCTION CHRISTOPHE LAPRUN, SENIOR SOFTWARE ENGINEER, JAHIA @METACOSM
  • 2. Apache Unomi: an introduction I SnowCamp 20162 Context, context, context! MOTIVATION
  • 3. Apache Unomi: an introduction I SnowCamp 20163 MORE DATA THAN EVER BUT CAN YOU USE IT? Mobile IoTWeb (Big)Data Profit?
  • 4. Apache Unomi: an introduction I SnowCamp 201644 PROFIT? SHOW ME THE MONEY! For enterprises, it’s all about making sense of the context Information is ⎯ coming from lots of different sources ⎯ split in shards, each a facet of the real user Information systems do not usually play well together Need to unify information streams and simplify access and analysis to get actionable data
  • 5. Apache Unomi: an introduction I SnowCamp 201655 THE OTHER SIDE OF THE COIN HEADS OR TAILS? The other side of the data equation is, of course, users User targeting often fails or, on the other end of the spectrum, works too well (creep factor) What do users want? ⎯ Targeted, appropriate, interesting content when consented ⎯ Completely anonymity, sometimes
  • 6. Apache Unomi: an introduction I SnowCamp 20166 TRUST ISSUES It takes 20 years to build a reputation and five minutes to ruin it. - Warren Buffet
  • 7. Apache Unomi: an introduction I SnowCamp 20167 This one’s just right! GOLDILOCKS ZONE User needsBusiness needs
  • 8. Apache Unomi: an introduction I SnowCamp 201688 THE IDEA WHAT IF? Aggregate user information in a single context- providing server Provide a single entry point to unify context management both for users and enterprises Able to import / export data from other systems Make it open & extensible and standardize it Provide users with privacy controls
  • 9. Apache Unomi: an introduction I SnowCamp 201699 INTRODUCING UNOMI YOU KNOW ME? A Java implementation of the context server concept Built on top of proven technologies for scalability and ease of extension Aimed at being the reference implementation of the upcoming OASIS Context Server standard
  • 10. Apache Unomi: an introduction I SnowCamp 2016 Unomi 10 UNOMI ARCHITECTURE OVERVIEW REST API OSGi Services Persistence SPI Apache Karaf Apache CXF Elasticsearch Plugins Plugins Plugins
  • 11. Apache Unomi: an introduction I SnowCamp 201611 TARGETED FUNCTIONALITIES A LITTLE FOR EVERYONE UNOMI User tracking Event tracking Goal tracking, scoring Segmentation Form Input tracking Download tracking Impersonation (personas) A/B testing Profile (visitor,contact,leads) management and export Reporting Privacy management
  • 12. Apache Unomi: an introduction I SnowCamp 201612 ARCHITECTURE DESIGN GOALS FROM LESSONS LEARNED THE HARD WAY 1 2 3 Avoid putting additional load on client nodes Highly scalable (avoid node cross-talk) Make it easy for clients to create UIs to define and use collected data 4 5 6 Integrate with existing systems Capable of driving external systems if needed Make it easy to extend core functionality via plugins
  • 13. Apache Unomi: an introduction I SnowCamp 201613 SCALING ARCHITECTURE THROWING MORE SERVERS AT THE PROBLEM Unomi CMS Issue trackingCRMSocial
  • 14. Apache Unomi: an introduction I SnowCamp 201614 INTERACTION WITH UNOMI RULES ACTIONS SEGMENTS EVENTS CONTEXT CONDITIONS PROFILES TYPICALLY… UNOMI REST API
  • 15. Apache Unomi: an introduction I SnowCamp 201615 EXAMPLE CONTEXT 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"] } }] }]}; LEVERAGING CUSTOMER EXPERIENCE DIGITAL DATA LAYER 1.0
  • 16. Apache Unomi: an introduction I SnowCamp 201616 UNOMI SERVICES STUFF THAT ACTUALLY DOES STUFF… PROFILES Manages profiles and personas (loading, updating, saving, deleting, merging, …) PRIVACY Manages privacy (anonymous browsing, event filtering, profile deletion) QUERIES Performs queries against the stored data (events, profiles, …) SEGMENTS Manages segments (definitions, loading, saving, scoring) DEFINITIONS Manages property types, condition types, actions types, tags and other metadata CLUSTERING Manages the cluster of 
 context servers
  • 17. Apache Unomi: an introduction I SnowCamp 201617 VISITOR PROFILES PROFILING MADE EASY A profile is created as soon as a visitor arrives on a site Populated through events, such as page views, CMS login, Social login, mobile action, beacon detected or form submissions Sessions are tracked for each profile, history of navigation is accessible too.
  • 18. Apache Unomi: an introduction I SnowCamp 201618 SEGMENTS I’M A PERSON, NOT A SEGMENT Designed for easy GUI creation Conditions match user profile properties Potentially complex assembly of conditions Example 
 Profiles younger than 25 and have an income of more than USD 100’000 (young rich segment)
  • 19. Apache Unomi: an introduction I SnowCamp 20161919 EVENTS I DID WHAT WHEN? REALLY? Client or server-side events can be sent to Unomi. Events are processed natively or via plugins, synchronously or asynchronously (e.g. using Apache Mahout)
  • 20. Apache Unomi: an introduction I SnowCamp 20162020 IMPERSONATION (PERSONAS) FOR WHEN YOU WISH YOU WERE SOMEONE ELSE Persona definitions make it possible to “emulate” a certain type of profile, e.g : US visitor, non-US visitor, search engine bot, … Predefined personas but you can of course define your own Allows front-ends to create personalisation UIs to quickly test changes based on persona profiles
  • 21. Apache Unomi: an introduction I SnowCamp 20162121 RULES ONE SERVER TO RULE THEM ALL! Conditions evaluate to a boolean that will determine if the actions of the rule are executed or not Conditions may be complex, using Boolean operators for building sub-conditions Conditions and actions are either pre-defined or defined as part of a Unomi plugin WHEN conditions THEN actions
  • 22. Apache Unomi: an introduction I SnowCamp 201622 PROFILE MERGING BECAUSE MERGING PEOPLE IS CREEPY A single (physical) visitor may come to a web site or web service using different devices or browsers
  • 23. Apache Unomi: an introduction I SnowCamp 201623 PROFILE MERGING BECAUSE MERGING PEOPLE IS CREEPY Each visit will (initially) generate a separate profile ID Upon visitor identification (usually after login), the current profile will be merged with any existing profiles with the same identifier Any tracking cookies will be modified to be associated with the identifier of the merged profile Recognized visitors will therefore be tracked across devices, as the same profile instead of different ones
  • 24. Apache Unomi: an introduction I SnowCamp 201624 PLUGINS ROOM TO GROW, IN ALL THE RIGHT SPOTS Custom conditions to be used in segments or rules Custom actions to be used in rules Custom session or profile property definitions Resource bundles Predefined rules Predefined segments Predefined scoring PLUGINS MAY INCLUDEPlugins are OSGi bundles that may extend the built-in functionality of the Context Server
  • 25. Apache Unomi: an introduction I SnowCamp 201625 PERSISTENCE SAVING THOSE PRECIOUS MOMENTS ⎯ Service Provider Interface ⎯ Default implementation : Elasticsearch ⎯ Elasticsearch provides out of the box : ⎯ NoSQL JSON document storage ⎯ Built-in scaling and clustering ⎯ Separate nodes for data storage 
 & query execution ⎯ Powerful query sub-system ⎯ Apache License
  • 26. Apache Unomi: an introduction I SnowCamp 201626 REST API EXPOSING OURSELVES TO THE OUTSIDE, CLEANLY FUNCTIONALITIES ⎯ Implemented using Apache CXF ⎯ JSON binding to keep things simple ⎯ Exposes most of Unomi’s built-in services ⎯ Protected by 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
  • 27. Apache Unomi: an introduction I SnowCamp 20162727 PRIVACY SERVICE MAYBE, YOU KNOW ME A BIT TOO MUCH… Server and event discovery Current visitor profile access Retrieving and setting list of events that may or may not be collected for current profile Management of anonymous browsing, including anonymous collection activation or anonymizing of previously collected data Profile deletion 3rd PARTY UI CREATION OPPORTUNITY
  • 28. Apache Unomi: an introduction I SnowCamp 20162828 ALGORITHMS GAINING INSIGHTS ON COLLECTED DATA Native support for “algorithms” to process/mine data and extract additional knowledge is being discussed Would provide more functionality out of the box If standardized, potential for re-usability between implementation is intriguing Open source reference implementation should help interoperability LET THE COMMUNITY DISCUSS AND PROPOSE
  • 29. Apache Unomi: an introduction I SnowCamp 201629 ALGORITHMS OUR IDEAS RECOMMENDATION ENGINE SIMILARITY ENGINE APACHE MAHOUT INTEGRATION $BIG_DATA_FRAMEWORK INTEGRATION
  • 30. Apache Unomi: an introduction I SnowCamp 201630 CONNECTORS EXTENSION POINTS CUSTOM CONDITIONS may be used to perform dynamic data exchanges upon incoming events can perform calls to external services EXTERNAL SERVICES may use Unomi’s public URLs or administration URLs to access REST services (for querying, reporting, editing, etc) EXTERNAL SYSTEMS may push data into Unomi either through events DIRECT ACCESS to ElasticSearch is also possible to directly interface with the persistence system CUSTOM ACTIONS
  • 31. Apache Unomi: an introduction I SnowCamp 201631 A.K.A. CXS OASIS CONTEXT SERVER STANDARD
  • 32. Apache Unomi: an introduction I SnowCamp 201632 OASIS CONTEXT SERVER STANDARD AN OVERVIEW WITH LOTS OF COMPETITORS Co-chairs Serge Huber Jahia Thomas Sigdestad Enonic Established technical committee in April 2015
  • 33. Apache Unomi: an introduction I SnowCamp 201633 OASIS CONTEXT SERVER STANDARD MEMBER COMPANIES YOU?
  • 34. Apache Unomi: an introduction I SnowCamp 201634 OASIS CONTEXT SERVER STANDARD GOOOOAAAAAAALLLLLLSSSSS! PROVIDE A STANDARD ▪ A context server REST API ▪ An associated domain model ▪ An open source reference implementation (Apache Unomi) APPROVED Make sure that the standard is based on real needs of the industry DESIGNED FOR GREATNESS Not only CMS-specific, designed to integrate with as many tools as possible (CRM, ERP, mobile applications, …)
  • 35. Apache Unomi: an introduction I SnowCamp 201635 OASIS CONTEXT SERVER STANDARD WORK ORGANIZATION AND WORK DONE https://www.oasis-open.org/committees/cxs/ PLEASE JOIN IF YOU WANT TO HELP Whole TC meets 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
  • 36. Apache Unomi: an introduction I SnowCamp 201636 Open-source to make it your own APACHE UNOMI
  • 37. Apache Unomi: an introduction I SnowCamp 201637 INCUBATOR WHO TO BLAME! ☺ https://unomi.incubator.apache.org/ Champion Jean-Baptiste Onofré Talend Mentor Bertrand Delacretaz 
 Adobe Mentor (Retired) Roman Shaposchnik Pivotal Mentor Chris Mattmann NASA JPL
  • 38. Apache Unomi: an introduction I SnowCamp 201638 COMMERCIAL APPLICATIONS COMPLETELY GRATUITOUS PLUG Build your own ! It’s the beauty 
 of the Apache License ! First (known) application 
 Jahia Marketing Factory
  • 39. Apache Unomi: an introduction I SnowCamp 20163939 TAKING SOME RISKS, LIVE! DEMO JAHIA MARKETING FACTORY + UNOMI AN EXAMPLE APPLICATION
  • 40. Apache Unomi: an introduction I SnowCamp 201640 YOUR TURN HAVE YOU BEEN READING THESE? Q & A
  • 41. Apache Unomi: an introduction I SnowCamp 201641 LEARN MORE THANK YOU SO MUCH FOR YOUR ATTENTION! OASIS CXS standard https://www.oasis-open.org/committees/cxs/ Unomi incubator web site http://unomi.incubator.apache.org/ Unomi git repository https://git-wip-us.apache.org/repos/asf?p=incubator- unomi.git Jahia Marketing Factory https://www.jahia.com/software/for-marketers/ marketing-factory