Oracle9i Application Server

Size: px
Start display at page:

Download "Oracle9i Application Server"

Transcription

1 Oracle9i Application Server Concepts Release 2 (9.0.2) May 2002 Part No. A

2 Oracle9i Application Server Concepts, Release 2 (9.0.2) Part No. A Copyright 2002 Oracle Corporation. All rights reserved. The Programs (which include both the software and documentation) contain proprietary information of Oracle Corporation; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent and other intellectual and industrial property laws. Reverse engineering, disassembly or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. Oracle Corporation does not warrant that this document is error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Oracle Corporation. If the Programs are delivered to the U.S. Government or anyone licensing or using the programs on behalf of the U.S. Government, the following notice is applicable: Restricted Rights Notice Programs delivered subject to the DOD FAR Supplement are "commercial computer software" and use, duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement. Otherwise, Programs delivered subject to the Federal Acquisition Regulations are "restricted computer software" and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR , Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and Oracle Corporation disclaims liability for any damages caused by such use of the Programs. Oracle is a registered trademark, and OracleMetaLink, Oracle Store, Oracle9i, Oracle9iAS Discoverer, SQL*Plus, and PL/SQL are trademarks or registered trademarks of Oracle Corporation. Other names may be trademarks of their respective owners.

3 Contents List of Figures Tables Send Us Your Comments... xv Preface... xvii 1 Introduction to Oracle9i Application Server The Challenges of Creating and Maintaining an E-Business Development Challenges J2EE Applications Web Services Enterprise Integration Portals Wireless Personalization Deployment Challenges Performance Caching Availability Scalability User and Security Management Systems Management Building an E-Business Solution with Oracle9i iii

4 Overview of Oracle9i Application Server Oracle9iAS Solutions J2EE and Internet Applications Portals Wireless Caching Business Intelligence E-Businesses Integration Management and Security Oracle9iAS Components J2EE and Internet Application Development and Deployment Application Development and Deployment in Oracle9iAS What Types of Applications Can Be Developed for Deployment in Oracle9iAS? Oracle9iAS Containers for J2EE J2EE Application Development Concepts What Is a J2EE Application? J2EE Distributed Multitiered Application Model Types of J2EE Clients Types of J2EE Application Components Types of J2EE Containers J2EE Application Packaging Concepts How OC4J Runs and Manages Servlets About the Servlet Container How the Servlet Container Works How OC4J Runs and Manages JavaServer Pages About the JSP Translator How the JSP Translator Works How OC4J Runs and Manages EJBs About the OC4J EJB Container How the EJB Container Works J2EE Services Oracle J2EE Services iv

5 Oracle9iAS Web Services Oracle9iAS Web Services Architecture Web Services Framework Oracle XML Developer Kit XML and XSLT Parsers XML Schema Processors XML Class Generators XSQL Servlet XML Transviewer Beans Oracle9iAS PL/SQL Platform Oracle9iAS PL/SQL Oracle PL/SQL Server Pages Oracle PL/SQL Web Toolkit Oracle9iAS Forms Services Oracle9iAS Forms Services Architecture Oracle HTTP Server Oracle HTTP Server Components Oracle HTTP Server Features Oracle HTTP Server Architecture Modular Architecture Common Gateway Interface (CGI) Support Oracle9iAS Clustering Clustering Terminology Scalability Availability Manageability Architecture Front-End Load Balancer Metadata Repository in the Infrastructure Farm Cluster Application Server Instance Management Features v

6 High Availability Benefits of High Availability Architecture The mod_oc4j Module Portal Development and Deployment Introduction to Oracle9iAS Portal What is Oracle9iAS Portal? E-Business Support with Oracle9iAS Portal Oracle9iAS Portal Features Portal Page Creation, Management, and Customization Portal Content Publishing and Management Content Searching Content Syndication Portals and Wireless Devices Oracle9iAS Portal Architecture Application Access and Integration Integrating with Portlet Providers Oracle9iAS Portlets Custom Portlets Partner Portlets Portal Security User Authentication in Oracle9iAS Portal Access Control in Oracle9iAS Portal Wireless Development and Deployment Introduction to Oracle9iAS Wireless What is Oracle9iAS Wireless? Oracle9iAS Wireless Architecture Oracle9iAS Wireless HTTP Adapter Device/Network Adapter Oracle9iAS Wireless Features Core Services vi

7 Deploy Applications for Any Device, Protocol, or Network Location-Based Services Mobile Personal Information Management (PIM) and Support m-commerce and Billing Support m-commerce APIs Mobile Wallet FormFiller Payment Processing Extending m-commerce Drivers Studio for Building, Testing, and Deploying Mobile Applications Advanced Customization Server Push and SMS Transcoding Off-Line Management Caching for Performance About Caching Oracle9iAS Web Cache Overview Performance Scalability High Availability Cost Savings Reduce Network Traffic Oracle9iAS Web Cache Architecture Oracle9iAS Web Cache Features Full-Page Static and Dynamic Content Caching Partial-Page Caching and Personalized Content Assembly Page Assembly Components Edge Side Includes (ESI) Edge Side Includes for Java (JESI) Invalidation for Cache Consistency Management Performance Assurance Heuristics Automatic Content Compression Web Server Load Balancing and Failover Cache Clustering vii

8 Flexible Deployment Options Oracle9iAS Web Cache Security Restricted Administration Secure Sockets Layer (SSL) Support Certificate Authority Certificate Wallet Business Intelligence Introduction to Oracle9iAS Business Intelligence Introduction to Oracle9iAS Clickstream Intelligence What is Oracle9iAS Clickstream Intelligence? Oracle9iAS Clickstream Intelligence Features Enterprise Warehousing Environment Runtime Administrator Customize Information Delivery Different Data Sources Supported Oracle9iAS Clickstream Intelligence Architecture Introduction to Oracle9iAS Personalization What is Oracle9iAS Personalization? Oracle9iAS Personalization Features Real-Time Recommendation Engine Architecture Data Mining Technology Single Administrative Interface Oracle9iAS Personalization Architecture Introduction to Oracle9iAS Reports Services What is Oracle9iAS Reports Services? Oracle9iAS Reports Services Features Event-Based Reporting Extensible Architecture Enhanced Report Bursting and Distribution Oracle9iAS Reports Services Architecture Introduction to Oracle9iAS Discoverer What is Oracle9iAS Discoverer? viii

9 Oracle9iAS Discoverer Tools Oracle9iAS Discoverer Viewer Oracle9iAS Discoverer Plus and Oracle9iAS Discoverer Desktop Oracle9iAS Discoverer and Oracle9iAS Portal Oracle9i Discoverer Administrator Oracle9iAS Discoverer Architecture Integrate Oracle9iAS Business Intelligence Create an E-Business Dashboard Using Oracle9iAS Portal Leverage Single Signon Functionality Oracle9iAS Integration About Oracle9iAS Integration Oracle9iAS InterConnect Oracle9iAS InterConnect Adapters Oracle Workflow Oracle Advanced Queuing Additional Integration Features Oracle Internet File System Development Platform Oracle9iAS Unified Messaging Message Store Open Standards-Based Messaging Thin Client Web-Based Calendar Telephone Applications Extended Server Side Rules Application Integration Administration System Management System Management Overview System Management Architecture About Management Using the Oracle Enterprise Manager Web Site Using the Oracle Enterprise Manager Console ix

10 Management Features Single Point for Distributed Configuration and Management Performance Monitoring Dynamic Monitoring Service J2EE Deployment and Administration About Security Security Features Oracle9iAS Single Sign-On Partner and External Applications Java Authentication and Authorization Service (JAAS) Oracle Internet Directory Self-Service Console Password Management Synchronization with Third Party LDAP Servers Key Directory Features Using Oracle Internet Directory with Middle Tier Components Glossary Index x

11 List of Figures 1 1 Application Development Challenges Application Deployment Challenges Oracle9i Application Server Solutions Oracle9iAS Containers for J2EE Architecture J2EE Distributed Multitiered Application Architecture Oracle9iAS Forms Services Request Flow Oracle HTTP Server Request Flow Oracle HTTP Server Process Architecture Oracle HTTP Server HTTP Request Response Cycle Oracle9iAS Cluster Application Server Instance Failure in a Cluster Oracle Enterprise Manager Manages a Cluster Oracle9iAS Cluster Architecture High Availability Architecture Sample Portal Page Oracle9iAS Portal Request Flow Oracle9iAS Wireless Oracle9iAS Wireless Architecture Oracle9iAS Wireless - Device/Network Adapter Oracle9iAS Wireless Core and Services Deploy applications on any device, protocol, or network Caching Architecture Template Page ESI and JESI Performance Assurance Heuristics Graph Oracle9iAS Web Cache Load Balancing Architecture Oracle9iAS Web Cache Failover Architecture Oracle9iAS Web Cache Cluster Simple Deployment Scenario Oracle9iAS Web Cache on Same Host as Application Server Oracle9iAS Web Cache on Different Host from Application Server SSL for Server Connection Oracle9iAS Clickstream Intelligence Data Acquisition and Processing Oracle9iAS Clickstream Intelligence Architecture Oracle9iAS Personalization Architecture Oracle Report Example Oracle9iAS Reports Services Architecture Oracle9iAS Discoverer Result Set Example Oracle9iAS Discoverer Architecture Oracle9iAS Application Integration Overview xi

12 xii 7 2 Oracle9iAS InterConnect Agent and Bridge Components of an Adapter Oracle9i Application Server System Management Architecture Security Architecture of Oracle9i Application Server Oracle9iAS Single Sign-On Architecture

13 List of Tables 1 1 Oracle9i Application Server Components Supported Technologies and Programming Languages Oracle9iAS Containers for J2EE Supported APIs Prominent Oracle HTTP Server Modules Oracle9i Application Server Clustering Terminology Oracle9iAS InterConnect Adapters xiii

14 xiv

15 Send Us Your Comments Oracle9i Application Server Concepts, Release 2 (9.0.2) Part No. A Oracle Corporation welcomes your comments and suggestions on the quality and usefulness of this document. Your input is an important part of the information used for revision. Did you find any errors? Is the information clearly presented? Do you need more information? If so, where? Are the examples correct? Do you need more examples? What features did you like most? If you find any errors or have any other suggestions for improvement, please indicate the document title and part number, and the chapter, section, and page number (if available). You can send comments to us in the following ways: Electronic mail: iasdocs_us@oracle.com FAX: Attn: Oracle9i Application Server Documentation Manager Postal service: Oracle Corporation Oracle9i Application Server Documentation 500 Oracle Parkway, M/S 2op3 Redwood Shores, CA USA If you would like a reply, please give your name, address, telephone number, and (optionally) electronic mail address. If you have problems with the software, please contact your local Oracle Support Services. xv

16 xvi

17 Preface This preface contains these topics: Intended Audience Documentation Accessibility Organization Related Documentation Conventions xvii

18 Intended Audience Oracle9i Application Server Concepts is intended for anyone with an interest in Oracle9i Application Server or the latest Internet technologies. Documentation Accessibility Organization Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Standards will continue to evolve over time, and Oracle Corporation is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For additional information, visit the Oracle Accessibility Program Web site at Accessibility of Links to External Web Sites in Documentation This documentation may contain links to Web sites of other companies or organizations that Oracle Corporation does not own or control. Oracle Corporation neither evaluates nor makes any representations regarding the accessibility of these Web sites. This document contains: Chapter 1, "Introduction to Oracle9i Application Server" This chapter provides an overview of application servers and Oracle9i Application Server. Chapter 2, "J2EE and Internet Application Development and Deployment" This chapter describes the Java 2 Platform, Enterprise Edition (J2EE) and Internet application development and deployment environment in Oracle9i Application Server. Chapter 3, "Portal Development and Deployment" This chapter provides an overview of Oracle9iAS Portal features and benefits. xviii

19 Chapter 4, "Wireless Development and Deployment" This chapter provides an overview of Oracle9iAS Wireless features and benefits. Chapter 5, "Caching for Performance" This chapter provides an overview of Oracle9i Application Server caching features and benefits. Chapter 6, "Business Intelligence" This chapter provides an overview of the Oracle9iAS business intelligence features and benefits. Chapter 7, "Oracle9iAS Integration" This chapter describes Oracle9iAS integration features and benefits. Chapter 8, "System Management" This chapter provides an overview of Oracle9i Application Server system management features and benefits. Glossary The glossary defines terminology used throughout this guide and the Oracle9iAS documentation set. Related Documentation For more information, see these Oracle resources: Oracle9i Application Server Documentation Library Oracle9i Application Server Platform-Specific Documentation on Oracle9i Application Server Disk 1 In North America, printed documentation is available for sale in the Oracle Store at Customers in Europe, the Middle East, and Africa (EMEA) can purchase documentation from Other customers can contact their Oracle representative to purchase printed documentation. xix

20 To download free release notes, installation documentation, white papers, or other collateral, please visit the Oracle Technology Network (OTN). You must register online before using OTN; registration is free and can be done at If you already have a username and password for OTN, then you can go directly to the documentation section of the OTN Web site at Conventions This section describes the conventions used in the text and code examples of this documentation set. It describes: Conventions in Text Conventions in Code Examples Conventions for Microsoft Windows Operating Systems Conventions in Text We use various conventions in text to help you more quickly identify special terms. The following table describes those conventions and provides examples of their use. Convention Meaning Example Bold Italics UPPERCASE monospace (fixed-width) font Bold typeface indicates terms that are defined in the text or terms that appear in a glossary, or both. Italic typeface indicates book titles or emphasis. Uppercase monospace typeface indicates elements supplied by the system. Such elements include parameters, privileges, datatypes, RMAN keywords, SQL keywords, SQL*Plus or utility commands, packages and methods, as well as system-supplied column names, database objects and structures, usernames, and roles. When you specify this clause, you create an index-organized table. Oracle9i Database Concepts Ensure that the recovery catalog and target database do not reside on the same disk. You can specify this clause only for a NUMBER column. You can back up the database by using the BACKUP command. Query the TABLE_NAME column in the USER_ TABLES data dictionary view. Use the DBMS_STATS.GENERATE_STATS procedure. xx

21 Convention Meaning Example lowercase monospace (fixed-width) font lowercase italic monospace (fixed-width) font Lowercase monospace typeface indicates executables, filenames, directory names, and sample user-supplied elements. Such elements include computer and database names, net service names, and connect identifiers, as well as user-supplied database objects and structures, column names, packages and classes, usernames and roles, program units, and parameter values. Note: Some programmatic elements use a mixture of UPPERCASE and lowercase. Enter these elements as shown. Lowercase italic monospace font represents placeholders or variables. Enter sqlplus to open SQL*Plus. The password is specified in the orapwd file. Back up the datafiles and control files in the /disk1/oracle/dbs directory. The department_id, department_name, and location_id columns are in the hr.departments table. Set the QUERY_REWRITE_ENABLED initialization parameter to true. Connect as oe user. The JRepUtil class implements these methods. You can specify the parallel_clause. Run Uold_release.SQL where old_ release refers to the release you installed prior to upgrading. Conventions in Code Examples Code examples illustrate SQL, PL/SQL, SQL*Plus, or other command-line statements. They are displayed in a monospace (fixed-width) font and separated from normal text as shown in this example: SELECT username FROM dba_users WHERE username = MIGRATE ; The following table describes typographic conventions used in code examples and provides examples of their use. Convention Meaning Example [ ] Brackets enclose one or more optional items. Do not enter the brackets. { } Braces enclose two or more items, one of which is required. Do not enter the braces. A vertical bar represents a choice of two or more options within brackets or braces. Enter one of the options. Do not enter the vertical bar. DECIMAL (digits [, precision ]) {ENABLE DISABLE} {ENABLE DISABLE} [COMPRESS NOCOMPRESS] xxi

22 Convention Meaning Example... Horizontal ellipsis points indicate either:... Other notation Italics UPPERCASE lowercase That we have omitted parts of the code that are not directly related to the example That you can repeat a portion of the code Vertical ellipsis points indicate that we have omitted several lines of code not directly related to the example. You must enter symbols other than brackets, braces, vertical bars, and ellipsis points as shown. Italicized text indicates placeholders or variables for which you must supply particular values. Uppercase typeface indicates elements supplied by the system. We show these terms in uppercase in order to distinguish them from terms you define. Unless terms appear in brackets, enter them in the order and with the spelling shown. However, because these terms are not case sensitive, you can enter them in lowercase. Lowercase typeface indicates programmatic elements that you supply. For example, lowercase indicates names of tables, columns, or files. Note: Some programmatic elements use a mixture of UPPERCASE and lowercase. Enter these elements as shown. CREATE TABLE... AS subquery; SELECT col1, col2,..., coln FROM employees; acctbal NUMBER(11,2); acct CONSTANT NUMBER(4) := 3; CONNECT SYSTEM/system_password DB_NAME = database_name SELECT last_name, employee_id FROM employees; SELECT * FROM USER_TABLES; DROP TABLE hr.employees; SELECT last_name, employee_id FROM employees; sqlplus hr/hr CREATE USER mjones IDENTIFIED BY ty3mu9; Conventions for Microsoft Windows Operating Systems The following table describes conventions for Microsoft Windows operating systems and provides examples of their use. xxii

23 Convention Meaning Example Choose Start > How to start a program. To start the Oracle Database Configuration Assistant, choose Start > Programs > Oracle - HOME_NAME > Configuration and Migration Tools > Database Configuration Assistant. File and directory names C:\> HOME_NAME File and directory names are not case sensitive. The following special characters are not allowed: left angle bracket (<), right angle bracket (>), colon (:), double quotation marks ("), slash (/), pipe ( ), and dash (-). The special character backslash (\) is treated as an element separator, even when it appears in quotes. If the file name begins with \\, then Windows assumes it uses the Universal Naming Convention. Represents the Windows command prompt of the current hard disk drive. The escape character in a command prompt is the caret (^). Your prompt reflects the subdirectory in which you are working. Referred to as the command prompt in this manual. The backslash (\) special character is sometimes required as an escape character for the double quotation mark (") special character at the Windows command prompt. Parentheses and the single quotation mark ( ) do not require an escape character. Refer to your Windows operating system documentation for more information on escape and special characters. Represents the Oracle home name. The home name can be up to 16 alphanumeric characters. The only special character allowed in the home name is the underscore. c:\winnt"\"system32 is the same as C:\WINNT\SYSTEM32 C:\oracle\oradata> C:\>exp scott/tiger TABLES=emp QUERY=\"WHERE job= SALESMAN and sal<1600\" C:\>imp SYSTEM/password FROMUSER=scott TABLES=(emp, dept) C:\> net start OracleHOME_ NAMETNSListener xxiii

24 Convention Meaning Example ORACLE_HOME and ORACLE_ BASE In releases prior to Oracle8i release 8.1.3, when you installed Oracle components, all subdirectories were located under a top level ORACLE_HOME directory that by default used one of the following names: C:\orant for Windows NT C:\orawin95 for Windows 95 C:\orawin98 for Windows 98 This release complies with Optimal Flexible Architecture (OFA) guidelines. All subdirectories are not under a top level ORACLE_HOME directory. There is a top level directory called ORACLE_BASE that by default is C:\oracle. If you install Oracle9i release 1 (9.0.1) on a computer with no other Oracle software installed, then the default setting for the first Oracle home directory is C:\oracle\ora90. The Oracle home directory is located directly under ORACLE_BASE. All directory path examples in this guide follow OFA conventions. Refer to Oracle9i Database Getting Starting for Windows for additional information about OFA compliances and for information about installing Oracle products in non-ofa compliant directories. Go to the ORACLE_BASE\ORACLE_ HOME\rdbms\admin directory. xxiv

25 1 Introduction to Oracle9i Application Server This chapter provides an overview of Oracle9i Application Server. The topics include: The Challenges of Creating and Maintaining an E-Business Building an E-Business Solution with Oracle9i Overview of Oracle9i Application Server Introduction to Oracle9i Application Server 1-1

26 The Challenges of Creating and Maintaining an E-Business The Challenges of Creating and Maintaining an E-Business Development Challenges The Internet introduces significant opportunities for companies to reach new markets and to streamline their internal business processes. At the same time, these opportunities generate new challenges because applications must be delivered quickly and must serve vast numbers of users. Quickly delivering highly scalable applications often requires integrating diverse products that were not designed to work together. When this is the only way to get a consolidated set of business applications, companies must spend large amounts of capital, time, and effort, both initially and continuously, to support the complicated technologies or systems that they have built. Companies that create e-business Web sites commonly experience problems and challenges associated with developing and deploying applications. Developing applications in a complex Internet environment involves dozens of interfaces, programming languages, and platforms. Assembling the infrastructure to support such applications requires comprehensive knowledge on Internet application developers. In addition, developing, testing, and deploying applications is very time consuming. There are numerous challenges associated with application development. It is especially challenging to develop applications that incorporate Java2 Platform, Enterprise Edition (J2EE) requirements, Web services, enterprise integration, portals, wireless, and personalization (see Figure 1 1). 1-2 Oracle9i Application Server Concepts

27 The Challenges of Creating and Maintaining an E-Business Figure 1 1 Application Development Challenges J2EE Applications Most e-business application developers face the fact that development cycles have become shorter, while demand for an increasing number of programming languages and multiple platforms keeps growing. In recent years, developers began using Java, a platform-independent programming language, in application development. However, their applications are still vendor-dependent because of proprietary Application Programming Interfaces (APIs). Complying with industry standards to create a level of cross-vendor standardization has become an increasing demand and challenge. The J2EE platform and component specifications define a standard platform for developing multi-tier, Web-based enterprise applications. J2EE provides a solution to the industry problem. Web Services As e-business evolves, companies rely increasingly on their Web sites to conduct business. Accessing information efficiently, and presenting vital information and application interfaces in a unified manner through their Web sites, becomes crucial for most companies. Providing reliable and efficient Web services is important since Web services directly affect business efficiency. Introduction to Oracle9i Application Server 1-3

28 The Challenges of Creating and Maintaining an E-Business Enterprise Integration Most companies need to integrate their existing applications and data sources with new business processes. As companies grow, it is essential to integrate existing applications and data sources with those of their partners, customers, and suppliers. These companies must perform a complete enterprise application integration without rewriting the applications or building extensive customized program logic. Portals Portals allow users to access information through Web browsers and to combine information from different sources into a single entry point. Portals also support personalized views, so that users or user groups can customize the content and the appearance of the portal to suit individual preferences and requirements. Secure, easy-to-use, and dynamic portals are essential infrastructure elements for e-business. Wireless An increasing number of people conduct business out of the office. Wireless allows users to rapidly access any existing application through mobile devices, such as Web-enabled phones, personal digital assistants, or pagers. However, wireless applications are limited by small screen size, limited data entry capacity, and heterogeneity in standards supporting wireless devices. Personalization As companies become e-businesses, the amount of data that tracks the fundamentals and operations of the business increases. Web users provide valuable information about themselves and their interests. When this information is extracted effectively, you can deliver tailored customer experiences and drive business decisions. 1-4 Oracle9i Application Server Concepts

29 The Challenges of Creating and Maintaining an E-Business Deployment Challenges The key to the success of any Web site is how quickly and reliably the server can deliver the appropriate content to users. If a server takes too long to respond or if it fails, then users will take their business elsewhere. If content and applications are not secure, then sensitive information or information technology assets are vulnerable. If deployed applications cannot use hardware efficiently, then information technology budgets are depleted quickly on equipment purchases. Concerns associated with application deployment, summarized in Figure 1 2, include performance, caching, availability, scalability, user and security management, and systems management. Figure 1 2 Application Deployment Challenges Performance Increasing the performance of your Web site and increasing the speed of your applications without redesigning or rebuilding the Web site are common goals. Typical performance factors include the ability to handle multiple requests simultaneously, competition for resources, latency, response time, service time, throughput, wait time, and scalability. Introduction to Oracle9i Application Server 1-5

30 The Challenges of Creating and Maintaining an E-Business Caching Many high-volume Web sites serve thousands of users concurrently and need to provide them with accurate data in a dynamic environment where content changes frequently. Caching is one of the key technologies that promises to alleviate the computational and economic burdens resulting from complicated Web site infrastructure and technologies. However, it is challenging to cache the dynamic, personalized content that the e-business model requires. Availability Availability of an overall system is measured by the percentage of time that it works normally. A successful e-business requires a 100% operation without downtime. To improve availability, companies may use redundant components, but only when the back-up component can take over for a failed primary component immediately. Scalability The scalability of a system refers to how well it responds as user demands increase. The number of Web users has increased tremendously in the past few years. It is crucial to maintain high quality Web sites that scales when you increase your hardware resources. User and Security Management With the Internet continually growing, the threat to information traveling over the network increases exponentially. Maintaining a secure Web site is crucial. Once your Web site is running, you must protect the databases and the servers on which they reside. You must administer and protect the rights of internal database users, and you must guarantee the confidentiality of e-business customers as they access your database. Systems Management Administrators of application servers require sophisticated tools to monitor and manage the systems infrastructure, and the privileges and access rights of individual users. Maintaining a simplified process in managing your Web site allows you to manage the site infrastructure and monitor the performance from one integrated console. 1-6 Oracle9i Application Server Concepts

31 Overview of Oracle9i Application Server Building an E-Business Solution with Oracle9i Oracle9i Application Server (Oracle9iAS) is a part of the Oracle9i platform, a complete and integrated e-business platform. Oracle9i platform consists of: Oracle9i Developer Suite for developing applications Oracle9i Application Server for deploying Internet applications Oracle9i Database Server for storing content To deliver scalable and high performance e-business solutions successfully, you must be able to leverage an integrated, comprehensive, flexible, and open platform. Oracle9i provides integrated development, deployment, and management tools, as well as a runtime platform. The Oracle9i platform simplifies the process for creating and deploying the applications that run your business on the Internet. See Also: The product pages on the Oracle Technology Network for more information about Oracle9i Database Server and Oracle9i Developer Suite at Overview of Oracle9i Application Server Oracle9iAS is a completely standards-based application server that provides a comprehensive and fully integrated platform for running Web sites, J2EE applications, and Web services. It addresses all the challenges that you face as you refine your business processes to become an e-business. Oracle9iAS provides full support for the J2EE platform, XML, and emerging Web services standards. With Oracle9iAS you can simplify information access for your customers and trading partners by delivering enterprise portals, which can be customized and accessed from a network browser or wireless devices. It allows you to redefine your business processes, and integrate your applications and data sources with those from your customers or partners. You can deliver tailored customer experiences via real-time personalization, and assess and correlate Web site traffic patterns using Oracle9iAS integrated business intelligence services. You can also implement a centralized management, security, and directory framework to manage and monitor all of your distributed systems and diverse user communities. Oracle9iAS allows you to save on Web site infrastructure by deploying your fast, scalable Internet applications through built-in Web caching, load balancing and clustering capabilities. Introduction to Oracle9i Application Server 1-7

