Download presentation
Presentation is loading. Please wait.
Published byMelvyn McCoy Modified over 8 years ago
2
Oracle9iAS Containers for J2EE OC4J Ilkka Ruotsalainen Senior Sales Consultant Oracle Finland Oy
3
Agenda Techical Overview of Oracle9iAS Oracle Java Strategy –Intro to Oracle9iAS Containers for J2EE (OC4J) – OC4J Architecture –OC4J J2EE 1.2 Implementation and Features –OC4J JSP Translator –OC4J Servlet Engine –OC4J EJB Container – OC4J Other APIs and Services –OC4J Clustering Services –Oracle Web Cache Oracle9i Developer Suite –OC4J Integration with JDeveloper9i
4
Rational Modeling Rational Modeling Iona ORBs Iona ORBs RogueWave Framework RogueWave Framework IBM Application Server IBM Application Server Novell Directory Novell Directory Netscape Web Server Netscape Web Server Microsoft Database Microsoft Database Too Many Incompatible Pieces Times Ten Cache Times Ten Cache Borland Java Tool Borland Java Tool Actuate Reporting Actuate Reporting Plumtree Portals Plumtree Portals Cognos Analysis Cognos Analysis
5
Oracle9 i IBMDatabaseOracle9 i DB BEAJava ServerOracle9 i AS PlumtreeEnterprise PortalOracle9 i AS Brio/CognosBus. IntelligenceOracle9 i AS phone.comWirelessOracle9 i AS VitriaIntegrationOracle9 i AS Web Trends ClickstreamOracle9 i AS InktomiWeb CacheOracle9 i AS Times TenData CacheOracle9 i AS VerisignSecurityOracle9 i AS NetscapeDirectoryOracle9 i AS CA/HPSystems Mgmt.Oracle9 i AS BorlandJava ToolsOracle9 i DS Oracle9 i AS = No Assembly Required Only Oracle9 i means no assembly required
6
Complete Server Solution APPLICATION S E R V E R D A T A B A S E 9iAS9iDB Oracle Solution: Complete, Therefore Simple
7
APPLICATION S E R V E R D A T A B A S E Manages All Your Data Object Relational Data Documents Files Multimedia Any XML Data Messages Oracle9i Database
8
Oracle9i Application Server Runs All Your Applications APPLICATION S E R V E R D A T A B A S E A P A C H E Transactional Apps OC4J/J2EE Portals Wireless Business Intelligence WEB CACHE
9
Oracle Enterprise Manager One View Complete Solution Complete solution The Platform One Toolset Internet Developer Suite APPLICATION S E R V E R D A T A B A S E
10
Run All Your Web Sites & Applications Oracle9 i Application Server Oracle9iAS can run any web site or application –Complete J2EE platform for enterprise Java applications –Develop in Java, PERL, PL/SQL, Forms, XML –Forms Listener Servlet for deployment of Forms in Internet –Reduce costs through a single unified platform for Java, XML and SQL Forms/Servlet Oracle Database LOB XML interMedia Files Tables Internet Users Intranet/ Professional Users PL/SQL XML / XSL Perl Scripting Servlet / JSP Portal EJB SOAP
11
The Oracle Java Strategy Provide the industry’s most comprehensive Java support –Full J2EE support, quick to adopt new specification releases (Middle-Tier) –Java Stored Procedures, SQLJ, JDBC (RDBMS) Provide Enterprise Class J2EE server –High performance, high scalability, high availability Provide integrated productive development tools –Oracle JDeveloper (Oracle9i Jdeveloper Beta) –Business Components for Java (BC4J) Provide integrated management tools (OEM)
12
Oracle9iAS Containers for J2EE (OC4J) Fully compliant J2EE 1.2 implementation Implements major portions of J2EE 1.3 Pure Java implementation – on top of Standard JDK Extremely lightweight – 10MB/15MB Provides high performance and scalability Cluster support for 24x7 Productive for developers to use Simple to manage and deploy Available on Solaris,NT/2000,HPUX,AIX,Tru64,Linux
13
OC4J and J2EE 1.2/1.3 1.1, partial 2.0 2.2, partial 2.3 EJB 1.1 2.0 Servlets JSP JDBC Oracle9 i AS J2EE 1.2 1.2 JNDI 1.0.1 JMS 1.1.2 JTA JavaMail OC4J is fully J2EE 1.2 compliant OC4J implements major portions of the J2EE 1.3 specifications now
14
Database LOB XML MultiMedia Files Table Oracle9iAS Containers for J2EE (OC4J) Using EJBs and J2EE Services - 100% J2EE 1.2 Compliant JSP 1.1 Servlet (2.2, 2.3) JTA 1.0 JMS 1.0 JNDI 1.2 Java Mail 1.1 RMI JDK Java VM (1.2, 1.3) 9iAS EJB (1.1, 2.0) Session, Entity (BMP, CMP) JDBC 2.0 J2EE Container (1.2, 1.3) Apache (9iAS) Apache (9iAS) Browser
15
OC4J Architecture Diagram Web Container Servlet/JSP JNDI JMS EJB Container HTTPHTTP ORMIORMI JDBC JTA JavaMail JAF mod_proxy Client EJB Client Apache HTTP(S) ORMI/HTTP HTTP HTTP(S) OC4J Server Process
16
JSP Translator Feature Rich and Very Fast JSP Translator Full JSP 1.1 implementation Supports all JSP Tag Directives –Supports all standard JSP Tags –Very Fast JSP Translator –Most Advanced JSP 1.1 Support JSP Tag Libraries –Tag Library Assembly Tool to describe/package tag libs –Utility Tags: DB Access, Mail, Search, Multimedia –EJB Client Access Tags –JSP Caching Tags Source Level Debugging –Extended exception reporting with JSP and servlet line numbers to assist with debugging
17
Servlet Engine Feature Rich and Very Fast Servlet Engine Full Servlet 2.2 implementation –Servlet 2.2 compatible with Tomcat –Standard.WAR file-based Deployment –Very Fast compared to JServ, Tomcat, BEA, IBM Most Advanced Servlet 2.3 support –Servlet Filters –Servlet Chaining Automatic Servlet Compilation Support –Compile on demand model eases development effort Stateless and Stateful Failover (Clustering)
18
EJB Container Competitive EJB Container Complete EJB 1.1 implementation –Session Beans and Entity Beans, Full CMP and BMP –Automatic Generation of Finder Methods –Simple and Complex O-R Mappings –Automatic Mapping of Fields to DB Tables –EAR File Deployment –Standard Services: JNDI 1.2, JMS 1.0, JTA 1.0.1 Hot Deployment –Automatic generation of EJB stubs upon deployment Advanced EJB 2.0 Support –Draft O-R Mapping –XML Deployment Descriptors –Message Driven Beans
19
OC4J Java Database Connectivity Fully implements JDBC 2.0 specification Provides Oracle JDBC drivers –Type 2 and Type 4 drivers –Certified with Oracle 8, 8i, 9i out of the box Implements JDBC 2.0 extensions –Connection pooling, advanced data types (BLOB, CLOB, Character Streams etc), enhanced result sets, JNDI data sources, X/A support Certified with Merant Type 4 JDBC drivers –Merant provides access to non-Oracle data sources such as Informix, Sybase, DB2, SQL-Server
20
OC4J Other APIs and Services JNDI, provides lightweight JNDI implementation JTA, provides transactions support including container managed transactions JMS, provides lightweight message service implementation RMI –Provide high speed, optimized RMI transport protocol –Tunnels RMI over HTTP for firewall support HTTP(S), provide high performance HTTP server
21
OC4J Clustering Services A cluster can be thought of a collection of servers operating together that provide: –Load balancing –High availability –Fault tolerance OC4J provides these clustering services –Load balancing –High availability –Fault tolerance
22
OC4J Load Balancing Load balancer routes incoming client requests over multiple OC4J servers –Load balancer treats OC4J servers as a pool to handle incoming requests –Optimizes requests by servicing clients with same server
23
OC4J High Availability Failed server detection –Load balancer detects failed servers –Load balancer routes requests around failed servers Dynamic server binding –Servers register with load balancer when they start –Load balancer adds server to pool upon registration
24
OC4J Application Failover Ensures that client sees no loss of service when a server failure occurs –Client state made available to fail-over servers Cluster island –Servers grouped together inside of cluster Replicated application state –HttpSession objects; client specific state
25
Web Application Clustering Cluster Island 2 Cluster Island 1 Load Balancer One application server cluster Five application server nodes Two cluster islands Load balancer Application Server Cluster
26
Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Each server registers with the load balancer at startup Application Server Cluster
27
Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Client Client makes requests for a web application Load balancer intercepts request Application Server Cluster A B C
28
Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Client LB routes request to a server for processing Server A creates session for client Application Server Cluster Server A generates and sends response A B C
29
Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Client HttpSession Server A sends HttpSession object to other servers in cluster island Application Server Cluster State not sent to servers in other cluster islands A B C
30
Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Client HttpSession Future requests from same client directed to same server node for efficiency Application Server Cluster HttpSession object continues to be updated on all nodes within cluster island A B C
31
Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Client HttpSession X Server A experiences a major failure and stops functioning Application Server Cluster A B C
32
Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Client HttpSession X Client makes next request LB detects failure of server A LB routes request to another server in same island Server B generates response using replicated HttpSession object and sends to client Application Server Cluster A B C
33
Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Client HttpSession X Client sees no interruption of service due to the failure of server A Application Server Cluster Server B sends updated HttpSession object to servers in cluster A B C
34
Improve Scalability Cluster Instances with Load Balancing Web Server (9iAS) Load Balancer Web Server (9iAS) Web Server (9iAS) Web Server (9iAS) Web Server (9iAS) DB State J2EEContainer State J2EEContainer State J2EEContainer State J2EEContainer State J2EEContainer State J2EEContainer State J2EEContainer State J2EEContainer LoadBalanceLoadBalance Cluster 1 Cluster 2 LoadBalanceLoadBalance
35
Accelerate Performance with Caching Oracle9 i AS Microsoft IBM Web Cache serves web pages 3X faster – Support more users, use less web servers, hardware – Oracle9 i AS serves static and dynamic web pages faster – Provides sophisticated invalidation mechanisms – Higher reliability with surge protection, load balancing & performance assurance Oracle Database LOB XML interMedia Files Tables Web Cache (pre-cached pages)
36
Any Data Oracle9i AS AS AS AS Web Cache (pre-cached pages) Serve 80% of Hits from Web CacheServe 80% of Hits from Web Cache Web Site Works FasterWeb Site Works Faster Fewer Web Servers NeededFewer Web Servers Needed Oracle WebCaching Oracle9iAS 9iAS WebCache Services
37
Cache 2 UK Data Center Eliminates Need To Go Over ISP NetworksEliminates Need To Go Over ISP Networks Site Works FasterSite Works Faster Cache 1 US Cache 3 Japan Oracle9i AS 9iAS WebCache Services
38
Store with Oracle ’ s Web caching on single 2-CPU Pentium III server Requests / Second Comparative Throughput of Store Sites Average Store performance per Web server 50 7500 Web Cache Content Search results Catalogs Personalized pages Images Text Audio / Video 9iAS WebCache Services
39
Provide High Availability Cluster Mid-Tiers and Provide Application Failover ReplicatedState ReplicatedState Clustered 9iAS (Session State) ReplicatedState ReplicatedState NodeA NodeB NodeC NodeD Clustered Oracle DB (Persistent State) 9iAS J2EE App. JDBC (TAF) JDBC (TAF) Web Server (9iAS) LoadBalanceLoadBalance
40
One Toolset, Enabling Oracle9i JDeveloper9i Designer Forms Developer Oracle Portal Reports Developer Discoverer Admin. Edition Oracle9i Developer Suite
41
Integration with JDeveloper9i End-to-End Solution to problem “How do I build a J2EE Application” Innovative IDE for Java & XML Developers –100% Java –Common IDE for Oracle –Full lifecycle development –Available NT/2000, Solaris, Linux (JDK 1.3) End-to-End Support for J2EE Development –UML Modeling –Productive J2EE Framework. Wizards, code editors and visual design tools to develop J2EE specification, including applets, applications, JavaBeans, JavaServer Pages, servlets & Enterprise JavaBeans –Source Control Management – also 3 rd party
42
Unique XML, Java & SQL Integration Universal client support Profiler, CodeCoach & Debugger Integrated support for Oracle9iAS Containers for J2EE (OC4J) Integrated UML Class and Activity Modelers Enhanced database integration features Java Addin API for customizing Jdeveloper Integration with JDeveloper9i
43
Easy J2EE Deployment Create J2EE Archives through Wizards –Create EJB JAR file for Business Logic –Create WAR file for JSP Pages and Servlets –Create EAR file for complete J2EE App One-click Deployment to 9iAS Integration with JDeveloper9i
44
No Vendor Lockin – Comprehensive support for industry standards - J2EE – Supports standard Java development and profiling tools – Access to non-Oracle data sources Robust Enterprise Strength J2EE platform –Performance, Scalability and Security –High Availability through Clustering Improves Developer Productivity –Integrated development tools –Complete support for all phases of development lifecycle Better Return on Your Investment Why OC4J ?
45
Reduces Development, Deployment, Management and ongoing Support Costs – Integrated with other Oracle9iAS components – Common technology stack – Pre-certified configurations – Single Vendor for all your platform needs – Management simplicity Integrated with the world ’ s best Database - Oracle9i – End-to-End Security – End-to-End Availability – End-to-End Scalability – Real Application Clusters Why OC4J ?
46
Summary Oracle9iAS provides a comprehensive J2EE server Oracle9iAS provides tightly integrated tools for developing Java applications Oracle9iAS provides the best performance of all J2EE servers Oracle9iAS provides the best integration with middle-tier infrastructure needed to build web applications OC4J provides clustering services for 24x7 support – no extra costs Oracle9iAS provides the best integration with the Oracle9i Database Download OC4J from http://otn.oracle.com http://otn.oracle.com/docs/tech/java/oc4j/htdocs/getstart.htm http://otn.oracle.com/jdeveloper Try it out for yourself !
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.