build bundles in the cloud - how cloudyle paas+ helps creating osgi applications in the cloud - a...
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
Build bundles in the cloud
How Cloudyle PaaS+ helps creating OSGi applications in the cloud
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)
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
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
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.
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+
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
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”
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
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
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
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
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
14
Bundle Sharing
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
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
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+
17
PaaS+ Technologies and APIs
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
18
PaaS base technology
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
19
Cloudyle PaaS+ cartridges
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
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
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
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
23
Composite Persistence Unit
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
24
OSGi-Service: Preferences
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
25
OSGi-Service: Business Process Engine
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
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
27
OSGi-Service: Indexing and Query
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
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
29
Web UI Framework
Eclipsecon Europe 2014 Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applications in the cloud
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
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
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