32 Overview of Oracle9i Application Server Oracle9iAS Solutions Figure 1 3 illustrates solutions that Oracle9iAS provides, which include J2EE and Internet applications, portals, wireless, caching, business intelligence, e-business integration, and management and security. Figure 1 3 Oracle9i Application Server Solutions J2EE and Internet Applications Oracle9iAS is built entirely on a J2EE framework that supports the latest industry standard technologies and programming languages, including J2EE API specifications, XML, and Web services. This comprehensive and flexible framework allows you to design, develop, and deploy dynamic Web sites, portals, and transactional applications using familiar programming languages and technologies. Oracle9iAS also provides comprehensive Web services to expose business functions to authorized parties over the Internet from any Web device. Portals Oracle9iAS provides an out-of-the-box portal that does not require endless programming and maintenance. You can use Oracle9iAS to build, deploy, and maintain self-service and integrated enterprise portals. Oracle9iAS allows for self-service content management and publishing, wizard-based development, and deploying, publishing, and consuming Web services on an extensible framework. 1-8 Oracle9i Application Server Concepts

33 Overview of Oracle9i Application Server Wireless Oracle9iAS Wireless simplifies wireless development and deployment by providing the ability to deliver content to any device, to use any protocol, and to work across any wireless network. In addition, Oracle9iAS Wireless includes wireless services, such as and location-based services, that simplify wireless-enabling applications and portals. Oracle9iAS provides application developers independence from the underlying wireless infrastructure. Oracle9iAS Wireless is built on the core Oracle9iAS infrastructure, leveraging open standards support in XML and J2EE to deliver a high-performance and scalable wireless infrastructure. Caching Oracle9iAS provides a Web caching solution with the unique capability of caching both static and dynamically generated Web content. The Oracle9iAS Web cache significantly improves the performance and scalability of heavily loaded Web sites. In addition, the Web cache provides a number of features to ensure consistent and predictable responses. These features include page fragment caching, dynamic content assembly, Web server load balancing, Web cache clustering, and failover. Business Intelligence Oracle9iAS provides comprehensive personalization and business intelligence services through Web analytic applications. Using Oracle9iAS business intelligence features, you can generate reports on Web site activity by analyzing clickstream data; dynamically serve personalized content recommendations to both registered and anonymous visitors as they browse your site; perform dynamic, ad-hoc query reporting and analysis using a standard Web browser; and publish high quality, dynamically generated reports on a scalable, secure platform. E-Businesses Integration Oracle9iAS has a powerful set of features that provide communications and integration capabilities for e-business applications. Using Oracle9iAS, you can integrate enterprise applications, trading partners, and Web services, emphasizing scalability and manageability; provide seamless query and transaction access to many non-oracle data sources; provide integrated , voice, and fax messaging for access through multiple client devices; and support multiple media types in a centrally managed file system that resides on a database. Introduction to Oracle9i Application Server 1-9

34 Overview of Oracle9i Application Server Management and Security Oracle9iAS provides a set of management facilities that are based on industry standards to simplify all aspects of Web site administration. Using Oracle9iAS, you can: Configure and monitor Oracle9iAS instances to optimize them for performance and scalability from a centralized console Respond proactively to problem conditions from a centralized console Use encrypted Secure Sockets Layer (SSL) connections, user and client certificate-based authentication, and single signon across all applications Implement an LDAP directory that provides a single repository and administration environment for user accounts Oracle9iAS Components Table 1 1 presents the Oracle9iAS components that are associated with these solutions. Table 1 1 Solution Oracle9i Application Server Components J2EE and Internet Applications Portals Wireless Caching Business Intelligence Oracle9iAS Components Oracle HTTP Server Oracle9iAS Containers for J2EE Oracle9iAS Web Services Oracle PL/SQL Oracle9iAS Forms Services Oracle XML Developer Kit Oracle9i Client Oracle9iAS Portal Oracle9iAS Portal Developer Kit Oracle9iAS Wireless Oracle9iAS Web Cache Oracle9iAS Reports Services Oracle9iAS Discoverer Oracle9iAS Personalization Oracle9iAS Clickstream Intelligence 1-10 Oracle9i Application Server Concepts

35 Overview of Oracle9i Application Server Table 1 1 Oracle9i Application Server Components (Cont.) Solution Oracle9iAS Components E-Business Integration Oracle9iAS InterConnect Oracle9iAS Unified Messaging Oracle Internet File System Management and Security Oracle Enterprise Manager Oracle9iAS Single Sign-On Oracle Internet Directory Oracle9iAS Infrastructure Introduction to Oracle9i Application Server 1-11

36 Overview of Oracle9i Application Server 1-12 Oracle9i Application Server Concepts

37 2 J2EE and Internet Application Development and Deployment This chapter describes the Java 2 Platform, Enterprise Edition (J2EE) and Internet application development and deployment environment in Oracle9i Application Server (Oracle9iAS), explaining its features and concepts. The topics include: Application Development and Deployment in Oracle9iAS Oracle9iAS Containers for J2EE Oracle9iAS Web Services Oracle XML Developer Kit Oracle9iAS PL/SQL Platform Oracle9iAS Forms Services Oracle HTTP Server Oracle9iAS Clustering High Availability J2EE and Internet Application Development and Deployment 2-1

38 Application Development and Deployment in Oracle9iAS Application Development and Deployment in Oracle9iAS Oracle9iAS provides an integrated, standards-based infrastructure that makes it easy to develop applications for deployment, and that reliably delivers those deployed applications to users across an enterprise. The following sections describe how this infrastructure aids application development and deployment. What Types of Applications Can Be Developed for Deployment in Oracle9iAS? Oracle9i Application Server allows Web application developers to program their site in a variety of languages and technologies: Java and J2EE including Web services XML PL/SQL Table 2 1 lists the different technologies and programming languages that you can use to build applications for deployment with Oracle9iAS. Table 2 1 Supported Technologies and Programming Languages Java and J2EE XML PL/SQL JavaServer Pages (JSP) Servlets Enterprise JavaBeans (EJB) Java Database Connectivity (JDBC) Java Transaction API (JTA) Java Naming and Directory Interface (JNDI) Java Message Service (JMS) Java Authentication and Authorization Service (JAAS) Web Services Document Object Model (DOM) Extensible Stylesheet Language Transformations (XSLT) XML Schemas Simple API for XML (SAX) XSQL Internet Data Access Presentation (IDAP) XML Path Language (XPath) Simple Object Access Protocol (SOAP) Web Services Description Language (WSDL) Universal Description, Discovery, and Integration (UDDI) PL/SQL Server Pages PL/SQL Web Toolkit Oracle Forms 2-2 Oracle9i Application Server Concepts

39 Oracle9iAS Containers for J2EE The following sections explain how Oracle9iAS supports these technologies and programming languages. Oracle9iAS Containers for J2EE Oracle9iAS Containers for J2EE (OC4J) are fast, lightweight, and scalable J2EE containers that are written in Java and run on a standard Java Virtual Machine (JVM). They have been designed for ease of use and to support the standard APIs in Table 2 2. Table 2 2 API Oracle9iAS Containers for J2EE Supported APIs JavaServer Pages (JSP) 1.2 Java Servlet 2.3 Enterprise JavaBeans (EJB) 2.0 Java Database Connectivity (JDBC) 2.0 Java Transaction API (JTA) 1.0 Java Message Service (JMS) 1.0 JavaMail 1.2 JavaBeans Activation Framework 1.0 Java API for XML (JAXP) 1.1 J2EE Connector API 1.0 Java Authentication and Authorization Service (JAAS) 1.0 Version Figure 2 1 shows the architecture of OC4J within Oracle9i Application Server. J2EE and Internet Application Development and Deployment 2-3

40 Oracle9iAS Containers for J2EE Figure 2 1 Oracle9iAS Containers for J2EE Architecture Oracle9i Application Server Oracle HTTP Server Browser mod_oc4j Web Container EJB Container JSP Servlet EJB Database JMS JAAS JTA Java Mail JAF JAXP JDBC Connectors J2SE Virtual Machine OC4J is supported by the Java 2 Platform, Standard Edition (J2SE) infrastructure as shown in Figure 2 1. This means that the OC4J Web container and OC4J EJB container use the J2SE virtual machine. J2EE applications are modularized for reuse of application components, such as User interfaces, which can be composed of JavaServer Pages (JSPs), dynamic HTML, and so on, Business logic, which is usually contained in an Enterprise JavaBean (EJB) or normal Java classes. The J2EE containers also perform services for applications, such as providing access to the APIs and lifecycle management. 2-4 Oracle9i Application Server Concepts

41 Oracle9iAS Containers for J2EE J2EE Application Development Concepts The following sections provide introductory definitions and summaries of application programming technologies that are supported by Oracle9iAS. For detailed information on the technologies introduced in this section, refer to the following information sources. See Also: The J2EE Tutorial at The Oracle9i Application Server Documentation Library What Is a J2EE Application? J2EE applications are composed of components. A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and XML descriptor files that communicate with other components. J2EE components are written in the Java programming language and are compiled in the same way as any program written in Java. J2EE Distributed Multitiered Application Model The J2EE platform provided in Oracle9i Application Server uses a multitiered distributed application model. A multitiered distributed application model divides application logic into components according to function, and the various application components that make up J2EE applications can be installed on different machines depending on which tier in the multitiered J2EE environment the application component belongs. Figure 2 2 shows two multitiered J2EE applications divided into the client, Web, business logic, and enterprise data tiers. J2EE and Internet Application Development and Deployment 2-5

42 Oracle9iAS Containers for J2EE Figure 2 2 J2EE Distributed Multitiered Application Architecture J2EE Application 1 J2EE Application 2 Client Machine Client Tier Application Client Dynamic HTML Pages J2EE Server Machine Web Tier Business Logic Tier Enterprise Beans JSP Pages Servlets Enterprise Beans Database Server Machine Enterprise Data Tier Database Database You can distribute J2EE applications across the four tiers shown in this figure, but generally they are considered to be three-tier applications because they are usually distributed over the following machine locations: client machines J2EE server machines hosting presentation services, like JSPs and servlets, and business logic components, like EJBs database servers or legacy machines at the back end. Three-tiered applications that run in this way extend the standard two-tiered client and server model by placing an application server between the client and the back-end storage. 2-6 Oracle9i Application Server Concepts

43 Oracle9iAS Containers for J2EE Types of J2EE Clients J2EE applications support the following clients: Application Clients: Applications running on a client machine that directly access enterprise beans that are running in the business logic tier. Application clients can also open an HTTP connection to establish communication with a servlet running on the Internet tier if a J2EE application requires it. Dynamic HTML and XML Pages: In the context of J2EE applications, dynamic HTML and XML pages are generated by servlets or pages created with JavaServer Pages technology running in the Web tier. These pages can be extensions to traditional static HTML pages allowing application developers to offer customized and personalized pages to the client. Types of J2EE Application Components You can use the following components in J2EE applications: Servlets: A servlet is a Java class used to extend the capabilities of servers that host applications accessed through a request-response programming model. JavaServer Pages: JavaServer pages (JSPs) are text files that contain two types of information: static template data, which can be expressed in any text-based format, such as HTML, WML (Wireless Markup Language), or XML, and JSP elements, which construct dynamic content. Enterprise Beans: Enterprise beans are server-side components that encapsulate the business logic of an application. Types of J2EE Containers Containers are the interface between a component and the low-level platform-specific functionality that supports the component. Before a Web or enterprise bean component can run, it must be assembled into a J2EE application and deployed into a J2EE container. The assembly process involves specifying container settings for each component, which customize the underlying support provided by the J2EE server. These settings can be standard J2EE settings or container-specific settings depending on your application requirements. Some of the container settings that you can specify include security services, transaction model, naming and directory lookup, or remote connectivity model. J2EE and Internet Application Development and Deployment 2-7

44 Oracle9iAS Containers for J2EE The J2EE containers are: Enterprise JavaBeans Container: The Enterprise JavaBeans (EJB) container manages the execution of all enterprise beans for J2EE applications. Enterprise beans and their container run on the J2EE server. Web Container: The OC4J Web container manages the execution of servlets and JSPs for J2EE applications in the servlet container. The container provides services such as request dispatching, security, concurrency, and life cycle management. The Web container also gives Web components, typically JSPs and servlets, access to the J2EE APIs such as naming, transactions, and . J2EE Application Packaging Concepts J2EE components are packaged separately and bundled into a J2EE application. Each component, with its related files such as GIF and HTML files or server-side utility classes, are packaged together with a deployment descriptor (DD), and are assembled into a module that is added to the J2EE application. Typically, a J2EE application is composed of one or more enterprise beans and Web or application client component modules. How OC4J Runs and Manages Servlets A servlet is a Java program that runs on a J2EE server, such as OC4J. Think of a servlet as the server-side counterpart to a Java applet. A servlet is one of the application component types of a J2EE application. It must execute under the control of a servlet container, which is part of the OC4J Web container. The servlet container calls the servlet s methods and provides services that the servlet needs when running. See Also: "Types of J2EE Application Components" on page 2-7 About the Servlet Container The servlet container provides the servlet with access to properties of the HTTP request, such as headers and parameters. Also, the container provides the servlet with access to other Java APIs, such as JDBC to access a database, Remote Method Invocation (RMI) to call remote objects, or JMS to perform asynchronous messaging. 2-8 Oracle9i Application Server Concepts

45 Oracle9iAS Containers for J2EE How the Servlet Container Works When a request is mapped to a servlet, the servlet container performs the following steps: 1. If an instance of the servlet does not exist, the container: a. Loads the servlet class. b. Instantiates an instance of the servlet class. c. Initializes the servlet instance. 2. The container then invokes the servlet, passing request and response objects. The request object contains information about the client, request parameters, and HTTP headers. The response object returns the servlet s output to the client. The servlet extracts information from the client request, accesses external resources, and then populates the response based on that information. How OC4J Runs and Manages JavaServer Pages JavaServer Pages provide a convenient way to generate dynamic content in Web pages. JSP technology, which is closely coupled with Java servlet technology, allows you to include Java code fragments and call, in the form of tags and directives, external Java components from within your Web pages. Typically the markup code used to compose your Web pages is HTML or XML. JSPs work well as a front-end for business logic and dynamic functionality in JavaBeans or Enterprise JavaBeans (EJBs). A JSP is translated into a Java servlet before being run, and it processes HTTP requests and generates responses like any servlet. However, JSP technology provides a more convenient way to code a servlet. Translation occurs the first time the application is run. A JSP translator is triggered by the.jsp file name extension in a URL. JSPs are fully interoperable with servlets. You can include output from a servlet or forward the output to a servlet, and a servlet can include output from a JSP or forward output to a JSP. J2EE and Internet Application Development and Deployment 2-9

46 Oracle9iAS Containers for J2EE About the JSP Translator The JSP translator has a translator and a compiler. The JSP translator translates a JSP into a Java source file. The container compiles the source file into a Java bytecode (.class) file, which executes as a servlet in the servlet container using the JSP runtime library. The servlet container provides access to Java APIs and other services. How the JSP Translator Works When a user requests a URL that maps to a JSP file, such as the following steps occur: 1. The Web server invokes the JSP translator, which translates Hello.jsp and produces the file Hello.java. 2. The Java compiler is invoked, creating a Hello.class servlet. 3. Hello.class runs, using the JSP runtime library, which contains the supporting files to interpret the tags and directives from the JSP. 4. If the Hello class requires information from a database, then the servlet container provides JDBC access to the class so it can retrieve the information and return its output to the client browser. How OC4J Runs and Manages EJBs The OC4J EJB container manages the execution of enterprise beans for J2EE applications. Like the OC4J Web container, the EJB container uses the J2SE virtual machine. The following sections describe what services the EJB container provides to J2EE applications and how it works. Enterprise beans are the J2EE components that implement Enterprise JavaBeans technology. Enterprise beans run in the EJB container. An enterprise bean is a portable server-side component that encapsulates the business logic of an application. There are three types of EJBs: session beans, entity beans, and message-driven beans. About the OC4J EJB Container The OC4J EJB container provides system-level services to EJBs similar to the services that the Web container provides to servlets and JSPs. The container has configurable settings that customize the underlying support provided by OC4J, the J2EE server. The configurable settings include security, transaction management, Java Naming and Directory Interface (JNDI) lookups, and remote connectivity. In 2-10 Oracle9i Application Server Concepts

47 Oracle9iAS Containers for J2EE addition to the configurable settings, the container also manages EJB life cycles, database connection resource pooling, data persistence, and access to the J2EE APIs. How the EJB Container Works How the EJB container works depends on what type of enterprise bean you are using. The container manages the execution of the enterprise bean for one J2EE application. For session beans, the EJB container provides all of the services that the Web container provides to Web components, such as access to APIs and the virtual machine, transaction services like Container Managed Transactions (CMTs), and secure and authorized EJB method invocation. For entity beans, which represent business objects in a persistent storage mechanism, you can choose to have the bean manage its own persistence, or you can choose to have the container manage it. Persistence means that the entity bean s state exists beyond the lifetime of the application or the server process, like the data in a database, which is also persistent. Depending on what entity manages a beans persistence, you can have either bean-managed persistence (BMP) beans or container-managed persistence (CMP) beans. With bean-managed persistence, the entity bean code contains the calls that access the database and the EJB container triggers callback methods on your code. Entity beans with bean-managed persistence execute in the EJB container with the typical container support and services. However, if you are using container-managed persistence, then the EJB container automatically generates the necessary database access calls. The EJB methods do not require any JDBC code to manage EJB data persistence. J2EE and Internet Application Development and Deployment 2-11

48 Oracle9iAS Containers for J2EE J2EE Services J2SE provides core services for writing J2EE components. The J2EE containers manage access to these services for the application components. The services are: Java Database Connectivity (JDBC) lets you invoke SQL commands from Java programming methods. You use the JDBC API in an enterprise bean when you override the default container-managed persistence or have a session bean access the database. You can also use the JDBC API from a servlet or a JSP to access a database directly without going through an enterprise bean. Oracle9i Application Server includes the Oracle JDBC driver and DataDirect Connect Type 4 JDBC drivers. These drivers provide highly scalable and reliable connectivity to both Oracle and non-oracle data sources. Java Message Service (JMS) is a messaging standard that allows J2EE application components to create, send, receive, and read messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous. Java Transaction API (JTA) provides a standard demarcation interface for demarcating transactions. Typically, it is used in J2EE applications that use two or more, separate database access operations that depend on each other to demarcate where the entire transaction begins, rolls back, and commits. OC4J provides additional support for two-phase commits for applications that require commit coordination across machines and containers. The two-phase commit engine is responsible for ensuring that when a distributed transaction ends, changes to all participating databases are all either committed or rolled back. Java Naming and Directory Interface (JNDI) provides a standard interface to naming and directory services. J2EE applications use JNDI to find other distributed objects. The JNDI Interface has two parts: an application-level interface used by application programs to access naming and directory services, and a service provider interface to attach a provider of naming and directory services. JavaMail Technology provides J2EE applications with a JavaMail API and a JavaMail service provider with which to send notifications. Java API for XML (JAXP) enables J2EE components to read and handle programs or tools that use XML. J2EE Connector API provides an interface for resource adaptors that allow J2EE applications to access and interact with databases and other enterprise information systems Oracle9i Application Server Concepts

49 Oracle9iAS Containers for J2EE Oracle J2EE Services Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate users against different security provider systems and authorize a specific user or group of users to run J2EE applications under role permission and control enforcement. Oracle9i Application Server provides an implementation of Java Authentication and Authorization Service (JAAS) that integrates with the Oracle9iAS J2EE security infrastructure to enforce security constraints for Web (servlets and JSPs) and EJB components. The Oracle JAAS implementation: Integrates with Java-based applications with Oracle9iAS Single Sign-On, includes authentication, thereby giving you extensible security for Java-based applications. Manages access control policies centrally in Oracle Internet Directory, controls access by role, and partitions security policy by subscriber. Supports impersonation of a specific user, allows an enterprise bean, servlet, or JSP to run with the permissions associated with the current client or a specified user. See Also: The Sun Microsystems, Inc. published specifications for these services, and The J2EE Tutorial for instructions on how to use them in J2EE applications, at: In addition to the standard J2EE Services, Oracle also provides the following services to Java developers: Java Object Cache stores frequently accessed or resource-intensive objects in memory or on disk. This eliminates the need to repeatedly create and load information within a Java application. The Java Object Cache retrieves content faster and greatly reduces the load on Oracle9i Application Server. J2EE and Internet Application Development and Deployment 2-13

50 Oracle9iAS Containers for J2EE Oracle9i Business Components for Java (BC4J) is a Java and XML framework that enables productive development, portable deployment, and flexible customization of multi-tier, database applications from reusable business components. Oracle Business Components is an application component framework providing developers with a set of intelligent software building-blocks that cooperate to manage all of the common facilities required to: Productively author and test business logic in components which automatically integrate with relational databases Flexibly reuse business logic through multiple SQL-based views of data, supporting different application tasks Efficiently access and update the views from Servlets, JavaServer Pages (JSPs), XML clients and thin-java Swing clients Easily customize application functionality in layers without requiring modification of the delivered application Note: Oracle9i Business Components for Java ships with Oracle9i JDeveloper in Oracle9i Developer Suite. Oracle9iAS MVC Framework for J2EE is a Model-View Controller (MVC) framework that provides development teams with a flexible, common, and systematic way of developing applications for potentially any deployment scenario. Note: Oracle9iAS MVC Framework for J2EE is available from the Oracle Technology Network at Oracle9i Application Server Concepts

51 Oracle9iAS Web Services Oracle9iAS Web Services The move to transform businesses to e-businesses has driven organizations around the world to begin to use the Internet to manage corporate business processes. Despite this transformation, business on the Internet still functions as a set of local hosts, or Web sites, with point-to-point communications between them. As more business moves online, the Internet should no longer be used in such a static manner, but rather should be used as a universal business network through which services can flow freely, and over which applications can interact and negotiate amongst themselves. To enable this transformation, the Internet needs to support a standards-based infrastructure that enables companies and their enterprise applications to communicate with other companies and their applications more efficiently. These standards should allow discrete business processes to expose and describe themselves on the Internet, allow other services to locate and invoke them, and provide a predictable response. Web services drive this transformation by promising a fundamental change in the way businesses function and enterprise applications are developed and deployed. A Web service is a discrete business process that: Exposes and describes itself: A Web service defines its functionality and attributes so that other applications can understand it. A Web service makes this functionality available to other applications. Allows other services to locate it on the Web: A Web service can be registered in an electronic Yellow Pages, so that applications can easily locate it. Can be invoked: Once a Web service has been located and examined, the remote application can invoke the service using an Internet standard protocol. Returns a response: When a Web service is invoked, the results are passed back to the requesting application over the same Internet standard protocol used to invoke the service. Web services provide a standards based infrastructure through which any business can do the following: Offer appropriate internal business processes as value-added services that can be used by other organizations. Integrate its internal business processes and dynamically link them with those of its business partners. J2EE and Internet Application Development and Deployment 2-15

52 Oracle9iAS Web Services Oracle9iAS Web Services Architecture Oracle9iAS Web Services run as servlets in the OC4J servlet container. This gives Web services the same scalability, availability, and load balancing facilities that all J2EE applications have in Oracle9iAS. See Also: "How OC4J Runs and Manages Servlets" on page 2-8 Web Services Framework The following Internet standards provide the Web services framework: Simple Object Access Protocol (SOAP) is a lightweight, XML-based protocol for exchanging information in a decentralized, distributed environment. SOAP supports different styles of information exchange, including: Remote Procedure Call style (RPC) and message-oriented exchange. RPC style information exchange allows for request-response processing, where an endpoint receives a procedure oriented message and replies with a correlated response message. Message-oriented information exchange supports organizations and applications that need to exchange business or other types of documents where a message is sent but the sender may not expect or wait for an immediate response. Web Services Description Language (WSDL) is an XML format for describing network services containing RPC-oriented and message-oriented information. Programmers or automated development tools can create WSDL files to describe a service and can make the description available over the Internet. Client-side programmers and development tools can use published WSDL descriptions to obtain information about available Web services and to build and create proxies or program templates that access available services. Universal Description, Discover, and Integration (UDDI) is an online electronic registry that serves as electronic Yellow Pages, providing an information structure where various business entities register themselves and the services they offer through their WSDL definitions. There are two types of UDDI registries, public UDDI registries that serve as aggregation points for a variety of businesses to publish their services, and private UDDI registries that serve a similar role within organizations Oracle9i Application Server Concepts

53 Oracle XML Developer Kit Oracle XML Developer Kit XML and XSLT Parsers XML makes data portable and interoperable across heterogeneous systems. XML is a metamarkup language that supports markup tags that have been defined by the user to encapsulate and describe data in a Web page. Because it is a self-defined language, it is extremely flexible. To provide basic XML infrastructure components to manipulate and transform XML documents, Oracle9iAS includes the Oracle XML Developer Kit (XDK) to support development of any applications that use XML. The XDK contains component libraries and utilities that are based on W3C specifications. You can use these components to generate, manipulate, render, and store XML-formatted data in an Oracle database or to share data between applications written in diverse programming languages. The following sections describe the tools that make the Oracle XML Developer Kit. The XML parser APIs are defined by the W3C specifications so that standard programming interfaces can be used by application developers. However, if some functionality is not specified, then Oracle Corporation may implement its own enhancements to the specifications. The Oracle XML and XSLT parsers provide international character set and multithreaded support, allow optional validation, and cache Document Type Definitions (DTDs) and stylesheets for performance. Oracle XML Developer Kit provides the following APIs: Document Object Model (DOM) APIs: Because an XML document is structured in the sense that "start" tags have corresponding "end" tags and these tags are nested in an ordered fashion, an XML document can be viewed as a tree whose hosts consist of these tags and information between and corresponding to the tags. When the DOM APIs are used to navigate an XML document, the XML parser parses the document and forms a tree representation of it in memory. Simple APIs for XML (SAX) APIs: SAX APIs are event-based, meaning that notification of certain events and data encountered during the parsing of an XML document can be reported with callback functions to the application program. One advantage over DOM is that an in-memory representation of the parse tree does not have to be built, thus saving memory and improving performance. When application programs are notified of these events, then they must handle them. J2EE and Internet Application Development and Deployment 2-17

