Strategies to Move Forward with Oracle Forms: What

advertisement
Strategies to Move Forward
with Oracle Forms
What Now? What Next?
Mia Urman
@miaurman
miaurman@AuraPlayer.com
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 …
Our Game Plan:
Leverage your EXISTING investment
CLEAN UP
UPGRADE
MODERNIZE
INTEGRATE
INNOVATE!
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
Then Next ….
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
http://www.oracle.com/technetwork/issue-archive/2010/toolssod-3-129969.pdf
“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=1198LN9P&ct=120208&st=sb
Game Plan:
Leverage your EXISTING investment
CLEAN UP
UPGRADE
MODERNIZE
INTEGRATE
INNOVATE!
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
Game Plan:
Leverage your EXISTING investment
CLEAN UP
UPGRADE
MODERNIZE
INTEGRATE
INNOVATE!
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
Basic Architecture
Forms 11g
WebLogic High Availability
Topology
Porafrm1,2,3
Porafrm1,2,3
Poralnx
Desktop
Internet
Oracle HTTP
Server
Load Balancer
WLS
Oracle
DB
Forms Services Architecture
Client tier
Middle tier:
WebLogic managed server
Database tier
Forms Listener
Servlet
Forms Servlet
Forms Runtime
User interface
layer
UI
rendered
to client
JRE
Forms Client
Application
logic layer
Data manager/
PL/SQL engine
FMX containing
app code
Net Services
DB
Upgrade RoadMap
Forms 3.0
Forms 11g
Weblogic
Server
Oracle Forms
4.0 – 6i
Client Server
Oracle Forms
9i/10g
IAS
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)
Game Plan:
Leverage your EXISTING investment
CLEAN UP
UPGRADE
MODERNIZE
INTEGRATE
INNOVATE!
Forms Look and Feel Modernization
• Toolbar and navigation
• Look and Feel Project
• Color / Font / Size
• Prompts / Titles
• Images
• Frames
• OLB, templates for visual standards
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
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 wrapper
JavaScript
– Interact with objects in the browser page - Maps
Java Beans & PJCs
Java Importer
Importing Java Classes into Forms
Webservices
Call External Services From Forms
> Run external Webservices from within
Oracle Forms triggers
>Create a Web Service
in Jdeveloper
proxy
>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)
return ora_java.jobject;
end;
Javascript Integration
Two way client Side communication
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
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
Using Events in Forms
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);
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
Game Plan:
Leverage your EXISTING investment
CLEAN UP
UPGRADE
MODERNIZE
INTEGRATE
INNOVATE!
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 -
Forms & External Apps
Living In Harmony
Form System
Web.show_doc
ument
AQ
Messages
External System
web.javascript_ev
al_expr
Common
Bus Logic
Security / Management
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
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
Game Plan:
Leverage your EXISTING investment
CLEAN UP
UPGRADE
MODERNIZE
INTEGRATE
INNOVATE!
Evolving With Oracle Forms
AuraPlayer
Block
Mode
Character Client
Mode
Server
Web
SOA
??
What is AuraPlayer
Leverage existing Oracle Forms systems by …
modernizing them to work in new environments
like Mobile, Cloud and SAAS
Oracle Development Today
Web Services
Database
Cloud
Web
Web Services
Desktop
Legacy Systems
Mobile
Office
Applications Unlimited
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
Solution Architecture
DMZ
External Network
Internal Network
Mobile
Oracle
11g DB
Webservices
FW
Desktop
Any UI
Don’t run Forms on mobile
Run your BUSINESS on the mobile
<iPad Demo from OOW>
Customer Story
AuraPlayer
Same Forms Business Logic Multiple UIs
ADF Mobile
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
“Forms isn’t dead it just smells funny”
Francois Degrelle
www.oracleformsinfo.com
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
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
Questions?
More Information
Mia Urman (Me )
miaurman@AuraPlayer.com
@miaurman
Oracle Forms Homepage
ADF Mobile on OTN
Forms Community Blog
www.oracleformsinfo.com
AuraPlayer
www.AuraPlayer.com
PJC Master site
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
PITSS
www.pitss.com
Demos
•
•
•
•
Demo: JavaScript in oracle Forms
Demo: Oracle Look and Feel Project
Demo: <iPad Demo from OOA>
Demo: Oracle Forms running from ADF
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
We thank you for your feedback!
Download