Giving offices greater ability to process electronic documents

Greg Wolff, PIA group leader 
Ricoh Silicon Valley
© 1999 Greg Wolff

As more business processes move to networked computer systems, offices need the ability to quickly adapt the systems to ever-changing environments. In the era of paper documents modifying a business process was a straightforward matter. Need to add an approval step for purchases? Simply add a signature box to the purchase request form. With electronic systems, even such simple changes can be difficult or impossible for a typical office to implement. The Platform for Information Applications, an Open Source software framework created by the PIA group at Ricoh Silicon Valley, aims to improved the capabilities of offices to manage their processes by making it possible for non-programmers to maintain and modify electronic document processing applications.

The source code, documentation, and example applications for the PIA software can be downloaded from, a Web site established by Ricoh to provide Ricoh source code and other resources for application developers. A brief description of the framework follows.

The Platform for Information Applications:
A complete, XML based system for Web applications

Creating and maintaining a Web page is usually a simple matter of editing HTML. Maintaining a Web application can be a different story altogether. Depending on the design, even a simple operation such as adding an input field to a page might require anything from tracking down and modifying several CGI scripts, to editing a program embedded in the HTML, to modifying and recompiling a Java class and restarting the server. In any case the process can be tedious for developers and nearly impossible for non-programmers. Furthermore, heterogeneous designs make it difficult to integrate components or content from other applications. The Platform for Information Applications (PIA) provides a design and core processing engine that makes maintaining and integrating Web applications as easy as editing Web pages.

In the PIA design, an application consists of a collection of "active" XML pages. (XML stands for extensible Markup Language, the World Wide Web Consortium standard that is rapidly being adopted as a successor of HTML) Actions associated with individual elements (tags) are performed when a page is processed, typically in response to a request from a browser. Application creators can define new elements and task specific actions in either XML (based on the "primitive" elements predefined by the core engine) or a traditional programming language. Each collection of pages shares a common state space (accessible through entity references) in addition to the element semantics. Customizing or modifying a Web application is simply a matter of editing the XML which specifies both the content and behavior of a page.

Developed as Open Source and written in java for portability and flexibility, the PIA software implements the W3C standard Document Object Model (DOM) for the internal representation of elements. While maintaining compatibility with the standard, the PIA extends the DOM functionality to enable, among other things, dynamic transformation of documents as they stream through the processor -- without the need to construct a full parse tree in memory. The PIA software can function as a stand-alone Web server, Web client, or proxy server depending on the application needs, and is available from