Mia Urman @miaurman [email protected] Strategies to Move Forward with Oracle Forms What Now? What Next?

Embed Size (px)

Citation preview

  • Slide 1

Mia Urman @miaurman [email protected] Strategies to Move Forward with Oracle Forms What Now? What Next? Slide 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 Slide 3 CLEAN UP UPGRADE UPGRADEMODERNIZE INTEGRATE INTEGRATEINNOVATE! Our Game Plan: Our Game Plan: Leverage your EXISTING investment Slide 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 Slide 5 Slide 6 Then Next . Slide 7 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 http://www.gartner.com/technology/reprints.do?id=1- 198LN9P&ct=120208&st=sb 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 http://www.oracle.com/technetwork/issue-archive/2010/toolssod-3-129969.pdf State of the Union Slide 8 CLEAN UP UPGRADE UPGRADEMODERNIZE INTEGRATE INTEGRATEINNOVATE! Game Plan: Game Plan: Leverage your EXISTING investment Slide 9 Clean Up Dont Migrate/Upgrade Whats 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 Slide 10 CLEAN UP UPGRADE UPGRADEMODERNIZE INTEGRATE INTEGRATEINNOVATE! Game Plan: Game Plan: Leverage your EXISTING investment Slide 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 Slide 12 Basic Architecture Forms 11g Slide 13 WebLogic High Availability Topology WLS Oracle DB Oracle HTTP Server Load Balancer Internet Desktop Porafrm1,2,3 Poralnx Slide 14 Forms Servlet Forms Services Architecture JRE Application logic layer Data manager/ PL/SQL engine User interface layer Forms Listener Servlet Forms Runtime Client tierDatabase tier Middle tier: WebLogic managed server UI rendered to client FMX containing app code Net Services Forms Client DB Slide 15 Oracle Forms 9i/10gIAS Forms 11g WeblogicServer Forms 3.0 Oracle Forms 4.0 6i Client Server Upgrade RoadMap Slide 16 Suggested Work Plan Backup ALL related files !! Pilot Upgrade of application (50-100 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) Slide 17 CLEAN UP UPGRADE UPGRADEMODERNIZE INTEGRATE INTEGRATEINNOVATE! Game Plan: Game Plan: Leverage your EXISTING investment Slide 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 Slide 19 Slide 20 Slide 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 Slide 22 Yes - Java in Forms! Java Beans 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 wrapperJavaScript Interact with objects in the browser page - Maps Slide 23 Java Beans & PJCs Slide 24 Java Importer Importing Java Classes into Forms Slide 25 Webservices Call External Services From Forms package CurrencyConverter /* currconv3.mypackage.CurrConv3Stub */ IS function new return ora_java.jobject; function getrate( obj ora_java.jobject, a0 varchar2, a1 varchar2) return ora_java.jobject; end; > 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 Slide 26 Javascript Integration Two way client Side communication Slide 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 Slide 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 Slide 29 Using Events in Forms Slide 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); Slide 31 Steps Required to Use Database Events: > Database > 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 Slide 32 CLEAN UP UPGRADE UPGRADEMODERNIZE INTEGRATE INTEGRATEINNOVATE! Game Plan: Game Plan: Leverage your EXISTING investment Slide 33 Hybrid Options Living Side By SideLiving Side By Side Forms running alongside new technologies Visual IntegrationVisual Integration Create a common UI Forms & ADF/APEX/Java Process / Service IntegrationProcess / Service Integration Run common business logic DB/Events InnovationInnovation Run Forms business process from new environments - AuraPlayer Slide 34 Forms & External Apps Living In Harmony Form System External System Security / Management Web.show_doc ument Common Bus Logic AQ Messages web.javascript_ev al_expr Slide 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 Slide 36 Process / Service Integration Share Forms Business Logic SOA / BPM Concept Reuse the business logic locked inside your Forms Separate GUI from business logicImplementation Decoupling Remove and Centralize bus logic to DB Events Use AQ events for messaging Slide 37 CLEAN UP UPGRADE UPGRADEMODERNIZE INTEGRATE INTEGRATEINNOVATE! Game Plan: Game Plan: Leverage your EXISTING investment Slide 38 BlockMode CharacterModeClientServerWeb SOA SOA ?? ?? Evolving With Oracle Forms AuraPlayer Slide 39 What is AuraPlayer Leverage existing Oracle Forms systems by modernizing them to work in new environments like Mobile, Cloud and SAAS Slide 40 WebDesktopMobileOffice Database Web Services Legacy Systems Applications Unlimited Oracle Development Today Web ServicesCloud Slide 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 Oracles 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 Slide 42 Oracle 11g DB Desktop DMZ External Network FW Mobile Webservices Any UI Solution Architecture Internal Network Slide 43 Dont run Forms on mobile Run your BUSINESS on the mobile Customer Story Slide 44 AuraPlayer Same Forms Business Logic Multiple UIs ADF Mobile Slide 45 Innovation By Migration 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 Benefits of Migration No Oracle Forms maintenance/licenses Fully portable system No applet, full HTML client Larger developer pool Slide 46 Forms isnt dead it just smells funny Francois Degrelle www.oracleformsinfo.com Slide 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, 3 rd party solution Slide 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 Slide 49 Questions? Slide 50 Mia Urman (Me ) [email protected] [email protected] @miaurman Oracle Forms Homepage ADF Mobile on OTN Forms Community Blog www.oracleformsinfo.com www.oracleformsinfo.com AuraPlayer www.AuraPlayer.com www.AuraPlayer.com PJC Master site http://forms.pjc.bean.over-blog.com/ http://forms.pjc.bean.over-blog.com/ Forms Look and Feel Project http://fdtool.free.fr/LAF/doc/Oracle_Forms_Look_and_Feel_project.htm http://fdtool.free.fr/LAF/doc/Oracle_Forms_Look_and_Feel_project.htm PITSS www.pitss.com More Information Slide 51 Demos Demo: JavaScript in oracle FormsJavaScript in oracle Forms Demo: Oracle Look and Feel ProjectOracle Look and Feel Project Demo: Demo: Oracle Forms running from ADFOracle Forms running from ADF Slide 52 Training Materials JavaScript Information Demo- Integrating Oracle Forms 11g with JavaScript http://st-curriculum.oracle.com/obe/forms/11g/jsinteg/formsjsinteg/setup.htm Documentation - Oracle Forms and JavaScript Integration http://docs.oracle.com/cd/E15523_01/web.1111/e10240/javascript.htm AQ Information Demo - Integrating Advanced Queuing in Oracle Forms 11g http://st-curriculum.oracle.com/obe/forms/11g/formschataq/formschataq.htm Documentation: Working with Server Events http://docs.oracle.com/cd/E12839_01/web.1111/e10240/server_events.htm#CHDIAJDH WebServices Information Demo - Calling a Web service from Oracle Forms 11g http://www.oracle.com/technetwork/developer-tools/forms/webservices-forms-11g-094111.html Slide 53 We thank you for your feedback!