54 Oracle XML Developer Kit Namespace APIs: These interfaces resolve namespace prefixes that are used to qualify element and attribute names in XML documents. XML document namespaces are identified by Uniform Resource Identifier (URI) references that qualify element or attribute names and locate resources that may be on different machines or XML documents. Namespaces make it possible to have identical names for elements and attributes by qualifying them with URIs that differentiate the names. Parser APIs: Application programmers invoke the parser API to read an XML document and to provide access to its content and structure through DOM or SAX APIs. Typically, initialization and termination functions must also be invoked in association with the parse function. Various flags, such as to discard whitespace and turn on validation, can be set with some initialization functions before the parse function is invoked by the application program. XSLT APIs: These interfaces read the input stylesheet file and transform the input XML document according to the stylesheet. A command-line interface to the integrated XSLT processor is provided. This allows application programmers to specify the number of threads to use to parse and transform XML documents and other useful options. To enhance performance, the XSLT engines allow caching of both stylesheets and DTDs so they can be reused for multiple XML documents. XML Schema Processors XML Class Generators Oracle XML schema processors comply with the Structures and Datatypes sections of the W3C XML Schema Working Drafts, except for certain features such as unique, key, keyref constraints when the SAX parser is used. XML schemas are a superset of DTDs, except for the support of primitive and complex datatypes in XML schemas. This allows you to validate XML documents, with embedded datatype information, against XML schemas. The XML class generators create a set of Java or C++ classes that create XML documents corresponding to a DTD or XML schema definitions. This is useful when an application wants to send an XML message to another application based on an agreed-upon DTD or as the back end of a Web form to construct XML documents. You can use the generated classes to programmatically construct XML documents that comply with the DTD or schema definition Oracle9i Application Server Concepts

55 Oracle9iAS PL/SQL Platform XSQL Servlet XSQL Servlet is a tool that processes SQL queries and outputs the result set as an XML document. This processor uses an XML file with embedded SQL queries as its input. You can use XSQL Servlet to perform the following tasks: Build dynamic XML datapages from the results of one or more SQL queries and serve the results over the Web as XML datagrams or HTML pages using server-side XSLT transformations. Receive XML posted to your Web server and insert it into your database. XML Transviewer Beans XML transviewer beans are a set of XML components that constitute XML for Java Beans. These are used by Java applications or applets to view and transform XML documents. These beans are visual and non-visual Java components that are integrated into Oracle9i JDeveloper to enable the fast creation and deployment of XML-based database applications. Oracle9iAS PL/SQL Platform Web applications written in PL/SQL are sets of stored procedures that interact with Web browsers through the HTTP protocol: Visiting a Web page, following a hypertext link, or submitting an HTML form causes the database server to run a stored procedure. Any choices that a user makes on an HTML form are passed as parameters to the stored procedure. Parameters can also be hardcoded in the URL used to invoke the stored procedure. The results of the stored procedure are printed as tagged HTML text and are displayed in the browser as a Web page. Web pages generated this way are dynamic: code runs inside the database server, producing HTML that varies depending on the database contents and the input parameters. This kind of dynamic content is different from dynamic HTML (DHTML). With DHTML, the code is downloaded as JavaScript or some other scripting language, and processed by the browser along with the HTML. A PL/SQL Web application can print JavaScript or other script code in its output, to produce complex DHTML that would be tedious to produce manually. J2EE and Internet Application Development and Deployment 2-19

56 Oracle9iAS PL/SQL Platform The dynamic pages can contain links and HTML forms that call more stored procedures, to drill down or perform some other operation on the displayed data. The set of interlinked HTML pages forms the user interface of the Web application. There are many techniques for coding dynamic pages, but PL/SQL is especially good for producing dynamic pages based on database processing. Its support for DML statements, dynamic SQL, cursors, and tight server integration provide both power and flexibility for Web applications. Producing dynamic content using PL/SQL stored procedures gives you the flexibility and interactive behavior of CGI programs, without the memory overhead of starting a new CGI process each time. Oracle9iAS PL/SQL Oracle9i Application Server PL/SQL developers can create applications using either Oracle PL/SQL Server Pages or Oracle PL/SQL Web Toolkit. Oracle PL/SQL Server Pages To include dynamic content, including the results of SQL queries, inside Web pages, you can use server-side scripting through PL/SQL Server Pages (PSP). You can author the Web pages in a script-friendly HTML authoring tool, and drop the pieces of PL/SQL code into place. You may find this technique more convenient than using the HTP and HTF packages to write out HTML content line by line. Because the processing is done on the database server rather than the Web server, the browser receives a plain HTML page with no special script tags, and you can support all browsers and browser levels equally. It also makes network traffic efficient by minimizing the number of server roundtrips. Embedding the PL/SQL code in the HTML page that you create lets you write content quickly and follow a rapid, iterative development process. You maintain central control of the software, with only a Web browser required on the client machine. Oracle PL/SQL Web Toolkit The PL/SQL toolkit contains PL/SQL packages that allow you to create applications that generate dynamic HTML. Using the toolkit, you can access data and insert it into Web pages. The packages remove the need for you to know the specifics of HTML syntax and allows you to focus on writing applications Oracle9i Application Server Concepts

57 Oracle9iAS Forms Services Oracle9iAS Forms Services Oracle Forms applications combine interactive, graphical interfaces with strong support for data validation. Forms developers can quickly create applications with powerful data manipulation features. An Oracle Forms application gives you the power of a desktop application deployed in a browser. It provides a very rich and productive user interface by allowing: immediate data validation as clients enter data into the form instead of after submitting the form. automatic completion and list of value searches for fields that enable users to quickly enter correct information. An Oracle Forms application is analogous to a traditional HTML form application. In the traditional application, the user enters data into a form on a Web page and submits the data. The Web server then processes the data from the form in a CGI application. The application then performs any necessary transactions and then returns feedback to the user s browser. JavaScript and the database perform data validation tasks to ensure that the data from the form is correct and complete. Oracle9iAS Forms Services deploys Forms applications to Java clients in a Web environment. Oracle9iAS Forms Services automatically optimizes class downloads, network traffic, and interactions with the Oracle database. Applications are automatically load-balanced across multiple servers and, therefore, can easily scale to service any number of requests. Oracle9iAS Forms Services consists of three components: Forms Client Applet: A Java applet running in the client browser. It provides the user interface for the corresponding Forms Runtime Process. Forms Listener Servlet: A servlet running in the OC4J servlet container. It manages the lifecycle of the Forms Runtime Process and network connections to the runtime process. Forms Runtime Process: A process running in an Oracle9iAS instance. The process maintains the connection between the client applet and the database. J2EE and Internet Application Development and Deployment 2-21

58 Oracle9iAS Forms Services Oracle9iAS Forms Services Architecture When a client requests an Oracle9iAS Forms application, the request has the following flow: 1. The client browser requests a forms application over HTTP or HTTPS. 2. Oracle HTTP Server receives this request. 3. Oracle HTTP Server forwards the request to the Forms Listener Servlet running in OC4J. 4. The servlet returns a page to the client that contains information the client needs to start the Forms Client Applet. The applet launches in the client browser. 5. The client applet starts a Forms session with the Forms Listener Servlet. 6. The servlet starts a new Forms Runtime Process for the client. 7. The runtime process opens a database connection and handles all interactions between the client and database. 8. The runtime process sends metadata to the client describing the interface. The Forms applet renders the interface in the client browser. Figure 2 3 illustrates this flow in terms of the Oracle9iAS Forms Services architecture. Figure 2 3 Oracle9iAS Forms Services Request Flow 2-22 Oracle9i Application Server Concepts

59 Oracle HTTP Server Oracle HTTP Server Oracle HTTP Server is the underlying deployment platform for all programming languages and technologies Oracle9iAS supports. It provides a Web listener for OC4J and the framework for hosting static and dynamic pages and applications over the Web. Based on the proven technology of the Apache HTTP Server, Oracle HTTP Server includes significant enhancements that facilitate load balancing, administration, and configuration. It also includes a number of enhanced modules, or mods, which are extensions to the HTTP server that extend its functionality for other enterprise applications and services. Oracle HTTP Server allows developers to program their site in a variety of languages and technologies such as Java, Perl, C, C++, and PL/SQL. Additionally, it can serve as either a forward or reverse proxy server. The following sections describe how Oracle HTTP Server provides a robust deployment platform for dynamic Web sites and applications. Oracle HTTP Server Components Oracle HTTP Server consists of several components that run within the same process. These components provide the extensive list of features that Oracle HTTP Server offers when handling client requests. Major components include: HTTP listener: Oracle HTTP Server uses an Apache HTTP listener to serve client requests. Modules (mods): Many of the standard Apache mods are included with Oracle HTTP Server. Oracle also includes several internal modules that are specific to Oracle9iAS components. Table 2 3 lists some of the Oracle HTTP Server modules. Table 2 3 Module mod_fastcgi mod_perl mod_plsql mod_oc4j mod_oradav Prominent Oracle HTTP Server Modules Description Supports FastCGI, which allows C, C++, and Java CGI programs to run in a performant environment. Routes requests to the Perl Interpreter. Routes requests for stored procedures to the database server. Supports communication with Oracle9iAS Containers for J2EE and also performs some load balancing tasks. Supports file as well as database distributed authoring and versioning. J2EE and Internet Application Development and Deployment 2-23

60 Oracle HTTP Server Table 2 3 Module mod_ossl mod_osso Prominent Oracle HTTP Server Modules Description Supports Secure Sockets Layer (SSL) and certificate sharing. Routes requests to Oracle9iAS Single Sign-On server. See Also: Oracle HTTP Server Administration Guide for a complete list of modules Perl interpreter: A persistent Perl runtime environment embedded in Oracle HTTP Server. See also "Common Gateway Interface (CGI) Support" on page Figure 2 4 shows the path of various requests through Oracle HTTP Server components. Figure 2 4 Oracle HTTP Server Request Flow Oracle9iAS mod_oc4j OC4J HTTPS mod_fastcgi mod_plsql mod_perl Fast CGI Perl Interpreter Database mod_oradav Client Oracle9iAS Web Cache Oracle HTTP Server mod_ossl mod_osso 2-24 Oracle9i Application Server Concepts

61 Oracle HTTP Server Oracle HTTP Server Features In addition to the standard Web server functionality of serving client requests to other Oracle9iAS components, Oracle HTTP Server also provides enterprise support with the following features: Dynamic monitoring services (DMS): These services automatically measure runtime performance statistics for both Oracle HTTP Server and Oracle9iAS Containers for J2EE processes. As applications run, DMS collects detailed performance statistics. This data allows you to monitor the duration of important request processing phases and status information. With this information, you can locate performance bottlenecks and tune the application server to maximize throughput and minimize response time. Proxy Plug-In for Using Non-Oracle HTTP Listeners: To accommodate requirements for non-oracle HTTP listeners, Oracle HTTP Server provides a proxy plug-in that can be plugged directly into Netscape iplanet or Microsoft Internet Information Server (IIS). This proxy plug-in is used to forward requests for Oracle9iAS component services to Oracle HTTP Server, which is placed behind the non-oracle listener. Oracle HTTP Server Architecture At startup, the Web server parent process loads the entire configuration, the associated mods, and spawns a preconfigured number of child processes. Note: On Windows systems, the Web server main process is a child process that spawns multiple threads. Figure 2 5 shows the process architecture of Oracle HTTP Server in a UNIX environment. J2EE and Internet Application Development and Deployment 2-25

62 Oracle HTTP Server Figure 2 5 Oracle HTTP Server Process Architecture Oracle9i Application Server Oracle HTTP Server Parent Process Watchdog Process HTTP Request Child Process mod_oc4j mod_xx Oracle9iAS Containers for J2EE mod_xx mod_xx mod_xx HTTP Request Child Process mod_xx mod_perl Perl Interpreter mod_xx mod_xx mod_xx mod_xx HTTP Request Child Process mod_xx mod_plsql Database The parent process does not listen to HTTP requests. Its sole job is to ensure that the child processes are running or that new ones are started when the load requires it. On UNIX platforms, each child process handles a single HTTP request. The child processes determine who should take the next request based on a mutex mechanism that you can configure. Note: On Windows platforms, threads handle HTTP requests instead of child processes Oracle9i Application Server Concepts

63 Oracle HTTP Server Modular Architecture The architecture of Oracle HTTP Server is modular. The core HTTP listener is very small with all capabilities implemented as modules that plug in and are invoked at the appropriate place during the HTTP request lifecycle. Figure 2 6 shows the lifecycle of an HTTP request in Oracle HTTP Server. Figure 2 6 Oracle HTTP Server HTTP Request Response Cycle Get Request Post / Read Request URI Translation Header Parsing Request Access Control Authentication Authorization Mime Type Checking Client Response Oracle HTTP Server Core Process Content Handling Message Cleanup Return Response Logging Cleanup A child process guides the request through this entire lifecycle. The modules register their APIs, which are then either invoked automatically when the request reaches a certain stage in its lifecycle, or can be configured to be invoked only in certain situations. Common Gateway Interface (CGI) Support Requests that are sent to a Common Gateway Interface (CGI) program may invoke two new processes the child process that handles the HTTP request and the CGI program itself. It is possible to avoid this overhead by configuring Oracle HTTP Server to pre-start child processes and keep them running, leveraging the Perl module to run the CGI programs in memory, or using the FastCGI mechanism. The following Oracle HTTP Server features support CGI: FastCGI: FastCGI supports applications written with Perl, C, C++, and Java. Each CGI application runs in a single child process of the Web server. This improves server performance because it eliminates the need to start a new process for every application request. Perl Interpreter: The Perl Interpreter supports Perl applications and runs them inside of the Web server process. This allows for greater performance because running applications does not start new processes. Since the interpreter runs J2EE and Internet Application Development and Deployment 2-27

64 Oracle9iAS Clustering inside of the Web server process, it has access to Web server services such as log files. Oracle9iAS Clustering Clustering Terminology A cluster is a set of application server instances configured to act in concert to deliver greater scalability and availability than a single instance can provide. While a single application server instance can only leverage the operating resources of a single host, a cluster can span multiple hosts, distributing application execution over a greater number of CPUs. While a single application server instance is vulnerable to the failure of its host and operating system, a cluster continues to function despite the loss of an operating system or host, hiding any such failure from clients. Clusters leverage the combined power and reliability of multiple application server instances while maintaining the simplicity of a single application server instance. For example, browser clients of applications running in a cluster interact with the application as if it were running on a single server. The client has no knowledge of whether the application is running on a single application server or in an application server cluster. From the management perspective, an application server administrator can perform operations on a cluster as if the administrator was interacting with a single server. An administrator can deploy an application to an individual server; the application is propagated automatically to all application server instances in the cluster. The following sections discuss how application server clustering increases scalability, availability, and manageability, and explain the server clustering architecture. Table 2 4 lists the terms that Oracle9i Application Server documentation and administration tools use when referring to clustering Oracle9i Application Server Concepts

65 Oracle9iAS Clustering Table 2 4 Term Oracle9iAS Metadata Repository Component Instance Oracle9iAS Instance Oracle9iAS Cluster Oracle9iAS Farm Oracle9i Application Server Clustering Terminology Definition The Oracle9iAS Metadata Repository maintains information about the available instances in a cluster. This simplifies the process of creating clusters and synchronizing applications and state information across a cluster because all Oracle9iAS instances share the same repository. Changing the configuration or deploying an application to one instance in a cluster triggers the infrastructure to update the other instances in the cluster with the new information. Component instances include a single Oracle HTTP Server process or multiple Oracle9iAS Containers for J2EE (OC4J) instances. An Oracle9iAS Instance (also called an application server instance) is the set of processes required to run the configured components within an application server installation. There can be only one application server instance per application server installation. The terms installation and instance are sometimes used interchangeably, however, it is important to remember that an installation is the set of files installed into an Oracle home and an instance is a set of processes associated with those files. A cluster is a collection of application server instances with identical configuration and application deployment. Clusters enforce homogeneity between member instances so that a cluster of application server instances can appear and function as a single instance. With appropriate front-end load balancing, any instance in an application server cluster can serve client requests. This simplifies configuration and deployment across multiple instances and enables fault tolerance among clustered instances. A collection of clusters and instances that share the same Oracle9iAS Infrastructure. J2EE and Internet Application Development and Deployment 2-29

66 Oracle9iAS Clustering Scalability Oracle9iAS clustering enables you to scale your system beyond the limitations of a single application server instance on a single host. Figure 2 7 shows how a cluster unifies multiple application server instances spread over multiple hosts to collectively serve a single group of applications. In this way, clustering makes it possible to serve increasing numbers of concurrent users after the capacity of a single piece of hardware is exhausted. Clients interact with the cluster as if they are interacting with a single application server. An administrator can add an application server instance to the cluster while the cluster is operating, increasing system capacity without incurring downtime. Figure 2 7 Oracle9iAS Cluster Clients access the cluster through a load balancer, which hides the application server configuration. The load balancer can send requests to any application server instance in the cluster, as any instance can service any request. An administrator can raise the capacity of the system by introducing additional application server instances to the cluster, each of which derives its configuration from a shared Oracle9iAS Metadata Repository. Availability Oracle9iAS clustering enables you to achieve a higher level of system availability than is possible with only a single application server instance. An application running on a single instance of an application server is dependent on the health of the operating system and host on which the server is running. In this case, the host 2-30 Oracle9i Application Server Concepts

67 Oracle9iAS Clustering poses as a single point of failure because if the host goes down, the application becomes unavailable. An application server cluster eliminates the single point of failure by introducing redundancy and failover into the system. Any application server instance in the cluster can service any client request, and the failure of any single instance or host does not bring down the system. Client session state is replicated throughout the cluster, thereby protecting against the loss of session state in case of process failure. The administrator can configure the extent of session state replication. Figure 2 8 Application Server Instance Failure in a Cluster Manageability Figure 2 8 illustrates how application server clusters enable higher availability by providing redundancy and backup and eliminating a single point of failure. Clients access the cluster through a load balancer which can send requests to any application server instance in the cluster. In the case that an application server instance becomes unavailable, the load balancer can continue forwarding requests to the remaining application server instances, as any instance can service any request. Figure 2 9 demonstrates how managed clustering uses Oracle Enterprise Manager. While any clustered system requires all instances to be similarly configured in order to function properly, Oracle9iAS managed clustered instances synchronize their configurations automatically, relieving the administrator of the responsibility to manually update each individual instance. Using Oracle Enterprise Manager, the administrator can make configuration changes as if on a single application server J2EE and Internet Application Development and Deployment 2-31

68 Oracle9iAS Clustering instance. Applicable changes are propagated automatically to all instances in the cluster. Oracle9iAS cluster management simplifies the tasks of creating and administering clusters and reduces the chance of human error corrupting the system. An administrator creates a cluster in a single management operation. Then, the administrator adds the initial application server instance to the cluster to define the base configuration for the cluster. Any additional instances automatically inherit this base configuration. Figure 2 9 Oracle Enterprise Manager Manages a Cluster Architecture A cluster coordinates several application server instances and its components. The roles of the components included in the cluster are described in the following sections: Front-End Load Balancer Metadata Repository in the Infrastructure Farm Cluster Application Server Instance Management Features 2-32 Oracle9i Application Server Concepts

69 Oracle9iAS Clustering Figure 2 10 shows the architecture of a farm and a cluster. There are three application server instances, where each instance shares the same Oracle9iAS Metadata Repository within an infrastructure. Thus, all three application server instances are part of the same farm. Application server instances 1 and 2 are involved in a cluster together. In front of the cluster is a front-end load balancer. Included within each application server instance are its manageability features Oracle Process Management and Notification (OPMN) and Dynamic Configuration Management (DCM) and its installed components Oracle HTTP Server and Oracle9iAS Containers for J2EE (OC4J). Figure 2 10 Oracle9iAS Cluster Architecture Front-End Load Balancer After you have created a cluster, you can add a load balancer in front of all application server instances in the cluster, which provides availability and scalability for the application server instances. J2EE and Internet Application Development and Deployment 2-33

70 Oracle9iAS Clustering We recommend that you purchase and install a hardware load balancer for the best performance. Alternatively, you could use Web Cache as a load balancer, which could be a single point of failure. See Also: Oracle9iAS Web Cache Administration and Deployment Guide for instructions on how to set up Oracle9iAS Web Cache as your load balancer for your cluster Metadata Repository in the Infrastructure When you install Oracle9iAS, you have the option of installing the Oracle9iAS Infrastructure. An Oracle9iAS Infrastructure provides Oracle Internet Directory, Oracle9iAS Single Sign-On, and the Oracle9iAS Metadata Repository. The metadata repository is an Oracle9i database that is used to store the application server instance information and configuration. The application server instance tables are created in the metadata repository. Multiple application server instances can share the metadata repository of the infrastructure. Application server instances associate with an infrastructure either during installation or through the Oracle Enterprise Manager after installation. Farm A farm is a group of multiple application server instances that associate with the same metadata repository. The application server instances that belong to a farm can be installed anywhere on the network. It is only within the constraint of a farm that you can create a cluster. A farm can host multiple clusters. Cluster A cluster is a logical group of application server instances that belong to the same farm. Each application server instance may be part of only one cluster. If an instance is part of a cluster, then all of its configured components are implicitly part of that cluster. Each application server instance can only be configured with Oracle HTTP Server and OC4J components to be contained in a cluster. A cluster can include zero or more application server instances. All application server instances involved in the cluster have the same cluster-wide configuration. If you modify the configuration on one application server instance, then the modification is automatically propagated across all instances in the cluster Oracle9i Application Server Concepts

71 Oracle9iAS Clustering Note: Instance-specific configuration parameter modifications are not propagated. For a description of these parameters, see the Oracle9i Application Server Administrator s Guide. Application Server Instance An application server instance consists of a single Oracle HTTP Server and one or more OC4J instances. It is a single installation in one Oracle home. If you have multiple application servers on a single host, each is installed into its own Oracle home and uses separate port numbers. To manage clusters from Oracle Enterprise Manager, the application server uses a metadata repository for storing its tables and configuration. Each application server instance in the cluster has the same base configuration. The base configuration contains the cluster-wide parameters and excludes instance-specific configuration. If you modify any part of the cluster-wide configuration, the modifications are propagated to all other application server instances in the cluster. If you modify an instance-specific parameter, it is not propagated, as it is only applicable to the specified application server instance. See the Oracle9i Application Server Administrator s Guide for a listing of the instance-specific parameters. The cluster-wide parameters are all other parameters. In order for each application server instance to be a part of a cluster, the following must be true: The application server instances you add to a cluster must be part of the same farm as the cluster, which means they all use the same metadata repository. You can associate application server instances with the same metadata repository during install time or after installation using Oracle Enterprise Manager. The first application server instance you add to the cluster must contain only OC4J and Oracle HTTP Server components. Web Cache can be configured, but it will be ignored for clustering operations. If other Oracle9iAS components are part of the application server instance, Oracle9iAS displays an error and does not add the application server instance to the cluster. Note: Oracle9iAS Web Cache provides its own clustering functionality separate from application server clustering. See Oracle9iAS Web Cache Administration and Deployment Guide for more information. J2EE and Internet Application Development and Deployment 2-35

72 Oracle9iAS Clustering When you install additional application server instances, ensure that only Oracle HTTP Server, OC4J, and Oracle9iAS Web Cache are configured. The Oracle9iAS Web Cache will be ignored for clustering operations. Each application server instance can contain only one Oracle HTTP Server. Each application server instance can contain one or more OC4J instances. Each application server instance must reside on a host using the same operating system type (for example, UNIX) as the other instances in the cluster. Once grouped in the same cluster, these application server instances have the following properties: Each application server instance has the same cluster-wide configuration. That is, if you modify any cluster-wide parameters, the modifications are propagated to all application server instances in the cluster. For instance-specific parameters, you must modify these on each individual application server instance. If you deploy an application to one application server instance, it is propagated to all application server instances in the cluster. The application is actually deployed to an OC4J Instance in the application server instance and propagated to the same OC4J Instance in the other application server instances in the cluster. You can change the configuration for the deployed application, and this change is propagated to the same OC4J Instance in the other application server instances in the cluster. Each application server instance is equal in the cluster. You can remove any of them at any time. The first instance does not have special properties. The base configuration is created from this instance, but the instance can be removed from the cluster in the same manner as the other instances. Most of the clustering management, configuration, and application deployment is handled through the Oracle Enterprise Manager. If you want to use a command-line tool, you can use the Distributed Configuration Management (DCM) command-line tool. You can remove application server instances from the cluster. The application server instance is stopped when removed from the cluster. When the last application server instance is removed, the cluster still remains. You must delete the cluster itself for it to be removed Oracle9i Application Server Concepts

73 Oracle9iAS Clustering Management Features Each application server instance contains management features that manage and monitor the application server instance, its components, and how it performs in a cluster. The management features do the following: Propagate the cluster-wide configuration for the application server instances and its components Manage the application server components by starting, stopping, and restarting these components Notice if a component dies and restarts it Notify the Oracle HTTP Server if any OC4J instances start or stop All of these activities are provided by the following management features: Distributed Configuration Management (DCM) Oracle Process Management and Notification (OPMN) Distributed Configuration Management (DCM) Distributed Configuration Management (DCM) manages configuration by propagating the cluster-wide configuration for the application server instances and its components. When you add application server instances to the cluster, it is the DCM component that automatically replicates the base configuration to all instances in the cluster. When you modify the cluster-wide configuration, DCM propagates the changes to all application server instances in the cluster. DCM is a management feature in each application server instance. However, it is not a process that exists at all times. DCM is invoked either by Oracle Enterprise Manager or manually by a user through dcmctl to do the following: Create or remove a cluster Add or remove application server instances to or from a cluster Synchronize configuration changes across application server instances Send application server instance start, restart, and stop requests to OPMN Enable automatic re-configuration on system failure You can also manually execute the DCM command-line tool dcmctl to perform these duties. However, there are restrictions on how to use dcmctl, which are as follows: J2EE and Internet Application Development and Deployment 2-37

74 High Availability High Availability If Oracle Enterprise Manager is up and managing the cluster, you can invoke the DCM command-line tool from any host where a clustered application server instance exists. DCM informs Oracle Enterprise Manager of the requested function. Oracle Enterprise Manager then interfaces with the other DCM management features on the other application server instances in the cluster to complete the cluster-wide function. If Oracle Enterprise Manager is not up and managing the cluster, you must start the DCM command-line tool in the foreground on each application server instance in the cluster. Once started in the foreground, the DCM process in each application server instance communicate with each other about configuration changes and deployed applications. See Also: Oracle9i Application Server Administrator s Guide. for directions on how to do the previous functions with the dcmctl tool Oracle Process Management and Notification (OPMN) Oracle Process Management and Notification (OPMN) manages Oracle HTTP Server and OC4J processes within an application server instance. It channels all events from different components to all components interested in receiving them. OPMN consists of the following two components: Oracle Process Manager Oracle Notification Manager The availability of a system or any component in that system is defined by the percentage of time that it works normally. A system works normally when it meets its correctness and performance specifications. For example, a system that works normally for twelve hours per day is 50% available. A system that has 99% availability is down 3.65 days per year on average. System administrators can expect critical systems to have 99.99% or even % availability. This means that the systems experience as little as four to five minutes of downtime per year. Availability may not be constant over time. For example, availability may be higher during the daytime when most transactions occur, and lower during the night and on weekends. However, because the Internet provides a global set of users, it is a common requirement that systems are always available Oracle9i Application Server Concepts

