Oracle9i Application Server: Options for Running Active Server Pages. An Oracle White Paper July 2001



Similar documents
Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Oracle Application Server 10g Oracle HTTP Server Frequently Asked Questions October 2006

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server

Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i

Monitoring Nginx Server

Oracle Warehouse Builder 10g

Oracle Discoverer 4i Plus Firewall and SSL Tips. An Oracle White Paper February 2002

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

An Oracle White Paper October Frequently Asked Questions for Oracle Forms 11g

Securing SAS Web Applications with SiteMinder

The course will be run on a Linux platform, but it is suitable for all UNIX based deployments.

Managing Your Workflow System

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

TG Web. Technical FAQ

Crawl Proxy Installation and Configuration Guide

Oracle BI Publisher Enterprise Cluster Deployment. An Oracle White Paper August 2007

Oracle Access Manager. An Oracle White Paper

Oracle Identity Management: Integration with Windows. An Oracle White Paper December. 2004

An Oracle White Paper May Oracle Tuxedo: An Enterprise Platform for Dynamic Languages

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Oracle Identity Management Concepts and Architecture. An Oracle White Paper December 2003

IIS Reverse Proxy Implementation

Enabling Kerberos SSO in IBM Cognos Express on Windows Server 2008

Application Template Deployment Guide

An Oracle White Paper May Creating Custom PDF Reports with Oracle Application Express and the APEX Listener

1. Introduction 2. Getting Started 3. Scenario 1 - Non-Replicated Cluster 4. Scenario 2 - Replicated Cluster 5. Conclusion

Title Page. Hosted Payment Page Guide ACI Commerce Gateway

Load Balancing Oracle Web Applications. An Oracle White Paper November 2004

StreamServe Persuasion SP5 StreamStudio

Oracle Net Services for Oracle10g. An Oracle White Paper May 2005

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

Enabling Single Signon with IBM Cognos 8 BI MR1 and SAP Enterprise Portal

An Oracle White Paper September Oracle WebLogic Server 12c on Microsoft Windows Azure

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000

1 What Are Web Services?

single sign-on capability

Apache Server Implementation Guide

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

BUILDING FLEXIBLE ENTERPRISE PROCESSES USING ORACLE BUSINESS RULES AND BPEL PROCESS MANAGER. An Oracle White Paper Jan 2005

CentraSite SSO with Trusted Reverse Proxy

IONA Security Platform

S y s t e m A r c h i t e c t u r e

Lotus Sametime. FIPS Support for IBM Lotus Sametime 8.0. Version 8.0 SC

White Paper DEPLOYING WDK APPLICATIONS ON WEBLOGIC AND APACHE WEBSERVER CLUSTER CONFIGURED FOR HIGH AVAILABILITY AND LOAD BALANCE

Oracle WebCenter Content Service for Microsoft Exchange

Enabling Single Signon with IBM Cognos ReportNet and SAP Enterprise Portal

SSL, Load Balancers, Rewrite, Redirect, and More Advanced Configuration

Painless Web Proxying with Apache mod_proxy

