Getting The Most From Forms 12c

Michael Ferrante Principal Product Manager Application Development Tools June 2017

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 3 Agenda

1 Feature Timeline

2 Forms and Web Start (JWS)

3 Empowering the Administrator with FMC Notifications

4 Working with Images

5 Easy to use Tips

6 What’s Coming

7 Community Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 4 What’s New in Forms 12c Tabs with Icons BI-Publisher Integration Login Hints

Java Web Start Audio Playback

Customizable Color Schemes

System Events DB-Idle Item Level Mouse Pointers Client-Idle Notification Single-Sign-Off Media Completion

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 5

The Feature Timeline

GA 2005 GA 2009 GA 2011 GA 2015

Oracle Forms 10.1.2 Oracle Forms 11.1.1 Oracle Forms 11.1.2 Oracle Forms 12.2.1

• Runtime Pooling • WLS Integration • Support For OVAB • Integration With Bi-publisher • Java Web Start and FSAL • JVM Pooling • Javascript Integration • Integration With OAM • System Events • Schedule Runtime Prestart • Improved SSO Integration • Enhanced Java Support • Single Sign-out • Forms Metric Agent • Improved EM Interface • JVM Controller Improvements • Server-side Events • Enhanced Net Diagnostics • Audio Playback • XML Conversion • DB Proxy User Support • Oracle RUEI • Runtime UI Improvements • Enhanced Sql Logging • Urls In Image Items • Custom ColorSchemes • • Integration With ODL guiMode Parameter • Custom logon message • True Window Maximizing • OPSS Integration • And more… • Builder Improvements • Performance improvements • And many, many, more…

http://www.oracle.com/technetwork/developer-tools/forms/documentation

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 6 Java Web Start (JWS) Free your application and go browser-less

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 7 What Is Java Web Start (JWS) • Allows you to run applications without installing the application locally. • Can be launched from browser, hyperlink, command line, or custom script. • Supported with nearly all browsers (exact behavior may vary). • Application looks and feels the same as when running as applet in browser. • Although launched from browser, application is not a child to the browser.

References: https://docs.oracle.com/javase/8/docs/technotes/guides/javaws https://www.java.com/en/download/faq/java_webstart.xml

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 8 Java Web Start (JWS) For Oracle Forms Requirements and Limitations • SSO requires browser. • SSO authentication may not propagated via WEB.SHOW_DOCUMENT. • Does not support SSO Logout. • Does not support JS. (12.2.1.0 – 12.2.1.2) • Client Java (choose one) and optional browser(s):

REQUIRED (choose one) OPTIONAL • Java Plugin (JRE) • Explorer or Edge • (JDK) • Firefox • Chrome • Safari

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 9 Browser-less Settings • alwaysOnTop – Forces the JWS window to remain on top of all other desktop windows. • centerOnStartup – Centers the JWS window upon application startup. • isResizable – When set to FALSE, the JWS window cannot be resized by the user.

Requires 12.2.1.1 or newer.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 10 Java Network Launch Protocol (JNLP)

Oracle Forms Services Oracle Corporation Oracle Forms Services applet launcher. Oracle Forms Applet ......

http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/jnlpFileSyntax.html

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 11 Using JWS • Call from or hyperlink using either http or jnlp protocol. • Call from command line, script, shortcut, custom executable, or Builder.

JNLP/JNLPS requires Java 8u92 or newer

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 12 Using HTTP/HTTPS Browser downloads and processes the jnlp file

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 13 Using JNLP/JNLPS Protocol Handler Java (JWS) downloads and processes the jnlp file (does not support SSO)

Custom protocol handlers currently do not work in Chrome due to a Chrome bug. https://bugs.chromium.org/p/chromium/issues/detail?id=560809

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 14 Running JWS From Command-line

JWS from command-line does not support SSO.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 15 JWS - Install App (for non-SSO only)

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 16 JWS/JNLP - More Information

Java Network Launch Protocol https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/jnlp.html

http://bit.ly/2emxed8

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 17 Notifications Empower your administrator

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 18 Notifications • Causes a “SYSTEM_NOTIFICATION” event to fire in a receiving form. • Caught in WHEN-EVENT-RAISED trigger. • Administrator can cause level 1, 2, 3, 4, or 5 notification to be raised. • Can be sent to one or more runtime sessions at the same time.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 19 Notifications Limitations • Only acted upon after WHEN-EVENT-RAISED fires AND after next round-trip occurs. • Notifications are placed in event queue, so running triggers will continue. • Notifications are not treated as critical events.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 20 Notifications Possible use-cases • Alert users of a pending outage or current system issues. • Force applications to exit cleanly when users leave for the day. • Allow Administrator to enable/disable application features. • Collect session specific information.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 21 Notification Process

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 22 Notifications Code

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 23 Notifications Code

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 24 Working With Images Visually appealing

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 25 Image In Tabs