75 High Availability Benefits of High Availability Redundant components can improve availability, but only if a spare component takes over immediately for a failed component. If it takes ten minutes to detect a component failure and twenty additional minutes to start the spare component, then the system experiences a 50% reduction in availability for that hour of service. Oracle9iAS is designed to provide maximum system availability during many types of hardware and software failures. Oracle9i Application Server keeps your system available by providing the following benefits: Fault Tolerance: Oracle9iAS has a flexible deployment model so you can deploy an architecture that exposes no single point of failure. This means that despite the failure of any component in the system, the application server is tolerant to failures and continues to function and service client requests. Death Detection and Restart: To have maximum availability, when a server process fails, the system should take appropriate action by cleaning up memory and restarting the failed processes. The management processes in each Oracle9iAS instance monitor the HTTP server and OC4J processes and restart failed processes as required. Failover: Failover hides system failure from users. Failures do occur, but clients should not perceive any loss of service as their requests are failed-over/re-routed to another redundant service that takes over for the failed one. At the mod_oc4j-oc4j level, after the failure of a stateless service, the application server routes requests to alternate instances of the service in a similar fashion to connection rerouting. After a failure of a stateful service, the application server reroutes the request to an alternate instance to which the state has been replicated. At application server instance level, you can use a hardware load balancer, Oracle9iAS Web Cache, or a DNS round robin strategy to load balance requests across redundant application server instances. This allows your Web site to continue functioning even if one of the application server instances goes down. See Also: For instructions on configuring Oracle9iAS Web Cache as a load balancer to route requests, refer to Oracle9iAS Web Cache Administration and Deployment Guide. J2EE and Internet Application Development and Deployment 2-39

76 High Availability Connection Rerouting: Rerouting occurs when a process or node servicing a request fails while a session is still executing. To address this failure, client requests to the session are transparently rerouted to alternate application server instances in the cluster. Architecture Figure 2 11 shows an example of high availability architecture where an Oracle9iAS instance can contain one Oracle HTTP Server instance and zero or more OC4J processes. Here, Oracle9iAS Web Cache is used as a load balancer to route requests. OPMN within the Oracle9iAS instance environment monitors the Oracle HTTP Server and OC4J processes. If either Oracle HTTP Server or OC4J fail, the OPMN restarts the failed process. This enables a maximum level of availability of the components within an Oracle9iAS instance. Figure 2 11 High Availability Architecture The mod_oc4j Module The mod_oc4j module routes requests from the Oracle HTTP Server to Oracle Containers for J2EE (OC4J). It works in conjunction with OPMN to keep its routing table updated so that it load balances across only live OC4J processes in an OC4J instance. When a request comes in, mod_oc4j selects a process from its shared memory table. If a session is created with this request, related requests are routed to the same process. Otherwise, a new process is selected based on the load balancing algorithm. To allow fault tolerance, this module supports OC4J instances and islands. To handle failover with stateless requests, it tries to select an alternative 2-40 Oracle9i Application Server Concepts

77 High Availability OC4J process within the same island and routes the request to that process. If all the OC4J processes in the instance have been tried and none of them are successful, mod_oc4j returns request failure. For session enabled requests, the module tries to failover to another OC4J process within the same island as the original process that serviced the request. Again, if all the OC4J processes in the island are unable to service the request, mod_oc4j returns request failure. See Also: Oracle HTTP Server Administration Guide, Oracle9i Application Server Administrator s Guide J2EE and Internet Application Development and Deployment 2-41

78 High Availability 2-42 Oracle9i Application Server Concepts

79 3 Portal Development and Deployment This chapter provides an overview of Oracle9iAS Portal features and benefits. The topics include: Introduction to Oracle9iAS Portal Oracle9iAS Portal Features Oracle9iAS Portal Architecture Application Access and Integration Portal Security Portal Development and Deployment 3-1

80 Introduction to Oracle9iAS Portal Introduction to Oracle9iAS Portal What is Oracle9iAS Portal? Portals allow clients to access information through any Web browser. This information usually comes from different data sources that the portal combines into a single entry point. That entry point is known as a page. Portals also support personalized views, so that each user or user group can customize both the content and the appearance of the portal to suit individual preferences and requirements. For example, a financial analyst s page would likely include information from real-time Internet-based stock quotes, financial reports from an online repository, and access to legacy financial accounting and banking systems. The data from these systems are independent of each other, but the portal allows them to exist within a single page. Oracle9iAS Portal is a Web-based tool for building and deploying e-business portals. It provides a secure, manageable environment for accessing and interacting with enterprise software services and information resources. It helps you to efficiently manage, access, and interact with information by enabling you to create portal pages. A portal page makes data from multiple sources accessible from a single location. Figure 3 1 shows a sample portal page from Oracle9i Application Server Concepts

81 Introduction to Oracle9iAS Portal Figure 3 1 Sample Portal Page E-Business Support with Oracle9iAS Portal The growth of the Internet and Internet technologies creates new opportunities and challenges for businesses. The earlier vision of free-flowing information shared over corporate intranets is meeting roadblocks because of information overload, system management complexities, and conflicting data. Shortcomings in technology and its implementation are limiting the impact of a complete corporate intranet on user s core job functions. As a result, much of the potential revenue, productivity, and efficiency gains are not fully realized. In response, these organizations are turning to portals as key components of their e-business strategy. Portals are emerging as essential problem-solving mechanisms that provide a single source of interaction with all corporate information and the Portal Development and Deployment 3-3

82 Oracle9iAS Portal Features focal point for conducting day-to-day business. Companies are using portals and supporting applications: To provide access to instantly available, personalized, job-based information. In forums for groups to exchange, analyze, and discuss ideas. To automate business processes that integrate into daily activities. Oracle9iAS Portal supports e-businesses by: Providing secure access to existing information, no matter where it is. Portal developers can organize and structure content in a consistent and logical way. This reduces or eliminates the need for users to hunt for information through a variety of sources. Supporting personalized views. Users and user communities can organize the information they access in ways that complement their work habits or interactions. Providing self-service to users. Employees, partners, and suppliers who have important information to share with the community can do so without specific technical skills or help from a technology expert. Enabling single signon. Users can log into the portal once per session and access all internal and external applications without logging into any of them. Oracle9iAS Portal Features Key features of Oracle9iAS Portal include: An extensible framework that integrates Web-based resources such as Web pages, applications, business intelligence reports, and syndicated content feeds, within standardized, reusable information components called portlets. Within a portlet, these resources are personalized and managed as a service of Oracle9iAS Portal. Companies can create their own portlets for their existing Web resources and can select additional portlets from the growing catalog of third-party portlet providers. The portal framework provides additional services including single signon, content classification, enterprise search, directory integration, and access control. An easy-to-use, personalized interface that provides an organized, consistent view of the business information, Web content, and applications needed by each user. Portal administrators and designers use a browser-based control panel to selectively grant access to applications and information by making portlets available only to specific users or user groups. 3-4 Oracle9i Application Server Concepts

83 Oracle9iAS Portal Features Self-service publishing features allow authorized users to post and share any kind of document or Web content with other users anywhere in the world. Content contributors use controls for uploading documents, implementing version control, customizing page formatting and display, limiting access, and managing content without any requirement for technical expertise or HTML knowledge. A scalable deployment architecture that is easily configured for departmental, regional, and enterprise-wide deployment. The deployment model supports a variety of configurations, including single host and multi-tier, on a broad set of hardware platforms and operating systems. Portal Page Creation, Management, and Customization Oracle9iAS Portal incorporates a portal creation and deployment framework that defines Web information sources as information components, assembles these components within a portal page, and supports customization of the Web page to one or more user communities. Each portal page is divided into either item regions or portlet regions. Item regions allow you to add text, images, and files to a portal page. Portlet regions provide an area where you can place one or more portlets. A portlet is an HTML or XML area that summarizes, promotes, or provides basic access to an information resource. The information resources can take on many forms and can serve many purposes. Items and portlets are the fundamental building blocks of an Oracle9iAS Portal page. Page owners create and maintain their own portal pages. Each portal page consists of content presented through one or more items and portlets and links that allow the client to navigate to another page or take some action. Portal Content Publishing and Management Oracle9iAS Portal provides an integrated set of features for self-service document publishing, file upload, page formatting, and access control. Collaborators and content publishers no longer need specific technical skills or a Webmaster to publish their content. Instead, they can use an item region on a portal page to publish their content and format content appearance using simple controls. An item region includes built-in features for publishing, organizing, classifying, cross-referencing, and displaying content it manages. Key components that make up an item region include: Portal Development and Deployment 3-5

84 Oracle9iAS Portal Features Items that are the pieces of content themselves. Items are defined by the base content that makes up the item and one or more attributes that describes the item. Item publishers create items by completing a series of steps in a wizard. Additional features, such as item version control, check-in and check-out, expiration, and automatic indexing support collaborative document creation and ease content management tasks. Styles that define how items are displayed. Item region style properties govern the colors, font properties, size, background images, banners, and other graphical elements for the items, and navigation bars in an item region. Item regions also include components that assist users in navigating or locating content of interest and allow for classifying content with categories and perspectives. The category attribute classifies items. Each item must contain a single category attribute value. Categories answer the question "What is this item?" The perspective attribute classifies items in an optional, one-to-many relationship. Each item may contain from none to many perspective attribute values. Perspectives answer the question "Who does this item interest?" Content Searching Oracle9iAS Portal searches can quickly and easily locate information managed within a portal page. Oracle9iAS Portal supports the following search methods: Basic searches that only match attributes of items in the current portal page against the search criteria. Advanced searches that allow the user to define or restrict the search by specific attributes. Users can specify that their searches Return matches to any or all search terms. Search within a specific portal page or across all portal pages. Restrict searches to a particular category, perspective, item type, or attribute. Oracle Ultra Search searches that perform comprehensive searches against portal-managed information. These searches can also return matches based on near matches (terms that appear close together), soundex matches (terms that sound like the search term), and fuzzy matches (terms with similar spellings to the search term). 3-6 Oracle9i Application Server Concepts

85 Oracle9iAS Portal Features A search result portlet displays the matches of any search. You can add this portlet to any portal page and customize which attributes it displays. Content Syndication Content syndication is the aggregation, exchange, and distribution of information from content providers to syndicators to subscribers. The content providers provide the content, the syndicators send the content, and the subscribers use the content. A content subscriber acquires a content catalog of subscription offers from a content syndicator and selects the desired subscription offers. When subscribing for content, the subscriber can choose to search for new information or have it automatically provided to them either when it is updated, or after a specified time interval. Oracle9iAS Syndication Server delivers any database, legacy file system, or Internet content to any Internet subscriber, and automatically provides any content updates using any standards across any network. This simplifies the process of syndication or automated content exchange. Oracle9iAS Syndication Server provides a comprehensive solution for content aggregation, syndication, and distribution by letting you make available any or all of your content. Content syndicators can use Oracle9iAS Syndication Server with the following benefits: Aggregate content from databases, Web sites, enterprise applications, repositories, and legacy systems. Personalize the content to be delivered based on the profiles of their subscribers and deliver content updates based on the delivery policies associated with each subscription. Automate content delivery by sending content to subscribers when information relevant to them changes, or schedule a content delivery when establishing a subscription with subscribers, and deliver it to subscribers over multiple communication channels. Transform any content from any formatted source to a markup language suitable for the subscriber. See Also: Oracle Syndication Server User s and Administrator s Guide Portal Development and Deployment 3-7

86 Oracle9iAS Portal Architecture Portals and Wireless Devices In addition to standard Web browsers, wireless clients can also access Oracle9iAS Portal pages. Working with Oracle9iAS Wireless, the portal automatically transforms the portal page structure to a format appropriate for the smaller screens of most wireless devices. Only portlets generating Oracle9iAS Wireless XML content display on the wireless device. Oracle9iAS Portal developers also have access to a set of page design tools that help in creating portal pages that optimize the wireless experience. With the tools, developers can build a distinct portal structure for their wireless users. The wireless pages and portal pages can share portlet instances. This allows clients to reuse portlets on browser and wireless clients without reconfiguring each portlet. Oracle9iAS Portal Architecture When a client requests an Oracle9iAS Portal page, many Oracle9iAS components service parts of the request. Requests have the following flow: 1. The client browser requests a portal page. Oracle9iAS Web Cache receives this request. 2. Oracle9iAS Web Cache forwards the request to the Oracle9iAS Portal Parallel Page Engine (PPE) through Oracle HTTP Server and mod_oc4j. 3. The PPE retrieves the portal page definition. The page definition contains information about the portlets on a page and their layout. a. First, it checks if Oracle9iAS Web Cache has a valid, cached copy of the definition. b. Next, it checks if the portal cache has a valid, cached copy. c. Finally, if no cached copy of the definition exists, then the PPE generates a page definition from data in the portal repository. The portal repository is either in the Oracle9iAS Metadata Repository or in your customer database. 4. The PPE parses the page definition. If a fully cached copy of the page exists, then the page is returned to the client browser through Oracle9iAS Web Cache. If a fully cached copy of the page does not exist, the PPE builds the page from cached and non-cached data with the remaining steps. 5. For each portlet on the page, the PPE checks if a cached copy of the portlet content exists in the portal cache. Then the PPE forwards a request to the appropriate provider through Oracle9iAS Web Cache. 3-8 Oracle9i Application Server Concepts

87 Application Access and Integration 6. Each provider either validates the cached portlet or generates content for the portlet. Web providers return this directly to the PPE. Database (DB) providers return the results to the PPE through Oracle HTTP Server, mod_plsql, and Oracle9iAS Web Cache. 7. The PPE aggregates the content into a single page. This page is sent to Oracle9iAS Web Cache. 8. Oracle9iAS Web Cache returns the final page to the client browser. Figure 3 2 illustrates this flow in terms of the Oracle9iAS Portal architecture. Figure 3 2 Oracle9iAS Portal Request Flow Oracle9i Application Server Oracle HTTP Server mod_oc4j Oracle9iAS Portal Parallel Page Engine Web Provider Client Oracle9iAS Web Cache mod_plsql Portal Cache Portal Repository DB Provider Application Access and Integration Portal clients access Oracle9iAS Portal applications through portlets. Clients can select the portlets that appear on their page from a list of providers registered with Oracle9iAS Portal. In cases where the existing catalog of portlets is not sufficient, developers can use the Oracle9iAS Portal Developer Kit to create their own portlets. Portal Development and Deployment 3-9

88 Application Access and Integration Integrating with Portlet Providers Applications and information sources, represented as portlets, communicate with the portal through a provider. Each portlet only has one provider, and a provider can have one or more portlets that expose an underlying application or information source. All portlets from portlet providers make use of Oracle9iAS Single Sign-On. This ensures that only authorized users are able to subscribe to a particular portlet and that authorized users can access all registered portlets by logging into their main portal page. Oracle9iAS Portlets Some Oracle9iAS components act as portlet providers to Oracle9iAS Portal. This allows you to integrate information from various components into a single portal page. Oracle9iAS Reports Services Oracle9iAS Portal includes a simple report building facility. However, as your reports become more complex, you can import the report into Oracle9iAS Reports Services reports. You can deploy any Oracle9iAS Reports Services report as a portlet. See Also: page 6-9 "Introduction to Oracle9iAS Personalization" on Oracle9iAS Discoverer As a portlet provider, Oracle9iAS Discoverer offers worksheet portlets and list of workbooks portlets to Oracle9iAS Portal users. A worksheet portlet contains information from a single view in Discoverer. The portlet displays this information in either a table, a graph, or both. The list of workbooks portlet presents a list of worksheets. See Also: "Introduction to Oracle9iAS Discoverer" on page 6-17 Oracle Internet File System The Oracle Internet File System portlet provides a summary of information about your Oracle 9iFS data. Portlet subscribers can see their quota, initiate a file search, list documents or folders, and upload documents. The portlet also links to the Oracle Internet File System Web interface. See Also: "Oracle Internet File System" on page Oracle9i Application Server Concepts

89 Application Access and Integration Custom Portlets The Oracle9iAS Portal Developer Kit (PDK) allows developers to either reuse existing applications as portlets or create new portlets. Developers can write portlets using familiar languages and technologies. These technologies can be: Java applications Oracle PL/SQL packages Web pages built with any standard technology like Active Server Pages (ASPs), or Perl Web services See Also: for more information on the Oracle9iAS Portal Developer Kit Partner Portlets In addition to the list of Oracle9i Application Server components, a growing community of independent software vendors (ISVs) and Internet content providers are creating standard, supported portlets that access their applications and services. For these partners, customers can access the partner s application or service through one or more pre-integrated portlets. The current catalog of portlets includes the following services: Business intelligence and reporting Collaboration Document, content, and knowledge management e-business applications (including customer relationship management and enterprise resource management) News and information sources Portal tools Internet searches See Also: for a complete list of Partner portlets Portal Development and Deployment 3-11

90 Portal Security Portal Security This section discusses the following security topics: User Authentication in Oracle9iAS Portal Access Control in Oracle9iAS Portal User Authentication in Oracle9iAS Portal Oracle9iAS Single Sign-On provides a single point of validation for portal user credentials and governs user access to intranet resources based on employee profiles. When a user logs into a portal page, the single signon server validates the user name and password against user and group profiles stored in Oracle Internet Directory. Oracle9iAS Single Sign-On also supports external, partner applications. For these applications, the single signon server logs in to the application automatically for the user. See Also: Chapter 8, "System Management" Access Control in Oracle9iAS Portal Most portal elements have an access control list (ACL). This list controls which users and groups may access the element, and to what extent. For example, if you wanted all of the users in a group to be able to see the items on a portal page, in the page s ACL you would grant that group View privileges. Besides ACLs, you can also use global privileges to grant access to all objects of a given type in Oracle9iAS Portal. For example, granting the Create privilege for All Pages to a group enables all members of that group to create pages Oracle9i Application Server Concepts

91 4 Wireless Development and Deployment This chapter provides an overview of Oracle9iAS Wireless features and benefits. The topics include: Introduction to Oracle9iAS Wireless Oracle9iAS Wireless Architecture Oracle9iAS Wireless Features Wireless Development and Deployment 4-1

92 Introduction to Oracle9iAS Wireless Introduction to Oracle9iAS Wireless After you build a J2EE application and publish it to a Web service, you can link it to any system in the back end. Then, you can aggregate this application into a portal. Now, you want to get wireless access into it. It is basically the same kind of content. Oracle9iAS Wireless lets you rapidly extend access to any existing application to any mobile device including Web-enabled phones, personal digital assistants, pagers, and even ordinary telephones through voice recognition. Oracle9iAS Wireless is a portal service for delivering information and applications to mobile devices. What is Oracle9iAS Wireless? Oracle9iAS Wireless makes Web and database applications, such as , news, and directory services, accessible to mobile device users without having to rewrite content for every target platform. It converts any Internet content to XML and transforms the XML to any markup language supported by any device such as HTML, WML, HDML, VoiceXML, VoxML, and SMS. Figure 4 1 Oracle9iAS Wireless Web Providers Firewall Firewall Base Station IP Router WAP Gateway Oracle9iAS Database Database Providers Oracle9iAS Wireless Architecture When users request wireless service, the following steps occur: 1. The wireless device connects to the Gateway Provider. 2. The provider provides subscriber, device identification, and user preferences to the Device/Network Adapter. 4-2 Oracle9i Application Server Concepts

93 Oracle9iAS Wireless Architecture 3. The Device/Network Adapter invokes the XML Application Framework and HTTP Adapter. 4. The HTTP Adapter forwards the request to the application. 5. The HTTP Adapter retrieves the XML result from the application. 6. The result is forwarded to the client. Figure 4 2 illustrates this flow in terms of the Oracle9iAS Wireless architecture. Figure 4 2 Oracle9iAS Wireless Architecture Oracle9iAS Gateway Provider Device / Network Adapter HTTP XML Application Framework HTTP Adapter XML Any Application Oracle9iAS Wireless HTTP Adapter Oracle9iAS Wireless adapters pass application content to the core for processing. The HTTP Adapter retrieves content from a wide variety of sources, including existing Web sites, databases, existing applications and legacy systems. The HTTP Adapter can securely access any content from any source that outputs XML. To render an application to any device, a developer points the HTTP Adapter to the application with a URL. The Oracle9iAS Wireless core then processes the XML object and delivers the result of the query to the wireless device, such as a WAP device. Wireless Development and Deployment 4-3

94 Oracle9iAS Wireless Architecture Device/Network Adapter Oracle9iAS Wireless device transformers convert the XML received from the HTTP adapter to the markup language appropriate for the requesting wireless device. Figure 4 3 Oracle9iAS Wireless - Device/Network Adapter Welcome Oracle9iAS Wireless Any Gateway Oracle9iAS Device / Network Adapter Request Processor <<Welcome>> Any Gateway HTTP Handler Transformer XML Welcome Oracle9iAS Any Gateway Asynch Server The Device/Network Adapter automatically transforms and optimizes the application content for any wireless device and network. It supports the following mobile technologies: 2-way pagers for asynchronous services (SMTP/SMS) WAP devices Voice for access through regular phone lines PDA devices Oracle9iAS Wireless provides two types of transformers: Generic service transformers - For languages such as WML. Generic service transformers convert the Oracle9iAS Wireless-compliant XML to a generic WML format that works on any WAP-compliant wireless phone. Device-specific transformers - Optimized for a specific device. For example, instead of using the generic WML transformer, you can use a device-specific transformer that exploits the device characteristics of a specific phone. 4-4 Oracle9i Application Server Concepts

95 Oracle9iAS Wireless Architecture Oracle9iAS Wireless Features Oracle9iAS Wireless contains two parts: Core and Services. Figure 4 4 Oracle9iAS Wireless Core and Services Core Oracle9iAS Wireless includes a core component that manages the Oracle9iAS Wireless repository and service requests: Device, Network Adaptation - Allows you to write your application once for any protocol, any device, or any network. XML Application Model - Provides an advanced application model to enable mobile access. Protocol Adapters - Provides open HTTP Protocol adapters to mobile enable any existing application. Wireless Development and Deployment 4-5

96 Oracle9iAS Wireless Architecture Services Oracle9iAS Wireless includes services that enhance applications and simplify mobile application development: Location Based Services - Allows you to create location-aware applications and personalize them with geographic coding, routing, mapping, and positioning. Mobile Personal Information Management (PIM) and - Integrates corporate , directory, address book, calendaring, and instant messaging applications into mobile enterprise portal. mcommerce and Billing - Provides a set of modules for on-line payment mechanisms to complete transactions. OracleMobile Studio - Provides an on-line wireless development tool for quickly building, testing, and deploying wireless applications. Advanced Customization - Allows you to customize your Personalization Portal pages in several different ways to alter the appearance of logos, banners, and icons. Push/Short Message Service - Allows content sources to send information to mobile users and alert them to important information or events. Transcoding - Allows you to mobile-enable existing HTML and WML Web content. Off-line Management - Allows you to create applications that run on mobile devices while off-line by using Oracle9i Lite. Deploy Applications for Any Device, Protocol, or Network Oracle9iAS Wireless allows you to write your applications once for any protocol, device, or network. The Oracle9iAS Wireless simplifies the design of your applications and decreases the software life-cycle time. 4-6 Oracle9i Application Server Concepts

97 Oracle9iAS Wireless Architecture Figure 4 5 Deploy applications on any device, protocol, or network Oracle9iAS Wireless has XML, HTTP, and J2EE adapters to make existing applications portable to mobile devices. You can receive any information via a standard protocol. You can also apply transforms using XML, and then depending upon what device you are going to or what network you are going over, Oracle9iAS Wireless adapts the content to go out. Regardless of data presentation or storage format, Oracle9iAS Wireless adapts and transforms complicated content into the markup language of any wireless device. Oracle9iAS Wireless content adapters can adapt information to the wireless Internet from a wide variety of sources, including existing Web sites, databases, and legacy systems. The goal of adapters is to create MobileXML, an Oracle XML document type definition (DTD). MobileXML is the device-independent XML for delivering content through Oracle9iAS Wireless. MobileXML elements provide the user interface elements necessary to present content to mobile devices. You can create MobileXML through standard text editors or any popular development tool that is capable of outputting XML. The specific markup language supported by that device to which the MobileXML is transformed determines the specific appearance of each MobileXML element on a device. See Also: Oracle9iAS Wireless Developer s Guide Wireless Development and Deployment 4-7

98 Oracle9iAS Wireless Architecture Location-Based Services With Oracle9iAS Wireless, you can create location-aware applications and extend them with geographic coding, routing, mapping, and positioning functions. Oracle9iAS Wireless enables you to assign a location to a service, making the service location-based. It supports two types of location-based services: Location-based services that are visible to users only at certain locations. Services that provide content specific to the current location of the Oracle9iAS Wireless user. For example, an Oracle9iAS Wireless user located in San Francisco sees content related to San Francisco, such as listings of restaurants or businesses in San Francisco. Oracle9iAS Wireless supports content-specific location-based services through customized adapter implementation and location-aware runtime support. In addition, Oracle9iAS Wireless renders mapping services from third-party providers without you having to write custom interfaces for each service. Mobile Personal Information Management (PIM) and Support Oracle9iAS Wireless includes application modules that add the functionality necessary to successfully deploy applications and portals. The modules are built on open standards and focus on reusability and flexibility for seamless integration. These modules are reusable applications that you can link to existing applications. Oracle9iAS Wireless provides several modules that are ready for deployment, including Personal Information Management (PIM) tools such as calendar, address book, fax, and mail. Some of the modules are: mwallet supports mobile commerce transactions and tracking. Mobile supports accessing IMAP and POP . Mobile Directory supports access to LDAP directories. Mobile Calendar provides schedule and appointment management. Instant Messaging supports exchanging instant messages from mobile devices. Oracle9iAS Wireless PIM Service allows you to integrate corporate , directory, address book, calendaring, and instant messaging applications into your mobile enterprise portals. Each of these applications is built as a module that can be called either directly by mobile users from their devices, or by other applications. In addition, they are fully integrated. You can access features such as directory or address book-based recipient selection while composing messages. 4-8 Oracle9i Application Server Concepts

99 Oracle9iAS Wireless Architecture You can leverage from Oracle9iAS Wireless PIM Service modules to: Add communication features to these services. Retrieve corporate directory information. Add and manage appointments on behalf of users, for instance when they make travel or dining reservations. The Mobile Client provides access from any mobile devices to any IMAP or POP3 server. This includes such servers as Microsoft Exchange and Lotus Domino. The Mobile Directory Client connects to any LDAP directory server. Finally, the Mobile Calendar Client integrates natively with Exchange and Lotus Servers, and through published interfaces enables easy customization to support any Calendar Server. See Also: Oracle9iAS Wireless Getting Started and System Guide m-commerce and Billing Support Oracle m-commerce Service is a set of Oracle9iAS Wireless modules that: Stores user profiles securely. Supplies information authorized by users of third-party applications. Interfaces with on-line payment mechanisms to complete transactions. Translates existing WML applications into MobileXML. Uses FormFiller to map forms and spare users from typing information into mobile devices. m-commerce APIs You can build your m-commerce application using Oracle9iAS Wireless. You can incorporate any m-commerce component by adding URL links to the modules complying with their APIs. If you already have an m-commerce application developed in WML, you can run it through the XLtor module by calling its API, and providing your application's URL. This action will add links from your application to all m-commerce modules. Mobile Wallet Mobile Wallet module (m-wallet) provides a convenient single-click commerce payment mechanism. It is a server side, encrypted entity that contains a payment Wireless Development and Deployment 4-9

