Presentation is loading. Please wait.

Presentation is loading. Please wait.

Strategies to Move Forward with Oracle Forms

Similar presentations


Presentation on theme: "Strategies to Move Forward with Oracle Forms"— Presentation transcript:

1 Strategies to Move Forward with Oracle Forms
What Now? What Next? Mia Urman @miaurman

2 Who am I Mia Urman Oracle ACE, CEO, AuraPlayer
Oracle Development Geek for 14 years. 7 years at Oracle as a senior support analyst and local product manager of Forms and ADF. CEO and Founder of AuraPlayer - Addressing Oracle Forms modernization challenges encountered at blue chip customers. Including: ADF Integration, Forms to Mobile, Cloud and SOA. Board member of ODTUG, Leader of the ilOUG Oracle Developer Group and presenter of Oracle tools at international conferences OOW, Kscope, UKOUG …

3 Our Game Plan: Leverage your EXISTING investment
CLEAN UP UPGRADE MODERNIZE INTEGRATE INNOVATE!

4 NOW – Forms Today HUGE Forms investment Trained developer pool
Mission critical, complex systems Best development tool for OLTP Systems - Desktop Low maintenance, stable system for over 10 years Mostly undocumented systems VERY fast productive development

5 Whats Next…

6 Then Next ….

7 State of the Union “Oracle has no plan to discontinue support of Oracle Forms.” “…continue to leverage their existing investments for many years while offering a path to incrementally move to Java EE, at their own pace.” Oracle Application Development Tools SOD , March 2012 “Oracle Forms remains a viable and valuable technology asset for mainstream IT strategies, but has limited scope in next-generation” Gartner: Modernization and Migration Strategies for Oracle Forms Nov. 2011

8 Game Plan: Leverage your EXISTING investment
CLEAN UP UPGRADE MODERNIZE INTEGRATE INNOVATE!

9 Clean Up Don’t Migrate/Upgrade What’s Not in Use
10 Year old system – Are any modules obsolete? Review usage of the system What forms are now obsolete? What reports are not run? Do we will use PLL / OLBs? Remove dead code - PITSS Delete multiple copies of same sources Merge forms that perform similar tasks

10 Game Plan: Leverage your EXISTING investment
CLEAN UP UPGRADE MODERNIZE INTEGRATE INNOVATE!

11 Why Upgrade Your Forms? Ensure support (C/S de-supported 2004/10g Dec. 2011) Certification – New browsers, O/S, Java versions New features - SOA, REUI, JavaScript Strategic Middleware - Runs on WebLogic Upgrade is Seamless from 10g to 11g Platform for integration

12 Basic Architecture Forms 11g

13 WebLogic High Availability Topology
Porafrm1,2,3 Porafrm1,2,3 Poralnx Desktop Internet Oracle DB Oracle HTTP Server WLS Load Balancer

14 Forms Services Architecture
Middle tier: WebLogic managed server Client tier Database tier Forms Listener Servlet Forms Servlet Forms Runtime Net Services User interface layer DB Application logic layer UI rendered to client Forms Services Architecture Forms Services consists of four major components: The Forms Servlet The Java client (or Forms Client) The Forms Listener Servlet The Forms Runtime Engine The graphic in the slide shows that the Forms Servlet, Forms Listener Servlet, and Forms Runtime reside on the middle-tier WebLogic Server. The user interface layer of the Forms Runtime, which is a Java applet, is dynamically downloaded from the application server at run time and is automatically cached on the client computer. The same Java applet code can be used for any form, regardless of size and complexity. This is what is referred to as the Forms Client or the Java client. Although Forms Services uses a Java applet for displaying the form on the client browser, the developer does not need to know Java to develop and deploy a Forms application. The next few slides provide additional details about each Forms Services component. After that, you learn how each component functions when the user requests an application, working within the deployment framework of Oracle WebLogic Server. Data manager/ PL/SQL engine JRE Forms Client FMX containing app code Oracle Fusion Middleware 11g: Administer Forms Services

