SlideShare a Scribd company logo
Tutorial
               Dynamic Server Applications
                    with Eclipse RT

                                                                                    PHP                InternetOfThings                         Native                                         iPad App
                                                                                   WebApp                   Device                               App                                           Mobile Apps




                                                                                                                      LoadBalancer
                                                                                    REST        REST       REST        REST                REST          REST             REST              REST
                                                                                    API         API        API         API                 API           API              API               API

                                                                                 Gyrex      Gyrex      Gyrex      Gyrex                 Gyrex        Gyrex          Gyrex          Gyrex
                                                                                 Node       Node       Node       Node                  Node         Node           Node           Node




                                                                                                                ZK            ZK                  ZK            • coordinates the cluster
                                                                                                               Node          Node                Node           • Holds the complete
                                                                                                                                                                application- and cluster
                                                                                                                          ZK Clust er                           configuration
                                                                                data repositories




Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
The authors
         Gunnar Wagenknecht                                                               Andreas Mihm
         gunnar@wagenknecht.org                                                           andreas.mihm@ageto.net
         CTO                                                                              Head of Research
         AGETO, Germany                                                                   AGETO, Germany




                                                       Jochen Hiller
                                                       jo.hiller@googlemail.com
                                                       Developer Evangelist
                                                       Deutsche Telekom AG, Germany




Tutorial: Dynamic Server Applications with EclipseRT     Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
In this tutorial you will
     o LEARN what modern server applications need
       to feature

     o UNDERSTAND the usage of selected EclipseRT
       technologies

     o BUILD an EclipseRT server application based
       on Equinox and Eclipse Gyrex

     o SETUP a private cluster connecting all
       attendees
Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
Modern Server Application
                         Requirements
                                                                                                              Million
         o Support high traffic use cases                                                                transactions
                                                                                                            per hour

         o Support different frontend
           technologies and devices

         o modular in development and deployment

         o Easy to setup

         o Open for new technologies  easy to extend AND to
           shrink
            o e.g. persistence
Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
Eclipse RT
         “EclipseRT is the collection of OSGi-based runtimes and frameworks built
         by the Eclipse open source projects. “

                                   Containers, Middleware, EnterpriseFrameworks




Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
Equinox
       o reference implementation for OSGi spec

       o foundation of EclipseRT

       o component oriented development and assembly




Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
Eclipse jetty
     features
        o Asynchronous HTTP Server
        o Standard based Servlet Container
        o Web Sockets server
        o Asynchronous HTTP Client
        o OSGi, JNDI, JMX, JASPI, AJP support

     Small foot print allows large scaling

     Jetty runs in
        o Apache Hadoop
        o Google AppEngine




Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
EclipseLink
                               Comprehensive Java persistence solution
                         addressing relational, XML, and database web services.

                              Java SE             Java EE        OSGi               Spring               ADF


                                JPA                MOXy          EIS               SDO                   DBWS




                              EclipseLink



                            Databases                           XML Data                                 Legacy Systems




Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
GYREX
                 lightweight application stack for building server
                    applications using EclipseRT technologies.

      o built-in clustering

      o built-in web-based administration UI

      o built-in multi tenancy

      o enhancements for professional maintenance
            - centralized logging
            - cluster provisioning UI



Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
GYREX Components
                                                                     Logging                 Metrics                   RAP
                         Repositories
                  (JDBC, EclipseLink, NoSQL)                                 Debug/Trace                             Console

                                                                               Monitoring                            Admin
                      HTTP Applications
                   (Jetty, OSGi HttpService)
                                                                  Clustering & Coord.                    Configuration
                                                                      (ZooKeeper)                  (Eclipse Preferences API)


                                                                           Provisioning                      Processing
                                                                               (p2)                      (Eclipse Jobs API)

                        Contextual Runtime                                                      Cloud



                                                                    Equinox




Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
GYREX Infrastructure Setup
                                          For a High Traffic Application
                                            with different frontends

                     PHP                        InternetOfThings                     Native                                   iPad App
                    WebApp                           Device                           App                                     Mobile Apps




                                                                 LoadBalancer
                      REST             REST            REST          REST        REST           REST           REST       REST
                      API              API             API           API         API            API            API        API
                  Gyrex           Gyrex          Gyrex          Gyrex         Gyrex         Gyrex           Gyrex     Gyrex
                  Node            Node           Node           Node          Node          Node            Node      Node



        p2                                                 ZK            ZK             ZK            • coordinates the cluster
       repo                                               Node          Node           Node           • Holds the complete
                                                                                                      application- and cluster
                         data repositories              ZK Cluster
                                                                                                      configuration