SET_TAB_PAGE_PROPERTY (‘WELCOME’, ICON_NAME, ’fav_oracle.png’); SET_TAB_PAGE_PROPERTY (‘WELCOME’, ICON_NAME, ’http://example.com/fav_oracle.png’);

Calling tab images from URL may throw warning(s), therefore URL is not recommended.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 26 Images In Buttons

SET_ITEM_PROPERTY (‘BUTTON1’, ICON_NAME, ’exit.png’); SET_ITEM_PROPERTY (‘BUTTON1’, ICON_NAME, ’http://example.com/exit.png’);

Calling button images from URL may throw Java security warning(s), therefore URL is not recommended.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 27 Images In Image Items

READ_IMAGE_FILE (‘C:\foo.gif’, ‘GIF’, ‘block.imageItem’; CLIENT_IMAGE.READ_IMAGE_FILE (‘C:\foo.gif’, ‘GIF’, ‘block.imageItem’;

READ_IMAGE_FILE (‘foo.gif’, ‘URL’, ‘block.imageItem’; READ_IMAGE_FILE (‘C:\foo.gif’, ‘GIF’, ‘block.imageItem’; READ_IMAGE_FILE (‘http://example.com/foo.gif’, ‘URL’, ‘block.imageItem’; CLIENT_IMAGE.READ_IMAGE_FILE (‘C:\foo.gif’, ‘GIF’, ‘block.imageItem’;

Images read from URL cannot be stored to database.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 28 Images Are Buttons

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 29 Tips For Using Images In Your Application • Whenever possible, store images in a signed jar file. • Sign jar file with trusted and known (e.g. Verisign, Thawte, etc) certificate. • Do not package extra, unused content in jars. • Use unique names for jars. (e.g. salesImages.jar, hrMedia.jar) • Ensure image file size is as small as possible. • Properly size images. • Consider how image will be used. Don’t deliver a high res image for a toolbar icon.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 30 Power Tips Quick and easy tips

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 31 Easy To Use Applet Parameters • Do your users often resize/adjust the parent application window? – dynamicLayout=false to reduce network traffic resulting from the window resizing. This should not be used if the application uses WHEN-WINDOW-RESIZE triggers. • Want to set the titlebar text of a JWS window, but can’t figure out how? – webformsTitle= • Want to prevent users from resizing a JWS or FSAL parent window? – isResizable=false will prevent users from altering the parent window size. Programmatic size changes are still possible. Helpful for pixel perfect designs. • Do users complain that the cursor blinks too fast or too slow? – cursorBlinkRate= allows you to set the speed at which the cursor blinks. Setting to “0” stops the cursor from blinking. • Don’t like the Oracle branding? – logo=, background=, splashscreen=

12.2.1.0+ 10.1.2.3+ 6.0.8.10+

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 32 Easy To Use Environment Variables • Do your user prefer all text to be selected when clicking in the field? – FORMS_SELECT_ON_CLICK=1 to select all text when entering a text field with mouse. Setting to 0 will cause the text to not be selected. • Want users to see the password rules when changing old passwords? – FORMS_CHANGE_PASSWORD_HINT= shows this string on the change password dialog. • Prevent the db logon dialog from displaying if logon fails during SSO? – FORMS_HIDE_LOGON_RESET=1 prevents the logon from displaying if logon fails or if the db user password expires. Intended for SSO configurations only.

12.2.1.0+ 10.1.2.3+ 6.0.8.10+

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 33 Oracle Forms in Cloud Example

Infrastructure as a Service (IaaS - Compute)

Desktop

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 34 Oracle Forms in Cloud Example

DB as a Service (DBaaS) Infrastructure as a Service (IaaS - Compute)

Desktop

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 35 The Path Forward • Enhancements to improve usability in Cloud. • UI enhancements. • Improved administrative tools. • Improved performance. • Enhancements to client configurations. • More ways to integrate. • And many more…

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 36 Oracle Forms 12c New Features Paper http://www.oracle.com/technetwork/developer-tools/forms/documentation

2

1

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Community Information • Oracle Forms on Oracle Technology Network oracle.com/technetwork/developer-tools/forms

• Oracle Technology Network Forms Forum community.oracle.com/community/development_tools/forms

•Oracle Support support.oracle.com

• Follow us on Twitter @OracleFormsPM

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Q & A

• How do we achieve the independence to IE from ? – In Forms 12, there are two browser-less configuration options. Those options are Java Web Start and Forms Standalone Launcher (FSAL). • Can I scale the forms according to the screen resolution (automatically or via the set_xxxx_property procedures) in Forms 12c? – You can programmatically adapt your application as you desire. The HEIGHT, WIDTH, X and Y positions are all settable. However, because Forms is intended to develop near pixel perfect layouts, the functionality is not offered automatically. • How to migrate from 11 to 12c WebStart? – There is no "migration" involved in using JWS. To use JWS, simply make a server side configuration change. The end-user tier requires no special changes. An configuration example is provided in the Forms Web Configuration (formsweb.cfg). • How are new security features of RAS incorporated in the new forms version? – RAS refers to db functionality and generally has nothing directly to do with Forms. That said, Forms/Reports 12.2.1.0 - 12.2.1.2 are based on Oracle Database (and pl/sql) 11.2.0.3. So, these versions are limited to the functionality of that db version. 12.2.1.3 is planned to be based on db 12.1.0.2.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 39 Q & A

• Modern GUI, Possibilities of Integration? – Oracle Forms allows for easily extending its UI using Java. With a combination of features delivered with the product and the ability to extend many of the existing objects (or create your own), the Oracle Forms UI is likely more extensible than any other similar technology. • How long will Oracle support Forms? – Oracle Forms 12c, part of FMW 12.2.1.x is planned to be supported until Oct 2020 (Oct 2023). Versions beyond that are planned, but no details or release dates have been made public at this time. • Is there a way to run Forms/Reports without a repository database? Of course there is a database available but in most cases not with with character set AL32UTF8, so an additional db is required with add. license and administration cost. – For runtime purposes, the Repository is required. This is a WLS requirement, used to enhance security and configuration integrity. • Any experience of Forms 12c running on Debian-Linux? – Debian is not a certified platform. Refer to the Supported System Configuration Matrix for the product version in question. – http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 40 Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 41