15 Upgrade RoadMap Forms 3.0 Oracle Forms Forms 11g 4.0 – 6i Weblogic
Client Server Forms 11g Weblogic Server Oracle Forms 9i/10g IAS Migration Path The only supported way to upgrade directly to Oracle9i Forms is from Forms6i or 6.0. Older versions of Forms applications will need one or more interim upgrades: Forms 4.0, 4.5, or 5.0 applications will first need to be upgraded to Forms6i. Although it should work to upgrade directly from 6.0, it is not supported to do so. Forms 2.0, 2.3, or 3.0 applications will first need to be upgraded to Forms 4.5, then to Forms6i. For instructions for upgrading older versions, refer to the following white papers, available on OTN: Upgrade Developer Forms 4.5 to Oracle Forms 6 Migrating SQL*Forms 3.0 Applications to Internet Computing

16 Suggested Work Plan Backup ALL related files !!
Pilot Upgrade of application ( forms) Check forms for C/S or OS Specific features Get an estimate of the work, time, cost Clean up environment – unused, dead code Modernize Look and Feel of the application Freeze C/S - all new developments should be web Do full upgrade in modules / Phases Testing should be with each module! Do Production Pilot (Phased rollout) Here is a suggested work plan for upgrading your application to the Web. Start with a small pilot that will give you an estimate of the work involved and will enable you to demonstrate the solution to management. You only need Oracle9iDS installed for this upgrade as it contains everything you need to Web deploy in test environment. Once you get approval freeze the development of the application and upgrade the complete application. Install Oracle9iAS and deploy your application on it.

17 Game Plan: Leverage your EXISTING investment
CLEAN UP UPGRADE MODERNIZE INTEGRATE INNOVATE!

18 Forms Look and Feel Modernization
Toolbar and navigation Look and Feel Project Color / Font / Size Prompts / Titles Images Frames OLB, templates for visual standards

19

20

21 Look and Feel (LAF) Project
Dynamic LAF UI of Forms runtime. Read from a CSS file then applied to the Forms elements at runtime. Have a more «HTML» look Components Set of Java Beans/PJCs (laf_xxx.jar) PL/SQL library (laf.pll) External CSS file

22 Yes - Java in Forms! Java Beans PJC – Portable Java Component
Java Bean Area - layout object on canvas Use custom trigger to get and set properties PJC – Portable Java Component Change default behavior/properties of objects Java Classes – Run webservices Run Java code in forms triggers Java importer – PLSQL java wrapper JavaScript Interact with objects in the browser page - Maps

23 Java Beans & PJCs

24 Java Importer Importing Java Classes into Forms

25 Webservices Call External Services From Forms
Run external Webservices from within Oracle Forms triggers Create a Web Service proxy in Jdeveloper Call the WS client from the Forms application using the Java Importer package CurrencyConverter /* currconv3.mypackage.CurrConv3Stub */ IS function new return ora_java.jobject; function getrate( obj ora_java.jobject, a0 varchar2, a1 varchar2) end;

26 Javascript Integration Two way client Side communication

27 JavaScript Two Way JavaScript Communication
HTML page uses raiseEvent JavaScript method on applet object to pass event with payload to the form document.forms_applet.raiseEvent(event_name, payload); Trigger: WHEN-CUSTOM-JAVASCRIPT-EVENT Variables: system.javascript_event_value , name Form executes JavaScript in the browser web.javascript_eval_expr_function web.javascript_eval_expr JavaScript event handling can be disabled in the forms configuration files Two new calls are available in the web Built-in package: web.javascript_eval_expr web.javascript_eval_function The first call web.javascript_eval_expr is a procedure which takes two arguments: an expression and a target, both of data type varchar2. This legal JavaScript expression is interpreted in the Web page in which the Forms applet is embedded. The expression can be a call to a function that is defined in the target page or any valid JavaScript expression that can be executed on the target page, for example, document.bgColor='red'. The expression is executed, using LiveConnect's JSObject.eval() method, in the context of the page or frame that is named in the target argument. If the target argument is null, then it is executed in the page or frame in which the Forms applet is embedded. The second call, web.javascript_eval_function is a function and returns a varchar2 value. Both web.javascript_eval_expr and web.javascript_eval_function have the same functionality except that javascript_eval_expr does not send any return value from the Forms client to the Forms Services. If your application does not need a return value, use web.javascript_eval_expr. The additional network trip that is required to carry the return value from the Forms client to the Forms Services is eliminated. To set the value of an HTML text item with the ID outside_field_id to the value of the Forms field called inside, you could write this PL/SQL code: web.javascript_eval_expr(' document.getElementById("outside_field_id").value=' ||:inside );

