In the ongoing effort to make the adoption of Business Process Management a more business centric activity, Oracle has added new features that attempt to reduce the time-to-completion for new business process automation. Oracle Web Forms is a tool that business analysts can use to develop user interfaces that are production ready in a short period of time. In AVIO's blog, New Web Form Designer and Process Player Features, Dan Atwood talks about the Web Form and process player features. In this blog I will address when to use the Web Forms and which design strategy, form-first or design-first, you should use.
Web Forms are created using an intuitive web-based design tool incorporating a palette of gadgets with a drag and drop layout editor for What-You-See-Is-What-You-Get (WYSIWYG) form generation. However, Web Forms are still new and before you commit time to developing UIs based on these web forms, you should be aware of some of their limitations. Over time, however, Web Forms will replace ADF when BPM moves to the cloud. Currently the web forms lack some critical features before they can be used to the extent ADF is used. Oracle will continue work on Web Forms so that someday you can expect Web Forms to contain the same feature rich functionality available in ADF.
WYSIWYG Web Form Editor
Web form design is performed in Oracle Business Process Composer. Process composer allows you to create the business process, specify human activities and then human task forms for these activities. The human task forms are created from a form-first or data-first strategy and choosing the proper strategy is important to ensure you don't waste a lot of time with trial and error to get it right.
Form first generation means that you start designing the form, without concern for how the data will be modeled. You simply begin by dragging a component from the design palette and dropping it on the form on the right. You can move the fields on the form and size them according to the data and layout requirements of the form. Just highlight the field and change its properties in the Properties Panel of the UI.
Data First Design Strategy
Data first design strategy requires someone in IT to design the data structures used in the form, before the form can be design. Currently you cannot connect a component dropped from the palette to a data source element. In other words, you can't do a little, form first and design first. You have to choose one or the other. If you try this, the fields added to the form via form first design will not be linked to data in the BPM process.
Data first design uses the data source to add components to the form. Once they are added, the type of component, text box, text area, drop-down, etc. can be changed. This is different than the drag and drop method of adding fields to the form. You click on the add icon by the data source field (instead of dragging) and the field is added to the form.
The new field is added to the form under a highlighted field in the form window. For example, if the first name field is selected in the form window and then you click add icon next to lastName element, it will add the Last Name field to the form, after the First Name field. If you don't highlight a field on the form, the new field will be added to the end or beginning of the form. From there it may be difficult to move the field by dragging and dropping it, since the form window does not autmatically scroll.
Data First vs Form First
In general, if you want to use Web Forms in production, you should use the data-first, design strategy. Form-first is only useful for simple prototyping or in the rare case when the business process is primarily work-flow related and does not require interactions with back-end systems, like a database, web-service, ERP system, etc. When a business process requires interaction with some other system, the data structure typically gets more complex and the design and validation of the BPM payload becomes important. The number of fields on a form or in the BPM payload normally increase over time. The organization of the data becomes more important later on in the life-cycle of the business process. To ensure the business processes can be properly maintained, a data-first strategy is usually best. Using form-first design strategy, may require costly refactoring to make it evolve over time.
Web Forms vs ADF
Web forms should be used by the business or business analysts for initial design or for developing simple paper-like forms. Initial design would simply provide developers with a mark-up design that can be written in ADF. Web forms could be a production worthy solution if the form is simple and contain text, date or simple drop-down fields. If the form requires more complex user interactions like tables and trees, shuttles, or master-detail relationships, then Web Forms should not be used. These features may be available in Web Forms at a later time, but are currently not supported.
Web Forms will evolve over time. Once BPM finds its way to the cloud, Web Forms will be the rule, rather than the exception. But Web Forms, is in its first release. It will get better over time, but currently it has some limitations that can't be overlooked. Web Forms should be used for very simple business processes and simple UIs. Also care must be taken to select form-first vs data first design strategies. Using these guidelines, you can leverage this very important feature and navigate around any traps you could find yourself in.