Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar...

15
Developing Cloud Applications with Eclipse Gyrex Gunnar Wagenknecht, @guw

Transcript of Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar...

Page 1: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Developing Cloud Applications with Eclipse Gyrex

Gunnar Wagenknecht, @guw

Page 2: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Topics

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

Page 3: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

oHigh traffic

oDifferent frontend technologies and devices

oModular in development and deployment

oEasy to setup and run

oOpen for new technologies o e.g. persistence

Million transactions per hour

Modern Server Applications

Page 4: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Eclipse Gyrex

A lightweight application stack for building server applications using

EclipseRT technologies.

Page 5: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

“EclipseRT is the collection of OSGi-based runtimes and frameworks built by the Eclipse open source projects. “

Containers, Middleware, EnterpriseFrameworks

EclipseRT (RT = Runtime)

Page 6: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Equinox

o OSGi reference implementation

o Foundation of EclipseRT

o Component Oriented Development and Assembly

Page 7: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Jetty

o Asynchronous HTTP Server and Client

o Standards based Servlet Container

o Web Sockets server

o OSGi, JNDI, JMX, JASPI, AJP support

o Small foot print

o Excellent scalability

o Runs in

• Apache Hadoop

• Google AppEngine

Page 8: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Comprehensive Java persistence solution addressing relational, XML, and database web services.

EclipseLink

DBWS

SDO

EIS

MOXy

JPA

XML Data Legacy Systems Databases

Java SE Java EE OSGi Spring ADF

EclipseLink

Page 9: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Gyrex

obuilt-in clustering

obuilt-in web-based administration UI

obuilt-in multi tenancy

oenhancements for professional maintenance

• centralized logging

• cluster provisioning UI

Page 10: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

o lightweight application stack

o fast 100% OSGi runtime

o central cluster configuration through Apache ZooKeeper

o cluster aware job scheduling

o automated deployment through p2

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

Gyrex Features

Page 11: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Admin

Contextual Runtime

Equinox

Cloud

Monitoring

Repositories (JDBC, EclipseLink, NoSQL)

HTTP Applications (Jetty, OSGi HttpService)

RAP Logging

Clustering & Coord. (ZooKeeper)

Provisioning (p2)

Debug/Trace

Metrics

Console

Processing (Eclipse Jobs API)

Configuration (Eclipse Preferences API)

Gyrex Components

Page 12: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

REST API

REST API

REST API

REST API

REST API

REST API

REST API

REST API

Gyrex Node

Load Balancer

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

ZooKeeper Cluster

ZK Node

ZK Node

ZK Node

Coordinates the cluster and holds the complete application- and cluster configuration data repositories

PHP Web App

Internet Of Things Device

Native App

iPad App Mobile Apps

p2 repo

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Node

Gyrex Infrastructure Setup For a high traffic application with different frontends

Page 13: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Outlook

o 1.2 (March 2013)

• Migrate remaining and introduce new administration capabilities to new Admin UI (migration complete)

• Full JAX-RS support (done)

• Rework of job history to have more flexible storage options (scoped)

• Equinox DS improvements (planned)

o Future items

• OSGi Standards

• Tomcat integration

Page 14: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Q&A

o Gyrex Newsgroup / Forum at http://www.eclipse.org/forums/

o Information hub at http://www.eclipse.org/gyrex/

o Session feedback / questions [email protected] @guw

Page 15: Developing Cloud Applications with Eclipse Gyrexst.inf.tu-dresden.de/files/teaching/ws12/ring/Gunnar Wagenknecht... · Topics o LEARN what modern server applications need to feature

Thank You!