28 Javascript Integration
Communicate between forms and browser page objects web.javascript_eval_expr web.javascript_eval_function – With return value JavaScript calls from Applet page (Forms object in the DOM ) into the form document.forms_applet.raiseEvent(event_name, payload); Two new forms system variables: system.javascript_event_value (payload) system.javascript_event_name (event_name) Oracle Forms fires new trigger called: WHEN-CUSTOM-JAVASCRIPT-EVENT. enableJavascriptEvent in formsweb.cfg to enable or disable JavaScript integration FORMS_ALLOW_JAVASCRIPT_EVENTS in default.env to override Two new calls are available in the web Built-in package: web.javascript_eval_expr web.javascript_eval_function The first call web.javascript_eval_expr is a procedure which takes two arguments: an expression and a target, both of data type varchar2. This legal JavaScript expression is interpreted in the Web page in which the Forms applet is embedded. The expression can be a call to a function that is defined in the target page or any valid JavaScript expression that can be executed on the target page, for example, document.bgColor='red'. The expression is executed, using LiveConnect's JSObject.eval() method, in the context of the page or frame that is named in the target argument. If the target argument is null, then it is executed in the page or frame in which the Forms applet is embedded. The second call, web.javascript_eval_function is a function and returns a varchar2 value. Both web.javascript_eval_expr and web.javascript_eval_function have the same functionality except that javascript_eval_expr does not send any return value from the Forms client to the Forms Services. If your application does not need a return value, use web.javascript_eval_expr. The additional network trip that is required to carry the return value from the Forms client to the Forms Services is eliminated. To set the value of an HTML text item with the ID outside_field_id to the value of the Forms field called inside, you could write this PL/SQL code: web.javascript_eval_expr(' document.getElementById("outside_field_id").value=' ||:inside );

29 Using Events in Forms

30 Advanced Queues Highly Available Asynchronous Communication
Messages are pushed to forms from DB msg queue New event object in forms builder attached to queue WHEN-EVENT-RAISED trigger Code that should be initiated when a message is received in the subscribed queue Use DBMS_AQ package from within forms triggers DBMS_AQ.ENQUEUE( queue, enqopt, msgprop, payload, enq_msgid);

31 Steps Required to Use Database Events:
Create a queue table Create a queue Start the queue Enqueue a message Forms Builder Create an event object Subscribe event object to the queue Code necessary notification Forms Server Run the form and register the subscription Invoke the When-Event-Raised trigger upon event notification

32 Game Plan: Leverage your EXISTING investment
CLEAN UP UPGRADE MODERNIZE INTEGRATE INNOVATE!

33 Hybrid Options Living Side By Side Forms running alongside new technologies Visual Integration Create a common UI – Forms & ADF/APEX/Java Process / Service Integration Run common business logic DB/Events Innovation Run Forms business process from new environments -AuraPlayer

34 Forms & External Apps Living In Harmony
Form System External System Web.show_document web.javascript_eval_expr AQ Messages Common Bus Logic Security / Management

35 What is Visual Integration? Portal \ Unified Desktop \ Dashboards
Concept Integrating Oracle Forms and Other Technologies Into a single user experience One point of access - SSO Customized based on users business needs Implementation iFrames Javascipt guiMode – Remove menus

