Application Integration for the Web Forms 6i Open World Application Integration for the Web
Frank Nimphius Product Management Application Development Tools Oracle Corporation
Forms 6i Services Integration Points The full overview Forms 6i Open World Apache 9iAS Single Sign-On Portal Forms 6i Java Oracle 9i OC4J Reports Translations
Forms 6i Services Integration Points Coverage in this presentation Forms 6i Open World Apache 9iAS Single Sign-On Portal Forms 6i Java Oracle 9i OC4J Reports Translations
Reports Integration 1 38 2
Forms Services and Reports Services Web Architecture HTML, HTMLCSS, XML, PDF … Oracle 9iAS Reports Services Sql*Net Reports Modules Oracle Database Oracle 9iAS Forms Services Generic Java Client Forms Modules HTTP HTTPS
Reports Services vs. Client Server In a Nutshell – I Web Reports are using the same Reports definition files as in Client Server Web Reports are executed on the middle tier Reports integrated in Forms are executed on the middle tier Reports executes in the environment of Reports Services Run_Report_Object built-in recommended Run_Product() „still“ supported
Reports Services vs. Client Server In a Nutshell – II The Reports Services output is downloaded to the requesting client HTML, HTMLCSS, XML, PDF, RTF, CSV Reports parameter form doesn‘t work out-of-the box Use Reports Queue tables to handle detailed user error messages Use parameter lists in Run_Report_Object as in Run_Product No „native“ local printer support
Run_Report_Object Built-In How to use it ? Reports Services are set up by Oracle 9iAS EE Have Reports Services accessible from Forms Server SET_REPORT_OBJECT_PROPERTY v_report_id,REPORT_SERVER,’repSRV’); Destype must be set using Set_Report_Object_ Property () only Use timer with low frequency for async. call Use web.show_document() to get Report output :parameter.server);
Run_Report_Object Built-In report_id:= find_report_object('report_node1'); (…) SET_REPORT_OBJECT_PROPERTY (report_id,REPORT_SERVER, ‘RepSRV’); SET_REPORT_OBJECT_PROPERTY (report_id,REPORT_COMM_MODE, ASYNCHRONOUS); (report_id,REPORT_DESTYPE,CACHE); (report_id,REPORT_OTHER,'paramform=no');(…) report_message:=run_report_object(report_id, paramlist);
Web.Show_Document Built-In Using the Browser URL for Reporting Calls a Web URL defined in Forms using PL/SQL Leverages Reports Services Report output automatically gets downloaded to the client All parameters are passed in the browser‘s URL Not as secure as Run_Report_Object No response to Forms whether Reports has been executed successfully or not Syntax: web.show_document(‘URL’, ‘_target’);
Web.Show_Document Built-In (…) /* create URL in vc_url */ vc_url:=‘http://<hostname><port>/dev60cgi/’ ||‘rwcgi60.exe?server=repSRV&report=Reptest.rdf’ || ‘&desformat=htmlcss&destype=cache&userid’ || =user/pw@database&p_deptno=’||:dept.deptno || ‘¶mform=no’; /* call Reports URL in a new browser window*/ Web.show_document(vc_url,‘_blank’);
Orarrp utility – Local Printer Support rrpa, rrph, rrpt.. Oracle 9iAS orarrp .exe Reports Services Oracle Database Reports Modules run a Report using run_report_object () print output to a file with orarrp extension use web.show_document() for free at otn.oracle.com/products/reports No official support, only looked at Windows only
What‘s new in Forms 9i No Reports runtime engine support Reports Integration No Reports runtime engine support Means no destype „screen“ or „preview“ Run_Product calling Oracle Reports does not compile Graphics is supported with Run_Product Reports 9i Services are called as in 6i No changes required Reports Services 9i have 6i proxy
SHOW Reports Integration 1 38 2
Translation Integration 1 38 2
Forms Translation Support in the Web The Challenge! The Web crosses any borders The Web does not know you A „French“ user on the Web is just a user A „German“ user on the Web is just a user A … The point of installation no longer determines the language the user requires
Forms Translation Support in the Web The Solution! Browser Language detection in Forms 6i patch 9 Forms Listener Servlet to support multiple environments Translation Tools to translate Forms applications Oracle Translation Builder TranslationHub
Deploying Multi Language Applications with Patch 9 http://…/…/f90servlet?config=booking Formsweb.cfg … [booking] envFile=default.env [booking.it] envFile=it.env [booking.en] envFile=en.env [booking.fr] envFile=fr.env it fr de it en 9iAS HTTP Listener Forms Servlet OC4J Forms Listener Servlet fr.env en.env de.env it.env NLS_LANG=Italian_Italy. WE8ISO8859P1 Forms90_PATH = … … Forms Runtime Booking_it.fmx … and more !
What‘s New in Forms 9i Browser Language detection Translation Integration Browser Language detection New translation tool „TranslationHub“ Migration Path from Oracle Translation Builder to TranslationHub
Single Sign-On Integration 1 38 2
Single Sign-On Too many passwords compromise security! Multiple Logons require multiple passwords Post-it(TM) is not a good password store Not every user is a database user Sign-On Solution must support different authentication mechanism (e.g. LDAP) Has to be fully integrated in a Web architecture
Oracle Login Server Oracle’s authentication solution! Partner Application Use partner Application API Don’t perform own authentication Read from Login Server session cookie External Application Use own authentication scheme Can register with Login Server to provide credentials in Login Server password store User credentials passed in URL
Forms Services 6i and Single Sign On Forms is configurable as an External Application to Login Server With Forms Servlet in Forms 6i patch 7+ Support of POST request method Hiding username/password from the Applet tag User is authenticated by Login Server User stores application credentials in Login Server password store No code changes required Client/Server applications can leverage Single Sign-On when moved to the Web
Configuring Forms Services patch 7+ for Single Sign-On Create an application entry in formsweb.cfg userid=%name%/%password%@%database% [sso_servlet] (…) form=reptest lookandfeel=oracle serverURL=/servlet/fnimphiuServlet userid=%name%/%password%@%database%
Configure Oracle Login Server Registering Forms Services Use Portal access to Login Server administration form http://<hostname>:<port>/pls/portal30 Choose External application administration Add Forms Services URL http://<host>:<port>/servlet/f60servlet Map „name“ to the username field and „password“ to the password filed Create parameters for „config“ and „database“ Deploy URL generated by Login Server
What‘s new in Forms 9i Single Sign-On Integration Integrated Single Sign-On Solution in Oracle 9iAS V2 All products share same authentication Login Server authenticates through mod_osso module in Apache Forms Services URLs can be configured to use Single Sign-On authentication No changes to Forms applications required
Single Sign-On Integration SHOW Single Sign-On Integration 1 38 2
Portal Integration 1 38 2
Forms 6i as a Portlet in Portal page Portal Development Kit – „URL Services“ Forms displays as a portlet in Portal Configured using XML file on the Server URL Services are registered as a provider with Portal A Forms application is called by its URL when starting the portal page URL Services are downloadable from otn.oracle.com (PDK)
Integrate Forms as a Portlet of URLs Using The Portal‘s Favorite Portlet It’s a Bookmark collection hierarchical or flat display takes URLs as entries No special Forms configuration required In portal page choose “add portlet” icon and add “Favorite” portlet Customize portlet when running Portal page Can be configured by end user Works with Single Sign-On
Integrate Forms as a Portlet of URLs Using A Portal Content Area Create Content area and name it e.g. “Forms Links” Click page tab / edit page and remove navigation bar Click item tab set visible items to URL Click on Content Area name and create “new folder” for each URL Add Portlet to page Choose Content Area “folder” portlet Click “Customize” link and select “Forms Links” Works with Single Sign-On
SHOW Portal Integration 1 38 2
OC4J Integration 1 38 2
OC4J support, planned for Forms 6i patch 9+ Use Oracle‘s record breaking Servlet container to deploy Forms Services! Oracle Containers for Java (OC4J) is a J2EE compliant Servlet container Run OC4J behind Oracle HTTP Server Plug‘n play load balancer Runs more users per Servlet engine than Jserv
Forms 6i Services in the OC4J Architecture Diagram Forms runtime engine and Configuration files HTTP HTTP mod_proxy Apache JNDI JMS JDBC JTA JavaMail JAF Java Importer H T T P Web Container JNDI JMS Client .jar Forms Web-app config JDBC Client JTA OR MI EJB Container JavaMail ORMI/HTTP JAF EJB Client OC4J Server Process
Forms Services configuration in OC4J Deployment using forms60app.ear file Bind Forms deployment to /forms60 Entry in mod_proxy to point from Oracle HTTP Listener to OC4J Apache to handle client archive files formsweb.cfg is the only configuration that needs to be set manually New: configFileName as context parameter in the forms90 application-deployment directory orion-web.xml
What‘s new in Forms 9i OC4J Integration OC4J is Oracle‘s default J2EE compliant platform in 9i Application Server Release 2 mod_oc4j dispatches between Oracle HTTP Server and the OC4J Servlet container During installation Forms 9i is automatically configured with OC4J Forms 9i shares OC4J instance with Reports 9i and Discoverer 9i All features in Forms 9i and OC4J work the same as in JServ
Summary Information to Go! 1 38 2
Summary Reports Integration Translation Integration Single Sign-On Integration Portal Integration OC4J Integration
Thank you! Questions& Answers DOAG 2001 1 38 2