|
Feature
A Form Break
By David A. Kelly
Customers find the benefits outweigh the challenges of leaving Oracle Forms and moving to the Web and Java.
A few years ago, Oracle announced that it was eventually making Oracle Forms Web-only and that it was investing heavily in Java, J2EE, and Oracle JDeveloper. Larry Phillips, chief technology officer at Computer Methods International Corporation (CMiC), in Toronto, was worried. For most customers, Oracle's change in the direction of Oracle Forms mirrored the new enterprise need to move away from fat-client client/server applications toward more-manageable and -flexible internet-ready architectures that could leverage the capabilities of the new application servers. Yet many, like CMiC, had made considerable investments in their traditional Oracle Forms client/server applications and were concerned.
"When we heard what Oracle had in mind, we sat down and said, what is this going to mean for us? Is it the end of life for us as an Oracle Forms shop, or is there a future?" says Phillips, whose team had been developing in Oracle Forms since 1986. CMiC had an extensive investment in its Oracle Forms-based application suite, which included full Financials (from General Ledger to Payroll) as well as specific applications for the construction industry, such as project management, subcontract management, and progress billing.
"After some analysis, what we decided to do was to maintain the core of our applicationwhich is an enterprise resource planning (ERP)-style application for the construction industryin Oracle Forms, while writing a series of collaborative applications in Java and HTML to surround it, using the common infrastructure of Oracle Application Server and Oracle infrastructure," says Phillips. The decision has been successful, and now many of CMiC's customers are using a seamless mixture of Oracle Forms and J2EE-based applications.
CMiC isn't alone. With tens of thousands of Oracle Forms developers worldwide and a multitude of business-critical Oracle Forms applications deployed worldwide, it's not surprising that there are questions about how to preserve this investment and move from traditional Oracle PL/SQL Forms applications to the Web or to new, standards-oriented Java
and J2EE applications. But, luckily, there are also answers.
The Answer: Upgrade and Integrate
"We frequently get two main questions from Oracle Forms customers: What should I do with my current Oracle Forms application? And what is my path to get to Java and J2EE?" says Regis Louis, director of product management for application development tools at Oracle. "We have an answer for both. For most companies, the answer is to upgrade and integrate. Some companies may want to completely redevelop their application logic in Java, but most can preserve their existing investment by upgrading to the latest versions of Oracle Forms while extending and replacing functionality using Java and J2EE."
While Oracle is investing heavily in Java and J2EE applications and infrastructure support, it remains committed to Oracle Forms and is continuing to ensure that the Forms architecture remains stable and supported. "Oracle has always supported standards, and we are committed to new development standards like J2EE," says Christophe Job, vice president for application development tools at Oracle. "However, we also have a billion-dollar-a-year business that's built on our Oracle Forms products that predate those standards, so there's no question that we'll continue to strongly support multiple versions of the Forms technologies."
Oracle customers will see that support manifest itself in two main ways in Oracle Forms: in additional support for upgrading from older versions to the latest versions, and in additional integration capabilities. "We don't want to drastically change the whole architecture of Oracle Forms," says Louis, "but we will continue to add new features and invest in specific areas, such as ones that help customers upgrade their applications to the Web. Another area we're investing in is features that help customers to integrate and interoperate with other applications and Oracle Application Server. That's where we're focusing our engineering energies."
|
The Benefits
Here are some benefits of upgrading from
Oracle Forms client/server to the Web:
- Ability to leverage J2EE standards and development resources
- Reduced costs due to standardized infrastructure across application lifecycle
- Out-of-the-box integration with Oracle Application Server, Oracle Enterprise Manager, and other Oracle infrastructure components
- Easier integration with any J2EE-enabled application or service
- Web services support
|
For many customers with large Oracle Forms investments, a progressive approach makes logical sense. "We don't want to make our customers have to rewrite their applications in J2EE," says Louis. "Sometimes they will, but the best approach is to do something incremental, where you can add a new capability or a new feature to a Forms application in J2EE and simply integrate it into the existing application, and over time you can extend your usage of J2EE."
Upgrading to the latest versions (Oracle9i or Oracle 10g) of Oracle Forms is the fastest way for most organizations with Oracle Forms-based applications to gain some new benefits while moving toward J2EE-based environments. "Customers who upgrade their Oracle Forms applications to the Web are going to get some integration capabilities right out-of-the-box," says Louis. "For instance, they're going to get integration with Oracle Application Server out-of-the-box and its ability to manage, monitor, and diagnose their Oracle Forms applications from the central console of Oracle Enterprise Manager, just by going to the Web."
In the past, those types of benefits would have been difficult to achieve from an Oracle Forms-centric environment. But since the new versions of Forms leverage the rest of the Oracle infrastructure and Oracle Application Server environment, they can really take advantage of that to communicate with Java and other applications and services deployed on the application server.
Upgrading your Oracle Forms applications and deploying them on Oracle Application Server opens the doors for integrating them. Oracle Application Server provides a variety of common services that can be used across environments. For example, it's possible to use Oracle Single Sign-On across Oracle Forms, Oracle Portal, and Java-based applications to streamline the user experience and make the environment more secure. Or, if developers want to share their business logic from Oracle Forms environments to their J2EE environment, they can do it by refactoring the PL/SQL code in the Oracle Forms application and storing the PL/SQL code as stored procedures in the database. Then, the same code can be accessed from both the Oracle Forms and the J2EE environments.
|
Snapshots
Computer Methods International Corporation
Location: Toronto, Canada
Industry: Software developer, architecture, engineering, and
construction market
Revenue: CAD10 million
Oracle products and services: Oracle Database, Oracle Application Server, Oracle Forms and Reports, Oracle JDeveloper, Oracle Portal, BC4J and OC4J, Oracle Discoverer, and Oracle Workflow
Century Consultants, Ltd.
Location: Lakewood, New Jersey
Industry: Software developer, education market
Employees: 40
Oracle products and services: Oracle Database; Oracle Forms; Oracle JDeveloper; Oracle Application Server; Oracle Portal and Oracle Discoverer
|
"From the Oracle Forms environment you can call to any other program that has a Java interfaceyou can really interoperate with almost any program or anything that is exposed as a Web service," says Louis. "For example, you can have your Oracle Forms application kick off a business process from Forms just by calling the Web service that has been provided by a third party, so that the Forms application is participating in your whole business process environment."
"Upgrade and integrate" is also the strategy that's being successfully followed by Oracle's E-Business Suite product, which moved from the client/server version to the Web version. "The E-Business Suite has a huge Oracle Forms investment, but they also have a lot of J2EE investment and they want to share business logic between the two different technologies and integrate them," says Louis. "One way they've done that is by storing a lot of their business logic as stored procedures in the Oracle database, so they can share the business logic between the Oracle Forms environment and the J2EE environment."
Something Old, Something New
Leveraging its existing investment in Forms while still enabling its customers to use the latest technologies and J2EE application infrastructure components were critical reasons why CMiC decided to keep the core of its applications in Forms, while surrounding it with seamlessly integrated custom collaboration applications written in J2EE.
In January of 2004, after spending about a year learning Web development and creating new applications with Oracle JDeveloper, CMiC released the first version of its Web-based (and Oracle9i Application Server-based) collaborative suite of applications that complement and integrate with its traditional Oracle Forms-based financial application.
"Today we have customers that are running the Oracle Forms application in Forms 9i and the Java application right inside the same environment," says Phillips. "We've tried to define the look-and-feel to be very similar so that they don't have two user interfaces and so it feels like one application, and it's worked perfectly (see Figure 1)."
|
|
| Figure 1: CMiC designed the user interface of its new JSP/HTML applications (top) to look and feel like existing Oracle Forms-based applications (bottom), helping keep the user experience consistent.
|
While CMiC considered completely rewriting its Forms-based application, it determined that the application was just too big. It was more effective and just as efficient to simply add the new functionality through Oracle JDeveloper and J2EE.
"The collaboration applications are pure JavaServer Pages [JSP] and HTML that enable us to extend our Forms-based ERP package out to all the different stakeholders, such as subcontractors and owners, that are involved in a building project," says Phillips. "They now have collaborative screens that enable them to do all this work, directly updating a single database shared with our Forms application."
"What's important for most companies to understand about the paradigm shift of going to the internet is that there is a new class of applications that are being enabled," says Oracle's Job. "CMiC is a good example of what we recommendthey picked a few areas and used J2EE to extend their Forms application."
Even though it had to put some effort into learning Java and how to develop the collaborative applications using Oracle JDeveloper, the process of taking advantage of new Oracle technologies isn't new to CMiC. "[Our products] have always been an Oracle-based solution, so we've always tried to use as much of the database functionality as we can. Now that we've got this middle tier, we're taking advantage of that and making information available through Oracle Discoverer and Oracle Portal directly from our applications," notes Phillips.
"We're taking advantage of single sign-on in both applications (the Forms and JSP applications), so it works the same way, which is important," says Phillips, who also notes that it took a little bit of effort to make it work seamlessly. "The only tricky part we found is that you have to set up Resource Access Descriptors in the Forms applications. We didn't want to have people managing single sign-on passwords and database connections at the same time, so we wrote our own JSP application that sets up the single sign-on, creates a user in the database, updates several tables that we use, and generally makes sure that things within the applications are synchronized."
Another benefit that CMiC found by moving its application to the latest versions and integrating it with other Oracle technologies is the ability to easily integrate third-party applications into the Oracle Forms environment. "We've developed a dashboard application that relies on Web services on the back end and Macromedia Flash on the front end. We also have written an imaging application that uses Oracle Workflow. Our users can scan in documents using any third-party scanning software, index them into the database using any user-defined criteria that they wish, and display them on-screen. When they submit them, it kicks off a workflow that can launch approvals and other processes, and the document data ends up in our database as an object," says Phillips.
CMiC's imaging application is a good example of how applications can bridge technologies. For example, the maintenance section of the imaging application is written in Oracle Forms, yet the actual image viewing applications are written in JSP screens. From within the Oracle Forms screens you can define the lookup criteria and the mapping of the fields on the imaging screen to the index, and then even call up a JSP view from within the Oracle Forms application to see the original source documents. "The nice thing is that the Forms themselves use PL/SQL in the database to do most of their processing, and where we're doing the same functions in the JSP programs, we're simply reusing the PL/SQL," says Phillips. "That's a nice feature of the whole Oracle environmentthat I can reuse code so easily."
Another capability that saved CMiC time and resources when creating new Java applications was Oracle's Business Components for Java (BC4J) framework. "BC4J was a big advantage for us," says Phillips. "All of our Java applications use BC4J to do all of our database interaction at a high level. It's completely different from the way that Oracle Forms does it, yet BC4J gives you the same feel as Oracle Developer."
Moving from PL/SQL Forms to Java requires not only changes to your applications but changes to your skill sets and developer resources. For CMiC, it meant moving from having 20 Oracle Forms developers originally to having 10 Oracle Forms developers and 10 Java developers today. To accomplish this transition, CMiC hired a few Java developers who knew the J2EE environment inside and out and used them to run a training course and help guide the projects and assist six of the existing PL/SQL developers to make the transition. Also invaluable were Oracle Education courses and knowledge gleaned at user conferences.
Of course, few changes are without their challenges. For CMiC, the move to Java development meant that the developers had to spend more time on the nitty-gritty of application infrastructure, and projects took longer than expected. "Programming in Java is a lot slower than what you're used to, especially at first," says Phillips. "We typically budget three to four times as long to write the same program in JSP than we would to write it as a Form. You're really working at a much lower level. Oracle JDeveloper handles so much for you, with all its wizardsit really gets you going."
Phillips is looking forward to taking advantage of Oracle 10g's new features. "We're anxiously anticipating getting to Oracle JDeveloper 10g and Oracle Application Development Framework (ADF). ADF is very, very nice because it makes Java development much more like Oracle Forms," says Phillips. "It gives you the whole idea of a visual editor, where you can drag things in and build your table automatically and connect it up with its data source and so on. That's pretty hard to do when you're just starting out in JSP programming, so we think that will be a big benefit for us."
According to Oracle's Louis, Oracle has taken steps to make developers comfortable with the transition from Oracle Forms to Oracle ADF. "Our strategy with Oracle ADF is to offer a visual and declarative development environment for J2EE that will expose concepts and a development style familiar to Forms developers," explains Louis.
To Phillips, it's almost as if CMiC's current combination of Oracle Forms applications and newer, J2EE-based applications is the perfect balance of old and new. "We've been very lucky. We've stayed with Oracle Forms through all the years, and it has worked very well for us."
Stepping Stones to Higher Application Functionality
Adapting to market requirements and delivering a flexible solution is important to Century Consultants, Ltd. Century, located in Lakewood, New Jersey, has been using Oracle Forms and Oracle Reports since 1987, starting with character version Forms 3.0 and working its way through the client/server versions 4, 5, and 6 and the Web-based versions 6i and 9i.
The company uses Oracle Forms, Oracle Reports, and Oracle Portal to create "Star_Base," its student information software that tracks things like attendance and grades and is deployed by school systems around the country. "We've gone through the process of upgrading each time, doing everything step to step to step," says Bob Magan, product development director. Century's educational customers are currently running versions 6i and 9i of Oracle Forms, along with Oracle9i Application Server Portal, Release 2.
Although Century has been committed to Oracle Forms from the beginning, they're also committed to leveraging as much of the Oracle architecture as it can. "I believe if you have PL/SQL programmers, you should continue to use them," says Magan. "But you should also look into the new technologies available and build them into your applications. The Oracle stack is flexible enough so that you can have pieces of your application written in PL/SQL and throw in some Java and other J2EE components at the same time. We've found that you don't have to totally trash what you built in an application and rewrite it completely in J2EE, but that you can slowly convert bits and pieces of it to J2EE and newer technologies."
Century is continually upgrading its application, especially with constantly changing state and federal mandates and regulations dealing with education. Now with Oracle9i and Oracle 10g, when it comes time to make application changes, Century evaluates its options to see if it's something the company wants to use J2EE for, or if it's quicker and easier to stay in a PL/SQL environment. "The way we approach it is that if we're going to go back and do a major revision of any part of our application, the first thing we look at is if there's a better way of doing it within the Oracle tools," says Magan. "We don't just automatically convert it to J2EE."
To help them understand how to take advantage of new Oracle features and decide when it makes sense to move application logic from 9i Forms to Java, Magan turns to the Forms Upgrade Center on Oracle Technology Network (OTN). "There are typically a lot of stories of people who have done the exact same thing that you want to do, so if you run into a snag, there's a good chance that someone else has already had it and it's been resolved," says Magan. "My biggest advice to anyone is to use the Forms Upgrade Center on OTN and know that most issues you're running into have been found and documented."
Another key to Century's success has been using Oracle Portal as the entryway for its Oracle Forms and J2EE application components, which experts say is a good way for organizations to start their move toward a Java environment.Using Oracle Portal makes it almost impossible for users to tell which type of technology they're using, as well as making it easy for Century to integrate partner applications into the same environment as their Forms applications. "Once you link in your external applications from the portal, the single sign-on server does the job of managing the login information for you. So, even if you're going from application A to application B to application C, you're only logging in one time and the single sign-on server is taking care of all your credentials," explains Magan.
For Century, being able to integrate its 17 years of investment in Oracle Forms applications with external applications and J2EE applications is vital to the company's success. "We have partnered with the Tennessee Department of Education, Oracle, Sun Microsystems, and the Public Consulting Group to develop a statewide Student Management System, which is hosted in Nashville. We have a few partner applications in the area of special education that aren't written in Oracle Forms or in an Oracle database, so we link them in via the portal, through the single sign-on that
verifies their security and automatically logs," says Magan.
"These applications are hosted on a server in Boston and the portal applications are in Tennessee. It doesn't matter whether the applications are in the same room or in the same state."
For Magan, with Oracle Application Server and Oracle Portal, the future is here now. "I would recommend that anybody who's upgrading their Oracle Forms or Oracle Reports application definitely look toward Oracle Portal to manage whatever they choose to deploy," says Magan. "There are just so many things in there that a company can take advantage of, and it doesn't take that much effort to take your application and bring it into the Oracle Portal. I think the portal is definitely the future, and I can see that pretty much every company at some point will have some type of portal as its entryway."
David A. Kelly is (dkelly@upsideresearch.com) is a business, technology, and travel writer who lives in West Newton, Massachusetts.
|