SlideShare uma empresa Scribd logo
1 de 49
Peergreen Platform
Guillaume Sauthier
guillaume.sauthier@peergreen.com
@sauthieg
17/05/2013
© 2013 Peergreen, Confidential & Proprietary
Plan
• Overview
• In depth
o Guidelines
o Boot
o Deployment System
o Shell
o Web
o Console
o Security
o Development
• Next
Overview
© 2013 Peergreen, Confidential & Proprietary
Overview
• Peergreen
o Startup
o Experienced engineers
o Open source contributions
© 2013 Peergreen, Confidential & Proprietary
Available today
• Peergreen Server M1
o Light-weighted integrated server (<3MB)
o OSGi “application” support
o Effective deployment system
• Peergreen Eclipse Plugin
o Leverage Eclipse OSGi framework support
Downloadable from our web site
www.peergreen.com
In Depth
© 2013 Peergreen, Confidential & Proprietary
Guidelines
• Built-in extensibility and dynamism
• Fast, fast, fast
• Right sized
• User and applications as first class citizen
“Everything should be made as simple as possible but no simpler”
A. Einstein
© 2013 Peergreen, Confidential & Proprietary
Boot
• User’s very first impression
o Easy to execute
o Fast
© 2013 Peergreen, Confidential & Proprietary
Boot
• All-in-one executable artifact
• Few seconds to boot on modern machines
• Mechanisms in use
o Jar introspection
o Jar compression
o Classloader for accessing jar in jar’s content
o Maven plugin for building specific assembly
 Select underlying OSGi framework
 Select initial Bundles set with start levels (if any)
© 2013 Peergreen, Confidential & Proprietary
Boot
© 2013 Peergreen, Confidential & Proprietary
Boot
• Wrap up
o Boot in a few seconds
o event:* commands to observe boot time
o Simple launch procedure
© 2013 Peergreen, Confidential & Proprietary
Deployment System
• Core system block
o Native multi-thread support
o Plug-able service-based architecture
o Artifact centric
 Faceted artifacts
o Deployed resource neutral
 Location (remote, local, access protocol)
 Type (bundle, web-app, …)
o Operation reporting (errors, …)
o Persistence
• Supported artifacts
o OSGi Bundle
o OSGi Configuration Admin
o OW2 JOnAS deployment plan
o Java EE Web applications
ready
C
B A
© 2013 Peergreen, Confidential & Proprietary
Deployment System
• Artifact
o Resource to be deployed, URI location
• Facet
o Specialized view of the artifact (Web, Bundle,
ConfigAdmin, …)
• Processor
o Express requirements (for automatic placement)
o Handle the archive
 Produce a facet
 Use a facet
 “Glue” the artifact on an external system
 …
Artifact
C
B
A
© 2013 Peergreen, Confidential & Proprietary
Deployment System
• Processing artifacts
o Collection of artifact handled simultaneously
o Execute concurrently or sequentially a set of Processors
o Dynamic resolution of runnable processors
• Phase
o Container of Processors
o Logical ordering
• Processor
o Installed in a phase
o Stateless
o Express requirements
 Enabled only if resolved
discovery
per-facet
OSGi
install
start
Web
read-web
configure
start
© 2013 Peergreen, Confidential & Proprietary
Deployment System
• Global discovery phase
o Sub-phases executed sequentially
o Processors in phases executed concurrently
uri-fetcher uri-resolver facet-scanner
facet-
conflicts
dependency-
finder
© 2013 Peergreen, Confidential & Proprietary
Deployment System
• Per-facet lifecycle
o Sequence of phases
o Runnable processor of phase are executed concurrently (when
possible)
o Facet lifecycle phase can be traversed simultaneously by multiple
artifacts
web
xml
install
start
bundle
install
start
ca
read
create
© 2013 Peergreen, Confidential & Proprietary
Deployment System
• Extensions
o Contribute Processors
 Bound to a phase, requiring facet and/or artifact attributes
o Contribute Lifecycle for a facet
 Define the sequence of phases for DEPLOY, UNDEPLOY and
