How to Deploy, Monitor and Manage Middle-Tier Applications Lars Ewe, Principal Product Manager Valerie K. Kane, Group Manager Oracle Corporation Session id: 40025
Agenda Understanding J2EE Applications J2EE Application Management Lifecycle – Deploy – Monitor – Diagnose – Administer Q & A
Understanding J2EE Applications
Application Layers Mapped to J2EE Tiers and Technology J2EE helps developers build layered applications, each providing different services Servlets HTML, JSP Java Objects, Session Beans Java Objects, Entity Beans Control Presentation Business Logic Persistent Objects Web Tier Business Tier Application LayerJ2EE Tier J2EE Technology
Web Application / JDBC Pros – Simple to build – Simple to package and deploy – Low overhead from container – Relatively easy to test Cons – Needs discipline to keep UI and logic separate – No container transaction support – Must code all database calls JSP + Servlet UI Business Logic JDBC DB Web Container
Web Application / Local EJB Pros – Separation of business logic – Entity beans for persistence – No serialization or network calls – Concurrency managed – Can convert to remote interface and Web service endpoint if required Cons – Uses EJB infrastructure – Harder to test business logic behind local interfaces JSP + Servlet UI Session Bean - Logic Entity Bean - Persistence DB Web + EJB Container local
Web Application / Remote EJB Pros – Most flexible architecture – Can separate EJB container to different server – Multi client enabled – Can be exposed as Web service endpoint Cons – Slower performance, remote network calls and serialization – Can be difficult to configure and debug Session Bean - Logic Entity Bean - Persistence DB Web Container remote JSP + Servlet UI EJB Container Web Container
J2EE Platform Roles Product Provider Tool Provider Application Developer Application Assembler Application Deployer System Administrator Focus of this presentation
Application Assembler and Deployer Role Application Assembler – Packages set of components to build the EAR using a tool or utility – Documents external dependencies for the application Application Deployer – Configures external dependencies for the application – Deploys the application to application server
Inter-Module dependencies in J2EE All Resource Adapters All EJBs Web-Module 1Web-Module 2
OC4J Classloader Tree Java2 JRE OC4J Shared JARs commonly go here WebApp 1WebApp 2 Web App EJB/Libraries EJBs Res. Adapters Global-Application Global-Res. Adapters System Extension Bootstrap
J2EE Application Management Lifecycle
J2EE Application Mgmt Lifecycle Ongoing Production Management Diagnose Monitor Deploy Administer
Application Deployment Deployment Steps – Map URLs – Map Resource References – Publish Webservices (if needed) Application Configuration – Resources – Security
D E M O N S T R A T I O N Deployment & Configuration
Oracle Eco-System Application Performance Management Availability Management Oracle Enterprise Manager 10g Notifications Modeling End-User Communities Root Cause Analysis Alerts Trending Transaction Performance End-User Performance Cross-Tier Tracing Application Performance Management SLA Management Non-Oracle Systems Impact Analysis
Model End-User Communities Web Application Availability and Performance may vary from location to location
End-User Performance Monitoring of ALL URLs accessed by ALL users End-user impact analysis Server vs network response time Analysis of end-user response times by URL, domain, regions, visitor, Web server Web server load and response distribution Watch list to highlight performance of critical URLs Web Application
Interactive Cross-Tier Transaction Tracing URL/JSPEJBJDBC/SQL On-demand diagnosis of problems across tiers of J2EE Web application Intuitive drill-downs of all invocation paths to the SQL level internet Middle Tier
Page Performance Analysis ServletEJB JDBC/SQL Full URL processing call stack analysis Tracing down to the SQL statement level Tuning Recommendations internet JSP Processing time and Load Slowest URLs and # of Hits Top Servlets & JSPs by Requests & Processing Time Application Performance Correlation
D E M O N S T R A T I O N Application Performance Management
J2EE Monitoring Pre-defined thresholds Alert notifications and response actions Blackout periods Performance baselines Graphical performance charts Historical data repository Performance trends and comparisons
Monitor Application Server Performance at Multiple Levels Server resource usage OC4J container performance J2EE application responsiveness Servlets, JSPs and EJBs performance
Application Server Historical Data Trends and Comparisons What’s the current CPU usage for server #1? How did it do over the past 24 hours? How does that compare to server #2 over the same timeframe?
J2EE Application Diagnostics Real-time and historical performance Easily identify top resource consumers
J2EE Diagnostic Drilldowns What are my top web modules, servlets & JSPs?
J2EE Diagnostic Drilldowns What are my top EJBs and EJB methods?
D E M O N S T R A T I O N J2EE Monitoring & Diagnostics
Application Server Management Consolidated view of J2EE applications across all OC4J instances OC4J and application configuration Central log viewer Port Management
D E M O N S T R A T I O N Demonstration Management
Wednesday, September 10th Keynote: Mastering the Grid Ken Jacobs – 2:30pm – North Keynote Hall Configuring, Deploying and Managing the Oracle Collaboration Suite Session – Val Kane – 4:30pm Moscone Room 270 Thursday, September 11th Extending the Reach of Enterprise Manager to Monitor Custom Applications Across the Grid Session – Hoosh Afsar of Fannie Mae, V Tummalapalli – 1:00pm Moscone Room 202 Enterprise Manager: Scalable Oracle Management Session – John Kennedy – 1:00pm Moscone Room 103 Rapid Deployment of Enterprise Manager: Install and Configure in 6 Easy Steps Session – – Ana Hernandez, Dave Leroy – 2:15pm Moscone Room 103 Securing Your Enterprise with Oracle Enterprise Manager Session – Amir Najmi, Julie Wong – 3:15pm Moscone Room 103