100 Oracle9iAS Wireless Architecture instrument, identification and address information for registered users. m-wallet enables users to store all the information required to fill out commerce-related forms from any application. That information is used to complete transactions, and through APIs built and maintained by authorized third-party service providers, can be made available to authorized partners and e-merchants. The power of the m-wallet is that it securely stores this information for users, providing them an easy, secure shopping experience, and freeing them from repeatedly entering information. FormFiller FormFiller module dynamically saves and maintains mappings among e-commerce applications' form fields and wallet elements to enable one-click shopping. Along with the XLtor, FormFiller enables these legacy applications to be integrated into mobile portals, accessed from any mobile device, and participate in wallet-enhanced commerce transactions. Payment Processing Payment Processing drivers provide seamless integration with payment mechanisms such as Oracle's CRM ipayment, enabling the processing of credit card and bank account transactions via direct connections to financial networks. Extending m-commerce Drivers The extensible architecture of the m-commerce Service enables the development of drivers to integrate m-commerce services with third-party applications. Studio for Building, Testing, and Deploying Mobile Applications OracleMobile Online Studio is an on-line developer portal for quickly building, testing, and deploying wireless applications. It lets you develop a mobile application that is immediately accessible from all devices. All you need is a standard application server that outputs XML to leverage shared online Web services to reach any wireless Web browser, any messaging device through SMS, , WAP push, and any phone using voice. OracleMobile Online Studio's build, test, and deploy model presents a hosted approach to developing dynamic content. You do not need to download any software or tools to start using it. It also provides you access to reusable modules and examples Oracle9i Application Server Concepts

101 Oracle9iAS Wireless Architecture Advanced Customization You can customize your Personalization Portal pages in several different ways. You can easily alter the appearance of logos, banners, and icons. Alternatively, you may want to create your own JSP to achieve the desired look and feel. Users can customize or configure the following: Services Folders Alerts (alert users when preset conditions are met) Profile information Bookmarks Alert addresses Location marks Server Push and SMS You can use Oracle9iAS Wireless to build notification services that alert users to important information or events. Oracle9iAS Wireless supports these notifications, or push applications, as and Short Message Service (SMS). Users can also make their own notifications without having to access the system local notifications. In addition, you can also build location-sensitive mobile notification services that send a mobile user personalized promotional offers from stores or restaurants within the vicinity of the mobile user. Transcoding The majority of applications available on the Web render content in format specific to certain types of clients or devices. Transcoding services reformat applications developed for a particular device or markup language to formats suitable for any Web-enabled device. Transcoding services in Oracle9iAS Wireless supports a Web Content Adaptation service and a WML Translator service. The Web Content Adaptation service allows you to quickly extend your existing published and legacy Web application to wireless Web-enabled devices. Oracle9iAS Wireless services can connect any remote Web resource, like HTML or XML document, and acquire content for reformatting. The content acquired Wireless Development and Deployment 4-11

102 Oracle9iAS Wireless Architecture is adapted and mapped to data elements in wireless XML format and rendered to the mobile devices. The WML Translator service allows interpretation of content authored in WML and translates the content for access from all Web enabled devices See Also: Oracle9iAS Wireless Getting Started and System Guide Off-Line Management You can off-line enable your Oracle9iAS Wireless application with Oracle9i Lite, which provides a lightweight database for off-line mobile computing. Oracle9i Lite is a platform to develop, deploy, and manage e-business applications that run locally on mobile devices. It offers the following: Rapid development of Java or native off-line mobile applications for Palm PDAs, pocket PCs, smartphones, and standard laptops. Centralized application deployment, provisioning, and management for all mobile devices. Highly scalable, bi-directional data synchronization between mobile devices and Oracle9i Lite over any connection such as Internet and wireless. Same application data for on-line and off-line application Oracle9i Application Server Concepts

103 5 Caching for Performance This chapter provides an overview of Oracle9i Application Server caching features and benefits. The topics include: About Caching Oracle9iAS Web Cache Overview Oracle9iAS Web Cache Architecture Oracle9iAS Web Cache Features Oracle9iAS Web Cache Security Caching for Performance 5-1

104 About Caching About Caching Caching is one of the key technologies that promises to alleviate the computational and economic burdens faced by today s overstrained e-business infrastructures. Nearly all applications benefit from having Web content cached on hosts between the consumers searching for content and the content source itself. While there are numerous hardware and software caching solutions for caching static content, most are not well suited for the kind of dynamic, personalized content required by the e-business model. Oracle9iAS Web Cache offers a combination of server acceleration and server load balancing. Unlike legacy cache servers which only handle static data, Oracle9iAS Web Cache accelerates the delivery for both static and dynamically generated Web content, thereby improving response time for feature-rich pages. As the first and only caching solution on the market to support Edge Side Includes (ESI) for performing page assembly in edge servers, Oracle9iAS Web Cache delivers rich, personalized content from both the edge of the data center to the edge of the Internet. Deployed before a farm of application servers and/or globally at the network edge, Oracle9iAS Web Cache provides load balancing, failover, and patent-pending surge protection features for application servers. These features ensure incomparable site performance and solid up-time while reducing the cost of doing business online. With Oracle9iAS Web Cache, e-businesses can now serve compelling content faster, to more customers, using fewer computing resources than ever before. Oracle9iAS Web Cache Overview Oracle9iAS Web Cache is a powerful state-of-the-art server acceleration solution, offering throughput rates of several thousand requests per second. Oracle9iAS Web Cache offers intelligent caching, page assembly and compression features which distinguish it from any other Web caching solution on the market. Unlike legacy proxy servers which cache only static objects, Oracle9iAS Web Cache accelerates the delivery of both static and dynamic Web content. Oracle9iAS Web Cache provides the following benefits for Web sites: 5-2 Oracle9i Application Server Concepts

105 Oracle9iAS Web Cache Overview Performance Scalability Running on inexpensive hardware, Oracle9iAS Web Cache can increase the throughput of a Web site by several orders of magnitude. In addition, Oracle9iAS Web Cache significantly reduces response time to browser requests by storing documents in memory and by serving compressed versions of documents to browsers that support the GZIP encoding method. In addition to unparalleled throughput, Oracle9iAS Web Cache can sustain thousands of concurrent browser connections, meaning that visitors to a site see fewer application server errors, even during periods of peak load. High Availability Oracle9iAS Web Cache supports content-aware load balancing and failover detection. These features ensure that cache misses are directed to the most available, highest-performing application server in the cluster. Moreover, a patent-pending capacity heuristic guarantees performance and provides surge protection when application server load increases. Cost Savings Better performance, scalability, and availability translates into cost savings for Web site operators. Because fewer application servers are required to meet the challenges posed by traffic spikes and denial of service attacks, Oracle9iAS Web Cache offers a simple and inexpensive means of reducing a Web site s cost for each request. Reduce Network Traffic Most requests are resolved by Oracle9iAS Web Cache, reducing traffic to the application servers. The cache also reduces traffic to backend databases located on computers other than the application server. See Also: Guide Oracle9iAS Web Cache Administration and Deployment Caching for Performance 5-3

106 Oracle9iAS Web Cache Architecture Oracle9iAS Web Cache Architecture Oracle9iAS Web Cache sits in front of application servers, caching their content in memory, and providing that content to Web browsers that request it. Figure 5 1 shows the architecture of Oracle9iAS Web Cache. 1. When Web browsers access the Web site, they send HTTP(S) protocol requests to Oracle9iAS Web Cache. 2. Oracle9iAS Web Cache, in turn, acts as a virtual server to the application servers. 3. If the request content has changed, Oracle9iAS Web Cache retrieves the new content from the application servers. 4. The application servers may retrieve their content from an Oracle database. Figure 5 1 Caching Architecture 5-4 Oracle9i Application Server Concepts

107 Oracle9iAS Web Cache Features Oracle9iAS Web Cache Features Oracle9iAS Web Cache is a powerful solution for accelerating online catalogs, auctions, Internet and intranet portals, business-to-business exchanges, and Customer Relationship Management applications. Key features include: Full-Page Static and Dynamic Content Caching Partial-Page Caching and Personalized Content Assembly Invalidation for Cache Consistency Management Performance Assurance Heuristics Automatic Content Compression Web Server Load Balancing and Failover Cache Clustering Flexible Deployment Options Full-Page Static and Dynamic Content Caching Oracle9iAS Web Cache uses cacheablilty rules to store documents. These rules fall into two categories: Rules for static content, such as GIF, JPEG, or static HTML files Rules for dynamically generated content created using technologies like JSP, ASP, PSP, servlets, and CGI. Support for these technologies enables Oracle9iAS Web Cache to recognize rules for the following: Multiple-version documents for the same URL, that is, the same URL with slightly different content Session-aware rules for pages containing session information Personalization rules for pages containing personalized greetings, such as Welcome Name, and session-encoded URLs. Caching for Performance 5-5

108 Oracle9iAS Web Cache Features Partial-Page Caching and Personalized Content Assembly Oracle9iAS Web Cache provides dynamic assembly of pages with both cacheable and non-cacheable page fragments. It provides for assembly by enabling pages to be broken down into fragments of differing cacheablility profiles. These fragments are each maintained as separate elements in the application server or content delivery network and assembled into HTML pages as appropriate when requested by end users. By enabling dynamic assembly of pages on Oracle9iAS Web Cache rather than on the application servers, you can choose to cache some of the fragments of assembled pages. This means that much more HTML content can be cached, then assembled and delivered by Oracle9iAS Web Cache when requested. Furthermore, page assembly can be conditional, based on information provided in HTTP request headers or end-user cookies. Page Assembly Components The basic structure a content provider uses to create dynamic content is a template page containing HTML fragments. The template consists of common elements, such as a logo, navigation bars, framework, and other look and feel elements of the page. The HTML fragments represent dynamic subsections of the page. The template page is associated with the URL that end users request. To include the HTML fragments, the template page is configured with Edge Side Includes (ESI) markup tags that tell Oracle9iAS Web Cache to fetch and include the HTML fragments. The fragments themselves are HTML files containing discrete text or other objects. Figure 5 2 shows an example of the template mentioned above. 5-6 Oracle9i Application Server Concepts

109 Oracle9iAS Web Cache Features Figure 5 2 Template Page Edge Side Includes (ESI) ESI is a markup language to enable partial page caching for HTML fragments. ESI can be used with HTML, XML, and any Web publishing technology. ESI is an open standard. For more information, see See Also: Guide Oracle9iAS Web Cache Administration and Deployment Edge Side Includes for Java (JESI) JESI is a specification and custom JSP tag library that developers can use to automatically generate ESI code using JSP syntax. Even though JSP developers can always use ESI, JESI provides an even easier way for JSP developers to express the modularity of pages and the cacheablilty of those modules, without requiring developers to learn a new syntax. Figure 5 3 shows an example of the ESI and JESI. Caching for Performance 5-7

110 Oracle9iAS Web Cache Features Figure 5 3 ESI and JESI Invalidation for Cache Consistency Management Oracle9iAS Web Cache supports invalidation as a mechanism to keep its cache consistent with the content on the application servers, origin databases, or other dynamically generated means. Administrators can invalidate cache content in the following two ways: Send an invalidation message to the computer running Oracle9iAS Web Cache. When documents are invalidated and a browser requests them, Oracle9iAS Web Cache refreshes them with new content from the application server. Assign an expiration time limit to the documents. When a document expires, Oracle9iAS Web Cache treats it like an invalid document, that is, if requested by a browser, it refreshes it with an updated content from the application server. Performance Assurance Heuristics When a large number of documents have been invalidated, the retrieval of a new document can result in overburdened application servers. To handle performance issues while maintaining cache consistency, Oracle9iAS Web Cache uses built-in performance assurance heuristics that enable it to assign a queue order to documents. These heuristics determine which documents can be served stale and which documents much be refreshed immediately. Documents with a higher 5-8 Oracle9i Application Server Concepts

111 Oracle9iAS Web Cache Features priority are refreshed first whereas documents with a lower priority are refreshed at a later time. The queue order of documents is based on the popularity of documents and the validity of documents assigned during invalidation. If the current load and capacity of the application server is not exceeded, the most popular and least valid documents are refreshed first. Figure 5 6 illustrates how performance assurance heuristics are used during widespread invalidation. Figure 5 4 Performance Assurance Heuristics Graph Automatic Content Compression You can select to have Oracle9iAS Web Cache compress both cacheable and non-cacheable documents upon insertion into the cache for browsers. Because compressed documents are smaller in size, they are delivered faster to browsers with fewer round-trips, reducing overall latency. On average, Oracle9iAS Web Cache is able to compress text files by a factor for 4. For example, 300 KB files are compressed down to 75 KB. Caching for Performance 5-9

112 Oracle9iAS Web Cache Features Web Server Load Balancing and Failover Most Web sites are served by multiple application servers running in multiple computers that share the load of HTTP(S) requests. This feature enables Web sites to be built with a collection of servers for better scalability and reliability. Oracle9iAS Web Cache is designed to manage requests for up to 100 application servers. All requests that Oracle9iAS Web Cache cannot serve are passed to the application servers. Oracle9iAS Web Cache sends requests to the application server with the most available load using its load balancing feature. Figure 5 5 shows the Oracle9iAS Web Cache load balancing architecture. Figure 5 5 Oracle9iAS Web Cache Load Balancing Architecture When an application server becomes unavailable because it is taken down for reconfiguration or there is a network or hardware failure, Oracle9iAS Web Cache automatically performs backend failover. Here, Oracle9iAS Web Cache distributes the load over the remaining application servers and polls the failed application server for its current up/down status until it is back online. Existing requests to the failed application server result in errors. However, new requests are directed to the other application servers. When the failed server returns to operation, Oracle9iAS Web Cache includes it in the load distribution. Figure 5 6 shows the Oracle9iAS Web Cache failover architecture Oracle9i Application Server Concepts

113 Oracle9iAS Web Cache Features Figure 5 6 Oracle9iAS Web Cache Failover Architecture Cache Clustering You can configure multiple instances of Oracle9iAS Web Cache to run as independent caches, with no interaction with one another. However, to increase the availability and scalability of your Web cache, you can configure multiple instances of Oracle9iAS Web Cache to run as members of a cache cluster. A cache cluster is a loosely coupled collection of cooperating Web cache instances working together to provide a single logical cache. Figure 5 7 shows an example of Oracle9iAS Web Cache cluster. Caching for Performance 5-11

114 Oracle9iAS Web Cache Features Figure 5 7 Oracle9iAS Web Cache Cluster See Also: Oracle9i Application Server Performance Guide Flexible Deployment Options In the simplest of deployment scenarios, Oracle9iAS Web Cache is positioned in front of one or more Web servers to cache content generated by those servers. Oracle9iAS Web Cache then delivers that content to Web browsers. When Web browsers access the Web site, they send HTTP requests to Oracle9iAS Web Cache which acts as a virtual server from the Web site, masking the existence of the application server farm and the database. If the requested content has changed, Oracle9iAS Web Cache retrieves the new content from the application servers according to the relative load on each server. Figure 5 8 shows an example of a simple deployment Oracle9i Application Server Concepts

115 Oracle9iAS Web Cache Features Figure 5 8 Simple Deployment Scenario Oracle9iAS Web Cache can be deployed on the same host as the origin application server (co-located) or on a dedicated node of its own (dedicated). In a cluster scenario, a network load balancer distributes requests across the cache instance running on each mode on the server farm. Each Oracle9iAS Web Cache instance is typically configured with the host name of the application server(s) running on its own host, and interprocess communication (IPC) is used to pass requests between the cache and the application server(s). Because Oracle9iAS Web Cache consumes memory, co-location is only viable if the cache and the application server(s) do not contend for resources. Figure 5 9 shows an architecture of Oracle9iAS Web Cache on the same host as the Application server. Figure 5 9 Oracle9iAS Web Cache on Same Host as Application Server A dedicated deployment is often preferable to co-located deployment. In a dedicated scenario, there is no risk of resource contention with other server processes. Oracle9iAS Web Cache also performs well on commodity hardware, so a dedicated deployment need not be a costly one in terms of hardware expenditure. Caching for Performance 5-13

116 Oracle9iAS Web Cache Security For very high-volume Web sites, and to avoid a single point of failure, two or more hosts running Oracle9iAS Web Cache may be deployed behind a third-party network load balancing device. Figure 5 10 shows an architecture of Oracle9iAS Web Cache on a different host as the application server. Figure 5 10 Oracle9iAS Web Cache on Different Host from Application Server See Also: Guide Oracle9iAS Web Cache Administration and Deployment Oracle9iAS Web Cache Security Restricted Administration Oracle9iAS Web Cache provides the following security-related features: Restricted Administration Secure Sockets Layer (SSL) Support Oracle9iAS Web Cache restricts administration with the following features: Password authentication for administration and invalidation operations Control over ports from which administration and invalidation operations can be requested IP and subnet administration restrictions 5-14 Oracle9i Application Server Concepts

117 Oracle9iAS Web Cache Security Secure Sockets Layer (SSL) Support The Secure Sockets Layer (SSL) protocol, developed by Netscape Corporation, is an industry standard for network transport layer security. SSL provides authentication, encryption, and data integrity, in a public-key infrastructure (PKI). By supporting SSL, Oracle9iAS Web Cache is able to cache pages from HTTPS requests. Figure 5 11 shows how you can configure Oracle9iAS Web Cache to receive HTTPS requests and send HTTPS requests to the application server. Figure 5 11 SSL for Server Connection Note that HTTPS traffic can be process intensive. If Oracle9iAS Web Cache needs to have traffic travel over the open Internet, then configure Oracle9iAS Web Cache to send HTTPS requests to the application server. If traffic only travels through a LAN in a data center, then the traffic can be sent with HTTP so as to reduce the load on the application servers. SSL interacts with the following entities: Certificate Authority Certificate Wallet Certificate Authority A certification authority (CA) is a trusted third party that certifies the identity of third parties and other entities, such as users, databases, administrators, clients, and servers. The CA verifies the party identity and grants a certificate, signing it with its private key. The Oracle9iAS Web Cache certificate must be signed by a CA. Caching for Performance 5-15

118 Oracle9iAS Web Cache Security Certificate A certificate is created when a party s public key is signed by a trusted CA. A certificate ensures that a party s identification information is correct, and that the public key actually belongs to that party. A certificate contains the party s name, public key, and an expiration date, as well as a serial number and certificate chain information. It can also contain information about the privileges associated with the certificate. When a network entity receives a certificate, it verifies that it is a trusted certificate, one issued and signed by a trusted CA. Wallet A wallet is a transparent database used to manage authentication data such as keys, certificates, and trusted certificates needed by SSL. A wallet has an X.509 version 3 certificate, private key, and list of trusted certificates. Security administrators use the Oracle Wallet Manager to manage security credentials on the Oracle9iAS Web Cache server. Wallet owners use it to manage security credentials on clients. Specifically, Oracle Wallet Manager is used to do the following: Generate a public-private key pair and create a certificate request for submission to a CA Install a certificate for the identity Configure trusted certificates for the identity To support HTTPS support between browsers and Oracle9iAS Web Cache, configure a wallet on the Oracle9iAS Web Cache server for each supported site. To support HTTPS support between Oracle9iAS Web Cache and the application servers, configure a wallet on the application server. See Also: Oracle9i Application Server Security Guide 5-16 Oracle9i Application Server Concepts

119 6 Business Intelligence This chapter provides an overview of the Oracle9iAS Business Intelligence features and benefits. The topics include: Introduction to Oracle9iAS Business Intelligence Introduction to Oracle9iAS Clickstream Intelligence Introduction to Oracle9iAS Personalization Introduction to Oracle9iAS Reports Services Introduction to Oracle9iAS Discoverer Integrate Oracle9iAS Business Intelligence Business Intelligence 6-1

120 Introduction to Oracle9iAS Business Intelligence Introduction to Oracle9iAS Business Intelligence In an increasingly competitive business world, business intelligence empowers decision makers to act on information to keep their products competitive. Complete business intelligence about the operation of an enterprise and its customers can be used to assess opportunities as well as potential risks. Automated business processes and electronic interactions with customers and suppliers have yielded an abundance of valuable business intelligence data. This data tracks the fundamentals and operations of the business, and presents an opportunity to dramatically improve operational efficiency, reduce costs, and increase overall productivity. With an e-business, traditional information sources such as Enterprise Resource Planning (ERP) systems and CRM (Customer Relationship Management) systems can be correlated with information that comes directly from the usage patterns of the companies Web sites. This enables companies to more closely analyze consolidated business data, secure existing business relationships, forge new revenue generating opportunities, and assist with the formulation of strategies to improve operating efficiency. In order for an e-business to successfully gather business intelligence information about Web site usage and provide meaningful data analysis, it must be able to: Collect data generated from Web site activities and transform the data into business intelligence information. Integrate Web traffic data with business transaction data and then condense the data into a meaningful report. Enable business users at all levels of the organization to perform ad-hoc queries of stored business intelligence data. Provide a deployment platform for creation of multi-source, end-user reports that are available online or on paper. Provide real-time analysis and recommendations for users of the Web site. Oracle9iAS Business Intelligence provides a complete, integrated solution that addresses all business intelligence requirements. Oracle9iAS Business Intelligence consists of the following components: Oracle9iAS Clickstream Intelligence: Oracle9iAS Clickstream Intelligence collects data from Web site activities, transforms data into business information, integrates Web traffic data with business transaction data, and condenses data into meaningful reports. 6-2 Oracle9i Application Server Concepts

121 Introduction to Oracle9iAS Clickstream Intelligence Oracle9iAS Reports Services: Oracle9iAS Reports Services provides a powerful deployment platform for publishing high-quality, dynamically generated end-user reports in a scalable, secure environment. You can build and publish sophisticated reports from any source, with unlimited data formatting, and deploy them seamlessly on Oracle9i Application Server. Oracle9iAS Personalization: Oracle9iAS Personalization provides real-time analysis and recommendations for e-business sales channels, such as Web stores, application hosting environments and business call centers. Oracle9iAS Personalization provides an integrated real-time recommendation engine built on predictive models that are automatically created within the Oracle9i Database Serverusing embedded data mining technology. Oracle9iAS Personalization delivers powerful, scalable real-time personalization for customer areas of interest. This enables businesses to deliver tailored, one-to-one customer experiences for Web site users. Oracle9iAS Discoverer: Oracle9iAS Discoverer enables business users at all levels of the organization to gain immediate access to information from data warehouses, clickstream data, and online transaction processing (OLTP) systems. Introduction to Oracle9iAS Clickstream Intelligence When you surf the Internet, a record of all your mouse clicks and connections is maintained. This record may include the Web sites you have accessed, which newsgroups you participate in, your address, and additional information about your Web activity. This type of information is referred to as clickstream data. Web servers generate and record clickstream data in the form of Web logs. Web log files can be analyzed to extract business intelligence regarding Web site usage and user behavior. What is Oracle9iAS Clickstream Intelligence? Oracle9iAS Clickstream Intelligence provides business intelligence concerning Web traffic related data to increase Web site effectiveness and improve the customers experience. Oracle9iAS Clickstream Intelligence enables you to: Read Web server logs, parse cookies and query string data to identify many Web site activities. Transform Web server log data into meaningful business intelligence that can be used to benefit your business (such as the number of times that a user accesses specific content). Business Intelligence 6-3

122 Introduction to Oracle9iAS Clickstream Intelligence Integrate Web traffic data with business transaction data from CRM and ERP applications. Condense enormous volumes of data into meaningful analytical reports. Provide Web site scalability through advanced data warehousing features to ensure performance is not compromised as Web site activity grows. View a full set of Web transaction reports with graphs that provide insight on key performance indicators. Use Web browser-based administration and configuration that can be updated and maintained from any computer running an Internet browser. Integrate with other Oracle9iAS Business Intelligence and data warehousing tools to ensure interoperability with all of your decision support tools. Integrate with Oracle9iAS Portal to create workbook portlets. See Also: Chapter 3, "Portal Development and Deployment" Oracle9iAS Clickstream Intelligence collects clickstream data from Web server and ISP database logs. Business intelligence data can be obtained through interface files or through published APIs. Oracle9iAS Clickstream Intelligence filters and loads all data into a predefined database, which provides an information resource for the creation of analytical reports. Standard reports include: General Site Activity Connecting Client Hosts Visitors and Users Search Analysis Browsers and Platforms Path Analysis Referrers Figure 6 1 shows how Web data is collected using Web server logs, cookies, search string data, and user profiles. The collected data is stored in the Oracle9iAS Clickstream Intelligence Data Warehouse. 6-4 Oracle9i Application Server Concepts

123 Introduction to Oracle9iAS Clickstream Intelligence Figure 6 1 Oracle9iAS Clickstream Intelligence Data Acquisition and Processing Oracle9iAS Clickstream Intelligence provides the performance, scalability, and extensibility (that is) essential for processing the potentially enormous data volumes generated by large-scale Web environments. Its extensible platform accommodates user-defined data sources, such as call centers, ad servers, and other data source types. Oracle9iAS Clickstream Intelligence Features Oracle9iAS Clickstream Intelligence provides the following features: Enterprise Warehousing Environment Runtime Administrator Customize Information Delivery Different Data Sources Supported Enterprise Warehousing Environment Oracle9iAS Clickstream Intelligence provides a rapidly deployable, prebuilt Clickstream Data Warehouse delivered in the form of an Oracle9i Warehouse Builder repository. This extensible Oracle9i Warehouse Builder data architecture enables organizations to integrate virtually any business type of transaction data into their Web analysis. In contrast, most competing solutions provide a fixed function data access architecture or require consulting fees for customization via complex APIs. Business Intelligence 6-5