Tutorial: Dynamic Server Applications with EclipseRT      Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
GYREX Features
  o light weight application stack                                            PHP
                                                                             WebApp
                                                                                                 InternetOfThings
                                                                                                      Device
                                                                                                                                         Native
                                                                                                                                          App
                                                                                                                                                                                     iPad App
                                                                                                                                                                                     Mobile Apps



  o fast 100% OSGi runtime
                                                                                                                LoadBalancer
                                                                               REST       REST       REST        REST                REST         REST           REST          REST


  o central cluster configuration
                                                                               API        API        API         API                 API          API            API           API
                                                                            Gyrex     Gyrex      Gyrex      Gyrex                Gyrex        Gyrex         Gyrex        Gyrex
                                                                            Node      Node       Node       Node                 Node         Node          Node         Node

    through zookeeper
                                                                                                          ZK                   ZK          ZK            • coordinates the cluster
                                                                                                         Node                 Node        Node           • Holds the complete
                                                                                                                                                         application- and cluster

  o cluster aware job scheduling
                                                                                                                 ZK Cluster
                                                                                                                                                         configuration
                                                                           data repositories




  o multi tenant application support

  o automated deployment through p2

  o support for cluster node roles, e.g. „job worker node“ and „api
    node“


Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
Excercises
      o Setup workspace and target platform

      o Simple OSGi Service implementation

      o JAXRS example application

      o Private cluster setup


Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
Setup Steps
      o Copy USB-stick content to local disk

      o Extract fresh Eclipse installation from archive

      o Copy samples folder into eclipse/dropins

      o Start Eclipse with new workspace

      o Open Java Perspective

      o Import targetplatform project
        (File->Import->Existing Projects)

      o Set LOCAL TargetPlatform
Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
For more information
      o http://www.eclipse.org/gyrex/

      o http://www.eclipse.org/equinox/

      o http://www.eclipse.org/rt/




Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
Give Feedback on the Sessions

             1                  Sign In: www.eclipsecon.org




             2                  Select Session Evaluate




             3                  Vote



Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
Thank You
                              for your attention



Tutorial: Dynamic Server Applications with EclipseRT   Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller

More Related Content