How To Customize An Org Bee 11G With A Custom Skin On A Windows 7.5 (Oracle) 11G (Orca) 11Ge (Orora) 11Gh (Orroboro) 11E (Ororro

Reverse Proxy with SSL - ProxySG Technical Brief

HTTPS HTTP. ProxySG Web Server. Client. ProxySG TechBrief Reverse Proxy with SSL. 1 Technical Brief

A Java proxy for MS SQL Server Reporting Services

WebSphere Product Family Overview

An Oracle White Paper February Oracle Data Integrator 12c Architecture Overview

Microsoft Active Directory Oracle Enterprise Gateway Integration Guide

An Oracle White Paper January Integrating Oracle Application Express with Oracle Access Manager. Revision 1

Using SAP Logon Tickets for Single Sign on to Microsoft based web applications

Siebel Installation Guide for UNIX. Siebel Innovation Pack 2013 Version 8.1/8.2, Rev. A April 2014

Enabling the Information Age

Reverse Proxy Guide. Version 2.0 April 2016

OpenLDAP Oracle Enterprise Gateway Integration Guide

1 What Are Web Services?

Setting up an Apache Server in Conjunction with the SAP Sybase OData Server

HP ALM. Software Version: External Authentication Configuration Guide

Oracle Application Server 4.0: The Integration Platform for Oracle Products and the Internet. An Oracle White Paper August 1998

Partitioning and Clustering Demonstration

HP Business Availability Center

JD Edwards EnterpriseOne 9.1 Clustering Best Practices with Oracle WebLogic Server

Configuring Remote HANA System Connection for SAP Cloud for Analytics via Apache HTTP Server as Reverse Proxy

CA SiteMinder Secure Proxy Server

Apache Jakarta Tomcat

docs.hortonworks.com

PROXY SETUP WITH IIS USING URL REWRITE, APPLICATION REQUEST ROUTING AND WEB FARM FRAMEWORK OR APACHE HTTP SERVER FOR EMC DOCUMENTUM EROOM

Test Plan Security Assertion Markup Language Protocol Interface BC-AUTH-SAML 1.0

Interwise Connect. Working with Reverse Proxy Version 7.x

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on Oracle WebLogic Server

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

How To Use Netscaler As An Afs Proxy

CA SOA Security Manager

Revision ORACLE CORPORATION. Application Server Deployment Architecture Series. Using Web Cache as Reverse Proxy

An Oracle White Paper May Java Usage Tracking and Visualization with Oracle Fusion Middleware

How To Plan A Desktop Workspace Infrastructure

Last Updated: July STATISTICA Enterprise Server Security

Oracle Data Integrator and Oracle Warehouse Builder Statement of Direction

Configuring Microsoft IIS 5.0 With Pramati Server

An Oracle White Paper November Oracle Primavera P6 EPPM Integrations with Web Services and Events

SSL CONFIGURATION GUIDE

Setup Guide Access Manager 3.2 SP3

Oracle E-Business Suite (EBS)

PRODUCT VERSION: LYNC SERVER 2010, LYNC SERVER 2013, WINDOWS SERVER 2008

How To Configure An Orgaa Cloud Control On A Bigip (Cloud Control) On An Orga Cloud Control (Oms) On A Microsoft Cloud Control 2.5 (Cloud) On Microsoft Powerbook (Cloudcontrol) On The

Novell Access Manager

Oracle Application Server 10g Web Services Frequently Asked Questions Oct, 2006

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.2 Web Applications Deployed on BEA WebLogic Server 9.2

ACM Crossroads Student Magazine The ACM's First Electronic Publication

Sophos Mobile Control Technical guide

INTRODUCTION AND TERMINOLOGY

Understanding Evolution's Architecture A Technical Overview

Load Balancing using Pramati Web Load Balancer

Transcription:

Oracle9i Application Server: Options for Running Active Server Pages An Oracle White Paper July 2001

Oracle9i Application Server: Options for Running Active Server Pages PROBLEM SUMMARY...3 INTRODUCTION...3 Other Technologies...4 OHS Extensibility with Modules...4 THE SOLUTION OPTIONS...5 Option #1: Expose both IIS and Oracle HTTP Server to Browsers.5 Option #2: Expose only IIS to the end user Browsers...6 Option #3: Expose Only Oracle 9iAS to Browsers...7 Note that the above RewriteRule works adequately in simple situations but has not been tested in all scenarios. It is meant to serve as an example. For production deployment you will need to ensure the regular expression meets your needs or modify it appropriately...8 Option #4: Not having IIS in the picture at all...8 Option #5: Not exposing either IIS or 9iAS - Use Other Proxy Servers...8 SUMMARY...8 Oracle9i Application Server - Running Active Server Pages - The Options Page 2

PROBLEM SUMMARY Active Server Pages has been a popular way of building dynamic web applications on Microsoft technology stack. This paper describes how to preserve existing investment in that technology, while moving forward to the new J2EE technology implemented by Oracle 9iAS. INTRODUCTION The picture in Figure 1 provides an overview of Oracle9iAS. We will pin point the Oracle9i Application Server Create Personalized Portals Portal Connected Clients Oracle9iAS Wireless for wireless clients Web Cache Oracle HTTP Server powered by Apache Oracle Enteprise Manager Run All Your Web Sites & Applications BC4J Oracle Applications Interconnect J2EE XML/XSL CORBA Perl Reports Services Forms Services Developer Kits LDAP, XML, Database Extract Business Intelligence Collaborate With Stakeholders Internet File System Discoverer Manage Your Web Infrastructure Oracle Internet Directory Email, Unified Messaging Integrate Your Business Oracle Gateways PSPs PLSQL Java Stored Procedures Clickstream Intelligence Oracle Workflow Database Cache Oracle Advanced Security Oracle non-oracle Data Sources non-oracle Apps Figure 1: Oracle 9iAS Components components of interest to this paper, and will not cover all the components of Oracle 9iAS. 1. Oracle HTTP Server (OHS) contains a web server (powered by Apache). 2. mod_proxy is a plug-in contained in OHS that enables OHS to act as a caching reverse proxy server. 3. Oracle Proxy Plugin (not available now; part of 9iAS v2.0 plan) contained in OHS can be installed on Microsoft IIS or Netscape s iplanet Server, and it makes these two web servers behave (in a limited fashion) as a reverse proxy server to OHS. 4. mod_rewrite is a plug-in contained in OHS that can rewrite (modify / change) the URLs. Regular expression based rules for URL manipulation can be defined. Oracle9i Application Server - Running Active Server Pages - The Options Page 3

5. OC4J (Oracle Containers For Java) implements the J2EE specification. The servlets, JSP etc. all run within this component. It also contains an HTTP listener, which is leveraged in some of the deployment choices in this paper. Other Technologies Active Server Pages - Similar to JSP (Java Server Pages). These pages enable dynamic web applications by adding scripting (via VBScript) to an HTML page. Microsoft s IIS - Internet Information Server - provides the container to run Active Server Pages. Microsoft VBScript - The scripting language for Active Server Pages. Very similar to Visual Basic with some limitations. Microsoft COM - COM (Component Object Model) is a popular way to package framework / objects and reuse them across applications. In the context of our current problem, these are external to the active server pages, and are invoked by VB script within the ASP page. OHS Extensibility with Modules This brief overview of module based architecture/behavior will be useful when we talk to the different plug-ins and how to leverage them for running active server pages with URI Oracle 9iAS. post-read The architecture of the Oracle HTTP Server is extremely modular. The core web server [for protocol] is very small; all capabilities are implemented as modules that plug in, and are invoked at the appropriate place during the request Apache core response get request cleanup logging return response request fixups Child initialization translation request/response loop handle content Header parsing access control authentication authorization type checking request lifecycle. The lifecycle of an HTTP request is depicted in the adjacent figure. A web server process shepherds the request through this entire lifecycle. The plug-in, i.e. modules, register their API. This API is then either automatically invoked when the request reaches a certain stage in its lifecycle, or, can be configured to be invoked only in certain situations. Child exit Figure 2: HTTP Request-Response Cycle Oracle9i Application Server - Running Active Server Pages - The Options Page 4

THE SOLUTION OPTIONS Option #1: Expose both IIS and Oracle HTTP Server to Browsers This scenario is to essentially have two independent systems - one powered by IIS, the other powered by Oracle 9iAS, with no integration between the IIS two. OHS IIS and Oracle HTTP Server both serve HTTP requests by listening for browser requests at different ports. OC4J Only one of these servers could be listening on the default port (80). Thus users need to remember the port in addition to server to go to the (correct) default page for the different servers. A workaround to having to remember the port number is to create a virtual directory in one of the servers - say IIS. All requests to this virtual directory can be configured to get redirected to go to the correct port (or same port on a different machine) on which the other server is running. The configuration screen for this setup for IIS is shown below. A similar configuration for 9iAS is also possible. In d.conf include the following lines to redirect all requests to the /iis virtual directory to the correct port for the IIS machine. Oracle9i Application Server - Running Active Server Pages - The Options Page 5

Redirect /iis ://iis-machine:88/ Most organizations standardize on a web server and ensure all security patches etc. for it are current. Thus, this option of exposing multiple web servers to the end-users, may not be suitable in many scenarios. Option #2: Expose only IIS to the end user Browsers To overcome the shortcomings of the previous section, Oracle 9iAS (from v2.0 onwards) plans to include the Oracle 9iAS Proxy Plug-in. It, as the name implies, plugs-in into IIS and determines which requests need to be proxied to 9iAS and forwards them accordingly. The rest of the requests are served natively by IIS. There are two relevant configuration files in this context - one that defines the host and port on which ias is running (could be on the same machine), and another that defines which types of URL (ex. ://server/ias/* or ones ending in *.jsp) need to be forwarded to which ias instance. IIS OHS Thus, depending on configuration, all.asp requests are now serviced by the local IIS, and all config j2ee (or other Oracle 9iAS service requets) are proxied to the correct Oracle 9iAS OC4J installation. Except for a small performance hit for the additional reverse proxy hop, the end-user has no indication about this proxying happening at the back-end. Sample configurations are shown below: #Define the servers oproxy.serverlist=ias1, ias2 #define where these servers list oproxy.ias1.hostname=www1.us.oracle.com oproxy.ias1.port=7777... #Map all URLS with /servlet/ to point to the right server /servlet/*=ias1... Thus the corporate requirement of standardizing on a single web server (in this case IIS) is also met, while all J2EE applications are serviced by an instance of Oracle9i Application Server - Running Active Server Pages - The Options Page 6

ias. Another advantage is that the end-users do not have to remember different port numbers and hosts. Yet another benefit is that it allows heterogeneous hardware (IIS on NT, ias on UNIX for example) to work together to service an IIS based site. The SSL requests terminate at the first web server - in this case IIS. All future communication is non-ssl. The authentication and single sign on solution in this scenario is complex and will be discussed in a future version of this paper. Currently, Oracle Proxy Plug-In is not in production and some of these details have not been finalized. Option #3: Expose Only Oracle 9iAS to Browsers This option is the inside-out version of the previous option - It makes Oracle HTTP Server as the front-end web server that receives all the requests and IIS as the back-end server servicing.asp requests. OHS As stated earlier OHS includes two powerful modules: mod_rewrite which changes the URL to be served mod_proxy, which proxies the request to another server. In addition mod_rewrite provides several options on how the rewritten URL should be serviced (including servicing via mod_proxy with a [P] - Proxy Throughput flag.). In this option the end user s request is first serviced by 9iAS Oracle HTTP Server (OHS). If the URL meets certain complex criteria (ex. ends in *.asp or has a certain string within it), it is rewritten to be proxied to a different server. For simpler test criteria mod_proxy is adequate for reverse proxying requests (via the ProxyPass and ProxyPassReverese directives). Sample configurations: #mod_proxy based configuration ProxyRequests On ProxyPass /iis/ ://iis-machine/ ProxyPassReverse /iis/ ://iis-machine mod_rewrite based configuration produces similar results and a screen shot of browser showing the 9iAS URL with contents served from IIS is shown below. IIS OHS OC4J Oracle9i Application Server - Running Active Server Pages - The Options Page 7

#mod_rewrite based configuration RewriteEngine on RewriteLog /tmp/rewrite.log RewriteLogLevel 3 RewriteRule ^/([^\.]+)(.asp)(.*)$ ://iis-machine/$1.asp$3 [P] Note that the above RewriteRule works adequately in simple situations but has not been tested in all scenarios. It is meant to serve as an example. For production deployment you will need to ensure the regular expression meets your needs or modify it appropriately. Option #4: Not having IIS in the picture at all There are two scenarios that can enable this: Rewriting the application to be pure J2EE so that OC4J can host it - This is of course a longer term option. Leverage Oracle Migration Technology. The details can be found at ://technet.oracle.com/tech/migration/asp/. This technology helps end customers migrate their Microsoft based applications to J2EE. Option #5: Not exposing either IIS or 9iAS - Use Other Proxy Servers Another approach, if none of the earlier options are viable in your environment is to use a standalone proxy server from other companies (or an open source one). Most of these products enable partitioning the URL and allowing different name spaces to be serviced by different web servers. Thus,.asp and J2EE applications can appear to co-exist on the same host, even though they may be serviced from different machines internally. This is not recommended because it adds yet another server in the critical path of request-response. SUMMARY This paper provides several options on how current Microsoft ASP technology customers can adopt Oracle 9iAS and move towards J2EE compliant applications. The options include using IIS as the only front-end listener (with Oracle Proxy Plugin installed), or, having both IIS and Oracle HTTP Server listen to browser requests (different ports, virtual directory setup), or, having Oracle HTTP Server as the only front-end listener (with mod_proxy or mod_rewrite or the Oracle Migration Toolkit). Oracle9i Application Server - Running Active Server Pages - The Options Page 8

Oracle9i Application Server - Options for Running Active Server Pages July 2001 Author: Mukul Paithane Contributing Authors: Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com Oracle Corporation provides the software that powers the internet. Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners. Copyright 2000 Oracle Corporation All rights reserved. Oracle9i Application Server - Running Active Server Pages - The Options Page 9