NXJ is a software development, deployment and management platform. The suite comprises a business process modeler; a report-creation environment; a component-development interface; a Web services deployment and administration tool; a form designer and editor; the JBoss Application Server; and the Unify Portal. Portions of the suite can be bought separately; however, if you don't use the whole suite, you weaken the platform.
NXJ supports BEA Systems WebLogic, IBM WebSphere, Oracle Application Server and other application servers. In fact, Unify says any J2EE-compliant server is suitable for hosting NXJ-developed applications.
I tested NXJ 10.5 in the NWC Inc. business applications lab in Green Bay, Wis. (For details about NWC Inc., see inc.networkcomputing.com.) The installation went smoothly and included a full set of documentation and tutorials, as well as user and developer guides. I developed on a Windows 2000 SP3 platform, but NXJ also supports development on Windows 2003 SP1 and Windows 2003. The completed applications can be hosted on Hewlett-Packard HP-UX 11.11, IBM AIX 5.2, Windows 2000 SP4, Windows XP SP1, Windows 2003, Red Hat Linux AS 3.0, Red Hat Linux ES 3.0 and Sun Solaris 9. The program supports browsers Internet Explorer 6.0 or higher, Netscape Navigator 7.1 or higher and Mozilla 1.6 or higher.
Modeling the Process
The goal of my test was to replace the manual process of ordering, verifying, shipping, requesting restocks and billing with a fully automated system using NXJ for the application development, deployment and hosting. My first step was to model the manual process using the product's BPM (Business Process Management) Designer.
The entities included in the BPM Designer--Actors (users involved in the process), Policies, Activities, Operands and Statuses--can be arranged within a window that displays their activities, decision points, operations and user roles. When I completed my business process model, I saved it in the BPM Designer in XML; it was then deployed to the BPM Engine.
The BPM Engine, which resides on the NXJ server and manages each instance of the process, is the starting point for users and is accessed by default through the included NXJ Portal. The system also supports other portals, including BEA Systems' WebLogic Portal and Oracle AS Portal.
Once the process is modeled, the NXJ Application Designer, using the process defined in the BPM Designer, automatically generates the necessary Java Swing-based forms. You can also build the forms from scratch using the forms-development interface or use pre-existing forms in whole or part from other NXJ projects.
Unify NXJ 10.5, starts at $3,000 per developer seat and $18,000 per CPU. Unify Corp., (800) 468-6439, (916) 928-6400. www.unify.com
The forms-development interface is similar to those of Visual Basic and Delphi. It offers useful controls for customization, and what isn't there can be created as separate ActiveWeb components and stored in a repository for reuse in other projects.
One problem I found when creating or modifying forms in the Application Designer was the lack of a background alignment grid, which made modification unnecessarily difficult.
The Application Designer also provides full access to the underlying Java code, JSP/HTML and EJB Session Beans. Furthermore, the designer supports embedded SQL statements. You can grab data from IBM DB2, Informix, Microsoft SQL Server, Oracle, Sybase and Unify's DataServer databases, as well as from Web services, Java classes, XML and Enterprise JavaBeans. Once the forms have been created, they can be deployed to the application server.
Integrating Web services
The NXJ platform lets you integrate Web services within the forms using a simple point-and-click tool. The WSDL (Web Services Definition Language) file generates the starting configuration for the Web service, gathering the necessary parameter and usage information. Once the connection was made, I had to write some Java code to manipulate the returned data. NXJ includes IBM's Eclipse Platform, but you can use any Web service tool including Microsoft .Net, provided it runs on a Windows platform.
NXJ 10.5 also provides automated CVS integration and Enterprise Connectivity Services, which let you connect to SAP R/3, PeopleSoft, Siebel and other enterprise business apps.
The NXJ 10.5 platform worked as promised. With little manipulation of the underlying code, I modeled a business process, developed user interface forms, integrated them with a Web service and deployed the results to a Web proxy server. As with all tools that support code generation, you may find yourself editing someone else's code, which can be more troublesome than writing it from scratch. But if you're content to buy into a one-vendor solution that supports open standards, NXJ deserves your consideration.
Pete Payne is a software programming consultant with a nationwide consulting firm. Write to him at [email protected].