build bundles in the cloud - how cloudyle paas+ helps creating osgi applications in the cloud - a...

32
Build bundles in the cloud How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Upload: mfrancis

Post on 04-Jul-2015

232 views

Category:

Technology


1 download

DESCRIPTION

OSGi Community Event 2014 Abstract: Platform as a service (PaaS) provides a ready to use development or deployment environment and lets a developer quickly start coding instead of wasting time for setup and configuration. The PaaS manages the underlying O/S, provides database installations, language runtimes and application frameworks almost instantly. The developer can immediately focus on the data model and application logic, and therefore deliver a solution to the market in less time. This talks gives an introduction to our open PaaS+ Cloud Platform for modular OSGi applications based on OpenShift [1]. PaaS+ is a modular and scalable Java PaaS that features a modular build and deployment mechanism and helps to speed up application development while also making it more robust. We will show how PaaS+ supports OSGi application developers in the complete application lifecycle from development to production to achieve a faster time to market. Because the PaaS environment used in development, testing and production is the same, there is less overhead or problems staging the application from development to QA to productive deployment. The platform comes with a build in Apache Karaf server runtime enhanced by OSGi enabled base services such as Authentication, Rules Engine, Business Process Engine, Polyglot Persistence, Search and Indexing and an integrated OBR. These services are available through a consistent API and are orchestrated by the integrated OSGi framework. The OSGi PaaS+ platform is based on research results from the TRESOR - Trusted Ecosystem for Standardized and Open cloud-based Resources – project to provide an open ecosystem for cloud applications for the health care sector [2]. TRESOR is part of the Trusted Cloud initiative [3], funded by the German Federal Ministry of Economics and Technology. Topics covered: Benefits of Cloud and Platform as a Service Overview of the OSGi PaaS+ Cloud Benefits of OSGi for modular cloud platforms Cloud deployment and distributed services PaaS+ Enterprise API Speaker Bios: Alexander Grzesik Alexander is the head of development of medisite Systemhaus GmbH and responsible for the development of the the PaaS+ cloud platform the clinical information system m.life and software architect for the TRESOR Project. He has 15 years of work experience in medical Software development as team leader and software architect. Expert for Software Architecture, OSGi, Java and Java EE. Alexander has been a speaker at several conferences including EclipseCon Europe and the OpenShift Community Day. Torsten Frank Torsten Frank is an entrepreneur and healthcare IT expert with international experience and a strong background in product and business development. He is CEO and founder of medisite, a company that delivers highly specialized healthcare IT solutions to their customers for more than 10 years. medisite is a winner of the Federal Ministry for Economic Affairs and Energy (BMWi)

TRANSCRIPT

Page 1: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

Build bundles in the cloud

How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 2: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

2

Today‘s speakers

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Torsten Frank

CEO & Founder

Physician

15+ years experience in business and product development

Healthcare IT expert

Qualified medical device consultant

Alexander Grzesik

Head of software development,Chief Software Architect

Java Expert

15+ years experience in software development

Validator for computer validation (GAMP 5)

Page 3: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

3

medisite & Cloudyle

• Specialized for over 10 years in the development of software focused on the healthcare market.

• Our products m.life® and m.care® are comprehensive healthcare solutions.

• Expanded to the cloud with the spin-off Cloudyle, with offices in Berlin, Hannover, Germany and soon in the US.

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 4: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

4

Agenda

• Steps towards PaaS+

• DevOps in the Cloud

• The PaaS+ OSGi platform

• Modular Enterprise APIs

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 5: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

5

Steps towards PaaS+

• Project TRESOR, funded by the German Federal Ministry of Economics and Technology as a part of the programme “Trusted Cloud”. www.trusted-cloud.de

• TRESOR: Trusted Ecosystem for Standardized and Open cloud-based Resources.

• PaaS+ OSGi platform for health care use cases. Our partners are i.e:Deutsche Telekom (T-Systems), Technical University Berlin, German Heart Institute Berlin.

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

TRESOR is funded by the German Federal Ministry of Economics and Technology by resolution of the German Federal Parliament.

Page 6: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

6

Cloud and OSGi Benefits

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Elasticity

Scalability

ReliabilityAvailability

PaaS On Demand

IaaS

Reduced EffortCost Efficency

Modularity

Reusability

Low Coupling

Granular Updates

Testing Efficency

High Cohesion

Non Monolithic

Concurrent VersionsPaaS+

Page 7: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

7

Platform Overview

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Framework

Data

Applications

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Framework

Data

Applications

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Framework

Data

Applications

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Framework

Data

Applications

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Framework

Data

Applications

Clie

nt

Man

age

s

Clie

nt

Man

age

s

Clie

nt

Man

age

s

Clie

nt

Man

age

s

Pro

vide

r Man

ages in

Clo

ud

Pro

vide

r Man

ages in

Clo

ud

Pro

vide

r Man

ages in

Clo

ud

TraditionalOn-Premises

Infrastructureas a Service

Platformas a Service

