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

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 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/