UPDATE
© 2013 Peergreen, Confidential & Proprietary
Deployment System
• Artifact model
o Artifacts are stored in a model
 With meta-information
• Processor’s chain
• Execution time
 Deployment root ?
 Transformed artifact
o Query-able
 Service API available
 CLI
plan
plan
web ejbjar
mvn
bundle
© 2013 Peergreen, Confidential & Proprietary
Deployment System
© 2013 Peergreen, Confidential & Proprietary
Deployment System
• Wrap up
o OW2 JORAM deployment plan
 Bundles activated (loaded from maven repository)
o OW2 JORAM configuration files
 Configurations started and services instances registered
o OW2 JOnAS compatibility
© 2013 Peergreen, Confidential & Proprietary
Shell
• OW2 Shelbie based
o Modular & dynamic
o Apache Felix iPOJO integration
o Sweetness
 Completion
 ANSI
 Easy command programming (@Command, @Option and @Argument)
© 2013 Peergreen, Confidential & Proprietary
Shell
• Built-in command scopes
o Gogo & Felix commands
o Shelbie built-in commands
 exit / shutdown
 help
o iPOJO commands
o Config-admin commands
o Java VM commands
 Threads management (dump, stop/interrupt threads, deadlocks)
o MBeans commands
 JMX handling (get / set attributes, introspect mbeans, …)
o Deployment commands
 List deployed artifacts, print reports, …
o Newsfeed commands (RSS)
o Security commands
 Realm management
© 2013 Peergreen, Confidential & Proprietary
Shell
© 2013 Peergreen, Confidential & Proprietary
Shell
• Wrap up
o Completion
o Help system
o Remote telnet access
o Threads reporting
 Deadlock detection
 Thread interruption
© 2013 Peergreen, Confidential & Proprietary
Web
• Supports of web application
o Java EE standard web app (.war)
o HttpService implementation
• Servlet 3.0 / JSP 2.2 / EL 2.2
• Apache Tomcat 7.0.39
M2
© 2013 Peergreen, Confidential & Proprietary
Web
• Deployment system integration
o Facet contribution (phases description)
o Processors
 Webapp type detection and facet installation
 Context configuration
 Context start