CLOUDYLE PaaS+ =Platformas a Service+ OSGi Framework+ Enterprise API+ Bundle Ecosystem

Softwareas a Service

Customization, higher costs; slower time to market

Standardization, lower costs; faster time to market

Page 8: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

8

Traditional Development vs. PaaS

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

8

“Setup of new project development

infrastructure is very costly”

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

1. Have Idea2. Get Budget3. Hardware Aquisition Request4. Wait5. Get Hardware6. Install Framework/Appserver/DB on

Development Environment, Test Environment

7. Code, Test, Repeat8. Deploy Production Servers9. Publish to Production Servers10. Launch Application11. Maintain Servers12. Order more Hardware on increasing

demand13. Wait14. Deploy new Servers15. Etc.

1. Have Idea2. Code, Test, Repeat3. Launch4. Scale

“On demand development

infrastructure”

Page 9: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

9

Integrated Development

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Business Apps

Bundle Ecosystem

ApplicationDeployment

Scaling

Enterprise API

Developer

User

IDE

Page 10: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

10

Cloud Provisioning

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Application

Private Bundle Repository

IDEBundle

Marketplace

Public Bundle RepositoryPublic Bundle

RepositoryPublic Bundle

Repository

Push application

Resolve dependencies

Subscribebundles

Resolve dependencies

Publish bundles

ApplicationApplication

Page 11: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

11

Team Workflow

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Developer Domain

Developer Application

Integration Domain

TestingApplication

Staging Domain

StagingApplication

ProductionDomain

ProductionApplication

Developer OperationsQA

Page 12: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

12

PaaS+ OSGi Development Lifecycle

Code• Develop bundle

• Add root pom.xml

Push • Deploysource

Build • Maven build

• Jenkins build

Publish• Publish to local or remote

Maven repository

Deploy • Artifacts are deployedon application

No codechangesneeded

Use wellknow toolslike Git or

Eclipse

Jenkins buildadded withfew clicks

Nexus Maven Repois provided

by PaaS+ Automaticallyresolve

dependenciesvia Maven or

OBREclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 13: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

13

Scaling

Mongo DB

HA Proxy

Application GearApplication Gear

Application Gear

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 14: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

14

Bundle Sharing

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 15: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

15

Offer & Subscribe

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

• Upload Artifactsto your repo

• Create Metadata

Offer

• Search bundles

• Subscribe

• Import into yourrepo

Subscribe• Notifications on

new versions

• Get copies oflatest versions

Update

Page 16: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

16

Marketplace Overview

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Cloudyle Marketplace

Cloudyle Cockpit

User Repository

Bundles

Search & Subscribe

Manage

Use

MVN OBR http

PaaS+

Page 17: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

17

PaaS+ Technologies and APIs

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 18: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

18

PaaS base technology

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 19: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

19

Cloudyle PaaS+ cartridges

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 20: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

20

PaaS+ OSGi Enterprise APIs

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

fast

• APIs for common use cases

• Additional frameworks

easy

• Simplified use

• Easy deployment

smart

• Additional features

• Modular

Page 21: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

21

CLOUDYLE PaaS+ APIs

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Generic Enterprise APIs based on OSGi

Business Process Engine

Security

Persistence Search & Index

Catalog

Web UI Framework

Preferences

Reporting

User Management

Apache Karaf Core

Domain specific Enterprise APIs based on OSGi

Domain Service 1

Business Applications and Services

Domain Service 2 Domain Service 3

JPA

OSGi Runtime

JTAConfigAdmin

Logging Blueprint

Data Mapper

Page 22: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

22

OSGi-Service: Persistence

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

• Forked from Aries JPA• JPA 2.1 Support• CustomPersistence Properties• Available on Github

• Cancellation Support• Database Audit Trail• Plugable Extensions• Typesafe query

• NoSQL Support• Composite Persistence Units

Page 23: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

23

Composite Persistence Unit

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 24: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

24

OSGi-Service: Preferences

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 25: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

25

OSGi-Service: Business Process Engine

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 26: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

26

OSGi-Service: User Management

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

User Management API

Page 27: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

27

OSGi-Service: Indexing and Query

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 28: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

28

OSGi-Service: Catalog and Reporting

Report Service Report creation with Jasper Reports

Dynamic reporting

Export to different formats: Pdf, XML, Html

Catalog Service Generic catalogs

Predefined catalog structures

Custom catalog structures

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 29: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

29

Web UI Framework

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 30: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

30

Apache Shiro OSGi integration

Authentication

Authorization

Security annotations

Blueprint extension

Bundle security e

OSGi-Service: Security

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 31: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

31

Development Benefits

Self service on-demand platform

Reduce wait time to be more productive

Ability to get new features to production faster

Ready available test environment

Provide elastic and scalable applications

Increase application portability

Modularization decreases complexity and increases reuse

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

Page 32: Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud - A Grzesik & T Frank

32

PaaS+: Early Access - sign up today!

Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud

http://www.cloudyle.com