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.

A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting GmbH)


Published on

OSGi Community Event 2018 Presentation by Jurgen Albert (Data In Motion Consulting GmbH)

Abstract: OSGi is often conceived as a tool to write efficient Java Applications for resource limited Devices or If resources are a real issue in complex applications. On the other hand Microservices became the buzzword of the cloud and is often implemented using Spring or other Programming languages. OSGi carries the concept of microservices in its core and is therefore much better suited to the task then most other approaches. This talk will show you how a service can be built with a real-worldish use case, leveraging the power of OSGi R7. It will show the combined usage of PushsStreams, the JaxRS Whiteboard, the configurator, remote deployment and a lot of the other cool things OSGi has to offer.

Published in: Technology
  • Be the first to comment

A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting GmbH)

  1. 1. A real world use case with OSGi R7 Jürgen Albert Data In Motion Consulting GmbH 1
  2. 2. About Us ● Founded in 2010 ● Located in Jena/Thuringia - Germany ● OSGi Contributing Associate Member ● OSGi / MDSD related company ● Consulting, Independent R&D, Development, Training, 2
  3. 3. The Customer - ● Radio Stream Aggregator and Podcast Platform ● 10 brands for 10 countries in 24 languages ● Over 40K Stations and Podcasts ● 7 Mio. Monthly Unique Users ● 27 Mio App Downloads ● Integrations in many platforms (Amazon FireTV, Echo, Google Home etc.) 3
  4. 4. History ● We developed a custom OSGi and Lucene based Backend providing search results and all kinds of lists ● Tomcat based monolith serves as API Gateway to the search backend ● currently migrates from the monolith to Microservice/Docker infrastructure 4
  5. 5. The Requirements ● has implementations for voice based devices like Amazon Echo or Google Home ● A special API is required ● The index needs to be smaller and much more specialized for search by voice ● Small 5
  6. 6. The Old Search Server ● Equinox ● Gyrex ● PDE with tycho Build ● EMF ● Lucene 4.8 ● Data In Motion Search Framework ● MongoDB 6
  7. 7. The new VUI Search ● VUI - Voice User Interface ● Felix with BND ● OSGi R7 ○ JaxRS Whiteboard ○ PushStreams ○ Configurator ● GeckoSearch based on Lucene 6.8 ● GeckoEMF ● MongoDB ● Docker 7
  8. 8. The new VUI Search 8
  9. 9. The new VUI Search Let’s see…. 9
  10. 10. Where can it lead? ● wants to use Backend for Frontents (BFF) ● A BFF is specialized API for a certain kind of client (Apps, Website etc.) ● A BFF consumes n services consuming and aggregating data provided by different docker containers ● Nobody is allowed to call a service directly 10
  11. 11. Where can it lead? Sounds familiar? 11
  12. 12. Do it yourself? ● Based on Projects (Working title) ● BND Workspace template: ● How-To Add: ● Gecko Repositories: 12
  13. 13. Questions? 13