124 Introduction to Oracle9iAS Clickstream Intelligence Oracle9iAS Clickstream Intelligence uses Oracle9i Warehouse Builder to provide an open Oracle database that can be accessed with a variety of tools. Integration with Oracle9i Warehouse Builder makes it possible for Oracle9iAS Clickstream Intelligence to provide meaningful clickstream analysis that can be targeted for customers, orders, or even marketing campaigns, producing results that are similar to those of traditional OLAP analysis. Oracle9i Developer Suite provides the development tools for Oracle9iAS Clickstream Intelligence. Oracle9iAS Clickstream Intelligence, in conjunction with Oracle9i Warehouse Builder and Oracle9iAS Discoverer, provides the pre-built clickstream data warehouse model that can be extended to meet the growing and changing needs of an enterprise. Oracle9iAS Clickstream Intelligence is specially designed to use advanced data warehousing features available in the Oracle9i Database Server. Oracle9iAS Clickstream Intelligence uses the Oracle9i Database Server to take advantage of materialized views, partitioning, and parallelism to optimize query performance, manage data volumes, and speed load times. Oracle9iAS Clickstream Intelligence is based on the Oracle9i Warehouse Builder repository. Runtime Administrator The Oracle9iAS Clickstream Intelligence Runtime Administrator simplifies the setup, management, and deployment of clickstream data sources. This Web-based tool enables you to define how Oracle9iAS Clickstream Intelligence interprets Web log file data, determine which types of data you want to track, and configure and populate the database for optimal storage of clickstream data. Customize Information Delivery Oracle9iAS Clickstream Intelligence provides a unique ability to customize information delivery to end-users by leveraging the infrastructure of Oracle9iAS Discoverer. Oracle9iAS Clickstream Intelligence provides a number of prebuilt Oracle9iAS Discoverer reports out of the box. In contrast, other solutions provide fixed function user interfaces with limited support for customization. The Oracle9iAS Discoverer Web-based reporting architecture makes it easy to access information over the intranet or Internet. Oracle9iAS Clickstream Intelligence also uses the Oracle9i Discoverer Administrator End User Layer (EUL) that can be customized to address unique reporting needs. The EUL is a server-based, low maintenance, powerful metadata repository and query management engine for data warehouses and OLTP systems. It automatically performs query redirection to summary tables. The EUL is centrally stored in the RDBMS for scalability and ease of maintenance and is shared by both 6-6 Oracle9i Application Server Concepts

125 Introduction to Oracle9iAS Clickstream Intelligence the client and server. The EUL is created and maintained by the Oracle9i Discoverer Administrator. See Also: "Introduction to Oracle9iAS Discoverer" on page 6-17 Different Data Sources Supported Oracle9iAS Clickstream Intelligence supports the following data sources: Apache common and combined Microsoft IIS Extended W3C Extended Web log format Oracle9iAS Clickstream Intelligence Architecture Oracle9iAS Clickstream Intelligence features a browser-based tool called the Oracle9iAS Clickstream Intelligence Runtime Administrator. The Runtime Administrator defines the Web sites from which data will be acquired. It enables you to set up parameters that specify which data will be acquired and processed from Web server log files. Additionally, you can specify the connection to the Oracle9i Warehouse Builder repository and to the target data warehouse, as well as deploying the definitions and automatically creating ETL scripts (extraction, transformation, and loading). Figure 6 2, "Oracle9iAS Clickstream Intelligence Architecture" shows how data flows and is processed by Oracle9iAS Clickstream Intelligence: 1. The Collector Agents monitor the Web server log directory and create data packets from the log files. The Web logs may be non-oracle9i Application Server server logs. 2. The Oracle HTTP Server performs compression, encryption, and transmission of the Web logs at intervals that are specified using the Oracle9iAS Clickstream Intelligence Runtime Administrator. Transmission may be completed in full or incrementally. 3. The Collector Server retrieves data packets from the Web server and decompresses the packets for subsequent transfer to the Clickstream Loader. The Collector Server resides on the database computer. 4. The Clickstream Loader parses, transforms and filters raw log files prior to database loading. The Loader uses a site s log format information and other site configuration parameters to parse and transform the Clickstream log files Business Intelligence 6-7

126 Introduction to Oracle9iAS Clickstream Intelligence before populating the database. The Clickstream Loader resides on the same computer as the Collector Server. 5. Oracle9iAS Discoverer performs query management. Figure 6 2 Oracle9iAS Clickstream Intelligence Architecture See Also: Guide Oracle9iAS Clickstream Intelligence Administrator s 6-8 Oracle9i Application Server Concepts

127 Introduction to Oracle9iAS Personalization Introduction to Oracle9iAS Personalization Today's e-business must compete by maintaining personal, one-to-one relationships with their Web customers, including both registered customers and anonymous Web visitors. Companies must provide e-customers with customized product recommendations, ratings of the likelihood that the customer will like the recommendations, and improved site navigation based on their interests and profiles. What is Oracle9iAS Personalization? Oracle9iAS Personalization provides real-time analysis and recommendations for Web stores, application hosting environments, and business call centers. Oracle9iAS Personalization provides an integrated real-time recommendation engine that is deployed with Oracle9i Application Server. By delivering real-time personalization, Oracle9iAS Personalization delivers powerful, scalable real-time personalization for customer areas of interest. This enables e-businesses to provide e-customers with customized product recommendations, rank the likelihood that a customer will like the recommendations, and improve site navigation based on customer interests and profiles. Oracle9iAS Personalization is used by business-to-consumer and business-to-business customers and Application Service Providers (ASPs), who need to personalize their customer touch points to support business-critical operations to achieve a competitive advantage. Oracle9iAS Personalization provides recommendations and answers to questions such as: Which item(s) is the customer most likely to buy or like? Customers that bought or like this item are likely to buy or like which other item(s)? How likely is the customer going to buy or like this item? Which item(s) is the customer most likely to buy or like given that the customer likes or is buying another items? Business Intelligence 6-9

128 Introduction to Oracle9iAS Personalization Oracle9iAS Personalization Features Oracle9iAS Personalization provides the following features: Real-Time Recommendation Engine Architecture Data Mining Technology Single Administrative Interface Real-Time Recommendation Engine Architecture Oracle9iAS Personalization dynamically serves personalized recommendations (such as products, content, and navigational links) in real-time based on a registered customer s or anonymous visitor s explicit (transactions, purchases, ratings, and demographic data) and implicit (mouse clicks, pages visited, and banners viewed) information. Data Mining Technology Powerful data mining technology embedded in the Oracle9i Database Server automatically discovers individualized behavior patterns to generate highly accurate personalized recommendations in real-time. Oracle9iAS Personalization uses the data from data mining to build data mining models. The models predict what the Web site visitor will probably like or buy. The predictions are based on the data collected for that Web site visitor in previous sessions, in the current session, and on demographic information. Oracle9iAS Personalization works in conjunction with existing Web applications. Web applications ask Oracle9iAS Personalization to record certain activities, and the data is saved by Oracle9iAS Personalization into an Oracle9i database schema. The Web application asks Oracle9iAS Personalization to produce a list of products likely to be purchased by a Web site visitor; a scored list of recommendations compiled from the visitor s current behavior and from data in another schema is passed to the Web application. Single Administrative Interface Oracle9iAS Personalization enables you to build, configure, manage, and deploy many recommendation engines throughout your enterprise from a single administrative interface. Additionally, the administrative interface supports deployment of multiple recommendation strategies for different campaigns or time (such as holiday) periods. You can also capture and model behavior for specific events using the events scheduler Oracle9i Application Server Concepts

129 Introduction to Oracle9iAS Personalization Oracle9iAS Personalization Architecture Figure 6 3, "Oracle9iAS Personalization Architecture" shows how data flows and is processed by Oracle9iAS Personalization. Oracle9iAS Personalization incorporates visitor activity, through Web, mobile, call center, and campaign applications into recommendations.this activity data is saved for that visitor in an Oracle9i database, where Oracle9iAS Personalization uses the data to build predictive models. Future visits to the Web site adds to the set of data for a customer. The new data allows for more accurate predictions. Oracle9iAS Personalization uses SQL queries for obtaining scores, which can be executed in real-time or batch mode. Recommendation engines serve Oracle9iAS Personalization recommendations to Web sites across the enterprise. Figure 6 3 Oracle9iAS Personalization Architecture Oracle9iAS Personalization predictive models may be rebuilt on a periodic basis (e.g., daily, weekly, monthly) and deployed to the recommendation engines when completed. Oracle9iAS Personalization enables users to create recommendation engine farms that are comprised of many recommendation engines serving customized recommendations to the Web site. The architecture is extremely scalable for high-traffic sites. Oracle9iAS Personalization stores the predictive models in memory to handle the high traffic and speed requirements associated with e-commerce sites. Data mining algorithms Business Intelligence 6-11

130 Introduction to Oracle9iAS Reports Services find hidden patterns and customer profiles that drive personalized recommendations. Oracle9iAS Personalization uses the Oracle9iAS Personalization Administrator to define a package that contains information needed to build a model or models, as well as information about the database connections. The Oracle9iAS Personalization Administrator creates and manages schedules for building the packages, and for deploying the packages to the recommendation engines that will produce the recommendations. Recommendation engines with the same package are grouped together in recommendation engine farms. See Also: Oracle9iAS Personalization User s Guide Introduction to Oracle9iAS Reports Services In a business intelligence environment, data is generated by multiple sources in various formats. Publishing this business intelligence data should be fast and easy, without requiring multiple, convoluted steps to manipulate and consolidate the data into a single format. What is Oracle9iAS Reports Services? Oracle9iAS Reports Services provides a powerful deployment platform for publishing high-quality, dynamically generated end-user reports in a scalable, secure environment. You can build and publish sophisticated reports from any data source, in any format, and deploy them anywhere with Oracle9i Application Server. Oracle9iAS Reports Services is part of Oracle9i Reports. Oracle9i Reports also includes Oracle9i Reports Developer, a component of the Oracle9i Developer Suite. Oracle9iAS Reports Services integration with servlets and JSPs is completed using Oracle9i Reports Developer.Using Oracle9i Reports Developer you can build a complex data model and share it between an existing high quality paper layout and an improved high quality Web layout using JSP technology. Developers can publish sophisticated, high quality reports from any data source, in any data format, and deploy them anywhere on Oracle9i Application Server. Oracle9iAS Reports Services can combine data from multiple data sources into a single report, including Oracle9i, XML feeds, and JDBC-enabled data sources. Developers can even add custom data sources using the open API for Pluggable Data Sources. Reports may be generated on demand or scheduled for a specific time or interval. Once formatted, a report can be distributed to a standard Web browser, , 6-12 Oracle9i Application Server Concepts

131 Introduction to Oracle9iAS Reports Services printer, or Oracle9iAS Portal, be stored on the middle tier for rapid retrieval, or be stored in a custom destination via the Pluggable Destinations API. Oracle9iAS Reports Services enables you to: Access reports dynamically from any browser on demand. Leverage middle-tier load balancing to provide high volumes of reports, without excessive demands on limited resources. Generate reports in HTML, PDF for quality viewing, XML to communicate data to Web sites, RTF and delimited output for import into Microsoft Office, and PCL for printing. Optionally secure distribution of reports by allowing only specific users to access the report and grant secure access. Link to published reports and provide portlet support using Oracle9iAS Portal. See Also: Chapter 3, "Portal Development and Deployment" Figure 6 4 shows an example of an Oracle report. Figure 6 4 Oracle Report Example Business Intelligence 6-13

132 Introduction to Oracle9iAS Reports Services Note: Oracle9i Reports Developer is available with Oracle9i Developer Suite. Oracle9iAS Reports Services Features Oracle9iAS Reports Services provides the following features: Event-Based Reporting Extensible Architecture Enhanced Report Bursting and Distribution Event-Based Reporting Oracle9iAS Reports Services enables you to run a report that is triggered by database events. You can execute a report using a set of PL/SQL stored procedures that can be called from a database trigger. The trigger invokes Oracle9iAS Reports Services and the event data is submitted to the server. For example, when an employee submits an expense report, new data is being inserted into the database. The insert event causes a database trigger to fire, which sends a report to the employee manager on a portal page or in an message asking for expense report approval. Extensible Architecture Oracle9iAS Reports Services enables you to customize your access to data sources, runtime engines, security, notification, distribution, and cache: Write your own data access methods for data that is specific to your business. A Pluggable Data Source (PDS) is a set of Java APIs that provides openness to Oracle9iAS Reports Services by enabling data input from any source. PDSs allow Oracle9iAS Reports Services to combine data from various data sources including multiple Oracle database connections each with potentially a different connection. When written to the PDS API, you can specify the icons to be displayed in the data model and Report Wizard of Oracle9i Reports Developer. Use Oracle9iAS Reports Services functionality with your own runtime engine or job type. The Reports engine is the default implementation provided by Oracle. However, you can take advantage of the security, notification, distribution and caching features of Oracle9iAS Reports Services using your own engine code. An example of runtime engine code is a Java class that uses 6-14 Oracle9i Application Server Concepts

133 Introduction to Oracle9iAS Reports Services an operating system call to package a series of reports into a zip file and then distributes that file using to a defined set of users. Create your own security mechanisms for user-authentication against the Reports Server. Configure Oracle9iAS Reports Services to submit notifications upon success or failure of a job. Besides using the default implementation of sending an message, you can now implement your own notification mechanisms. Distribute to various destinations such as the Reports Services cache, messaging, and printers. You can add your own destinations such as fax machine and FTP servers using the pluggable destination API. Replace the default caching with your own caching mechanism for the output of the Oracle9iAS Reports Services using the pluggable caching API. Enhanced Report Bursting and Distribution Oracle9iAS Reports Services enhanced bursting and distribution enables you to distribute a report to different media, such as paper, message, Web page, or even delimited output like a spreadsheet. You can burst on repeating data within a report. Bursting enables you to create multiple personalized reports out of a single report model. For example, department-based reports can be distributed to employees within that department. This ensures that each user only receives information that is relevant and appropriate for them. The manager of a sales department will get an with the salary information for employees in that department; the manager of the purchasing department will only be ed the salary information for employees in that department; the CEO of the company will receive a print out containing a summary of each department s information. The report runs only once, and the output is sent to different sets of users according to requirements. You only have a single set of data to fetch and format in order to distribute the report. Business Intelligence 6-15

134 Introduction to Oracle9iAS Reports Services Oracle9iAS Reports Services Architecture Oracle9iAS Reports Services handles client requests to run reports by entering all requests into a job queue. When one of the server's runtime engines becomes available, the next job in the queue is dispatched to run. As the number of jobs in the queue increases, the server can start more runtime engines until it reaches the maximum limit specified in your server configuration. Oracle9iAS Reports Services runtime engines are shut down automatically after having been idle for a period of time that you specify. Oracle9iAS Reports Services keeps track of all jobs submitted in the server, including jobs that are running, scheduled to run, or finished. The Reports Queue Manager (Windows), the Reports Queue Viewer (UNIX), or the show jobs command (Web) enable you to view information on when jobs are scheduled, queued, started, and finished, as well as the job output and the final status of the report. Figure 6 5 Oracle9iAS Reports Services Architecture Oracle9iAS Reports Services job objects are persistent. This means that if the server is shutdown then restarted, all jobs are recovered, not just scheduled jobs. Oracle9i Reports Developer enables you to embed a report within a larger existing Web page. This technology enables you to open and save HTML, JSP, and XML files that contain report definitions. When a report is saved as a JSP file, the data model is embedded using XML tags. The entire report can also be defined using XML tags and saved as an XML file Oracle9i Application Server Concepts

135 Introduction to Oracle9iAS Discoverer Oracle9i Reports Developer enables you to take retrieved data, using the data model, and embed it into an existing Web page. This provides tremendous flexibility in creating reports that meet business demands by completely integrating multiple sources of information within a single Web page. If you choose to create a JSP from scratch, Oracle9i Reports Developer supplies templates that can be used to build your report. Developers can easily create a JSP layout using the Reports Block Wizard to generate the necessary JSP tags in Oracle9i Reports Developer. Alternatively, they can add the tags themselves manually for more precise control. See Also: Oracle9iAS Reports Services Publishing Reports to the Web Note: Oracle9i Reports Developer is available with Oracle9i Developer Suite. Introduction to Oracle9iAS Discoverer In order to formulate and deploy business strategies, businesses must transform gathered data into useful and informative information. The transformed data must be rapidly accessible through an easy to use interface. The user must be able to quickly query, graph, and create reports on the gathered data. What is Oracle9iAS Discoverer? Oracle9iAS Discoverer is an intuitive ad-hoc query, reporting, analysis, and Web publishing tool. Using Oracle9iAS Discoverer, business users at all levels of the organization gain immediate access to information from data warehouses, clickstream data, and OLTP systems. Using Oracle9iAS Discoverer you can rapidly view information in user customized summary formats and perform complex calculations on data (these complex calculations can include analytic functions that are available in the Oracle database). Oracle9iAS Discoverer comprises Oracle9iAS Discoverer Plus and Oracle9iAS DiscovererViewer. Oracle9iAS Discoverer Plus and Oracle9iAS Discoverer Viewer enable business users to view and create reports. Figure 6 6 shows an example of an Oracle9iAS Discoverer result set. Business Intelligence 6-17

136 Introduction to Oracle9iAS Discoverer Figure 6 6 Oracle9iAS Discoverer Result Set Example For example, a manager might view a summary report of sales that shows the top performing products for the quarter, and drill down to view results by region or by sales person. The manager could also use Oracle9iAS Discoverer to perform a quick comparison with previous quarters, or to calculate the three-month moving average of the organization's sales. Oracle9iAS Discoverer enables you to present the data in a workbook format containing the data you want to see. Using Oracle9iAS Discoverer, you can: Obtain information from a database without knowing how the database is structured, or how to use a database programming language. Obtain the latest information without waiting for reports to run overnight, or for programmers to write reports for you. Analyze data interactively using Oracle9iAS Discoverer s powerful analysis tools to drill, pivot, and graph information. Create worksheets in tabular and cross-tab formats using Oracle9iAS Discoverer wizards Oracle9i Application Server Concepts

137 Introduction to Oracle9iAS Discoverer With Oracle9iAS Discoverer data analysis tools, you can find the answers to business questions by: Pivoting data to create comparisons. Drilling into data to see more detailed information. Drilling out of data to see consolidated information. Drilling out to analyze data in other applications. Creating totals, calculating percentages, and creating custom calculations on your data. The end result is a collection of worksheets and graphs that persuasively: Support your business decisions. Help you identify business opportunities. Oracle9iAS Discoverer Tools Oracle9iAS Discoverer provides the following tools: Oracle9iAS Discoverer Viewer Oracle9iAS Discoverer Plus and Oracle9iAS Discoverer Desktop Oracle9iAS Discoverer and Oracle9iAS Portal Oracle9i Discoverer Administrator Oracle9iAS Discoverer Viewer Oracle9iAS DiscovererViewer enables business users to run, view, and graph reports created by users of Oracle9iAS Discoverer Plus. Oracle9iAS Discoverer Viewer is a true lightweight business intelligence tool, requiring no other software than a simple Web browser. Its Web interface is familiar to anyone who regularly uses a browser to view pages on the Internet, and it uses the same high performance, scalable architecture as other Oracle9iAS Business Intelligence solutions. Oracle9iAS Discoverer Viewer reports are live, enabling users to interact with their data by changing layouts and specifying parameters. In addition, Oracle9iAS Discoverer Viewer lets you embed a report within a standard Web page to integrate business intelligence with your Web site. Oracle9iAS Discoverer Viewer converts large documents for viewing as pages. Oracle9iAS Discoverer Viewer breaks the document into pages in the background and displays the first page. Additional pages are displayed on demand reducing Business Intelligence 6-19

138 Introduction to Oracle9iAS Discoverer network traffic between the client and the Oracle9iAS Discoverer server. The Oracle9iAS Discoverer server monitors client activity and ends inactive sessions after a specified time out limit. This frees up valuable resources for other users. Oracle9iAS Discoverer Plus and Oracle9iAS Discoverer Desktop Oracle9iAS Discoverer Plus and Oracle9iAS Discoverer Desktop enables business users to query, graph, and create reports. Oracle9iAS Discoverer Plus runs as a Java client and Oracle9iAS Discoverer Desktop runs in a client/server architecture. You can perform drill and pivot analysis, and publish results to the World Wide Web. Similar to Oracle9iAS Discoverer Viewer, Oracle9iAS Discoverer Plus converts large documents for viewing as pages. Oracle9iAS Discoverer Plus breaks the document into pages in the background and displays the first page. Additional pages are displayed on demand reducing network traffic between the client and the Oracle9iAS Discoverer server. Oracle9iAS Discoverer and Oracle9iAS Portal Integration between Oracle9iAS Discoverer and Oracle9iAS Portal enables you to publish reports or a list of reports to Oracle9iAS Portal. This enables other users in the organization to easily access the information by subscribing to these portal pages. Oracle9iAS Discoverer is a portlet provider to Oracle9iAS Portal. There are two types of Oracle9iAS Discoverer portlet: a List of Workbooks Portlet, and a Worksheet Portlet. A List of Workbooks Portlet includes the names of workbooks available from Oracle9iAS Discoverer and a Worksheet Portlet may contain data only (table or cross-tabular), a graph only, or both. See Also: Chapter 3, "Portal Development and Deployment" Oracle9i Discoverer Administrator The Oracle9iAS Discoverer manager uses Oracle9i Discoverer Administrator to perform a variety of tasks including maintenance of business areas, folders, summary table creation, and end user access. Oracle9i Discoverer Administrator provides extensive defaulting capability to enable managers to rapidly implement their end user environment. The Oracle9i Discoverer Administrator is a required component of a complete Oracle9iAS Discoverer installation and is a component of Oracle9i Developer Suite. Oracle9i Discoverer Administrator is required for support of Oracle9iAS Discoverer Plus and Oracle9iAS Discoverer Desktop. Oracle9i Discoverer Administrator is used for the initial setup and ongoing maintenance of the EUL. The EUL is a server-based, low maintenance, powerful metadata repository and query management engine for data warehouses and OLTP 6-20 Oracle9i Application Server Concepts

139 Introduction to Oracle9iAS Discoverer systems. It automatically performs query redirection to summary tables. The EUL is centrally stored in the RDBMS for scalability and ease of maintenance and is shared by both the client and server. The EUL is created and maintained by the Oracle9i Discoverer Administrator. Note: Oracle9i Discoverer Administrator is available with Oracle9i Developer Suite. Oracle9iAS Discoverer Architecture Figure 6 7, "Oracle9iAS Discoverer Architecture" shows how data flows and is processed by Oracle9iAS Discoverer. Oracle9iAS Discoverer uses an efficient cache that is completely transparent to both the end user and the administrator. The cache enables rapid analysis without re-querying the database. In a Web environment, this cache is located on a middle tier server and is associated with the user s session. This enables end users to ask subsequent questions about the data without having to re-execute the query on the database server. Pivoting of data and many calculations are handled on the middle tier to provide exceptional performance. As users drill for more detail, Oracle9iAS Discoverer fetches only the additional information requested and incorporates this into the existing cache, reducing both database and network traffic. Figure 6 7 Oracle9iAS Discoverer Architecture The Oracle9iAS Discoverer EUL enables you to access the same metadata and share reports regardless of client type. See Also: Oracle9iAS Discoverer User s Guide Business Intelligence 6-21

140 Integrate Oracle9iAS Business Intelligence Integrate Oracle9iAS Business Intelligence Oracle9iAS Business Intelligence provides a fully integrated e-business intelligence environment. Using Oracle9iAS Business Intelligence you can: Create an E-Business Dashboard Using Oracle9iAS Portal Leverage Single Signon Functionality Create an E-Business Dashboard Using Oracle9iAS Portal Integrate Oracle9iAS Portal and Oracle9iAS Business Intelligence to create an E-Business Intelligence dashboard. A portlet is a reusable component and basic building block of a portal page. Portlets produce part of a Web page in either HTML or XML. All Oracle9iAS Business Intelligence components can be integrated into the portal as portlets. Using Oracle9iAS Business Intelligence components with Oracle9iAS Portal you can: Distribute Oracle9iAS Clickstream Intelligence workbooks as portlets. Integrate with Oracle9iAS Personalization applications to create portlets. Create and distribute Oracle9iAS Reports Services reports as portlets. Create Oracle9iAS Discoverer List of Workbooks Portlets or Worksheet Portlets. See Also: Chapter 3, "Portal Development and Deployment" Leverage Single Signon Functionality With increasing use of Web-based e-business applications for deployment to employees, customers, and partners, businesses are considering a single signon functionality. With Oracle9iAS Single Sign-On, each user maintains only one identity and password for all applications they access. Oracle9iAS Single Sign-On creates an enterprise-wide user authentication to access multiple accounts and Oracle9i Application Server applications. All Oracle9iAS Business Intelligence components leverage Oracle9iAS Single Sign-On functionality to provide a seamless point of access to all of your business intelligence users. See Also: "Oracle9iAS Single Sign-On" on page Oracle9i Application Server Concepts

141 7 Oracle9iAS Integration This chapter describes the integration features of Oracle9i Application Server. This chapter contains these topics: About Oracle9iAS Integration Oracle9iAS InterConnect Additional Integration Features Oracle9iAS Integration 7-1

142 About Oracle9iAS Integration About Oracle9iAS Integration The conduct of business over the Internet, such as buying and selling products, servicing customers, and collaborating with business partners is known as e-business. A critical requirement for e-business success is application integration. Application integration is the ability to link different types of enterprise applications and business processes together so that they can smoothly and effectively communicate to conduct e-business. These applications can reside within a company s enterprise boundaries or across multiple company boundaries connected over the Internet. Successfully integrating applications can be very challenging. For example: Different applications use different technologies and architectures. Applications constantly evolve, thus complicating implementation and maintenance of application integration. Managing complexity is difficult and expensive. Costs and schedules are often difficult to predict. Oracle9iAS provides integration services in a single product. These services address the challenges of designing, deploying, and managing e-business application integration. Oracle9iAS enables organizations to capitalize on Internet-enabled applications such as: Dynamic supply chains Customer relationship management (CRM) Emerging Web services opportunities Oracle9iAS provides an integration infrastructure that enables you to integrate virtually any packaged or legacy application. Oracle9iAS is also the best solution for Oracle E-Business Suite applications, as it enables organizations to quickly link these applications with third-party packaged applications such as SAP and PeopleSoft or virtually any legacy application. 7-2 Oracle9i Application Server Concepts

143 Oracle9iAS InterConnect Figure 7 1 provides an overview of Oracle9iAS application integration. Figure 7 1 Oracle9iAS Application Integration Overview Key Applications Virtual, Dynamic Supply Chains Customer Relationship Management New Web Services Opportunities Web Services B2B B2B Trading Partner Service Providers Trading Partners Exchanges Trading Partner Trading Partner Internet Enterprise App App A2A Oracle9iAS InterConnect Oracle9iAS InterConnect is the key Oracle9iAS integration feature. Oracle9iAS InterConnect acts as the integration hub that coordinates the communication and transformation of messages between two or more heterogeneous applications. Oracle9iAS InterConnect defines business events, their associated data, and any transformations required to map one application s view of a business object to another s view. Oracle9iAS Integration 7-3