PDF
The Roadmap: Next Generation Qt
PDF
JAX 08 - Experiences using Equinox Aspects in a real-world Project
PDF
Multicore coming to a screen near you
PDF
[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe
PPTX
(java2days) Is the Future of Java Cloudy?
PDF
"Current and Planned Standards for Computer Vision and Machine Learning," a P...
PDF
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...
PDF
Виктор Ерухимов Open VX mixar moscow sept'15
The Roadmap: Next Generation Qt
JAX 08 - Experiences using Equinox Aspects in a real-world Project
Multicore coming to a screen near you
[03 1][gpu용 개발자 도구 - parallel nsight 및 axe] miller axe
(java2days) Is the Future of Java Cloudy?
"Current and Planned Standards for Computer Vision and Machine Learning," a P...
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...
Виктор Ерухимов Open VX mixar moscow sept'15

Viewers also liked (10)

PDF
Building Server-Side Eclipse based web applications
PPTX
Open Source programmieren und dafür Gehalt bekommen @ AGETO
PDF
Managing large and distributed Eclipse server applications.
PDF
Running a Succesful Open Source Project
PPTX
Developing Runtime Applications with Eclipse Gyrex
PDF
An Introduction to EclipseRT
PDF
Building Server-Side Eclipse based web applications 2010
PDF
Tasty Recipes for OSGi Bundles
PDF
A Scalable Stack for Modular Web Applications
PDF
Tips & Tricks for Maven Tycho
Building Server-Side Eclipse based web applications
Open Source programmieren und dafür Gehalt bekommen @ AGETO
Managing large and distributed Eclipse server applications.
Running a Succesful Open Source Project
Developing Runtime Applications with Eclipse Gyrex
An Introduction to EclipseRT
Building Server-Side Eclipse based web applications 2010
Tasty Recipes for OSGi Bundles
A Scalable Stack for Modular Web Applications
Tips & Tricks for Maven Tycho
Ad

Similar to Building Server Applications with EclipseRT (20)

PDF
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
PDF
10 reasons why Nuxeo is using GlassFish
PPT
2018 jk
PPTX
vFabric - Ideal Platform for SaaS Apps
PDF
GlassFish in the Virtual World
PDF
2009 Q2 WSO2 Technical Update
PDF
Azure Services Platform
PDF
Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...
PDF
eBay Architecture
PPTX
Windows Azure Java Eclipse Con Vijayr
KEY
Open World Forum 2012 : eXo & the Cloud
PDF
Engineered Systems: Oracle’s Vision for the Future
PPTX
Cloud foundry elastic architecture and deploy based on openstack
PDF
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
PDF
TDC 2011: OSGi-enabled Java EE Application
PDF
2011 04-dsi-javaee-in-the-cloud-andreadis
PDF
Understanding the WSO2 Platform and Technology
PDF
Mach Technology
PDF
System Integration
PDF
Spring into the Cloud - JDC2012 Cairo, Egypt
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
10 reasons why Nuxeo is using GlassFish
2018 jk
vFabric - Ideal Platform for SaaS Apps
GlassFish in the Virtual World
2009 Q2 WSO2 Technical Update
Azure Services Platform
Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...
eBay Architecture
Windows Azure Java Eclipse Con Vijayr
Open World Forum 2012 : eXo & the Cloud
Engineered Systems: Oracle’s Vision for the Future
Cloud foundry elastic architecture and deploy based on openstack
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
TDC 2011: OSGi-enabled Java EE Application
2011 04-dsi-javaee-in-the-cloud-andreadis
Understanding the WSO2 Platform and Technology
Mach Technology
System Integration
Spring into the Cloud - JDC2012 Cairo, Egypt
Ad

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Programs and apps: productivity, graphics, security and other tools
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Spectroscopy.pptx food analysis technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
Cloud computing and distributed systems.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
Teaching material agriculture food technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Diabetes mellitus diagnosis method based random forest with bat algorithm
Programs and apps: productivity, graphics, security and other tools
The AUB Centre for AI in Media Proposal.docx
Advanced methodologies resolving dimensionality complications for autism neur...
Spectral efficient network and resource selection model in 5G networks
Network Security Unit 5.pdf for BCA BBA.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Digital-Transformation-Roadmap-for-Companies.pptx
Assigned Numbers - 2025 - Bluetooth® Document
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectroscopy.pptx food analysis technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
cuic standard and advanced reporting.pdf
Cloud computing and distributed systems.
Chapter 3 Spatial Domain Image Processing.pdf
Teaching material agriculture food technology

Building Server Applications with EclipseRT

  • 1. Tutorial Dynamic Server Applications with Eclipse RT PHP InternetOfThings Native iPad App WebApp Device App Mobile Apps LoadBalancer REST REST REST REST REST REST REST REST API API API API API API API API Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Node Node Node Node Node Node Node Node ZK ZK ZK • coordinates the cluster Node Node Node • Holds the complete application- and cluster ZK Clust er configuration data repositories Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 2. The authors Gunnar Wagenknecht Andreas Mihm gunnar@wagenknecht.org andreas.mihm@ageto.net CTO Head of Research AGETO, Germany AGETO, Germany Jochen Hiller jo.hiller@googlemail.com Developer Evangelist Deutsche Telekom AG, Germany Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 3. In this tutorial you will o LEARN what modern server applications need to feature o UNDERSTAND the usage of selected EclipseRT technologies o BUILD an EclipseRT server application based on Equinox and Eclipse Gyrex o SETUP a private cluster connecting all attendees Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 4. Modern Server Application Requirements Million o Support high traffic use cases transactions per hour o Support different frontend technologies and devices o modular in development and deployment o Easy to setup o Open for new technologies  easy to extend AND to shrink o e.g. persistence Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 5. Eclipse RT “EclipseRT is the collection of OSGi-based runtimes and frameworks built by the Eclipse open source projects. “ Containers, Middleware, EnterpriseFrameworks Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 6. Equinox o reference implementation for OSGi spec o foundation of EclipseRT o component oriented development and assembly Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 7. Eclipse jetty features o Asynchronous HTTP Server o Standard based Servlet Container o Web Sockets server o Asynchronous HTTP Client o OSGi, JNDI, JMX, JASPI, AJP support Small foot print allows large scaling Jetty runs in o Apache Hadoop o Google AppEngine Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 8. EclipseLink Comprehensive Java persistence solution addressing relational, XML, and database web services. Java SE Java EE OSGi Spring ADF JPA MOXy EIS SDO DBWS EclipseLink Databases XML Data Legacy Systems Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 9. GYREX lightweight application stack for building server applications using EclipseRT technologies. o built-in clustering o built-in web-based administration UI o built-in multi tenancy o enhancements for professional maintenance - centralized logging - cluster provisioning UI Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 10. GYREX Components Logging Metrics RAP Repositories (JDBC, EclipseLink, NoSQL) Debug/Trace Console Monitoring Admin HTTP Applications (Jetty, OSGi HttpService) Clustering & Coord. Configuration (ZooKeeper) (Eclipse Preferences API) Provisioning Processing (p2) (Eclipse Jobs API) Contextual Runtime Cloud Equinox Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 11. GYREX Infrastructure Setup For a High Traffic Application with different frontends PHP InternetOfThings Native iPad App WebApp Device App Mobile Apps LoadBalancer REST REST REST REST REST REST REST REST API API API API API API API API Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Node Node Node Node Node Node Node Node p2 ZK ZK ZK • coordinates the cluster repo Node Node Node • Holds the complete application- and cluster data repositories ZK Cluster configuration Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 12. GYREX Features o light weight application stack PHP WebApp InternetOfThings Device Native App iPad App Mobile Apps o fast 100% OSGi runtime LoadBalancer REST REST REST REST REST REST REST REST o central cluster configuration API API API API API API API API Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Node Node Node Node Node Node Node Node through zookeeper ZK ZK ZK • coordinates the cluster Node Node Node • Holds the complete application- and cluster o cluster aware job scheduling ZK Cluster configuration data repositories o multi tenant application support o automated deployment through p2 o support for cluster node roles, e.g. „job worker node“ and „api node“ Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 13. Excercises o Setup workspace and target platform o Simple OSGi Service implementation o JAXRS example application o Private cluster setup Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 14. Setup Steps o Copy USB-stick content to local disk o Extract fresh Eclipse installation from archive o Copy samples folder into eclipse/dropins o Start Eclipse with new workspace o Open Java Perspective o Import targetplatform project (File->Import->Existing Projects) o Set LOCAL TargetPlatform Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 15. For more information o http://www.eclipse.org/gyrex/ o http://www.eclipse.org/equinox/ o http://www.eclipse.org/rt/ Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 16. Give Feedback on the Sessions 1 Sign In: www.eclipsecon.org 2 Select Session Evaluate 3 Vote Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller
  • 17. Thank You for your attention Tutorial: Dynamic Server Applications with EclipseRT Gunnar Wagenknecht, Andreas Mihm, Jochen Hiller