550 likes | 564 Views
Oracle9 i Forms Developer - New Features. Duncan Mills Application Development Tools Oracle Corporation. The Next Generation: Oracle9 i Forms. Oracle9 i Forms Developer. Oracle9 i Forms Services. Oracle9 i Forms: 3 Goals. Openness. Integration. Productivity. Platform Integration.
E N D
Oracle9i Forms Developer - New Features Duncan Mills Application Development Tools Oracle Corporation
The Next Generation:Oracle9i Forms Oracle9i Forms Developer Oracle9i Forms Services
Oracle9i Forms: 3 Goals Openness Integration Productivity
Platform Integration Openness Integration Productivity
Platform Integration • Application Server Integration • Internet Deployment with the Forms Listener Servlet and OC4J • Single Sign-on with Oracle Login Server • LDAP support with Oracle Internet Directory • Easy Management with Enterprise Manager • Database Integration • Character semantic support (new Oracle9i feature) • Environment Integration • Timezone support • Automatic language detection • Application Server Integration • Internet Deployment with the Forms Listener Servlet and OC4J • Single Sign-on with Oracle Login Server • LDAP support with Oracle Internet Directory • Easy Management with Enterprise Manager • Database Integration • Character semantic support (new Oracle9i feature) • Environment Integration • Timezone support • Automatic language detection
The Forms Listener Servlet • Replaces Separate Forms Listener Process • Broad Range of Firewalls/Proxies Supported • Supports HTTP/1.1 or HTTP/1.0 • Native JVM Internet Explorer 5.x Internet Support • Uses Oracle Containers for J2EE (OC4J) or mod_jserv
The Forms Listener Servlet Architecture Client Side Firewall/Proxy Server Side Firewall/Proxy INTERNET All the requests go through the HTTP Listener HTTP Listener Listener Servlet Forms Server Runtime HTTP/HTTPS
Forms Listener Servlet - Benefits • No Extra Process to Manage (Forms Listener) • Uses Standard Load Balancing inc. Hardware • Supports Authenticating Proxies • No Extra SSL Certificate Required - Uses Webserver’s • Only “Standard” Ports Opened Through Firewall • Multiple Runtime Environments on One Server
Single Sign-On Integration • Code Free Single Sign-On integration • Integration of new and existing Forms Web applications • Use Oracle Internet Directory (OID) as password store • Map database user to Single Sign-On user • Store credentials per user and application • Access to Single Sign-On Username in Forms • Built-in application property sso_userid added
Web Client Forms 9i Single Sign-On authentication Oracle 9iAS V2 5. set cookie HTTP Server 1. http request mod_osso 2. authentication request 6. sso_cookie 4. authentication info SSO user SSO password Forms Servlet 3. Login Dialog Oracle Login Server
Forms 9i Single Sign-On database authentication 6. sso_cookie mod_osso Forms Servlet 7. sso_user/apps name 9. connect info 8. username/password@database Forms Listener Servlet Forms Runtime Engine Oracle Internet Directory
Fully Managed by Oracle Enterprise Manager (EM) • EM Support Extended to Include Forms Listener Servlet. • Monitor Forms Processes • CPU • Memory • Enable Runtime Diagnostics From the EM Console.
Platform Integration • Application Server Integration • Internet Deployment with the Forms Listener Servlet and OC4J • Single Sign-on with Oracle Login Server • LDAP support with Oracle Internet Directory • Easy Management with Enterprise Manager • Database Integration • Character semantic support (New Oracle9i feature) • Environment Integration • Timezone support • Automatic Language detection
US7ASCII varchar2(5) JA16SJIS 1 2 3 4 5 varchar2(10) UTF8 1 2 3 varchar2(20) Byte/Character Semantics – The Problem • Declare a Variable to hold a 5 Character String 1 2 3 4 5
Oracle9i Character Semantics • Character Semantics Introduced With Oracle 9i • Variables Can be Sized in Characters Or Bytes e.g. • myVar VARCHAR2(10 CHAR); • myFixedVar CHAR(10 BYTE); • Forms 6i and Oracle 8i use BYTE Semantics • Forms 9i supports Byte or Character • In PL/SQL • For item length definitions
1 2 3 4 5 1 2 3 4 5 1 2 3 Character Semantics - Example • Declare a Variable to hold a 5 Character String US7ASCII varchar2(5 CHAR) JA16SJIS varchar2(5 CHAR) UTF8 varchar2(5 CHAR)
Platform Integration • Application Server Integration • Internet Deployment with the Forms Listener Servlet and OC4J • Single Sign-on with Oracle Login Server • LDAP support with Oracle Internet Directory • Easy Management with Enterprise Manager • Database Integration • Character semantic support (New Oracle9i feature) • Environment Integration • Timezone support • Automatic Language detection
Timezone Support UTC11:41am Perth7:41pm LA4:41am London12:41pm (BST)
So What Time is it? • Where’s the Database? • Where am I? • Where are you? • Is this your time or my time? • What about Daylight Savings? • Ambiguous Times
Timezone Support • Apply conversion to all DateTime Fields • For an Application Define • Local (Client Browser) TimeZone • Database Server TimeZone • Conversion in Both Directions Handled Automatically • Built-in also Provided For Manual Conversion
Automatic Environment Detection • Browser Timezone • If timezone support is being used and local timezone not explicitly defined in config, environment or url • Browser Language • Automatically pick the correct application from the Forms Services Configuration file if language code is appended to app name e.g. CONFIG=HR [HR] … ;Default version of app [HR.DE] … ; German Configuration [HR.FR] … ; French Configuration
Openness with Java and XML Openness Integration Productivity
Openness with Java and XML • Openness on the Middle Tier • Call Java classes with the Java Importer • Openness on the Client • Easily integrate Java Beans on the Client • Extend Forms UI with Pluggable Java Components • JDK 1.3 Support • Openness During Development • Perform bulk changes in your Forms using the Java API • Manipulate the source of a Forms application with the XML converter • Openness on the Middle Tier • Call Java classes with the Java Importer • Openness on the Client • Easily integrate Java Beans on the Client • Extend Forms UI with Pluggable Java Components • JDK 1.3 Support • Openness During Development • Perform bulk changes in your Forms using the Java API • Manipulate the source of a Forms application with the XML converter
Web Services SOAP EJB SMS Messaging JavaMail Currency Conv. Order Tracking Java Utilities Credit Card Auth. Corba Encryption Compression XML Custom Java Java – Your Gateway to a World of Functionality
Integrate Java with the Java Importer • Provides an Interface between Forms and Java • PL/SQL wrappers generated for Middle Tier Java • All the power of Java from within PL/SQL! declare tokenizer ORA_JAVA.JOBJECT; begin tokenizer := StringTokenizer.new(:source,','); while StringTokenizer.hasMoreTokens(tokenizer) LOOP :output := :output|| StringTokenizer.nextToken(tokenizer)|| chr(10); end LOOP; end;
Java Importer • Support For: • Arrays • Exceptions • Objects • Methods • Attributes • StaticMethods/Attributes • Object lifetime & Persistence
Openness with Java and XML • Openness on the Middle Tier • Call Java classes with the Java Importer • Openness on the Client • Easily integrate Java Beans on the Client • Extend Forms UI with Pluggable Java Components • JDK 1.3 Support • Openness During Development • Perform bulk changes in your Forms using the Java API • Manipulate the source of a Forms application with the XML converter
Enhanced JavaBean Support • Integrate JavaBeans and Applets into the Forms Client Without Writing Java Wrappers • PL/SQL Access to • Methods • Properties • Events • Automatically Manages Heavyweight Components
Enhanced JavaBean Support • Interaction at Runtime via the FBEAN Package • Register the bean • Set/Get properties • Invoke Methods • Events integrate viaWhen-Custom-Item-Event
Support for Java 1.3 • Middle Tier • With the Java Importer (1.2.2 and above are supported) • Client Tier • 1.3 JDK based JInitiator • Simpler to integrate Forms and other Applets on the same page • Support for Sun 1.4 Plugin is in the pipeline
Openness with Java and XML • Openness on the Middle Tier • Call Java classes with the Java Importer • Openness on the Client • Easily integrate Java Beans on the Client • Extend Forms UI with Pluggable Java Components • JDK 1.3 Support • Openness During Development • Perform bulk changes in your Forms using the Java API • Manipulate the source of a Forms application with the XML converter
Java Forms API • Manipulate Forms Modules (FMB, OLB, MMB, PLL) outside of the Builder. • Create, Change, Compile • Make Global Changes • Build Utilities e.g. Batch Compile, Diff • Custom Documentation and Impact Analysis • Compliments the existing C API
Forms to XML Converter • Alternative text format to FMT files • Full Roundtrip Support • Ideal for: • Impact Analysis • Custom Reporting • Programmatic manipulation • Called from Java Programs or Standalone • Forms2XML / “iff2xml90” • XML2Forms / “ifxml2f90” • XMLValidator / “ifcmlv90”
Sample XML <Module version="90000500" xmlns="http://xmlns.oracle.com/Forms"> <FormModule Name="ONEBLOCK" MenuModule="DEFAULT&SMARTBAR" Title="MODULE1"> <Coordinate RealUnit="3" DefaultFontScaling="true" CoordinateSystem="1" CharacterCellWidth="5" CharacterCellHeight="14"/> <Block Name="EMP" RecordsDisplayCount="5" QueryDataSourceName="emp" ScrollbarWidth="9" ScrollbarLength="135"> ..... </Block> <ObjectGroup Name="OBJECT_GROUP"> <ObjectGroupChild Name="EMP" Type="Block"/> </ObjectGroup> </FormModule> </Module>
Development Productivity Openness Integration Productivity
Development Productivity • Productivity in Application Testing and Debugging • Debug your Forms applications easily with the new remote debugger • Run your Form in a browser from the development environment • Runtime improvements • Productivity in Application Translation • New translation tool: TranslationHub • Productivity in Versioning and SCM • Native integration with Oracle SCM for impact analysis and version control • Productivity in Application Testing and Debugging • Debug your Forms applications easily with the new remote debugger • Run your Form in a browser from the development environment • Runtime improvements • Productivity in Application Translation • New translation tool: TranslationHub • Productivity in Versioning and SCM • Native integration with Oracle SCM for impact analysis and version control
The New Debugger • Integrated into the Forms Builder • Debug from within your build environment • Debug Forms Applications as they Run on the Web • Run Directly in Debug Mode or Attach to Remote Session • Debug a user’s session “live”!
Hey I’ve got a Problem!!! Send me your Debugging Information Remote Debugging !?*! User Developer
Debugger Features • Set Breakpoints and Make Changes Directly in the PL/SQL Editor • Improved Debug Facilities • Watches • Break on Exception • Package Variables • Drill down through Records and Arrays • Debug Console with Dock-able Windows
Running from the Builder • Run From Builder Directly into a Web Browser • PJCs and JavaBeans Fully Functional when Running in Browser • Run in Debug Mode directly from Builder
Runtime Improvements • List Of ValuesNon Blocking Long Lists • Population Can be Cancelled during at Any Time • Status Bar Shows number of rows as population proceeds
Runtime Improvements One-Time Where Clause • Temporary addition to the Where Clausefor a Block (like Pre-Query) • Discarded after execution • Allows bind variable use • Save DB Resources by reusing cursors in the SGA Shared SQL Area • New Application Property - Version • Returns the Version Number of the Forms Services
Development Productivity • Productivity in Application Testing and Debugging • Debug your Forms applications easily with the new remote debugger • Run your Form in a browser from the development environment • Runtime improvements • Productivity in Application Translation • New translation tool: TranslationHub • Productivity in Versioning and SCM • Native integration with Oracle SCM for impact analysis and version control
TranslationHub • Replacement for OTB and OTM • Use it to translate Forms 9i and Reports 9i • Proven technology • Forms 9i and Reports 9i only • Migration path from OTB/OTM: • Upgrade Forms 6i module to Forms 9i • Create translation project by importing strings
TranslationHub - Key Features • String Context • Tells translator the string type (e.g. boilerplate, button label etc.) • Hierarchical view • String mass updates • Support for Batch processing and translation • Teamworking Support
TranslationHub - Translation Views • Outline • Hierarchical • WYSIWYG • Output • Terminology
Development Productivity • Productivity in Application Testing and Debugging • Debug your Forms applications easily with the new remote debugger • Run your Form in a browser from the development environment • Runtime improvements • Productivity in Application Translation • New translation tool: TranslationHub • Productivity in Versioning and SCM • Native integration with Oracle SCM for impact analysis and version control