SlideShare a Scribd company logo
1 of 38
Download to read offline
# 1
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Diagnostic & Audit system for Java EE
applications
Secure your Java EE project with the performance diagnostic tool
provided by OW2 JOnAS
Florent Benoit, BULL/OW2 [ @florentbenoit ]
# 2
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Summary
● Context
● Environment : OW2 Java EE JOnAS Application server
● Diagnostic tool
● Presentation
● Demo
● Audit tool
● Presentation
● Demo
● Conclusion
# 3
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Context
# 4
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Why these tools ?
● Java EE specification:
● Ensure portability of applications
● Nothing about performance
● Application performance / Reliability ?
● Applications can be Java EE compliant without being reliable
● Finding performance problems ?
● Not so easy to find the problem with all components that are
linked together.
● Traceability
● Get a log for each executed operation
● «Cost» of services
● For example, to know the memory used for a request
# 5
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Environment : OW2 Java EE JOnAS
Application server
# 6
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
JOnAS: Java EE Application server
● Java EE 5 certified
● Java EE services:
● Web Container: Tomcat (6 & 7) / Jetty
● EJB3 persistence / JPA 1 & 2: EasyBeans (EclipseLink,
Hibernate, OpenJPA)
● Transactions: JOTM
● Clustering: CMI
● Web Services: CXF/Axis2
● Asynchronous Messages: JORAM
● OSGi: Felix et IPOJO
● Administration: web console, commands, API, JASMINe
(Advanced management tool)
# 7
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
JOnAS : Open Source Server
● Developed as an open source server (LGPL) within
OW2: http://jonas.ow2.org
● OW2: independent industry consortium dedicated to
developing open source code middleware
● Major contributors for JOnAS :Bull, France Telecom,
Peking University, INRIA, UJF, UNIFOR, SERLI
● Linked OW2 projects : EasyBeans, JASMINe, JORAM,
JOTM, CMI
# 8
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
OSGi native Architecture
● Dynamically adaptable
platform
● OSGi based services
● Modularity / Extensibility
● Profiles
● Enhanced application server
life cycle
● On-Demand services
● Dynamic configuration
● Adaptable
# 9
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Diagnostic tool
# 10
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Diagnostic tool
JDBC Connection leak detector
# 11
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
« Pool » of JDBC connections
● Limit the number of physical connections to the database
● Optimize the time to provide a JDBC connection to the
application
datasource.getConnection();
connection.createStatement();
....
....
connection.close();
DataSource Pool
# 12
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Forgot to call connection.close() ?
● Problem :
No more available connections for new clients
● → Connections never closed
– → don't go back in the pool
● → Other clients are waiting
– No free connections in the pool !
Busy connections (used by
applications) or not yet closed
Empty PoolDataSource Pool
# 13
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Handling the connection leak ?
● Avoid these connection leaks in production ?
● Automatic close of JDBC Connections by JOnAS
– At the end of a method call (EJB stateless / HTTP request),
remove() on stateful EJB beans.
● Life-time of JDBC connections
– If no calls are done on a JDBC connection for a given amount of
time, this connection is released and go back in the pool
● These solutions are only patches
● Goal: Fix the problem in the application's code
– Help provided by the JOnAS web console
● Track the root of the problem
# 14
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Servlet using JDBC connections
55 protected void doGet(....) {
56 response.setContentType("text/html");
57 PrintWriter out = response.getWriter();
58 out.println("<html><body>");
59
60 DataSource ds = null;
61 try {
62 ds = (DataSource) new InitialContext().lookup("jdbc_1");
63 ds.getConnection();
64 } catch (NamingException e) {
65 e.printStackTrace();
66 } catch (SQLException e) {
67 e.printStackTrace();
68 } finally {
69 out.println("</body></html>");
70 out.close();
71 }
72
73 }
# 15
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Screenshot of JOnAS Admin console
Line to analyze
# 16
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Servlet with the JDBC error
55 protected void doGet(....) {
56 response.setContentType("text/html");
57 PrintWriter out = response.getWriter();
58 out.println("<html><body>");
59
60 DataSource ds = null;
61 try {
62 ds = (DataSource) new InitialContext().lookup("jdbc_1");
63 ds.getConnection();
64 } catch (NamingException e) {
65 e.printStackTrace();
66 } catch (SQLException e) {
67 e.printStackTrace();
68 } finally {
69 out.println("</body></html>");
70 out.close();
71 }
72
73 }
# 17
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Demo
Tracking JDBC connection leaks
# 18
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Diagnostic tool
Monitoring/displaying JVM Threads
# 19
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Information about JVM threads
# 20
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Demo
Threads monitoring
# 21
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Audit tools
# 22
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Goals of the audit system [1/2]
● Development
● Discovery of the software architecture of applications and calls
between the Java EE modules
→ Difficult to track (complex/distributed applications )
● Tracking the performance problems:
→ Enhance the performance
→ Identify the component that is causing the problem
● Qualifying
● Statistics on features/services that are used (top 10, ...)
● Adapt applications to their usage
● Trends on applications/services
– Response time, ...
# 23
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
● Production
● Audit
● Traceability
● Log of services that have been used
● Billing (You pay what you're using)
– (Google App Engine)
Goals of the audit system [2/2]
# 24
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Commercial Tools
● Commercial tools
● CA Wily Introscope®
● dynaTrace
● BMC AppSight
● Compuware Vantage Analyzer
# 25
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Solution based on interceptors
● Different level of interceptors
● Enabling/disabling on demand
● EJB 3
● Invocation (Business service calls)
● Lifecycle (Start/Stop)
● HTTP requests
● Servlet filter
● JNDI access
● Each call on the context returned by the command
 new InitialContext() »: lookup, bind, etc.
# 26
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Architecture of the Audit System
EasyBeans
Tomcat
JNDI Audit log
JOnAS Admin (Audit module)
JMX
Notifications
Jconsole / JMX Client
Audit System
JASMINe
# 27
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Collected data [1/2]
● EJB3
● Invocation
– Bean's name
– Identity (name + roles)
– Called method
● @Local
● @Remote
● OnMessage
– Size of method parameters
– Result
– Elapsed time in the method
– Exceptions
# 28
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
● HTTP
● URL
● Encoding
● Client (protocol,host, port)
● SessionId
● Query
● Status HTTP
● JNDI
● Method that is called on the InitialContext
– bind, lookup, ...
– Parameters (if any)
● Elapsed time
Collected data [2/2]
# 29
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Traceability / Logger
● Client of Audit MBeans
● Collecting data
● Storage in a log file
● Human readable format
[10/03/04 22:05:35] class org.ow2.util.auditreport.impl.InvocationAuditReport
requestStart = 1267736735591573000
requestStop = 1267736735591630000
requestDuration = 0.057
businessMethod = getCalculator@Local
BeanName = Calculator
target = /easybeans/audit-sample.ear/audit-sample-ejb.jar/SessionFacade/getCalculator@Local
paramSize = 5
returnSize = 0
freeMemoryBefore = 25623392
totalMemoryBefore = 64126976
freeMemoryAfter = 25617704
totalMemoryAfter = 64126976
sweepMarkTime = 873
scavengeTime = 5170
user = ANONYMOUS
roles = [JOnAS]
requestTimeStamp = 1267736735580
methodStackTrace = [java.lang.Thread.getStackTrace(Thread.java:1409) - ..... ]
methodParameters = null
Elapsed time
Called method
Identity
Parameters
# 30
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Screenshot of the tool
# 31
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Screenshot of a method's graph
# 32
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Advanced mode
● Tracking a request on several servers
● Tracking asynchronous calls
● Sending to JMS queue / Receiving from a JMS queue
JMS
Servlet
Server 1
Servlet
EJB
Server 2
MDB
Server 3
IDID
IDID
IDID
EJB
Server 4
IDID
Collecting
Events
# 33
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Demonstration
# 34
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Demo
● Goal of the demonstration
● Enhancing the performances of an application
– Discovering problems
– Solving problems
– Checking this with the audit console
● Traceability of calls in an application
# 35
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Conclusion
# 36
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Conclusion [1/2]
● Preventing performance problems
→ Secure a project
● Tools can be used in designing/integrating/production
● In production, an other Java EE server may be used
● Tool bundled with JOnAS
● Key feature comparing to other Java EE servers
● Ready to use
● Open Source / LGPL
● Integrated in JOnAS 5.2
# 37
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
● Supervising OSGi service
● Available OSGi services
● Links between components/services
● …
● Supervising JPA
● Life cycle of “Entities”
● Other metrics
● SQL request
– Number of requests
– Elapsed time of requests
● ...
Conclusion: what's next ? [2/2]
# 38
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Q & A
Florent Benoit, BULL/OW2 [ @florentbenoit ]

More Related Content

What's hot

OpenDaylight Brisbane User Group - OpenDaylight Security
OpenDaylight Brisbane User Group - OpenDaylight SecurityOpenDaylight Brisbane User Group - OpenDaylight Security
OpenDaylight Brisbane User Group - OpenDaylight SecurityDavid Jorm
 
Automatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesAutomatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesNicolas Bettenburg
 
Sofa2 Q-im ress-ow2-conference-nov10
Sofa2 Q-im ress-ow2-conference-nov10Sofa2 Q-im ress-ow2-conference-nov10
Sofa2 Q-im ress-ow2-conference-nov10OW2
 
AusCERT 2016: CVE and alternatives
AusCERT 2016: CVE and alternativesAusCERT 2016: CVE and alternatives
AusCERT 2016: CVE and alternativesDavid Jorm
 
1112 agile approach to pci dss development
1112 agile approach to pci dss development1112 agile approach to pci dss development
1112 agile approach to pci dss developmentbezpiecznik
 
網路攻擊與封包分析- Wireshark
網路攻擊與封包分析- Wireshark網路攻擊與封包分析- Wireshark
網路攻擊與封包分析- WiresharkJulia Yu-Chin Cheng
 

What's hot (6)

OpenDaylight Brisbane User Group - OpenDaylight Security
OpenDaylight Brisbane User Group - OpenDaylight SecurityOpenDaylight Brisbane User Group - OpenDaylight Security
OpenDaylight Brisbane User Group - OpenDaylight Security
 
Automatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesAutomatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing Changes
 
Sofa2 Q-im ress-ow2-conference-nov10
Sofa2 Q-im ress-ow2-conference-nov10Sofa2 Q-im ress-ow2-conference-nov10
Sofa2 Q-im ress-ow2-conference-nov10
 
AusCERT 2016: CVE and alternatives
AusCERT 2016: CVE and alternativesAusCERT 2016: CVE and alternatives
AusCERT 2016: CVE and alternatives
 
1112 agile approach to pci dss development
1112 agile approach to pci dss development1112 agile approach to pci dss development
1112 agile approach to pci dss development
 
網路攻擊與封包分析- Wireshark
網路攻擊與封包分析- Wireshark網路攻擊與封包分析- Wireshark
網路攻擊與封包分析- Wireshark
 

Viewers also liked

OW2 Petals Dragon SOA Linuxtag09
OW2 Petals Dragon SOA Linuxtag09OW2 Petals Dragon SOA Linuxtag09
OW2 Petals Dragon SOA Linuxtag09Catherine Nuel
 
Open Education. A Modern Approach to Teaching and Learning
Open Education. A Modern Approach to Teaching and LearningOpen Education. A Modern Approach to Teaching and Learning
Open Education. A Modern Approach to Teaching and LearningKOED
 
Ow2 Today Solution Linux2010
Ow2 Today Solution Linux2010Ow2 Today Solution Linux2010
Ow2 Today Solution Linux2010OW2
 
OW2 Exo Platform Open Social Portal Linuxtag09
OW2 Exo Platform Open Social Portal Linuxtag09OW2 Exo Platform Open Social Portal Linuxtag09
OW2 Exo Platform Open Social Portal Linuxtag09Catherine Nuel
 
Open Educational Resources: Building a Culture of Sharing
Open Educational Resources: Building a Culture of SharingOpen Educational Resources: Building a Culture of Sharing
Open Educational Resources: Building a Culture of SharingCatriona Savage
 
Cédric Thomas, OW2 CEO presentation at Net Futures 2016
Cédric Thomas, OW2 CEO presentation at Net Futures 2016Cédric Thomas, OW2 CEO presentation at Net Futures 2016
Cédric Thomas, OW2 CEO presentation at Net Futures 2016OW2
 
Selfxl Project Solutions Linux Ow2
Selfxl Project Solutions Linux Ow2Selfxl Project Solutions Linux Ow2
Selfxl Project Solutions Linux Ow2Catherine Nuel
 

Viewers also liked (8)

OW2 Petals Dragon SOA Linuxtag09
OW2 Petals Dragon SOA Linuxtag09OW2 Petals Dragon SOA Linuxtag09
OW2 Petals Dragon SOA Linuxtag09
 
Open Education. A Modern Approach to Teaching and Learning
Open Education. A Modern Approach to Teaching and LearningOpen Education. A Modern Approach to Teaching and Learning
Open Education. A Modern Approach to Teaching and Learning
 
Ow2 Today Solution Linux2010
Ow2 Today Solution Linux2010Ow2 Today Solution Linux2010
Ow2 Today Solution Linux2010
 
OW2 Exo Platform Open Social Portal Linuxtag09
OW2 Exo Platform Open Social Portal Linuxtag09OW2 Exo Platform Open Social Portal Linuxtag09
OW2 Exo Platform Open Social Portal Linuxtag09
 
Open Educational Resources: Building a Culture of Sharing
Open Educational Resources: Building a Culture of SharingOpen Educational Resources: Building a Culture of Sharing
Open Educational Resources: Building a Culture of Sharing
 
Cédric Thomas, OW2 CEO presentation at Net Futures 2016
Cédric Thomas, OW2 CEO presentation at Net Futures 2016Cédric Thomas, OW2 CEO presentation at Net Futures 2016
Cédric Thomas, OW2 CEO presentation at Net Futures 2016
 
The Open Strategy
The Open StrategyThe Open Strategy
The Open Strategy
 
Selfxl Project Solutions Linux Ow2
Selfxl Project Solutions Linux Ow2Selfxl Project Solutions Linux Ow2
Selfxl Project Solutions Linux Ow2
 

Similar to Secure your Java EE projects by using JOnAS Java EE server audit & diagnostic tools

OW2 Squat SONAR Qualipso, OW2con11, Nov 24-25, Paris
OW2 Squat SONAR Qualipso, OW2con11, Nov 24-25, ParisOW2 Squat SONAR Qualipso, OW2con11, Nov 24-25, Paris
OW2 Squat SONAR Qualipso, OW2con11, Nov 24-25, ParisOW2
 
Reliable Asynchronous Web Services on Java EE JOnAS server and Apache CXF
Reliable Asynchronous Web Services on Java EE JOnAS server and Apache CXFReliable Asynchronous Web Services on Java EE JOnAS server and Apache CXF
Reliable Asynchronous Web Services on Java EE JOnAS server and Apache CXFFlorent BENOIT
 
Salome TMF OW2 Conference Nov10
Salome TMF OW2 Conference Nov10Salome TMF OW2 Conference Nov10
Salome TMF OW2 Conference Nov10OW2
 
Transforming Datacenter Jaspersoft-ow2-conference-nov10
Transforming Datacenter Jaspersoft-ow2-conference-nov10Transforming Datacenter Jaspersoft-ow2-conference-nov10
Transforming Datacenter Jaspersoft-ow2-conference-nov10OW2
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityNGINX, Inc.
 
Bots on guard of sdlc
Bots on guard of sdlcBots on guard of sdlc
Bots on guard of sdlcAlexey Tokar
 
Open Source and Standardization
Open Source and StandardizationOpen Source and Standardization
Open Source and StandardizationOW2
 
Jasmine Probe, OW2con11, Nov 24-25, Paris
Jasmine Probe, OW2con11, Nov 24-25, ParisJasmine Probe, OW2con11, Nov 24-25, Paris
Jasmine Probe, OW2con11, Nov 24-25, ParisOW2
 
REAL-TIME OBJECT DETECTION USING OPEN COMPUTER VISION
REAL-TIME OBJECT DETECTION USING OPEN COMPUTER VISIONREAL-TIME OBJECT DETECTION USING OPEN COMPUTER VISION
REAL-TIME OBJECT DETECTION USING OPEN COMPUTER VISIONIRJET Journal
 
Open Source Innovation Factory, OW2con11, Nov 24-25, 2011, Paris
Open Source Innovation Factory, OW2con11, Nov 24-25, 2011, ParisOpen Source Innovation Factory, OW2con11, Nov 24-25, 2011, Paris
Open Source Innovation Factory, OW2con11, Nov 24-25, 2011, ParisOW2
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolPorfirio Tramontana
 
Crating Value with Open Source, OW2con11, Nov 24-25, Paris
Crating Value with Open Source, OW2con11, Nov 24-25, ParisCrating Value with Open Source, OW2con11, Nov 24-25, Paris
Crating Value with Open Source, OW2con11, Nov 24-25, ParisOW2
 
IoTMeetupGuildford#19: Michele Nati, Boosting IoT interoperability, F-Interop...
IoTMeetupGuildford#19: Michele Nati, Boosting IoT interoperability, F-Interop...IoTMeetupGuildford#19: Michele Nati, Boosting IoT interoperability, F-Interop...
IoTMeetupGuildford#19: Michele Nati, Boosting IoT interoperability, F-Interop...MicheleNati
 
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...OW2
 
OW2Con2012 Scarbo2 SOA-Consistent BPM
OW2Con2012 Scarbo2 SOA-Consistent BPMOW2Con2012 Scarbo2 SOA-Consistent BPM
OW2Con2012 Scarbo2 SOA-Consistent BPMMarc Dutoo
 
Tracing-for-fun-and-profit.pptx
Tracing-for-fun-and-profit.pptxTracing-for-fun-and-profit.pptx
Tracing-for-fun-and-profit.pptxHai Nguyen Duy
 
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria
 
LemonLDAP NG 1.2, OW2con'12, Paris
LemonLDAP NG 1.2, OW2con'12, ParisLemonLDAP NG 1.2, OW2con'12, Paris
LemonLDAP NG 1.2, OW2con'12, ParisOW2
 
OSGi & JOnAS, OW2con11, Nov 24-25, Paris
OSGi & JOnAS, OW2con11, Nov 24-25, ParisOSGi & JOnAS, OW2con11, Nov 24-25, Paris
OSGi & JOnAS, OW2con11, Nov 24-25, ParisOW2
 
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
 

Similar to Secure your Java EE projects by using JOnAS Java EE server audit & diagnostic tools (20)

OW2 Squat SONAR Qualipso, OW2con11, Nov 24-25, Paris
OW2 Squat SONAR Qualipso, OW2con11, Nov 24-25, ParisOW2 Squat SONAR Qualipso, OW2con11, Nov 24-25, Paris
OW2 Squat SONAR Qualipso, OW2con11, Nov 24-25, Paris
 
Reliable Asynchronous Web Services on Java EE JOnAS server and Apache CXF
Reliable Asynchronous Web Services on Java EE JOnAS server and Apache CXFReliable Asynchronous Web Services on Java EE JOnAS server and Apache CXF
Reliable Asynchronous Web Services on Java EE JOnAS server and Apache CXF
 
Salome TMF OW2 Conference Nov10
Salome TMF OW2 Conference Nov10Salome TMF OW2 Conference Nov10
Salome TMF OW2 Conference Nov10
 
Transforming Datacenter Jaspersoft-ow2-conference-nov10
Transforming Datacenter Jaspersoft-ow2-conference-nov10Transforming Datacenter Jaspersoft-ow2-conference-nov10
Transforming Datacenter Jaspersoft-ow2-conference-nov10
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with Observability
 
Bots on guard of sdlc
Bots on guard of sdlcBots on guard of sdlc
Bots on guard of sdlc
 
Open Source and Standardization
Open Source and StandardizationOpen Source and Standardization
Open Source and Standardization
 
Jasmine Probe, OW2con11, Nov 24-25, Paris
Jasmine Probe, OW2con11, Nov 24-25, ParisJasmine Probe, OW2con11, Nov 24-25, Paris
Jasmine Probe, OW2con11, Nov 24-25, Paris
 
REAL-TIME OBJECT DETECTION USING OPEN COMPUTER VISION
REAL-TIME OBJECT DETECTION USING OPEN COMPUTER VISIONREAL-TIME OBJECT DETECTION USING OPEN COMPUTER VISION
REAL-TIME OBJECT DETECTION USING OPEN COMPUTER VISION
 
Open Source Innovation Factory, OW2con11, Nov 24-25, 2011, Paris
Open Source Innovation Factory, OW2con11, Nov 24-25, 2011, ParisOpen Source Innovation Factory, OW2con11, Nov 24-25, 2011, Paris
Open Source Innovation Factory, OW2con11, Nov 24-25, 2011, Paris
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
 
Crating Value with Open Source, OW2con11, Nov 24-25, Paris
Crating Value with Open Source, OW2con11, Nov 24-25, ParisCrating Value with Open Source, OW2con11, Nov 24-25, Paris
Crating Value with Open Source, OW2con11, Nov 24-25, Paris
 
IoTMeetupGuildford#19: Michele Nati, Boosting IoT interoperability, F-Interop...
IoTMeetupGuildford#19: Michele Nati, Boosting IoT interoperability, F-Interop...IoTMeetupGuildford#19: Michele Nati, Boosting IoT interoperability, F-Interop...
IoTMeetupGuildford#19: Michele Nati, Boosting IoT interoperability, F-Interop...
 
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
Consistent service integration in your workflows with OW2 Scarbo 2.0, OW2con'...
 
OW2Con2012 Scarbo2 SOA-Consistent BPM
OW2Con2012 Scarbo2 SOA-Consistent BPMOW2Con2012 Scarbo2 SOA-Consistent BPM
OW2Con2012 Scarbo2 SOA-Consistent BPM
 
Tracing-for-fun-and-profit.pptx
Tracing-for-fun-and-profit.pptxTracing-for-fun-and-profit.pptx
Tracing-for-fun-and-profit.pptx
 
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
 
LemonLDAP NG 1.2, OW2con'12, Paris
LemonLDAP NG 1.2, OW2con'12, ParisLemonLDAP NG 1.2, OW2con'12, Paris
LemonLDAP NG 1.2, OW2con'12, Paris
 
OSGi & JOnAS, OW2con11, Nov 24-25, Paris
OSGi & JOnAS, OW2con11, Nov 24-25, ParisOSGi & JOnAS, OW2con11, Nov 24-25, Paris
OSGi & JOnAS, OW2con11, Nov 24-25, Paris
 
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
 

More from Florent BENOIT

Code in the cloud with eclipse che and docker / snowcamp.io 2017
Code in the cloud with eclipse che and docker /  snowcamp.io 2017Code in the cloud with eclipse che and docker /  snowcamp.io 2017
Code in the cloud with eclipse che and docker / snowcamp.io 2017Florent BENOIT
 
Host any project in che with stacks & chefiles
Host any project in che with stacks & chefilesHost any project in che with stacks & chefiles
Host any project in che with stacks & chefilesFlorent BENOIT
 
Extending Eclipse Che to build custom Cloud IDEs
Extending Eclipse Che to build custom Cloud IDEsExtending Eclipse Che to build custom Cloud IDEs
Extending Eclipse Che to build custom Cloud IDEsFlorent BENOIT
 
Extending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsExtending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsFlorent BENOIT
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerFlorent BENOIT
 
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Florent BENOIT
 
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016Florent BENOIT
 
Eclipse Che and Artik IDE
Eclipse Che and Artik IDEEclipse Che and Artik IDE
Eclipse Che and Artik IDEFlorent BENOIT
 
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEPoitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEFlorent BENOIT
 
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDENantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDEFlorent BENOIT
 
Extending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsExtending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsFlorent BENOIT
 
Eclipse Che : ParisJUG
Eclipse Che : ParisJUGEclipse Che : ParisJUG
Eclipse Che : ParisJUGFlorent BENOIT
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerFlorent BENOIT
 
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !Florent BENOIT
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Florent BENOIT
 
Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014Florent BENOIT
 
Build an OSGi Web Console with Adobe Flex Technology and OSGi
Build an OSGi Web Console with Adobe Flex Technology and OSGiBuild an OSGi Web Console with Adobe Flex Technology and OSGi
Build an OSGi Web Console with Adobe Flex Technology and OSGiFlorent BENOIT
 
Create Dynamic console with OSGi and Adobe Flex
Create Dynamic console with OSGi and Adobe FlexCreate Dynamic console with OSGi and Adobe Flex
Create Dynamic console with OSGi and Adobe FlexFlorent BENOIT
 
JOnAS Addons and the deployment for PaaS and SaaS applications
JOnAS Addons and the deployment for PaaS and SaaS applicationsJOnAS Addons and the deployment for PaaS and SaaS applications
JOnAS Addons and the deployment for PaaS and SaaS applicationsFlorent BENOIT
 

More from Florent BENOIT (19)

Code in the cloud with eclipse che and docker / snowcamp.io 2017
Code in the cloud with eclipse che and docker /  snowcamp.io 2017Code in the cloud with eclipse che and docker /  snowcamp.io 2017
Code in the cloud with eclipse che and docker / snowcamp.io 2017
 
Host any project in che with stacks & chefiles
Host any project in che with stacks & chefilesHost any project in che with stacks & chefiles
Host any project in che with stacks & chefiles
 
Extending Eclipse Che to build custom Cloud IDEs
Extending Eclipse Che to build custom Cloud IDEsExtending Eclipse Che to build custom Cloud IDEs
Extending Eclipse Che to build custom Cloud IDEs
 
Extending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsExtending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEs
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
 
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
 
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016
Code in the cloud with Eclipse Che and Docker - EclipseCon France 2016
 
Eclipse Che and Artik IDE
Eclipse Che and Artik IDEEclipse Che and Artik IDE
Eclipse Che and Artik IDE
 
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEPoitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
 
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDENantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
 
Extending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsExtending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEs
 
Eclipse Che : ParisJUG
Eclipse Che : ParisJUGEclipse Che : ParisJUG
Eclipse Che : ParisJUG
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
 
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014
 
Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014
 
Build an OSGi Web Console with Adobe Flex Technology and OSGi
Build an OSGi Web Console with Adobe Flex Technology and OSGiBuild an OSGi Web Console with Adobe Flex Technology and OSGi
Build an OSGi Web Console with Adobe Flex Technology and OSGi
 
Create Dynamic console with OSGi and Adobe Flex
Create Dynamic console with OSGi and Adobe FlexCreate Dynamic console with OSGi and Adobe Flex
Create Dynamic console with OSGi and Adobe Flex
 
JOnAS Addons and the deployment for PaaS and SaaS applications
JOnAS Addons and the deployment for PaaS and SaaS applicationsJOnAS Addons and the deployment for PaaS and SaaS applications
JOnAS Addons and the deployment for PaaS and SaaS applications
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
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)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Secure your Java EE projects by using JOnAS Java EE server audit & diagnostic tools

  • 1. # 1 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Diagnostic & Audit system for Java EE applications Secure your Java EE project with the performance diagnostic tool provided by OW2 JOnAS Florent Benoit, BULL/OW2 [ @florentbenoit ]
  • 2. # 2 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Summary ● Context ● Environment : OW2 Java EE JOnAS Application server ● Diagnostic tool ● Presentation ● Demo ● Audit tool ● Presentation ● Demo ● Conclusion
  • 3. # 3 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Context
  • 4. # 4 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Why these tools ? ● Java EE specification: ● Ensure portability of applications ● Nothing about performance ● Application performance / Reliability ? ● Applications can be Java EE compliant without being reliable ● Finding performance problems ? ● Not so easy to find the problem with all components that are linked together. ● Traceability ● Get a log for each executed operation ● «Cost» of services ● For example, to know the memory used for a request
  • 5. # 5 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Environment : OW2 Java EE JOnAS Application server
  • 6. # 6 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. JOnAS: Java EE Application server ● Java EE 5 certified ● Java EE services: ● Web Container: Tomcat (6 & 7) / Jetty ● EJB3 persistence / JPA 1 & 2: EasyBeans (EclipseLink, Hibernate, OpenJPA) ● Transactions: JOTM ● Clustering: CMI ● Web Services: CXF/Axis2 ● Asynchronous Messages: JORAM ● OSGi: Felix et IPOJO ● Administration: web console, commands, API, JASMINe (Advanced management tool)
  • 7. # 7 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. JOnAS : Open Source Server ● Developed as an open source server (LGPL) within OW2: http://jonas.ow2.org ● OW2: independent industry consortium dedicated to developing open source code middleware ● Major contributors for JOnAS :Bull, France Telecom, Peking University, INRIA, UJF, UNIFOR, SERLI ● Linked OW2 projects : EasyBeans, JASMINe, JORAM, JOTM, CMI
  • 8. # 8 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. OSGi native Architecture ● Dynamically adaptable platform ● OSGi based services ● Modularity / Extensibility ● Profiles ● Enhanced application server life cycle ● On-Demand services ● Dynamic configuration ● Adaptable
  • 9. # 9 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Diagnostic tool
  • 10. # 10 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Diagnostic tool JDBC Connection leak detector
  • 11. # 11 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. « Pool » of JDBC connections ● Limit the number of physical connections to the database ● Optimize the time to provide a JDBC connection to the application datasource.getConnection(); connection.createStatement(); .... .... connection.close(); DataSource Pool
  • 12. # 12 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Forgot to call connection.close() ? ● Problem : No more available connections for new clients ● → Connections never closed – → don't go back in the pool ● → Other clients are waiting – No free connections in the pool ! Busy connections (used by applications) or not yet closed Empty PoolDataSource Pool
  • 13. # 13 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Handling the connection leak ? ● Avoid these connection leaks in production ? ● Automatic close of JDBC Connections by JOnAS – At the end of a method call (EJB stateless / HTTP request), remove() on stateful EJB beans. ● Life-time of JDBC connections – If no calls are done on a JDBC connection for a given amount of time, this connection is released and go back in the pool ● These solutions are only patches ● Goal: Fix the problem in the application's code – Help provided by the JOnAS web console ● Track the root of the problem
  • 14. # 14 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Servlet using JDBC connections 55 protected void doGet(....) { 56 response.setContentType("text/html"); 57 PrintWriter out = response.getWriter(); 58 out.println("<html><body>"); 59 60 DataSource ds = null; 61 try { 62 ds = (DataSource) new InitialContext().lookup("jdbc_1"); 63 ds.getConnection(); 64 } catch (NamingException e) { 65 e.printStackTrace(); 66 } catch (SQLException e) { 67 e.printStackTrace(); 68 } finally { 69 out.println("</body></html>"); 70 out.close(); 71 } 72 73 }
  • 15. # 15 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Screenshot of JOnAS Admin console Line to analyze
  • 16. # 16 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Servlet with the JDBC error 55 protected void doGet(....) { 56 response.setContentType("text/html"); 57 PrintWriter out = response.getWriter(); 58 out.println("<html><body>"); 59 60 DataSource ds = null; 61 try { 62 ds = (DataSource) new InitialContext().lookup("jdbc_1"); 63 ds.getConnection(); 64 } catch (NamingException e) { 65 e.printStackTrace(); 66 } catch (SQLException e) { 67 e.printStackTrace(); 68 } finally { 69 out.println("</body></html>"); 70 out.close(); 71 } 72 73 }
  • 17. # 17 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Demo Tracking JDBC connection leaks
  • 18. # 18 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Diagnostic tool Monitoring/displaying JVM Threads
  • 19. # 19 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Information about JVM threads
  • 20. # 20 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Demo Threads monitoring
  • 21. # 21 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Audit tools
  • 22. # 22 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Goals of the audit system [1/2] ● Development ● Discovery of the software architecture of applications and calls between the Java EE modules → Difficult to track (complex/distributed applications ) ● Tracking the performance problems: → Enhance the performance → Identify the component that is causing the problem ● Qualifying ● Statistics on features/services that are used (top 10, ...) ● Adapt applications to their usage ● Trends on applications/services – Response time, ...
  • 23. # 23 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. ● Production ● Audit ● Traceability ● Log of services that have been used ● Billing (You pay what you're using) – (Google App Engine) Goals of the audit system [2/2]
  • 24. # 24 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Commercial Tools ● Commercial tools ● CA Wily Introscope® ● dynaTrace ● BMC AppSight ● Compuware Vantage Analyzer
  • 25. # 25 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Solution based on interceptors ● Different level of interceptors ● Enabling/disabling on demand ● EJB 3 ● Invocation (Business service calls) ● Lifecycle (Start/Stop) ● HTTP requests ● Servlet filter ● JNDI access ● Each call on the context returned by the command  new InitialContext() »: lookup, bind, etc.
  • 26. # 26 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Architecture of the Audit System EasyBeans Tomcat JNDI Audit log JOnAS Admin (Audit module) JMX Notifications Jconsole / JMX Client Audit System JASMINe
  • 27. # 27 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Collected data [1/2] ● EJB3 ● Invocation – Bean's name – Identity (name + roles) – Called method ● @Local ● @Remote ● OnMessage – Size of method parameters – Result – Elapsed time in the method – Exceptions
  • 28. # 28 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. ● HTTP ● URL ● Encoding ● Client (protocol,host, port) ● SessionId ● Query ● Status HTTP ● JNDI ● Method that is called on the InitialContext – bind, lookup, ... – Parameters (if any) ● Elapsed time Collected data [2/2]
  • 29. # 29 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Traceability / Logger ● Client of Audit MBeans ● Collecting data ● Storage in a log file ● Human readable format [10/03/04 22:05:35] class org.ow2.util.auditreport.impl.InvocationAuditReport requestStart = 1267736735591573000 requestStop = 1267736735591630000 requestDuration = 0.057 businessMethod = getCalculator@Local BeanName = Calculator target = /easybeans/audit-sample.ear/audit-sample-ejb.jar/SessionFacade/getCalculator@Local paramSize = 5 returnSize = 0 freeMemoryBefore = 25623392 totalMemoryBefore = 64126976 freeMemoryAfter = 25617704 totalMemoryAfter = 64126976 sweepMarkTime = 873 scavengeTime = 5170 user = ANONYMOUS roles = [JOnAS] requestTimeStamp = 1267736735580 methodStackTrace = [java.lang.Thread.getStackTrace(Thread.java:1409) - ..... ] methodParameters = null Elapsed time Called method Identity Parameters
  • 30. # 30 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Screenshot of the tool
  • 31. # 31 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Screenshot of a method's graph
  • 32. # 32 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Advanced mode ● Tracking a request on several servers ● Tracking asynchronous calls ● Sending to JMS queue / Receiving from a JMS queue JMS Servlet Server 1 Servlet EJB Server 2 MDB Server 3 IDID IDID IDID EJB Server 4 IDID Collecting Events
  • 33. # 33 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Demonstration
  • 34. # 34 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Demo ● Goal of the demonstration ● Enhancing the performances of an application – Discovering problems – Solving problems – Checking this with the audit console ● Traceability of calls in an application
  • 35. # 35 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Conclusion
  • 36. # 36 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Conclusion [1/2] ● Preventing performance problems → Secure a project ● Tools can be used in designing/integrating/production ● In production, an other Java EE server may be used ● Tool bundled with JOnAS ● Key feature comparing to other Java EE servers ● Ready to use ● Open Source / LGPL ● Integrated in JOnAS 5.2
  • 37. # 37 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. ● Supervising OSGi service ● Available OSGi services ● Links between components/services ● … ● Supervising JPA ● Life cycle of “Entities” ● Other metrics ● SQL request – Number of requests – Elapsed time of requests ● ... Conclusion: what's next ? [2/2]
  • 38. # 38 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Q & A Florent Benoit, BULL/OW2 [ @florentbenoit ]