Oracle9iAS Containers for J2EE OC4J Ilkka Ruotsalainen Senior Sales Consultant Oracle Finland Oy.

Slides:



Advertisements
Similar presentations
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
Advertisements

J2EE Overview.
J2EE Architecture Overview
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
An architecture for webb applications, J2EE
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
Building Enterprise Information Portal using Oracle Portal 3
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Oracle Products Overview Internet Computing Indrek Peenmaa Sales Consultant Oracle Corporation
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Understanding and Managing WebSphere V5
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Distributed System Using Java 2 Enterprise Edition (J2EE)
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
1 Oracle 9i AS Availability and Scalability Margaret H. Mei Senior Product Manager, ST.
Introduction to Java EE (J2EE)
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
JRun 4 & Macromedia MX Tommy Reilly JRun Engineer.
Chapter 4: Core Web Technologies
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
JBoss at Work JAW Motors Application Chapter 1-3 Jeff Schmitt October 9, 2006.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
J2EE 기반의 웹서비스 구축을 위한 JEUS 4.0 정재웅 선임 연구원. 기술로 고객의 마음을 움직입니다 Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.JEUS 2/29 Agenda WAS 개요 JEUS System.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Oracle 9iAS Enterprise Technology Centre Oracle Corporation.
GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
©NIIT Introducing Enterprise JavaBeans (EJB) Lesson 1A / Slide 1 of 43J2EE Server Components Objectives In this lesson, you will learn about: The features.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
Oracle9i Pascal Gibert Director Product Management Application Development Tools Oracle Corporation Pascal Gibert Director Product Management Application.
2 DOAG November 2001 Modeling J2EE Applications using Oracle9i Designer and Oracle9i JDeveloper Simon W Day
Speaker Name Speaker Title Speaker Title Oracle Corporation Olivier Le Diouris Principal Product Manager Oracle Corporation Building Servlet and JSP Applications.
The Holmes Platform and Applications
J2EE Platform Overview (Application Architecture)
Introduction to Oracle Forms Developer and Oracle Forms Services
Netscape Application Server
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to J2EE Architecture
PHP / MySQL Introduction
Distributed System Using Java 2 Enterprise Edition (J2EE)
Computer Based Adaptive Testing
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Component-based Applications
Understanding and Designing with EJB
Presentation transcript:

Oracle9iAS Containers for J2EE OC4J Ilkka Ruotsalainen Senior Sales Consultant Oracle Finland Oy

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

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

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

Complete Server Solution APPLICATION S E R V E R D A T A B A S E 9iAS9iDB Oracle Solution: Complete, Therefore Simple

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

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

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

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

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)

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

OC4J and J2EE 1.2/ , partial , partial 2.3 EJB Servlets JSP JDBC Oracle9 i AS J2EE JNDI JMS JTA JavaMail OC4J is fully J2EE 1.2 compliant OC4J implements major portions of the J2EE 1.3 specifications now

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

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

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

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)

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 Hot Deployment –Automatic generation of EJB stubs upon deployment Advanced EJB 2.0 Support –Draft O-R Mapping –XML Deployment Descriptors –Message Driven Beans

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

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

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

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

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

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

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

Web Application Clustering Cluster Island 1 Cluster Island 2 Load Balancer Each server registers with the load balancer at startup Application Server Cluster

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

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

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

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

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

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

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

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

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)

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

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

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 Web Cache Content Search results Catalogs Personalized pages Images Text Audio / Video 9iAS WebCache Services

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

One Toolset, Enabling Oracle9i  JDeveloper9i  Designer  Forms Developer  Oracle Portal  Reports Developer  Discoverer Admin. Edition Oracle9i Developer Suite

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

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

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

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 ?

 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 ?

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 Try it out for yourself !