144 Oracle9iAS InterConnect Oracle9iAS InterConnect enables applications to communicate within a company s enterprise or across a company s enterprise boundaries and over the Internet. Within a company s enterprise (inside the firewall), Oracle9iAS InterConnect provides application-to-application (A2A) integration support that enables automatic communication between: CRM applications Enterprise resource planning (ERP) applications Custom applications Legacy systems Across a company s enterprise boundaries (outside the firewall), Oracle9iAS InterConnect enables business-to-business (B2B) integration over Internet protocols such as: HTTP(S) FTP SMTP B2B integration links businesses with trading partners indirectly through exchanges or directly through bilateral communication. B2B integration also enables application integration between hosted applications in an application service provider (ASP) environment and in-house applications. Oracle9iAS InterConnect provides the following integration benefits: Enables implementers to focus on business requirements rather than low-level technical implementation details Reduces costs and complexity by providing a single solution for A2A, B2B, and ASP integration requirements. This enables organizations to use the same skills to implement both internal and external integration solutions. Figure 7 2 provides a high-level overview of Oracle9iAS InterConnect s role as the integration hub between two applications. 7-4 Oracle9i Application Server Concepts

145 Oracle9iAS InterConnect Figure 7 2 Oracle9iAS InterConnect Visual Design Tools XML Oracle9iAS Infrastructure Metadata App1 Adapter Advanced Queuing Adapter App2 Oracle9iAS InterConnect includes several key components and features that enable application communication: Visual design tools aimed at business users rather than developers. These tools include: istudio for defining the applications to participate in integration and the specifications for the data to exchange Oracle Workflow for creating business process collaborations between applications. Oracle Workflow includes Oracle Workflow Builder, which lets you create, view, or modify a business process with simple drag and drop operations. Oracle Enterprise Manager for monitoring and managing runtime components Oracle9iAS Metadata Repository, which controls the runtime behavior of application integration. The repository also provides full life cycle support to simplify maintenance and enhancement of the integration environment over time. Extensible transformation capabilities Oracle9iAS InterConnect adapters for connecting applications Content-driven message routing Open software development kits (SDKs) that enable developers to build custom transformation functions and adapters Oracle9iAS Integration 7-5

146 Oracle9iAS InterConnect In addition to these components and features, Oracle9iAS InterConnect supports a common view application integration methodology. A common view is a logical model of the business events and objects involved in an integration environment. Each application presents an application view of business events they can produce and/or use. Application view events are mapped to common view events to satisfy the integration solution requirements. Transformation functions modify the data to and from the common view. The common view simplifies integration of more than two applications by eliminating multiple point-to-point integration complexities. Maintenance and upgrades are simplified since the common view insulates participating applications from one another. Application changes are generally limited to the single application affected. The following sections provide additional information on several key Oracle9iAS InterConnect features: Oracle9iAS InterConnect Adapters Oracle Workflow Oracle Advanced Queuing See Also: Oracle9iAS InterConnect User s Guide Chapter 8, "System Management" for information on Oracle9iAS integration management with Oracle Enterprise Manager 7-6 Oracle9i Application Server Concepts

147 Oracle9iAS InterConnect Oracle9iAS InterConnect Adapters Oracle9iAS InterConnect provides a set of connectivity adapters that enable third-party applications and technology environments to participate in integration. Table 7 1 identifies these adapters. Table 7 1 Third-Party Adapters SAP/R3 PeopleSoft Siebel Oracle9iAS InterConnect Adapters JD Edwards OneWorld Technology Adapters HTTP(S) SMTP MQSeries FTP Oracle Advanced Queuing Database CICS You can develop additional adapters using Oracle9iAS InterConnect s adapter SDK. Adapters consist of two key parts: An agent provides functionality shared by all adapters. The agent receives application view events and transforms them to corresponding common view events, and vice versa. The event definitions and the associated transformation rules are maintained in the Oracle9iAS Metadata Repository and downloaded to the adapter at runtime. A bridge provides functionality unique to each adapter type. The bridge translates technology and/or application-specific interfaces to and from the Oracle9iAS InterConnect environment. For example, in the SAP/R3 adapter, the bridge translates application view events to and from biometric application programming interface (BAPI) and intermediate document (IDoc) calls in SAP/R3. When you develop additional adapters with the Oracle9iAS InterConnect adapter SDK, you essentially create your own bridge. Figure 7 3 shows the agent and bridge components of an adapter. Oracle9iAS Integration 7-7

148 Oracle9iAS InterConnect Figure 7 3 Agent and Bridge Components of an Adapter Repository Business Events Transformations Routing Rules SAP Adapter Agent PeopleSoft Advanced Queuing To Hub Common View App View Bridge Siebel Other Metadata Driven Transformation Transport and/or Application Specific (Manages Conversation) Oracle Workflow See Also: See Figure 7 2 on page 7-5 for the location of adapters in the integration process Business processes are the coordinated set of activities that companies follow when conducting business. Business process management is a key requirement for application and business integration. Oracle Workflow lets you automate and continuously improve business processes, routing information of any type according to easily-changeable business rules to users both inside and outside a company s enterprise. Oracle Workflow provides the following capabilities in one integrated tool: Automated processing of business events and messages using rules defined in a business process model Traditional workflow functions such as sending notifications and authorizations by Web or messages to the appropriate user. For example, you may want to require manual authorization of orders or purchases over a specified dollar amount. Similarly, you may need to notify someone in the event of an exception condition in the integration process. Oracle9iAS InterConnect and Oracle Workflow are integrated at design time and runtime. This enables you to access the Oracle Workflow Builder tool and define business processes and roles from within istudio. 7-8 Oracle9i Application Server Concepts

149 Oracle9iAS InterConnect During design, business processes and event definitions in istudio can be deployed to Oracle Workflow Builder with one click. This enables you to create graphical integration business process diagrams. At runtime, Oracle9iAS InterConnect and Oracle Workflow communicate through reliable message queues using Oracle Advanced Queuing. See Also: Oracle9iAS InterConnect User s Guide Oracle Advanced Queuing Oracle Advanced Queuing provides database-resident messaging capabilities that enable reliable, asynchronous communication between applications. Oracle9iAS integration uses Oracle Advanced Queuing as the communication mechanism between adapters, participating applications, and Oracle Workflow. (See Figure 7 2 on page 7-5.) Oracle Advanced Queuing supports the following reliable message delivery modes: Point-to-point Publish and subscribe Point-to-multipoint Oracle Advanced Queuing provides several key benefits, including: Integrated data, message, and message history Recoverability (any point in time recovery) Auditing and tracking /visibility of in-process transactions Automated database logging to support business intelligence High performance (thousands of messages per second per queue) with scalability managed by database features such as parallel processing Oracle9iAS Integration 7-9

150 Additional Integration Features Additional Integration Features Oracle9iAS includes additional integration features that provide communication and integration capabilities for e-business applications: Oracle Internet File System Oracle9iAS Unified Messaging Oracle Internet File System Oracle Internet File System (Oracle 9iFS) runs in conjunction with Oracle9i Application Server and an Oracle9i database. Written entirely in Java, Oracle 9iFS is an extensible content management system with file server convenience. Oracle 9iFS is accessible through a variety of protocols, including: AppleTalk Filing Protocol (AFP) HyperText Transfer Protocol (HTTP) Network File System (NFS) Server Message Block (SMB) Distributed Authoring and Versioning extensions to HTTP (WebDAV) Internet Message Access Protocol (IMAP) File Transfer Protocol (FTP) However, unlike traditional protocol servers, all content is stored in an Oracle database, not on the file system of the server machine. This means that you gain all the benefits of the Oracle9i Database Server, such as backup and recovery and full-text search capability (by means of Oracle Text). Better yet, by using Oracle9i Application Server as the basis for your middle-tier servers with Oracle 9iFS, you can gain load-balancing and numerous other benefits. No additional client software is required: Users access Oracle 9iFS using the native client protocols available on their operating systems. For example, Mac users go to the Chooser and connect to Oracle 9iFS as if it were any other AppleShare server; Windows users map a network drive or connect using Web Folders; UNIX clients can connect using NFS or FTP. (Oracle does provide optional client applications, however, such as Oracle 9iFS FileSync and Oracle 9iFS Windows Utilities, that enhance file management for Windows users). These are just a few examples. Development Platform In addition to the file-system application features of the product, Oracle 9iFS exposes a set of APIs that third-party developers can use to customize and extend 7-10 Oracle9i Application Server Concepts

151 Additional Integration Features the product s core functionality in numerous ways to build comprehensive content-management and collaboration systems. Oracle 9iFS integrates with Oracle9i Application Server components, including Oracle9iAS Containers for J2EE, Oracle Internet Directory, and Oracle Enterprise Manager. For information about installing and configuring Oracle 9iFS, see the Oracle9iFS Installation and Configuration Guide. See Also: Oracle9iAS Unified Messaging Oracle Internet File System Developer Reference for information on creating custom file system applications Oracle Internet File System Setup and Administration Guide for information on administering Oracle 9iFS Oracle9iAS Unified Messaging provides access to all message types using any access method. Voice mail, , fax, and any other mail type are available to users through their choice of access channel and device. A single message store is used for voice mail, , and fax messages that provides storage, management, and access to all types of information. The message store provides delivery, telephone processing, wireless notification, browser-based clients (both Web and wireless), and administration utilities. Oracle9iAS Integration 7-11

152 Additional Integration Features The following sections describe the Oracle9iAS Unified Messaging architecture: Message Store Open Standards-Based Messaging Thin Client Web-Based Calendar Telephone Applications Extended Server Side Rules Application Integration Administration Message Store All messages, including voice mail, , and fax, are stored in an Oracle9i database. This eliminates the need to synchronize message stores and administer multiple stores with different message types. Users access and manage messages from their choice of interface, including Web browser, phone, personal digital assistant (PDA), and fax. Open Standards-Based Messaging You can access messages with Internet Message Access Protocol version 4 (IMAP4)-compliant clients or Post Office Protocol version 3 (POP3)-compliant clients, including: Netscape Messenger Microsoft Outlook Express Eudora Pro Lite Oracle9iAS Unified Messaging provides directory services using the lightweight directory access protocol (LDAP) standard-compliant Oracle Internet Directory. Thin Client The thin client provides Internet access to Oracle9iAS Unified Messaging with a Web browser. Users access and manage their account (including calendar and to-dos) with the Web browser. Functionality is also available through the wireless Web using wireless markup language (WML) and Oracle9iAS Wireless Edition Oracle9i Application Server Concepts

153 Additional Integration Features Web-Based Calendar Oracle Web Calendar provides Web-based calendaring and scheduling for enterprises and service providers. Telephone Applications Telephone applications are created based on Enterprise Computer Telephony Forum (ECTF) standards. ECTF standards describe how to create and support platform independent computer telephony (CT) applications and enable telephone applications to integrate with enterprise and carrier class switches. A basic dual tone multifrequency (DTMF) voice mail interface for changing user preferences with the telephone interface is provided. Actions taken on a message or on account preferences through the voice channel are visible on all channels. Voice mail and faxes are stored directly in a user s inbox as industry standard Multipurpose Internet Mail Extensions (MIME)-compliant messages. Extended Server Side Rules Oracle9iAS Unified Messaging extends the server side rules previously available in Oracle9iAS Rules execute actions and are applied to mail events, including sending, relaying, deleting, and expunging messages. A PL/SQL API is included for users to create their own customized rule actions. Application Integration PL/SQL and Java programmers can create custom application interfaces to integrate Oracle9iAS Unified Messaging with other applications. Oracle9iAS Unified Messaging APIs enable applications to directly manipulate stored messages and create MIME-standard outgoing messages. Administration Oracle9iAS Unified Messaging integrates with Oracle Enterprise Manager. For the hosting market, support is provided for multiple domains with delegated administration on the same system. Simple Network Management Protocol (SNMP) management information bases (MIBs) for system monitoring and alerts are also supported. Oracle9iAS Integration 7-13

154 Additional Integration Features See Also: Oracle9iAS Unified Messaging Concepts Guide Oracle9iAS Unified Messaging User's Guide Oracle9iAS Unified Messaging Administrator's Guide Oracle9iAS Unified Messaging Developer's Guide 7-14 Oracle9i Application Server Concepts

155 8 System Management This chapter provides an overview of Oracle9i Application Server system management features and benefits. The topics include: System Management Overview System Management Architecture About Management Management Features About Security Security Features System Management 8-1

156 System Management Overview System Management Overview In today s Internet economy, where success is directly impacted by the availability and performance of your production Web sites and applications, you need to be able to rely on a highly secure, highly available, and finely tuned production deployment platform. Oracle9i Application Server provides a set of industry standards-based management facilities to simplify all aspects of Web site administration. It includes a comprehensive deployment infrastructure designed to streamline application deployment by leveraging a single security and directory framework for all applications and by providing administrators with a single management tool to manage, monitor, tune, and troubleshoot across all Oracle9iAS instances. Oracle9i Application Server uses Oracle Enterprise Manager to enable Web site administrators to configure Oracle9iAS instances, to monitor and optimize them for performance and scalability, and to respond proactively to problem conditions. Oracle9i Application Server also provides an SSL/X.509V3 Certificate-based security architecture, which provides user authentication through SSL certificates, encrypted SSL communication, and single signon across applications. Oracle Internet Directory, an LDAP directory, provides a single repository and administration for user accounts. System Management Architecture Oracle9i Application Server System Management architecture consists of the following sections: Middle Tier: All of Oracle9i Application Server applications, such as J2EE and Web Cache, Portal and Wireless, Business Intelligence and Forms, and Unified Messaging, exist and are executable on the middle tier. Infrastructure: Infrastructure installations provide a centralized location for managing data used by application servers. Most of this data is managed programmatically by application server instances and components and is invisible to users. An infrastructure contains the following components: Metadata Repository is an Oracle9i Enterprise Edition database. It is pre-seeded with the schemas used by all Oracle9iAS components, including any schemas needed for components demos. 8-2 Oracle9i Application Server Concepts

157 System Management Architecture Oracle9iAS Single Sign-On enables users to access multiple accounts and applications with a single password. Oracle9iAS Single Sign-On retrieves user information from Oracle Internet Directory. Oracle Internet Directory is Oracle s implementation of Lightweight Directory Access Protocol (LDAP), version 3. Application server instances, components, and infrastructures store security and management information in the directory. An example of such an architecture is shown in Figure 8 1. Figure 8 1 Oracle9i Application Server System Management Architecture See Also: Oracle9i Application Server Administrator s Guide Oracle9i Application Server Installation Guide System Management 8-3

158 About Management About Management Oracle Enterprise Manager provides an integrated solution for centrally managing your Oracle environment. Combining a graphical console, common services, and administrative tools, Oracle Enterprise Manager provides a comprehensive system management platform for managing Oracle products. As an Oracle9iAS administrator, you can use the Oracle Enterprise Manager Web site and the Oracle Enterprise Manager Console to manage your Oracle9iAS installations. See Also: Oracle9i Application Server Administrator s Guide Using the Oracle Enterprise Manager Web Site For Oracle9iAS Release 2.0, Oracle introduces the Oracle Enterprise Manager Web site, which provides Web-based management tools designed specifically for Oracle9iAS. Using this Web site, you can monitor and configure the components of your Oracle9i Application Server installations. You can deploy applications, manage security, and create and manage Oracle9i Application Server clusters. The Oracle Enterprise Manager Web site is installed on the middle tier as part of the Oracle9i Application Server installation option. Depending on the type of Oracle9iAS installation you support, you can use the Enterprise Manager Web site independently to manage individual Oracle9iAS instances and clusters, or you can use it with the Oracle Enterprise Manager Console to manage your entire Oracle environment. Using the Oracle Enterprise Manager Console The Oracle Enterprise Manager console provides a wider view of your Oracle environment, beyond Oracle9iAS. Use the Console to automatically discover and manage databases, application servers, and Oracle applications across your entire network. The Console and its related components are installed with the Oracle Management Server as part of the Oracle9iAS Infrstructure installation option. The Console is part of the Oracle Management Server component of the Oracle9iAS Infrastructure. The Management Server, the Console, and Oracle Agent are installed on the Oracle9iAS Infrastructure host, along with the other infrastructure components. See Also: Oracle9i Application Server Installation Guide 8-4 Oracle9i Application Server Concepts

159 Management Features Management Features Oracle Enterprise Manager includes the following features that enable you to manage your Oracle9iAS framework: Single Point for Distributed Configuration and Management Performance Monitoring Dynamic Monitoring Service J2EE Deployment and Administration Single Point for Distributed Configuration and Management Oracle Enterprise Manager Web site provides a complete management solution for administering and configuring the application server and its components. It allows you to effectively manage the Oracle9iAS environment remotely by enabling tasks such as: Automatically detecting all Oracle9iAS instances and their associated components on a target node for management by the Oracle9iAS administrative tools. Providing the ability to start and stop all Oracle9iAS components. Providing a single point to create and manage Oracle9iAS farms and clusters. Clusters provide a central point for managing multiple Oracle9iAS instances that host a common set of J2EE applications. Performing common administrative operations for all Oracle9iAS components, including configuring ports and log files. Oracle Enterprise Manager Web site and the infrastructure repository simplifies configuration and administration of the Oracle9iAS infrastructure and provides you with all the tools you need to focus on monitoring key day and day usage and performance patters. Performance Monitoring Accurate, timely, and relevant performance and troubleshooting data is absolutely essential in maintaining and monitoring the state of your production Web sites and applications. Oracle9iAS provides a host of critical performance data that are essential to tune your application server, identify resource availability issues, or help tune your application server to achieve maximum throughput and the minimum response time possible. System Management 8-5

160 Management Features Oracle Enterprise Manager Web site provides a comprehensive aggregate view of the current and historical status of your Oracle9iAS environment. It allows you to monitor status, usage, and performance data for your entire Oracle9iAS environment including: Instance and component availability and uptime statistics Resource utilization including CPU and memory Server load and responsiveness including user volumes, active requests, request throughput and process time, error rates Dynamic Monitoring Service Oracle Enterprise Manager leverages an underlying service, the Dynamic Monitoring Service (DMS), to collect the performance data discussed above. Oracle9iAS has been fully instrumented with DMS to provides comprehensive set of built-in performance metrics to automatically measure runtime performance statics, which allows you to monitor the duration of important phases of request processing as well as status information such as the number of requests being handled at any given moment. In addition, you can easily add monitoring to your own applications through the DMS library and API. The performance metrics are measured automatically and continuously using efficient performance instrumentation hooks, no extra configuration is required. You can view your DMS metrics through a browser as well as through the OEM console. J2EE Deployment and Administration Oracle9iAS enables you to easily administer OC4J and your J2EE applications. This interface supports: Configuring OC4J through declarative property sheets, as an alternative to manually editing XML files. Configuring application services and resources including Web sites (IP and URL paths for Web modules), JDBC data sources and security settings including user groups and roles. Deploying J2EE applications through a wizard that allows deployment to a single OC4J container or cluster and automates mapping URL paths, data sources, selecting a user manager and mapping security roles 8-6 Oracle9i Application Server Concepts

161 About Security About Security Browsing and maintaining applications including installing application updates or patches, and modifying application configuration. Monitoring the availability, usage, and performance of all applications to determine request volume, longest response time, and additionally, for Servlets and JSPs load time, service time and overhead. Oracle9i Application Server provides a comprehensive integrated security framework supporting all its components, as well as third party and custom application deployed on Oracle9iAS. The framework is based on Oracle9iAS Single Sign-On for authentication, the Java Authentication and Authorization Service (JAAS) for security services in J2EE, and Oracle Internet Directory for authorization and user provisioning. See Also: Oracle9i Application Server Security Guide Figure 8 2, illustrates how the elements of Oracle9i Application Server function together. Following is the functionality of the various components: Oracle9iAS Web Cache is positioned in front, where it provides efficiency. Oracle HTTP Server supplies the basic Web services which are provided by Apache. Oracle9iAS Portal provides the infrastructure, including the ability to create and manage Web pages. It lets you display multiple Web pages on each Web page, with links to content through Java applications. Java engine lies underneath Oracle9iAS Web Cache and Oracle HTTP Server, supporting their ability to link efficiently. Oracle9iAS Single Sign-On enables users to login to Oracle9iAS and gain access to those applications for which they are authorized, without requiring them to re-enter a user name and password for each application. Oracle Internet Directory serves the rest of the stack by providing authentication, and a centralized user model where by users can be created and managed on an enterprise scale. System Management 8-7

162 About Security Figure 8 2 Security Architecture of Oracle9i Application Server 8-8 Oracle9i Application Server Concepts

163 Security Features Security Features Oracle9iAS includes the following security features that enable you to secure your Oracle9iAS framework: Oracle9iAS Single Sign-On Java Authentication and Authorization Service (JAAS) Oracle Internet Directory Oracle9iAS Single Sign-On An important security feature of Oracle9iAS is support of single signon (SSO) to Web-based applications. Oracle9iAS Single Sign-On addresses the problem of too many passwords. With the rapid growth of the Internet, this problem has been increasingly prevalent, causing users inconvenience that typically results in poor security practices, and increased administrative costs. Oracle9iAS Single Sign-On resolves this problem by enabling users to login to Oracle9iAS and gain access to those applications for which they are authorized, without requiring them to re-enter a user name and password for each application. It is fully integrated with Oracle Internet Directory, which stores user information. It supports LDAP-based user and password management through OID. Figure 8 3 shows the architecture of Oracle9iAS Single Sign-On. Figure 8 3 Oracle9iAS Single Sign-On Architecture System Management 8-9

Oracle9i Application Server

Oracle9i Application Server Oracle9i Application Server Migrating From WebLogic Release 2 (9.0.3) March 2003 Oracle9i Application Server Migrating From WebLogic, Release 2 (9.0.3) Copyright 2003 Oracle Corporation. All rights reserved.

More information

Oracle Fail Safe. Tutorial. Release for Windows

Oracle Fail Safe. Tutorial. Release for Windows Oracle Fail Safe Tutorial Release 3.3.1 for Windows April 2002 Part No. Not Orderable This tutorial provides step-by-step instructions on using Oracle Fail Safe to make resources highly available. Oracle

More information

Oracle9iAS TopLink. Tutorials. Release 2 (9.0.3) August 2002 Part No. B

Oracle9iAS TopLink. Tutorials. Release 2 (9.0.3) August 2002 Part No. B Oracle9iAS TopLink Tutorials Release 2 (9.0.3) August 2002 Part No. B10062-01 Oracle9iAS TopLink Tutorials, Release 2 (9.0.3) Part No. B10062-01 Copyright 2002, Oracle Corporation. All rights reserved.

More information

Oracle is a registered trademark, and Oracle Rdb, Oracle RMU and Oracle SQL/Services are trademark or registered trademarks of Oracle Corporation.