36 Process / Service Integration Share Forms Business Logic – SOA / BPM
Concept Reuse the business logic locked inside your Forms – Separate GUI from business logic Implementation Decoupling – Remove and Centralize bus logic to DB Events – Use AQ events for messaging

37 Game Plan: Leverage your EXISTING investment
CLEAN UP UPGRADE MODERNIZE INTEGRATE INNOVATE!

38 Evolving With Oracle Forms
AuraPlayer Block Mode Character Mode Client Server Web SOA ??

39 Leverage existing Oracle Forms systems by …
What is AuraPlayer Leverage existing Oracle Forms systems by … modernizing them to work in new environments like Mobile, Cloud and SAAS

40 Oracle Development Today
Web Services Cloud Web Desktop Mobile Office Database Web Services Legacy Systems Applications Unlimited

41 The Oracle Forms Modernization Challenge
Preserve Oracle Forms investments while … Enabling Forms business processes as WebServices in the cloud. Launching new ADF Mobile applications on Forms business logic Integrating with Oracle’s next generation development technologies – ADF, ADF Mobile, Webcenter Suite Running Forms silently from SOA / BPM systems Creating collaborative applications – Dashboards, Portals … Avoiding risky and costly migration/re-development

42 Solution Architecture
DMZ External Network Internal Network Mobile Oracle 11g DB Webservices FW The OraPlayer server is an EAR file that can be deployed to a Weblogic server The OraPlayer service manager can be installed on the existing Forms server machine or on a second server that can access the Oracle Forms server via network. Any PC that can run Oracle Forms can be used to record an Oracle Forms Scenario. It does NOT need to have Forms developer installed Desktop Any UI

43 Don’t run Forms on mobile Run your BUSINESS on the mobile
<iPad Demo from OOW> Customer Story

44 AuraPlayer Same Forms Business Logic Multiple UIs
ADF Mobile

45 Innovation By Migration
Benefits of Migration No Oracle Forms maintenance/licenses Fully portable system No applet, full HTML client Larger developer pool Things to Consider This is a PROJECT. No silver bullet Need a business reason to redevelop Need thorough understanding of the Forms application No tool can re-write your business logic Need deep knowledge of the new technologies UI implications – HTML vs Applet Investigate 3rd party tools for migration assistance

46 “Forms isn’t dead it just smells funny”
Francois Degrelle

47 Moving Forward Considerations For Modernization Projects
Asses Your Requirements What systems do we need to integrate with? UI requirements? What platforms do we need to deploy to? Understand Your Existing System Where does the business logic sit today? What functionality is duplicated in other systems? Do we have documentation? Developer resources? Define Timeline and Budget Decide on Implementation Method Integrate, Migrate, 3rd party solution

48 Summary Clean up Forms environment – unused, dead code
Upgrade to Latest version – Forms 11gR2 Modernize Look and Feel - Incorporate Java elements Chose right tool for the job Refactor code to the DB Systems on common infrastructure Weblogic – SSO Slowly evolve teams and systems Start thinking about system INNOVATION – ADF Mobile Use AuraPlayer to move systems to the next generation platforms / environments without migration NOT NEEDED IN THIS PRESENTATION

49 Questions?

50 More Information Mia Urman (Me ) miaurman@AuraPlayer.com
Oracle Forms Homepage ADF Mobile on OTN Forms Community Blog AuraPlayer PJC Master site Forms Look and Feel Project PITSS

51 Demos Demo: JavaScript in oracle Forms
Demo: Oracle Look and Feel Project Demo: <iPad Demo from OOA> Demo: Oracle Forms running from ADF

52 Training Materials JavaScript Information AQ Information
Demo- Integrating Oracle Forms 11g with JavaScript Documentation - Oracle Forms and JavaScript Integration AQ Information Demo - Integrating Advanced Queuing in Oracle Forms 11g Documentation: Working with Server Events WebServices Information Demo - Calling a Web service from Oracle Forms 11g

53 Please fill out your session evaluation
We thank you for your feedback!


Download ppt "Strategies to Move Forward with Oracle Forms"

Similar presentations


Ads by Google