Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introducing Apache Unomi - JavaOne 2015 Session

1,058 views

Published on

These are the slides I used for my JavaOne 2015 session. In this presentation I introduce the new Apache Unomi project, as well as its possibilities for integrating with technologies such as content management systems, native mobile applications, beacons and digital signage. The demo featured an iOS native mobile application detecting in-store beacons and sending the tracking data to Apache Unomi. The digital signage was done using an Apple TV being updated with plugins hosted in Apache Unomi.

Published in: Technology
  • Be the first to comment

Introducing Apache Unomi - JavaOne 2015 Session

  1. 1. SERGE HUBER, CTO, SHUBER@JAHIA.COM INTRODUCING APACHE UNOMI 1
  2. 2. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 ABOUT ME ONLY NARCISSIST SLIDE 2 Co-founder & CTO of Jahia First time at JavaOne in 2001 Apache committer Coder at heart
  3. 3. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 INTRODUCING GET TO KNOW ME THE APACHE UNOMI CONTEXT SERVER 3
  4. 4. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 A FRONT-END FOR USER CENTRIC BIG DATA TECHNOLOGIES. “ ”WITH BUILT-IN DATA PRIVACY ONE WAY TO LOOK AT IT AKA USING VERY BIG FONTS 4
  5. 5. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 THE APPROACH WE ARE NOT ALONE 5 DATA PRIVACY The Context Server Standard Apache Unomi Reference Implementation Two trusted, solid and recognized communities
  6. 6. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 VITAL STANDARDIZATION PROJECT “ ”LAURENT LISCIA, CEO OF OASIS TESTIMONIALS I LOVE WHEN PEOPLE APPROVE 6
  7. 7. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 EXPECTATIONS VS REALITY DO YOU REALLY KNOW ME ? 7 EXPECTATIONS REALITY BI SALES SUPPORT @ REPORT CMS ANALYTICS CRM ID MA ?
  8. 8. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 CLEAN & OPEN ARCHITECTURE THE BIG PICTURE 8 + UNOMI CORE
 CXSID directory Segmentation Engine Events Tracking Engine RESTFUL API + DATA BACK-END FRONT-END + Apache BI SALES REPORT ANALYTICS CRM ID MA …
  9. 9. Introducing Apache Unomi - JavaOne 2015 - October 26th 20159 USE CASES REST API DOMAIN MODEL Still on-going, join now to make it easier to fit with your solutions CONTEXT SERVER SPECIFICATION JOIN US NOW
  10. 10. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 UNOMI FUNCTIONALITIES MORE THAN JUST KNOWING ME 10 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
  11. 11. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 UNOMI ARCHITECTURE VIEW FROM THE HILL 11 APACHE KARAF PERSISTENCE IMPLEMENTATION (ELASTICSEARCH, …) PERSISTENCE SPI (SERVICE PROVIDER INTERFACE) APACHE CXF REST API OSGI SERVICES
  12. 12. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 INPUT/OUTPUT TALKING TO OTHERS 12 RULES ACTIONS Protocols
 HTTP REST + JSON SEGMENTSEVENTS CONTEXT CONDITIONS PROFILES CONTEXT SERVER BIG DATA FRAMEWORKS
  13. 13. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 SCALABILITY FIGHTING BACK AT DENIAL OF SERVICES 13 CONTEXT SERVER CMS Issue trackingCRMSocial BIG DATA SYSTEMS
  14. 14. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 ONE IMPORTANT THING THE GOOD, THE BAD AND THE UGLY PRIVACY 14
  15. 15. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 THE BIG QUESTION EXPRESSED IN CODING 15 privacy != cloud ?
  16. 16. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 PRIVACY: DO IT ALL YOURSELF BECAUSE I’M ALWAYS RIGHT 16 Are you using recognized and safe standards? Can you trust your software? Is your 
 network secure? How do you protect against hackers? How do you give users control over their data? Can you trust your backups ? Mobile support?
  17. 17. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 PRIVACY : TRUSTING OTHERS WITH GREAT PRIVACY COMES GREAT RESPONSIBILITY 17 TRUST IS COMPLEX TRANSPARENCY ETHICS CONTROL SECURITY AUDITING ACCESS
  18. 18. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 YES, TRUST MATTERS EXAMPLES ARE TOO EASY TO FIND 18
  19. 19. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 A CONTRADICTION THIS COULD KEEP YOU UP AT NIGHT 19 privacy != marketing?
  20. 20. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 ONE EXAMPLE SHARING A LITTLE TOO MUCH… 20 ONE WEBSITE 66 EXTERNAL TRACKERS
  21. 21. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 DATA CONTROL LOSS SO MANY QUESTIONS 21 Customers DATA PRIVACY What data 
 is collected? How is the data used? Is opt-in 
 or opt-out available? Where is the data sent? How is the sent data used?
  22. 22. Workspace Factory Launch Presentation 1 24 August 201522 WHAT THEY REALLY DO MORE THAN WE THINK Collect data Send data to third parties Mine data Sell data analysis Some of this might be acceptable, but you need to know about it and have some control over it
  23. 23. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 UNOMI + OASIS CONTEXT SERVER NO UNILATERAL APPROACH HERE 23 OASIS Context Server Apache Unomi Others Transparency Yes Yes No REST API Yes Yes Yes Community Growing Growing ? SSL Planned Yes Some Open source Yes Yes No Free Yes Yes No Completed No No Yes Technology stack Any Java (OSGi) Any Vendor support Multiple Apache Community Yes Released 2016 Very soon Yes On-premise Yes Yes Mostly no Cloud Yes Yes Most OEM Available Yes Yes Probably not
  24. 24. Introducing Apache Unomi - JavaOne 2015 - October 26th 201524 23 APRIL 2014 12 JUNE 2015 23 SEPT 2015 5 OCT 2015 20 OCT 2015 APACHE STATUS I WANT IT ALL AND I WANT IT NOW INCUBATION ACCEPTED Incubation vote closed, 8 binding votes INCUBATOR PODLING Resources created INCUBATION PROPOSAL Submission as a new project UNOMI ANNOUNCED Unomi publicly announced at JahiaOne 2015 GITHUB INITIAL IMPORT Project got started directly under Apache License
  25. 25. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 COMMERCIAL APPLICATIONS MAKING MONEY WITH SOMETHING FREE 25 First (known) application: Build your own ! It’s the beauty 
 of the Apache License ! Angular UI built on top of Apache Unomi REST services
  26. 26. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 CURRENT TRENDS ISN’T SOMETHING MISSING? 26 Internet 
 of Things BigData ?
  27. 27. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 THE MISSING PIECE HEY LOOK WHAT I FOUND ! 27 User ContextInternet 
 of Things BigData
  28. 28. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 THE MISSING PIECE HEY LOOK WHAT I FOUND ! 28 User ContextInternet 
 of Things BigData Web browsers Mobile devices
  29. 29. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 THE MISSING PIECE HEY LOOK WHAT I FOUND ! 29 User ContextInternet 
 of Things Web browsers Mobile devices Apache Unomi
  30. 30. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 THE MISSING PIECE HEY LOOK WHAT I FOUND ! 30 User ContextInternet 
 of Things Web browsers Mobile devices Apache Unomi BigData
  31. 31. A IOT SHOPPING EXAMPLE AKA AVOIDING BACK INJURIES Workspace Factory Launch Presentation 1 24 August 201531 Improving shopping experience Reduce health care costs Brick-and-mortar to online digital transformation
  32. 32. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 BEACON POSITIONING PLANTING LITTLE WHITE BOXES 32 Great for indoor positioning
  33. 33. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 EXAMPLE SCENARIO CAN WE LOWER HEALTH COSTS AT THE SAME TIME ? 33 1 2 3 Enter shop Browse soda aisle Browse alcohol aisle Digital signage in alcohol aisle Remember: client has nothing in cart !
  34. 34. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 INTERNET OF THINGS LET’S TAKE SOME RISKS! UNOMI INTEGRATION DEMO 34
  35. 35. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 HOW IT WORKS I LOVE BEACON 35
  36. 36. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 HOW IT WORKS RELAYING SIGNALS 36 Unomi Context Server Content Server (Jahia Digital Factory) Push Notification service
  37. 37. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 DIGITAL SIGNAGE UPDATES WATCHING TV CAN PAY SOMETIMES 37 Unomi Context Server
  38. 38. Introducing Apache Unomi - JavaOne 2015 - October 26th 201538 OCTOBER 5th, 2015 Project start after ApacheCon 2015 return CODE, CODE, CODE Integration Apache Unomi with all IoT devices & servers OCTOBER 19th, 2015 Implementation completed OCTOBER 26th, 2015 Demonstration and presentation IMPLEMENTATION TIMELINE COME ON, GIVE ME ONE MORE WEEK!
  39. 39. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 IMPLEMENTATION START POINT Jahia Marketing Factory 1 2 3 1 2 3 Includes Apache Unomi YOU ALWAYS NEED A PLACE TO START Jahia Watcher Mobile App Integrated with Digital Factory, but no support for Unomi or beacons Jahia Digital Factory Content management system and main authentication 39
  40. 40. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 IMPLEMENTATION TASKS MY PRETTY TO-DO LIST 40 Convert code to Swift 2.0 iBeacon self-training Unomi native mobile integration tvOS self-training Unomi iBeacon plugin Unomi iOS push notification plugin Unomi Digital Signage plugin tvOS Digital Signage App New Context server settings screen Privacy mobile app screen
  41. 41. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 EXTENDING UNOMI THINKING OUTSIDE “OUT OF THE BOX” 41 iBeacon plugin iOS Push notification plugin Digital Signage plugin Apache Unomi Core Public REST API Admin REST API
  42. 42. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 BEACON UNOMI RULES YEAH I KNOW IT RULES 42 { "metadata" : { "id": "alcoholicBeveragesInterestIncrement", "name": "Increment profile interests in alcoholic beverages", "description" : "Increment profile interests in alcoholic beverages" }, "raiseEventOnlyOnceForSession":false, "condition" : { "type": "beaconInRangeEventCondition", "parameterValues": { "targetId" : "41692.37593" } }, "actions" : [ { "type": "incrementSpecifiedInterests", "parameterValues": { "interestsToIncrement" : { "alcoholicBeverages" : 1 } } } ] }
  43. 43. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 BEACON UNOMI RULES THAT LAST ONE WAS LAME 43 { "metadata" : { "id": "interestedInAcmeDrinks", "name": "Update digital signage and notify user interested in ACME drinks", "description" : "Update digital signage and notify user interested in ACME drinks" }, "condition" : { "parameterValues": { "subConditions":[ { "type": "profileInterestEventCondition", "parameterValues":{ "interestName":"alcoholicBeverages", "value":"10" } }, { "type": "profileInterestEventCondition", "parameterValues":{ "interestName":"nonAlcoholicBeverages", "value":"10" } } ], "operator" : "and" }, "type": "booleanCondition" }, "actions" : [ { "type": "setDigitalSignageProfile", "parameterValues": { } }, { "type": "sendNotification", "parameterValues": { } } ] }
  44. 44. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 TVOS CHALLENGES OTHERWISE IT WOULD JUST BE SO EASY 44 No web browser ! No push notifications ! Limited documentation No hardware to test on (only simulator) Still in beta
  45. 45. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 WHERE ? LINKS 45 http://incubator.apache.org/projects/unomi.html https://github.com/Jahia/unomi
  46. 46. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 WHERE? MORE LINKS 46 https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cxs jahia.com/products/marketing-factory
  47. 47. Introducing Apache Unomi - JavaOne 2015 - October 26th 2015 Q & A QUESTIONS & ANSWERS WAKE UP, IT’S YOUR TURN 47

×