Oracle is a registered trademark, and Oracle Rdb, Oracle RMU and Oracle SQL/Services are trademark or registered trademarks of Oracle Corporation. Oracle Rdb Data Provider for.net Release Notes V7.3 August 2007 Oracle Rdb Data Provider for.net Release Notes, Release 7.3 Copyright 2007 Oracle Corporation. All rights reserved. The Programs (which include

More information

Oracle9i Application Server

Oracle9i Application Server Oracle9i Application Server Oracle9iAS Object Caching Service for Java Developer s Guide Release 1 (v1.0.2.2) May 2001 Part No. A88852-01 Oracle9i Application Server Oracle9iAS Object Caching Service for

More information

Oracle9i. Security and Network Integration Guide. Release 2 (9.2) for Windows. March 2002 Part No. A

Oracle9i. Security and Network Integration Guide. Release 2 (9.2) for Windows. March 2002 Part No. A Oracle9i Security and Network Integration Guide Release 2 (9.2) for Windows March 2002 Part No. A95492-01 Oracle9i Security and Network Integration Guide, Release 2 (9.2) for Windows Part No. A95492-01

More information

Oracle Application Server Discoverer

Oracle Application Server Discoverer Oracle Application Server Discoverer Configuration Guide 10g (9.0.4) Part No. B10273-01 August 2003 Oracle Application Server Discoverer Configuration Guide, 10g (9.0.4) Part No. B10273-01 Copyright 1999,

More information

Oracle Application Server 10g

Oracle Application Server 10g Oracle Application Server 10g High Availability Guide 10g (10.1.2) Part No. B14003-01 December 2004 Oracle Application Server 10g High Availability Guide 10g (10.1.2) Part No. B14003-01 Copyright 2004,

More information

Oracle9i Discoverer Administrator

Oracle9i Discoverer Administrator Oracle9i Discoverer Administrator Tutorial Version 9.0.2 January 2002 Part No. A92180-01 Oracle9i Discoverer Administrator Tutorial, Version 9.0.2 Part No. A92180-01 Copyright 2001, 2002, Oracle Corporation.

More information

Oracle Application Server 10g

Oracle Application Server 10g Oracle Application Server 10g Concepts 10g (9.0.4) Part No. B10375-01 September 2003 Oracle Application Server 10g Concepts, 10g (9.0.4) Part No. B10375-01 Copyright 2002, 2003 Oracle Corporation. All

More information

Oracle Database. Products Available on the Oracle Database Examples Media. Oracle Database Examples. Examples Installation Guide 11g Release 1 (11.

Oracle Database. Products Available on the Oracle Database Examples Media. Oracle Database Examples. Examples Installation Guide 11g Release 1 (11. Oracle Database Examples Installation Guide 11g Release 1 (11.1) E10402-03 August 2008 This document describes how to install and configure the products available on the Oracle Database Examples media.

More information

Oracle9iAS TopLink. CMP for Users of IBM WebSphere Server Guide. Release 2 (9.0.3) August 2002 Part No. B

Oracle9iAS TopLink. CMP for Users of IBM WebSphere Server Guide. Release 2 (9.0.3) August 2002 Part No. B Oracle9iAS TopLink CMP for Users of IBM WebSphere Server Guide Release 2 (9.0.3) August 2002 Part No. B10067-01 Oracle 9iAS TopLink CMP for Users of IBM WebSphere Server Guide, Release 2 (9.0.3) Part No.

More information

Oracle Enterprise Manager

Oracle Enterprise Manager Oracle Enterprise Manager System Monitoring Plug-in Installation Guide for Microsoft Active Directory Release 10 (2.1.2.1.0) E14542-01 April 2009 Microsoft Active Directory, which is included with Microsoft

More information

Oracle Collaboration Suite

Oracle Collaboration Suite Oracle Collaboration Suite SSL Configuration Release 2 (9.0.4) Part No. B15611-01 November 2004 Oracle Collaboration Suite SSL Configuration, Release 2 (9.0.4) Part No. B15611-01 Copyright 2004, Oracle.

More information

Oracle9iAS TopLink. CMP for Users of BEA WebLogic Server Guide. Release 2 (9.0.3) August 2002 Part No. B

Oracle9iAS TopLink. CMP for Users of BEA WebLogic Server Guide. Release 2 (9.0.3) August 2002 Part No. B Oracle9iAS TopLink CMP for Users of BEA WebLogic Server Guide Release 2 (9.0.3) August 2002 Part No. B10065-01 Oracle 9iAS TopLink CMP for Users of BEA WebLogic Server Guide, Release 2 (9.0.3) Part No.

More information

Oracle Workflow Builder for Windows 2000 or Windows XP. Oracle XML Gateway Message Designer for Windows 2000

Oracle Workflow Builder for Windows 2000 or Windows XP. Oracle XML Gateway Message Designer for Windows 2000 Oracle Workflow Client Installation Guide Release 12 Part No. B31435-01 November 2006 Overview Purpose This document explains how to install or upgrade the Oracle Workflow and Oracle XML Gateway components

More information

Oracle Discoverer Administrator

Oracle Discoverer Administrator Oracle Discoverer Administrator Tutorial 10g (9.0.4) Part No. B10271-01 August 2003 Oracle Discoverer Administrator Tutorial, 10g (9.0.4) Part No. B10271-01 Copyright 1996, 2003 Oracle Corporation. All

More information

Oracle9i. Heterogeneous Connectivity Administrator s Guide. Release 2 (9.2) March 2002 Part No. A

Oracle9i. Heterogeneous Connectivity Administrator s Guide. Release 2 (9.2) March 2002 Part No. A Oracle9i Heterogeneous Connectivity Administrator s Guide Release 2 (9.2) March 2002 Part No. A96544-01 Oracle9i Heterogeneous Connectivity Administrator s Guide, Release 2 (9.2) Part No. A96544-01 Copyright

More information

Oracle Business Intelligence Discoverer

Oracle Business Intelligence Discoverer Oracle Business Intelligence Discoverer Configuration Guide 10g Release 2 (10.1.2.0.0) Part No. B13918-01 September 2004 Oracle Business Intelligence Discoverer Configuration Guide, 10g Release 2 (10.1.2.0.0)

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Creating Domains Using the Configuration Wizard 11g Release 1 (10.3.4) E14140-04 January 2011 This document describes how to use the Configuration Wizard to create, update, and

More information

Oracle9i Application Server

Oracle9i Application Server Oracle9i Application Server Web Services Developer s Guide Release 2 (v9.0.2) January 2002 Part No. A95453-01 Oracle9i Application Server Web Services Developer s Guide, Release 2 (v9.0.2) Part No. A95453-01

More information

System Monitoring Plug-in Installation Guide for Microsoft Internet Information Services Release 4 ( ) Versions Supported

System Monitoring Plug-in Installation Guide for Microsoft Internet Information Services Release 4 ( ) Versions Supported Oracle Enterprise Manager System Monitoring Plug-in Installation Guide for Microsoft Internet Information Services Release 4 (2.1.2.1.0) B28047-03 April 2007 This document provides a brief description

More information

Oracle Identity Management

Oracle Identity Management Identity Management Concepts and Deployment Planning Guide 10g (9.0.4) for Windows or UNIX Part No. B10660-01 September 2003 Identity Management Concepts and Deployment Planning Guide 10g (9.0.4) for Windows

More information

AutoVue Document Print Service. Overview

AutoVue Document Print Service. Overview AutoVue Document Print Service Overview Copyright 2008, 2010 Oracle and/or its affiliates. All rights reserved. The Programs (which include both the software and documentation) contain proprietary information;

More information

Oracle Application Server

Oracle Application Server Oracle Application Server Adapter for Siebel User's Guide 10g Release 2 (10.1.2) B14062-02 June 2005 Oracle Application Server Adapter for Siebel User s Guide, 10g Release 2 (10.1.2) B14062-02 Copyright

More information

Oracle Agile Product Lifecycle Management for Process Content Synchronization and Syndication User Guide Release E

Oracle Agile Product Lifecycle Management for Process Content Synchronization and Syndication User Guide Release E Oracle Agile Product Lifecycle Management for Process Content Synchronization and Syndication User Guide Release 6.1.0.1 E27853-01 March 2012 Oracle Agile Product Lifecycle Management for Process Content

More information

1 Important Configuration Changes

1 Important Configuration Changes Oracle Database Application Express Release Notes Release 2.2 B28553-02 July 2006 These Release Notes contain important information not included in the Oracle Application Express documentation. For the

More information

Oracle BPEL Process Analytics

Oracle BPEL Process Analytics Oracle BPEL Process Analytics User s Guide 10g Release 2 (10.1.2) Part No. B15597-01 July 2005 Oracle BPEL Process Analytics User s Guide, 10g Release 2 (10.1.2) Part No. B15597-01 Copyright 2005, Oracle.

More information

Oracle Database. Net Services Administrator s Guide 10g Release 2 (10.2) B

Oracle Database. Net Services Administrator s Guide 10g Release 2 (10.2) B Oracle Database Net Services Administrator s Guide 10g Release 2 (10.2) B14212-02 October 2005 Oracle Database Net Services Administrator s Guide, 10g Release 2 (10.2) B14212-02 Copyright 2002, 2005, Oracle.

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Upgrade Planning Guide 11g Release 1 (11.1.1.7.0) E10125-09 February 2013 Oracle Fusion Middleware Upgrade Planning Guide, 11g Release 1 (11.1.1.7.0) E10125-09 Copyright 2009,

More information

Adaptive Risk Manager Challenge Question Cleanup 10g ( ) December 2007

Adaptive Risk Manager Challenge Question Cleanup 10g ( ) December 2007 Adaptive Risk Manager Challenge Question Cleanup 10g (10.1.4.3.0) December 2007 Adaptive Risk Manager Challenge Question Cleanup, 10g (10.1.4.3.0) Copyright 2007, Oracle. All rights reserved. The Programs

More information

Oracle Sales Analyzer

Oracle Sales Analyzer Oracle Sales Analyzer Installation and Upgrade Guide Release 11i May 2002 Part No. A96143-01 Oracle Sales Analyzer Installation and Upgrade Guide, Release 11i Part No. A96143-01 Copyright 1996, 2002, Oracle

More information

Oracle Customer Care. Implementation Guide. Release 11i. August, 2000 Part No. A

Oracle Customer Care. Implementation Guide. Release 11i. August, 2000 Part No. A Oracle Customer Care Implementation Guide Release 11i August, 2000 Part No. A86218-01 Oracle Customer Care Implementation Guide, Release 11i Part No. A86218-01 Copyright 1996, 2000, Oracle Corporation.

More information

Oracle Enterprise Manager

Oracle Enterprise Manager Oracle Enterprise Manager Management Agent Release Notes for HP-UX Itanium 10g Release 2 (10.2.0.1) B28767-01 April 2006 These Release Notes identify differences between the delivered Oracle Enterprise

More information

Oracle CADView-3D. Translator's User's Guide Release 12. Part No. B

Oracle CADView-3D. Translator's User's Guide Release 12. Part No. B Oracle CADView-3D Translator's User's Guide Release 12 Part No. B31985-01 December 2006 Oracle CADView-3D Translator's User's Guide, Release 12 Part No. B31985-01 Copyright 2003, 2006, Oracle. All rights

More information

Oracle Content Management SDK

Oracle Content Management SDK Oracle Content Management SDK Installation and Configuration Guide Release 9.0.4.2 for Microsoft Windows (64-bit) on Intel Itanium B25608-01 October 2005 Oracle Content Management SDK Installation and

More information

Oracle Collaboration Suite

Oracle Collaboration Suite Oracle Collaboration Suite User s Guide Version 1 Release 9.0.3 August 2002 Part No. B10032-01 Oracle Collaboration Suite User s Guide, Version 1 Release 9.0.3 Part No. B10032-01 Copyright 1996, 2002 Oracle

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware What's New in Oracle WebLogic Server 11g Release 1 (10.3.5) E13852-07 April 2011 Welcome to Oracle WebLogic Server. The following sections describe new and changed functionality

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Configuration Guide for IBM WebSphere Application Server 11g Release 1 (11.1.1) E17764-01 January 2011 This document describes how to use the Oracle Fusion Middleware Configuration

More information

Oracle Fail Safe. Release for Microsoft Windows E

Oracle Fail Safe. Release for Microsoft Windows E Oracle Fail Safe Tutorial Release 3.4.2 for Microsoft Windows E14009-01 October 2009 Oracle Fail Safe Tutorial, Release 3.4.2 for Microsoft Windows E14009-01 Copyright 1999, 2009, Oracle and/or its affiliates.

More information

USING ADMINISTRATOR FEATURES

USING ADMINISTRATOR FEATURES HYPERION FINANCIAL MANAGEMENT SYSTEM 9 RELEASE 9.3.1 USING ADMINISTRATOR FEATURES Oracle's Hyperion Financial Management System 9 Release 9.3 contains significant enhancements to administrator features

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Installation Planning Guide 11g Release 1 (11.1.1.7.0) B32474-16 June 2013 Oracle Fusion Middleware Installation Planning Guide, 11g Release 1 (11.1.1.7.0) B32474-16 Copyright

More information

Oracle Application Server

Oracle Application Server Oracle Application Server Adapter for SAP R/3 User's Guide 10g Release 2 (10.1.2) B14061-02 June 2005 Oracle Application Server Adapter for SAP R/3 User s Guide, 10g Release 2 (10.1.2) B14061-02 Copyright

More information

Oracle Database 2 Day DBA 10g Release 1 (10.1) Part No. B

Oracle Database 2 Day DBA 10g Release 1 (10.1) Part No. B Oracle Database 2 Day DBA 10g Release 1 (10.1) Part No. B10742-01 December 2003 Oracle Database 2 Day DBA, 10g Release 1 (10.1) Part No. B10742-01 Copyright 2003, Oracle. All rights reserved. Contributing

More information

Oracle WebCenter Interaction

Oracle WebCenter Interaction Oracle WebCenter Interaction Deployment Overview Guide 10g Release 3 (10.3) November 2008 Oracle WebCenter Interaction Deployment Overview Guide, 10g Release 3 (10.3) Copyright 2008, Oracle and/or its

More information

AutoVue Integration SDK. Security and Authentication Guide

AutoVue Integration SDK. Security and Authentication Guide AutoVue Integration SDK Security and Authentication Guide February 28, 2011 Page 2 Copyright 1998, 2011, Oracle and/or its affiliates. All rights reserved. The Programs (which include both the software

More information

Oracle Ultra Search. User s Guide 10g (9.0.4) Part No. B

Oracle Ultra Search. User s Guide 10g (9.0.4) Part No. B Oracle Ultra Search User s Guide 10g (9.0.4) Part No. B10896-01 September 2003 Oracle Ultra Search User s Guide 10g (9.0.4) Part No. B10896-01 Copyright 2002, 2003 Oracle Corporation. All rights reserved.

More information

Oracle . Administrator s Guide Release 2 ( ) Part No. B

Oracle  . Administrator s Guide Release 2 ( ) Part No. B Oracle Email Administrator s Guide Release 2 (9.0.4.1) Part No. B10720-02 August 2003 Oracle Email Administrator s Guide, Release 2 (9.0.4.1) Part No. B10720-02 Copyright 1988, 2003 Oracle Corporation.

More information

Oracle Process Manager and Notification Server

Oracle Process Manager and Notification Server Oracle Process Manager and Notification Server Administrator s Guide 10g Release 2 (10.1.2) Part No. B13996-01 December 2004 Oracle Process Manager and Notification Server Administrator s Guide, 10g Release

More information

Oracle Financial Analyzer Oracle General Ledger

Oracle Financial Analyzer Oracle General Ledger Oracle Financial Analyzer Oracle General Ledger Integrating Oracle Financial Analyzer with Oracle General Ledger Release 11i October 2000 Part No. A86564-01 Integrating Oracle Financial Analyzer with Oracle

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Security and Administrator s Guide for Web Services 11g Release 1 (11.1.1) B32511-01 May 2009 This document describes how to administer and secure Web services using Enterprise

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Planning an Installation of Oracle Fusion Middleware 12c (12.2.1.2) E76887-02 November 2016 Documentation for installers and system administrators that describes how to plan and

More information

Oracle IVR Integrator

Oracle IVR Integrator Oracle IVR Integrator Concepts and Procedures Release 11i April 2000 Part No. A83630-01 Oracle IVR Integrator Concepts and Procedures, Release 11i Part No. A83630-01 Copyright 2000, Oracle Corporation.

More information

Oracle Enterprise Manager. Description. Versions Supported. Prerequisites

Oracle Enterprise Manager. Description. Versions Supported. Prerequisites Oracle Enterprise Manager System Monitoring Plug-in Installation Guide for IBM DB2 Database 10g Release 2 (10.2) B28040-01 January 2006 This document provides a brief description about the Oracle System

More information

Oracle Enterprise Manager. Description. Versions Supported. Prerequisites

Oracle Enterprise Manager. Description. Versions Supported. Prerequisites Oracle Enterprise Manager System Monitoring Plug-in Installation Guide for Microsoft SQL Server Release 1 (2.0.1.0.0) E10003-02 February 2008 This document provides a brief description about the Oracle

More information

Secure Configuration Guide

Secure Configuration Guide Secure Configuration Guide Oracle Health Sciences InForm Publisher On Demand Release 2.0 Part Number: E53275-01 Copyright 2014, Oracle and/or its affiliates. All rights reserved. The Programs (which include

More information

Oracle Cloud. Using the Google Calendar Adapter Release 16.3 E

Oracle Cloud. Using the Google Calendar Adapter Release 16.3 E Oracle Cloud Using the Google Calendar Adapter Release 16.3 E68599-05 September 2016 Oracle Cloud Using the Google Calendar Adapter, Release 16.3 E68599-05 Copyright 2015, 2016, Oracle and/or its affiliates.

More information

Oracle TopLink. Getting Started Guide 10g Release 3 (10.1.3) Part No. B January Beta Draft

Oracle TopLink. Getting Started Guide 10g Release 3 (10.1.3) Part No. B January Beta Draft Oracle TopLink Getting Started Guide 10g Release 3 (10.1.3) Part No. B13594-01 January 2006 Beta Draft Oracle TopLink Getting Started Guide, 10g Release 3 (10.1.3) Part No. B13594-01 Copyright 1997, 2006,

More information

Oracle Supplier Network

Oracle Supplier Network Oracle Supplier Network Buyer s Guide to Connecting 11i Release 4.3 Part No. B19153-01 June 2005 Oracle Supplier Network Buyer s Guide to Connecting 11i, Release 4.3 Part No. B19153-01 Copyright 2005,

More information

equestionnaire User Guide

equestionnaire User Guide Prodika Product Lifecycle Management equestionnaire User Guide Release 5.1 Part Number: TPPR-0045-5.1A Make sure you check for updates to this manual at the Oracle Documentation Web site Copyrights and

More information

Oracle Agile Product Lifecycle Management for Process Reporting User Guide Release E

Oracle Agile Product Lifecycle Management for Process Reporting User Guide Release E Oracle Agile Product Lifecycle Management for Process Reporting User Guide Release 6.1.1.5 E57828-01 November 2014 Oracle Agile Product Lifecycle Management for Process Reporting User Guide, Release 6.1.1.5

More information

Siebel Application Deployment Manager Guide. Version 8.0, Rev. A April 2007

Siebel Application Deployment Manager Guide. Version 8.0, Rev. A April 2007 Siebel Application Deployment Manager Guide Version 8.0, Rev. A April 2007 Copyright 2005, 2006, 2007 Oracle. All rights reserved. The Programs (which include both the software and documentation) contain

More information

Oracle Fusion Middleware Planning an Installation of Oracle Fusion Middleware. 12c ( )

Oracle Fusion Middleware Planning an Installation of Oracle Fusion Middleware. 12c ( ) Oracle Fusion Middleware Planning an Installation of Oracle Fusion Middleware 12c (12.2.1.3) E80584-01 August 2017 Oracle Fusion Middleware Planning an Installation of Oracle Fusion Middleware, 12c (12.2.1.3)

More information

Oracle . Migration Tool Guide Release 2 (9.0.4) Part No. B

Oracle  . Migration Tool Guide Release 2 (9.0.4) Part No. B Oracle Email Migration Tool Guide Release 2 (9.0.4) Part No. B10723-01 June 2003 Oracle Email Migration Tool Guide, Release 2 (9.0.4) Part No. B10723-01 Copyright 1988, 2003 Oracle Corporation. All rights

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Interoperability and Compatibility Guide 11g Release 1 (11.1.1) E17836-01 January 2011 Oracle Fusion Middleware Interoperability and Compatibility Guide, 11g Release 1 (11.1.1)

More information

Oracle Alert Documentation Updates

Oracle Alert Documentation Updates Oracle Alert Documentation Updates RELEASE 11.0.1 June 1998 Copyright 1998, Oracle Corporation. All rights reserved. The Programs (which include both the software and documentation) contain proprietary

More information

Oracle Enterprise Manager. Description. Platforms Supported. Versions Supported

Oracle Enterprise Manager. Description. Platforms Supported. Versions Supported Oracle Enterprise Manager System Monitoring Plug-in Installation Guide for IBM DB2 Database Release 5 (3.0.1.0.0) E10488-01 August 2007 This document provides a brief description about the Oracle System

More information

Oracle Cloud Using the Google Calendar Adapter. Release 17.3

Oracle Cloud Using the Google Calendar Adapter. Release 17.3 Oracle Cloud Using the Google Calendar Adapter Release 17.3 E68599-09 October 2017 Oracle Cloud Using the Google Calendar Adapter, Release 17.3 E68599-09 Copyright 2015, 2017, Oracle and/or its affiliates.

More information

Oracle Information Rights Management Oracle IRM Windows Authentication Extension Guide 10gR3 August 2008

Oracle Information Rights Management Oracle IRM Windows Authentication Extension Guide 10gR3 August 2008 10gR3 August 2008 ,, 10gR3 Copyright 2007, 2008, Oracle. All rights reserved. Primary Author: Martin Abrahams Contributing Author: Martin Wykes The Programs (which include both the software and documentation)

More information

Oracle Field Sales/Laptop

Oracle Field Sales/Laptop Oracle Field Sales/Laptop Concepts and Procedures Release 11i May 2002 Part No. A95947-02 Oracle Field Sales/Laptop Concepts and Procedures, Release 11i Part No. A95947-02 Copyright 2002 Oracle Corporation.

More information

Oracle Database. 2 Day DBA 10g Release 2 (10.2) B

Oracle Database. 2 Day DBA 10g Release 2 (10.2) B Oracle Database 2 Day DBA 10g Release 2 (10.2) B14196-01 June 2005 Oracle Database 2 Day DBA, 10g Release 2 (10.2) B14196-01 Copyright 2004, 2005, Oracle. All rights reserved. Primary Author: Colin McGregor

More information

Oracle BPEL Process Analytics

Oracle BPEL Process Analytics Oracle BPEL Process Analytics Quick Start Guide 10g Release 2 (10.1.2) Part No. B15928-01 July 2005 Oracle BPEL Process Analytics Quick Start Guide, 10g Release 2 (10.1.2) Part No. B15928-01 Copyright

More information

Oracle Ultra Search. Administrator s Guide 10g Release 2 (10.2) Part No. B

Oracle Ultra Search. Administrator s Guide 10g Release 2 (10.2) Part No. B Oracle Ultra Search Administrator s Guide 10g Release 2 (10.2) Part No. B14222-01 June 2005 Oracle Ultra Search Administrator s Guide, 10g Release 2 (10.2) B14222-01 Copyright 2002, 2005, Oracle. All rights

More information

Oracle Enterprise Manager

Oracle Enterprise Manager Oracle Enterprise Manager Configuration Guide Release 2.2 September 2000 Part No. A85247-01 Oracle Enterprise Manager Configuration Guide, Release 2.2 Part No. A85247-01 Copyright 1996, 2000, Oracle Corporation.

More information

1 Review Information About this Guide

1 Review Information About this Guide Oracle Database Client Quick Installation Guide 10g Release 2 (10.2) for Microsoft Windows (x64) B15685-03 July 2008 This guide describes how to quickly install the Oracle Database Client product on Windows

More information

Oracle9i Real Application Clusters

Oracle9i Real Application Clusters Oracle9i Real Application Clusters Setup and Configuration Release 2 (9.2) October 2002 Part No. A96600-02 Oracle9i Real Application Clusters Setup and Configuration, Release 2 (9.2) Part No. A96600-02

More information

Governance, Risk, and Compliance Controls Suite. Hardware and Sizing Recommendations. Software Version 7.2

Governance, Risk, and Compliance Controls Suite. Hardware and Sizing Recommendations. Software Version 7.2 Governance, Risk, and Compliance Controls Suite Hardware and Sizing Recommendations Software Version 7.2 GRC Controls Suite Hardware and Sizing Recommendations Part No. AG014-720B Copyright 2007, 2008,

More information

Copyright

Copyright Displaying P6 EPPM Metrics in Oracle Enterprise Manager Release 8.1 September 2011 Copyright Oracle Primavera Displaying P6 EPPM Metrics in Oracle Enterprise Manager Copyright 2011, Oracle and/or its affiliates.

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Administrator and Manager's Guide for Site Studio 11g Release 1 (11.1.1) E10614-01 May 2010 Oracle Fusion Middleware Administrator and Manager's Guide for Site Studio, 11g Release

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Administering Web Services 12c (12.1.2) E28131-01 June 2013 Documentation for developers and administrators that describes how to administer Web services. Oracle Fusion Middleware

More information

Oracle Transparent Gateway

Oracle Transparent Gateway Oracle Transparent Gateway Installation Guide 10g Release 2 (10.2) for Microsoft Windows (32-bit) B19083-01 August 2005 Oracle Transparent Gateway Installation Guide, 10g Release 2 (10.2) for Microsoft

More information

Oracle Banking Channels Bank User Base

Oracle Banking Channels Bank User Base Oracle Banking Channels Bank User Base Functional Overview Release 2.2.0.0.0 E51323-01 December 2013 Oracle Banking Channels Bank User Base Functional Overview, Release 2.2.0.0.0 E51323-01 Copyright 2013,

More information

Oracle Fusion Middleware Installing and Configuring Oracle SOA Suite and Oracle Business Process Management. 12c ( )

Oracle Fusion Middleware Installing and Configuring Oracle SOA Suite and Oracle Business Process Management. 12c ( ) Oracle Fusion Middleware Installing and Configuring Oracle SOA Suite and Oracle Business Process Management 12c (12.2.1.3.0) E95730-01 May 2018 Oracle Fusion Middleware Installing and Configuring Oracle

More information

2 Records Manager Updates

2 Records Manager Updates Oracle Records Manager Corporate Edition Release Notes 10g Release 3 (10.1.3.3.2) October 2007 These release notes outline new and enhanced features for this release of Records Manager Corporate Edition.

More information

1 Review Information About this Guide

1 Review Information About this Guide Oracle Database Client Quick Installation Guide 10g Release 2 (10.2) for Microsoft Windows (32-Bit) B14314-02 December 2005 This guide describes how to quickly install the Oracle Database Client product

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Interoperability Guide for Oracle Web Services Manager 11g Release 1 (11.1.1) E16098-04 January 2011 This document describes how to implement the most common Oracle WSM interoperability

More information

Microsoft Active Directory Plug-in User s Guide Release

Microsoft Active Directory Plug-in User s Guide Release [1]Oracle Enterprise Manager Microsoft Active Directory Plug-in User s Guide Release 13.1.0.1.0 E66401-01 December 2015 Oracle Enterprise Manager Microsoft Active Directory Plug-in User's Guide, Release

More information

Oracle AutoVue VueLink 20.0 for ENOVIA

Oracle AutoVue VueLink 20.0 for ENOVIA Oracle AutoVue VueLink 20.0 for ENOVIA User s Manual An Integration between ENOVIA PLM and Oracle AutoVue Copyright 1998, 2010, Oracle and/or its affiliates. All rights reserved. The Programs (which include

More information

Content Synchronization and Syndication User Guide

Content Synchronization and Syndication User Guide Prodika Product Lifecycle Management Content Synchronization and Syndication User Guide Release 5.1 Part No. TPPR-0021-5.1A Make sure you check for updates to this manual at the Oracle Documentation Web

More information

Oracle Enterprise Manager. Description. Versions Supported. System Monitoring Plug-in Installation Guide for EMC CLARiiON System Release 5 (

Oracle Enterprise Manager. Description. Versions Supported. System Monitoring Plug-in Installation Guide for EMC CLARiiON System Release 5 ( Oracle Enterprise Manager System Monitoring Plug-in Installation Guide for EMC System Release 5 (1.0.3.0.0) E10505-01 August 2007 This document provides a brief description about the Oracle System Monitoring

More information

Oracle Copy Inventory Organization

Oracle Copy Inventory Organization Oracle Copy Inventory Organization Implementation Guide Release 11i October 2001 Part No. A95116-01 Oracle Copy Inventory Organization Implementation Guide, Release 11i Part No. A95116-01 Copyright 1996,

More information

Oracle Application Server

Oracle Application Server Oracle Application Server Adapter for MySAP ERP User's Guide 10g Release 3 (10.1.3.4.0) E14196-01 January 2009 Oracle Application Server Adapter for MySAP ERP User's Guide, 10g Release 3 (10.1.3.4.0) E14196-01

More information

Release for Microsoft Windows

Release for Microsoft Windows [1]Oracle Fail Safe Tutorial Release 4.1.1 for Microsoft Windows E57061-02 April 2015 Oracle Fail Safe Tutorial, Release 4.1.1 for Microsoft Windows E57061-02 Copyright 1999, 2015, Oracle and/or its affiliates.

More information

Oracle Application Server Discoverer Plus

Oracle Application Server Discoverer Plus Oracle Application Server Discoverer Plus Tutorial 10g (9.0.4) Part No. B10269-01 August 2003 Oracle Application Server Discoverer Plus Tutorial, 10g (9.0.4) Part No. B10269-01 Copyright 1999, 2003 Oracle

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Concepts Guide for Oracle API Catalog 12c Release 1 (12.1.3.0) E55976-02 August 2015 Documentation for anyone evaluating or implementing Oracle API Catalog. This guide describes

More information

General Security Principles

General Security Principles Oracle Enterprise Data Quality for Product Data Security Guide Release 11g R1 (11.1.1.6) E35849-02 February 2013 This document describes the general principles of security of the Oracle Enterprise Data

More information

Oracle Application Server

Oracle Application Server Oracle Application Server Upgrade and Compatibility Guide 10g (10.1.4.0.1) for UNIX B28188-01 July 2006 Oracle Application Server Upgrade and Compatibility Guide, 10g (10.1.4.0.1) for UNIX B28188-01 Copyright

More information

Oracle Enterprise Manager

Oracle Enterprise Manager Oracle Enterprise Manager Agent Release Notes for Windows 10g Release 2 (10.2) B25968-01 January 2006 These Release Notes identify differences between the delivered Oracle Enterprise Manager Management

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Infrastructure Components and Utilities User's Guide for Oracle Application Integration Architecture Foundation Pack 11g Release 1 (11.1.1.5.0) E17366-03 April 2011 Oracle Fusion

More information

Reporting User Guide. Prodika Product Lifecycle Management. Release 5.1

Reporting User Guide. Prodika Product Lifecycle Management. Release 5.1 Prodika Product Lifecycle Management Reporting User Guide Release 5.1 Part No. TPPR-0029-5.1A Make sure you check for updates to this manual at the Oracle Documentation Web site Oracle s Prodika PLM 5.1

More information