M2
Generic
Tomcat
Tomcat
DEPLOY parse deploy start
UPDATE stop parse start
UNDEPLOY stop undeploy
© 2013 Peergreen, Confidential & Proprietary
Web
• Classloading
o Java EE Web archives assume permissive classloading
environment
 Not a nice fit within an OSGi gateway :’(
o Needs a special bundle with the ugly
 DynamicImport-Package *
 Special classloader delegating to this bundle used as Webapp’s parent
classloader
M2
not very proud :’(
© 2013 Peergreen, Confidential & Proprietary
Web
• Injection
o Default Tomcat InstanceManager has to be replaced
 Imports all of the Java EE packages (@EJB, …)
 Hardcoded behavior
o Peergreen InstanceManager
 Supports @Resource on BundleContext
 Limited imports
 Abstractable to be usable for other components
M2
Modularity :’(
Evolution :’(
OSGi binding :-)
OSGi friendly :-)
Work in progress
© 2013 Peergreen, Confidential & Proprietary
Web
• HttpService
o Tomcat-based implementation
o Servlet 3.0 support
o Good enough to run Apache Felix Webconsole :-)
M2
© 2013 Peergreen, Confidential & Proprietary
Web
M2
© 2013 Peergreen, Confidential & Proprietary
Web
• Wrap up
o Java EE War deployment
o Usable HttpService with Apache Felix Webconsole
M2
© 2013 Peergreen, Confidential & Proprietary
Console
• Highly modular and extensible web console
o Foundation for our products’ consoles
o External contributions
 Business modules
o Vaadin framework selected
 HTML 5 support
 Mature On-going OSGiTM integration
 GWT under the hood
• Responsive client application
 Nice look and feel
M2
© 2013 Peergreen, Confidential & Proprietary
Console
• Foundation
o Base application layout
 Scopes containing tabbed views
o Theme
 Shared across contributed views
o Unified login page
o Notification service
o Extensibility through OSGi services
 Do not think extension points !
M2
© 2013 Peergreen, Confidential & Proprietary
Console
M2
© 2013 Peergreen, Confidential & Proprietary
Console
• Wrap up
o Views contributions
o Server interactions
 Start/Stop bundle
o Notifications
 Badge
 Overlay
M2
© 2013 Peergreen, Confidential & Proprietary
Security
• Security needs to be there from the beginning
o Protect access to the server
 Authentication
 Authorization
o Administrative entry points
 Shell console
 Web console
 JMX
 . . .
M2
© 2013 Peergreen, Confidential & Proprietary
Security
• Account management
o Storing accounts securely
 Hashing
 Persistence
• Services APIs
o HashService
 Encrypt clear text password into byte[]
• Plain text, MD5, Salted SHA, …
o EncoderService
 Transform the byte[] into a persistable String
• Base64, Hexa, Text, …
o AccountStore
 Manage store content
M2
admin
joe
jane
HashService
AccountStore
EncoderService
extensibility
© 2013 Peergreen, Confidential & Proprietary
Security
• Command line
o User management
 CRUD
o Role management
 Assignment
M2
© 2013 Peergreen, Confidential & Proprietary
Security
M2
© 2013 Peergreen, Confidential & Proprietary
Security
• Wrap up
o User creation
o Password modification
o Local console is secured
o Tomcat realm connected to AccountStore
M2
© 2013 Peergreen, Confidential & Proprietary
Development
• Building applications
o Eclipse support
o Maven support
© 2013 Peergreen, Confidential & Proprietary
Development
• OSGi FrameworkFactory API
o Standard API to launch OSGi frameworks
 Apache Felix
 Eclipse Equinox
 . . .
o Peergreen Server also implements it
Peergreen Server executable jar is usable directly
from consumer of that API !
• Pax Exam
• OW2 JOnAS
• . . .
Next
© 2013 Peergreen, Confidential & Proprietary
Next (soon)
• Java Transaction API
o On-going work on OW2 JOTM
• Java Persistence API
o @PersistenceContext support
o On going work on OW2 EasyBeans
• JNDI
o JNDI / OSGi integration
M2
© 2013 Peergreen, Confidential & Proprietary
Next (later)
• Web console
o More supported contributions
 Menu bar
 Progress view
• REST
o Jersey integration
• EJB
o EasyBeans integration
• HttpService
o Java EE annotations support (@WebServlet)
o Filter and Listener
M?
© 2013 Peergreen, Confidential & Proprietary
Next
• Release plan
o Scheduled release every 2 months
M?
M1
April
M2 June
M3
August
M4
October
© 2013 Peergreen, Confidential & Proprietary
Questions
© 2013 Peergreen, Confidential & Proprietary
Picture resources
• http://www.flickr.com/photos/tales2astonish/7436776110/
• http://www.flickr.com/photos/richard_jones/4352200167/
• http://www.flickr.com/photos/richard_jones/4352196667
• http://www.flickr.com/photos/richard_jones/4352929650/
• http://www.flickr.com/photos/richard_jones/4326588616/
• http://www.flickr.com/photos/richard_jones/4325850207/
• http://www.flickr.com/photos/richard_jones/4428269374/

Mais conteúdo relacionado

Mais procurados

MySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features SummaryMySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features SummaryOlivier DASINI
 
MySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryMySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryOlivier DASINI
 
WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!Maarten Smeets
 
MySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryMySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryOlivier DASINI
 
Getting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events in JavaGetting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events in JavaArun Gupta
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Geir Høydalsvik
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...Frank Munz
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...Cisco DevNet
 
Boston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishArun Gupta
 
2020 pre fosdem mysql clone
2020 pre fosdem   mysql clone2020 pre fosdem   mysql clone
2020 pre fosdem mysql cloneGeorgi Kodinov
 
Welcome to MySQL
Welcome to MySQLWelcome to MySQL
Welcome to MySQLGrigale LTD
 
Shannon McFarland OpenStack/Cisco Intro
Shannon McFarland OpenStack/Cisco IntroShannon McFarland OpenStack/Cisco Intro
Shannon McFarland OpenStack/Cisco IntroShannon McFarland
 
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and TroubleshootOracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and TroubleshootMichel Schildmeijer
 
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...Arun Gupta
 

Mais procurados (20)

Jetty Vs Tomcat
Jetty Vs TomcatJetty Vs Tomcat
Jetty Vs Tomcat
 
SSL Everywhere!
SSL Everywhere!SSL Everywhere!
SSL Everywhere!
 
MySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features SummaryMySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features Summary
 
MySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryMySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features Summary
 
MySQL Aquarium Paris
MySQL Aquarium ParisMySQL Aquarium Paris
MySQL Aquarium Paris
 
WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!
 
MySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryMySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features Summary
 
Getting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events in JavaGetting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events in Java
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
 
Boston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFish
 
2020 pre fosdem mysql clone
2020 pre fosdem   mysql clone2020 pre fosdem   mysql clone
2020 pre fosdem mysql clone
 
Architecting Windows Azure
Architecting Windows AzureArchitecting Windows Azure
Architecting Windows Azure
 
Welcome to MySQL
Welcome to MySQLWelcome to MySQL
Welcome to MySQL
 
Shannon McFarland OpenStack/Cisco Intro
Shannon McFarland OpenStack/Cisco IntroShannon McFarland OpenStack/Cisco Intro
Shannon McFarland OpenStack/Cisco Intro
 
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and TroubleshootOracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
 
XWiki Aquarium Paris
XWiki Aquarium ParisXWiki Aquarium Paris
XWiki Aquarium Paris
 
OpenMQ Aquarium Paris
OpenMQ Aquarium ParisOpenMQ Aquarium Paris
OpenMQ Aquarium Paris
 
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
 

Destaque

Ow2 Utilities - The Swiss Army Knife Of Ow2 Projects
Ow2 Utilities - The Swiss Army Knife Of Ow2 ProjectsOw2 Utilities - The Swiss Army Knife Of Ow2 Projects
Ow2 Utilities - The Swiss Army Knife Of Ow2 ProjectsGuillaume Sauthier
 
Leverage OSGi in business application with JOnAS
Leverage OSGi in business application with JOnASLeverage OSGi in business application with JOnAS
Leverage OSGi in business application with JOnASGuillaume Sauthier
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASGuillaume Sauthier
 
EclipseCon FR : Ignite talks, OSGi Resolver in action
EclipseCon FR : Ignite talks, OSGi Resolver in actionEclipseCon FR : Ignite talks, OSGi Resolver in action
EclipseCon FR : Ignite talks, OSGi Resolver in actionGuillaume Sauthier
 
#5 Java EE5 Client Lourd et Smart Client
#5 Java EE5  Client Lourd  et Smart Client#5 Java EE5  Client Lourd  et Smart Client
#5 Java EE5 Client Lourd et Smart ClientGuillaume Sauthier
 
#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGiGuillaume Sauthier
 

Destaque (9)

OUGF - OSAmI - OSGi Ubiquity
OUGF - OSAmI - OSGi UbiquityOUGF - OSAmI - OSGi Ubiquity
OUGF - OSAmI - OSGi Ubiquity
 
Ow2 Utilities - The Swiss Army Knife Of Ow2 Projects
Ow2 Utilities - The Swiss Army Knife Of Ow2 ProjectsOw2 Utilities - The Swiss Army Knife Of Ow2 Projects
Ow2 Utilities - The Swiss Army Knife Of Ow2 Projects
 
JO2nAS Collaboration
JO2nAS CollaborationJO2nAS Collaboration
JO2nAS Collaboration
 
Leverage OSGi in business application with JOnAS
Leverage OSGi in business application with JOnASLeverage OSGi in business application with JOnAS
Leverage OSGi in business application with JOnAS
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnAS
 
EclipseCon FR : Ignite talks, OSGi Resolver in action
EclipseCon FR : Ignite talks, OSGi Resolver in actionEclipseCon FR : Ignite talks, OSGi Resolver in action
EclipseCon FR : Ignite talks, OSGi Resolver in action
 
#5 Java EE5 Client Lourd et Smart Client
#5 Java EE5  Client Lourd  et Smart Client#5 Java EE5  Client Lourd  et Smart Client
#5 Java EE5 Client Lourd et Smart Client
 
#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi
 
OW2 JASMINe
OW2 JASMINeOW2 JASMINe
OW2 JASMINe
 

Semelhante a Peergreen Platform Overview

RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009Roland Tritsch
 
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Stamo Petkov
 
OTN Developer Days - GlassFish
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFishglassfish
 
NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy
NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud StrategyNYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy
NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud StrategyForgeRock
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsPavel Bucek
 
Scalable deployment options in WSO2 API Manager
Scalable deployment options in WSO2 API ManagerScalable deployment options in WSO2 API Manager
Scalable deployment options in WSO2 API ManagerWSO2
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011Arun Gupta
 
GlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsGlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsArun Gupta
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQLKonstantin Gredeskoul
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudLyzun Oleksandr
 
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...Stenio Ferreira
 
WebCenter as a Cloud App on Exalogic
WebCenter as a Cloud App on ExalogicWebCenter as a Cloud App on Exalogic
WebCenter as a Cloud App on ExalogicRaoul Miller
 
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...Insight Technology, Inc.
 
Java Script from Browser to Server
Java Script from Browser to ServerJava Script from Browser to Server
Java Script from Browser to ServerWSO2
 
Cas implementation at oakland university
Cas implementation at oakland universityCas implementation at oakland university
Cas implementation at oakland universitybpowell29a
 
Glass 2.0
Glass 2.0Glass 2.0
Glass 2.0ESUG
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudBruno Borges
 
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Arun Gupta
 
WebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureWebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureFrank Greco
 

Semelhante a Peergreen Platform Overview (20)

RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009
 
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
 
OTN Developer Days - GlassFish
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFish
 
NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy
NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud StrategyNYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy
NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise Applications
 
Scalable deployment options in WSO2 API Manager
Scalable deployment options in WSO2 API ManagerScalable deployment options in WSO2 API Manager
Scalable deployment options in WSO2 API Manager
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
 
GlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsGlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 Applications
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento Cloud
 
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...
Hashicorp Chicago HUG - Secure and Automated Workflows in Azure with Vault an...
 
WebCenter as a Cloud App on Exalogic
WebCenter as a Cloud App on ExalogicWebCenter as a Cloud App on Exalogic
WebCenter as a Cloud App on Exalogic
 
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
 
Java Script from Browser to Server
Java Script from Browser to ServerJava Script from Browser to Server
Java Script from Browser to Server
 
Cas implementation at oakland university
Cas implementation at oakland universityCas implementation at oakland university
Cas implementation at oakland university
 
Fuji Overview
Fuji OverviewFuji Overview
Fuji Overview
 
Glass 2.0
Glass 2.0Glass 2.0
Glass 2.0
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The Cloud
 
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
 
WebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureWebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the Future
 

Mais de Guillaume Sauthier

Mais de Guillaume Sauthier (14)

Data Privacy, reprenez le contrôle
Data Privacy, reprenez le contrôleData Privacy, reprenez le contrôle
Data Privacy, reprenez le contrôle
 
La Grande Famille OAuth 2.0
La Grande Famille OAuth 2.0La Grande Famille OAuth 2.0
La Grande Famille OAuth 2.0
 
#7 Migration
#7 Migration#7 Migration
#7 Migration
 
#6 Outils De Developpement
#6 Outils De Developpement#6 Outils De Developpement
#6 Outils De Developpement
 
#3 Nouveautes Deploiement Demarrage
#3 Nouveautes Deploiement Demarrage#3 Nouveautes Deploiement Demarrage
#3 Nouveautes Deploiement Demarrage
 
#0 Accueil
#0 Accueil#0 Accueil
#0 Accueil
 
#2 Architecture OSGi
#2 Architecture OSGi#2 Architecture OSGi
#2 Architecture OSGi
 
#11 Introduction JASMINe
#11 Introduction JASMINe#11 Introduction JASMINe
#11 Introduction JASMINe
 
#8 Tour des Consoles d'Administration
#8 Tour des Consoles d'Administration#8 Tour des Consoles d'Administration
#8 Tour des Consoles d'Administration
 
#9 Deploiement Complexe
#9 Deploiement Complexe#9 Deploiement Complexe
#9 Deploiement Complexe
 
#1 Introduction
#1 Introduction#1 Introduction
#1 Introduction
 
#12 et #13 Versioning et JaDOrT
#12 et #13 Versioning et JaDOrT#12 et #13 Versioning et JaDOrT
#12 et #13 Versioning et JaDOrT
 
OW2 Shelbie TC Presentation
OW2 Shelbie TC PresentationOW2 Shelbie TC Presentation
OW2 Shelbie TC Presentation
 
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server ProfilesJOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Peergreen Platform Overview

  • 2. © 2013 Peergreen, Confidential & Proprietary Plan • Overview • In depth o Guidelines o Boot o Deployment System o Shell o Web o Console o Security o Development • Next
  • 4. © 2013 Peergreen, Confidential & Proprietary Overview • Peergreen o Startup o Experienced engineers o Open source contributions
  • 5. © 2013 Peergreen, Confidential & Proprietary Available today • Peergreen Server M1 o Light-weighted integrated server (<3MB) o OSGi “application” support o Effective deployment system • Peergreen Eclipse Plugin o Leverage Eclipse OSGi framework support Downloadable from our web site www.peergreen.com
  • 7. © 2013 Peergreen, Confidential & Proprietary Guidelines • Built-in extensibility and dynamism • Fast, fast, fast • Right sized • User and applications as first class citizen “Everything should be made as simple as possible but no simpler” A. Einstein
  • 8. © 2013 Peergreen, Confidential & Proprietary Boot • User’s very first impression o Easy to execute o Fast
  • 9. © 2013 Peergreen, Confidential & Proprietary Boot • All-in-one executable artifact • Few seconds to boot on modern machines • Mechanisms in use o Jar introspection o Jar compression o Classloader for accessing jar in jar’s content o Maven plugin for building specific assembly  Select underlying OSGi framework  Select initial Bundles set with start levels (if any)
  • 10. © 2013 Peergreen, Confidential & Proprietary Boot
  • 11. © 2013 Peergreen, Confidential & Proprietary Boot • Wrap up o Boot in a few seconds o event:* commands to observe boot time o Simple launch procedure
  • 12. © 2013 Peergreen, Confidential & Proprietary Deployment System • Core system block o Native multi-thread support o Plug-able service-based architecture o Artifact centric  Faceted artifacts o Deployed resource neutral  Location (remote, local, access protocol)  Type (bundle, web-app, …) o Operation reporting (errors, …) o Persistence • Supported artifacts o OSGi Bundle o OSGi Configuration Admin o OW2 JOnAS deployment plan o Java EE Web applications ready C B A
  • 13. © 2013 Peergreen, Confidential & Proprietary Deployment System • Artifact o Resource to be deployed, URI location • Facet o Specialized view of the artifact (Web, Bundle, ConfigAdmin, …) • Processor o Express requirements (for automatic placement) o Handle the archive  Produce a facet  Use a facet  “Glue” the artifact on an external system  … Artifact C B A
  • 14. © 2013 Peergreen, Confidential & Proprietary Deployment System • Processing artifacts o Collection of artifact handled simultaneously o Execute concurrently or sequentially a set of Processors o Dynamic resolution of runnable processors • Phase o Container of Processors o Logical ordering • Processor o Installed in a phase o Stateless o Express requirements  Enabled only if resolved discovery per-facet OSGi install start Web read-web configure start
  • 15. © 2013 Peergreen, Confidential & Proprietary Deployment System • Global discovery phase o Sub-phases executed sequentially o Processors in phases executed concurrently uri-fetcher uri-resolver facet-scanner facet- conflicts dependency- finder
  • 16. © 2013 Peergreen, Confidential & Proprietary Deployment System • Per-facet lifecycle o Sequence of phases o Runnable processor of phase are executed concurrently (when possible) o Facet lifecycle phase can be traversed simultaneously by multiple artifacts web xml install start bundle install start ca read create
  • 17. © 2013 Peergreen, Confidential & Proprietary Deployment System • Extensions o Contribute Processors  Bound to a phase, requiring facet and/or artifact attributes o Contribute Lifecycle for a facet  Define the sequence of phases for DEPLOY, UNDEPLOY and UPDATE
  • 18. © 2013 Peergreen, Confidential & Proprietary Deployment System • Artifact model o Artifacts are stored in a model  With meta-information • Processor’s chain • Execution time  Deployment root ?  Transformed artifact o Query-able  Service API available  CLI plan plan web ejbjar mvn bundle
  • 19. © 2013 Peergreen, Confidential & Proprietary Deployment System
  • 20. © 2013 Peergreen, Confidential & Proprietary Deployment System • Wrap up o OW2 JORAM deployment plan  Bundles activated (loaded from maven repository) o OW2 JORAM configuration files  Configurations started and services instances registered o OW2 JOnAS compatibility
  • 21. © 2013 Peergreen, Confidential & Proprietary Shell • OW2 Shelbie based o Modular & dynamic o Apache Felix iPOJO integration o Sweetness  Completion  ANSI  Easy command programming (@Command, @Option and @Argument)
  • 22. © 2013 Peergreen, Confidential & Proprietary Shell • Built-in command scopes o Gogo & Felix commands o Shelbie built-in commands  exit / shutdown  help o iPOJO commands o Config-admin commands o Java VM commands  Threads management (dump, stop/interrupt threads, deadlocks) o MBeans commands  JMX handling (get / set attributes, introspect mbeans, …) o Deployment commands  List deployed artifacts, print reports, … o Newsfeed commands (RSS) o Security commands  Realm management
  • 23. © 2013 Peergreen, Confidential & Proprietary Shell
  • 24. © 2013 Peergreen, Confidential & Proprietary Shell • Wrap up o Completion o Help system o Remote telnet access o Threads reporting  Deadlock detection  Thread interruption
  • 25. © 2013 Peergreen, Confidential & Proprietary Web • Supports of web application o Java EE standard web app (.war) o HttpService implementation • Servlet 3.0 / JSP 2.2 / EL 2.2 • Apache Tomcat 7.0.39 M2
  • 26. © 2013 Peergreen, Confidential & Proprietary Web • Deployment system integration o Facet contribution (phases description) o Processors  Webapp type detection and facet installation  Context configuration  Context start M2 Generic Tomcat Tomcat DEPLOY parse deploy start UPDATE stop parse start UNDEPLOY stop undeploy
  • 27. © 2013 Peergreen, Confidential & Proprietary Web • Classloading o Java EE Web archives assume permissive classloading environment  Not a nice fit within an OSGi gateway :’( o Needs a special bundle with the ugly  DynamicImport-Package *  Special classloader delegating to this bundle used as Webapp’s parent classloader M2 not very proud :’(
  • 28. © 2013 Peergreen, Confidential & Proprietary Web • Injection o Default Tomcat InstanceManager has to be replaced  Imports all of the Java EE packages (@EJB, …)  Hardcoded behavior o Peergreen InstanceManager  Supports @Resource on BundleContext  Limited imports  Abstractable to be usable for other components M2 Modularity :’( Evolution :’( OSGi binding :-) OSGi friendly :-) Work in progress
  • 29. © 2013 Peergreen, Confidential & Proprietary Web • HttpService o Tomcat-based implementation o Servlet 3.0 support o Good enough to run Apache Felix Webconsole :-) M2
  • 30. © 2013 Peergreen, Confidential & Proprietary Web M2
  • 31. © 2013 Peergreen, Confidential & Proprietary Web • Wrap up o Java EE War deployment o Usable HttpService with Apache Felix Webconsole M2
  • 32. © 2013 Peergreen, Confidential & Proprietary Console • Highly modular and extensible web console o Foundation for our products’ consoles o External contributions  Business modules o Vaadin framework selected  HTML 5 support  Mature On-going OSGiTM integration  GWT under the hood • Responsive client application  Nice look and feel M2
  • 33. © 2013 Peergreen, Confidential & Proprietary Console • Foundation o Base application layout  Scopes containing tabbed views o Theme  Shared across contributed views o Unified login page o Notification service o Extensibility through OSGi services  Do not think extension points ! M2
  • 34. © 2013 Peergreen, Confidential & Proprietary Console M2
  • 35. © 2013 Peergreen, Confidential & Proprietary Console • Wrap up o Views contributions o Server interactions  Start/Stop bundle o Notifications  Badge  Overlay M2
  • 36. © 2013 Peergreen, Confidential & Proprietary Security • Security needs to be there from the beginning o Protect access to the server  Authentication  Authorization o Administrative entry points  Shell console  Web console  JMX  . . . M2
  • 37. © 2013 Peergreen, Confidential & Proprietary Security • Account management o Storing accounts securely  Hashing  Persistence • Services APIs o HashService  Encrypt clear text password into byte[] • Plain text, MD5, Salted SHA, … o EncoderService  Transform the byte[] into a persistable String • Base64, Hexa, Text, … o AccountStore  Manage store content M2 admin joe jane HashService AccountStore EncoderService extensibility
  • 38. © 2013 Peergreen, Confidential & Proprietary Security • Command line o User management  CRUD o Role management  Assignment M2
  • 39. © 2013 Peergreen, Confidential & Proprietary Security M2
  • 40. © 2013 Peergreen, Confidential & Proprietary Security • Wrap up o User creation o Password modification o Local console is secured o Tomcat realm connected to AccountStore M2
  • 41. © 2013 Peergreen, Confidential & Proprietary Development • Building applications o Eclipse support o Maven support
  • 42. © 2013 Peergreen, Confidential & Proprietary Development • OSGi FrameworkFactory API o Standard API to launch OSGi frameworks  Apache Felix  Eclipse Equinox  . . . o Peergreen Server also implements it Peergreen Server executable jar is usable directly from consumer of that API ! • Pax Exam • OW2 JOnAS • . . .
  • 43. Next
  • 44. © 2013 Peergreen, Confidential & Proprietary Next (soon) • Java Transaction API o On-going work on OW2 JOTM • Java Persistence API o @PersistenceContext support o On going work on OW2 EasyBeans • JNDI o JNDI / OSGi integration M2
  • 45. © 2013 Peergreen, Confidential & Proprietary Next (later) • Web console o More supported contributions  Menu bar  Progress view • REST o Jersey integration • EJB o EasyBeans integration • HttpService o Java EE annotations support (@WebServlet) o Filter and Listener M?
  • 46. © 2013 Peergreen, Confidential & Proprietary Next • Release plan o Scheduled release every 2 months M? M1 April M2 June M3 August M4 October
  • 47. © 2013 Peergreen, Confidential & Proprietary Questions
  • 48.
  • 49. © 2013 Peergreen, Confidential & Proprietary Picture resources • http://www.flickr.com/photos/tales2astonish/7436776110/ • http://www.flickr.com/photos/richard_jones/4352200167/ • http://www.flickr.com/photos/richard_jones/4352196667 • http://www.flickr.com/photos/richard_jones/4352929650/ • http://www.flickr.com/photos/richard_jones/4326588616/ • http://www.flickr.com/photos/richard_jones/4325850207/ • http://www.flickr.com/photos/richard_jones/4428269374/