An Enlightening Tool
ActiveGrid's developer tool, Application Builder, uses enterprise features based on service-oriented architecture (SOA) principals and business process management (BPM) to generate highly scalable code that can run on large clusters of Linux servers. Essentially, Application Builder relies on a mashup-like architecture that compresses the traditional three-tier architecture into an SOA-type wedge between Web front ends and enterprise systems. However, open-source technologies used by the tool should not be confused with BPM servers that have been built on top of the Java platform. With BPM-driven Java enterprise applications that use multiple databases, code is often deeply intertwined with non-reusable, vertically integrated container objects, which are extremely expensive to maintain and require the constant care of highly skilled Enterprise JavaBeans (EJB) developers. Instead, ActiveBuilder uses the mashup platform hybrid approach to separate processes more economically. With ActiveBuilder, for instance, solution providers can do a lot of integration work at the Web tier, where it is easier and less expensive. Solution providers then can save the transaction-based integrations for the enterprise application servers.
To build logic, Application Builder focuses on supporting scripting languages such as Python and PHP. Under its hood, the tool generates BPEL to control application execution, XML Schemas to represent data sources, WSDL to wrap logic, XForm to represent UIs, and XPath for querying. From a developer's point of view, all logic written in Application Builder ends up as Web services wrapped in WSDL, and all the data is represented in Schemas. Below its code layer, the tool uses native data services for DB2, Oracle and SQL Server, including support for DB2 and Oracle stored procedures. In addition, Builder supports connections such as IIOP to access EJBs, JAX-RPC and CICS, including representational state transfer (REST) style Web services and RSS feeds.
Application Builder's environment has some of the looks of BEA's WebLogic Workshop but places more emphasis on table structures to represent program flow. In many ways, Builder's visually declarative code structures mimic client/server component-based environments such as Sybase's PowerBuilder and Borland's Delphi.
Developers write applications in Application Builder by first building XForms and defining actions on these forms using visually represented code. The tool provides various properties for page layouts, including navigation menus and data grids. When linking properties on forms with data sources, it provides direct connections between fields or allows developers to query data sources with XPath.
Data flows also can be controlled using BPEL statements. To help control data flow, Application Builder arrives with a Schema Editor to build relationships from multiple sources. In addition to relationships, Schema Editor can generate new key values and can accommodate MySQL auto increments.
The ActiveGrid platform integrates with identity servers, allowing developers to enforce identity policies on XForms rather than having to code it manually for each page. Elements on forms that users are not permitted to view are automatically stripped out. If users do not have rights to an area, the system dynamically generates an output form at runtime.
The ActiveGrid platform is certified for IBM's HTTP Server and can work with IBM Tivoli to provide provision and application management. The platform supports Systinet's registry and AmberPoint's monitoring solution. The platform uses Apache to communicate with Microsoft's .Net Web services. Developers also can indirectly interface with Active Directory by authenticating with LDAP.
The LAMP Application Server supports session replication on runtime code. According to ActiveGrid, the LAMP Server supports up to 1,000 nodes and is priced at $12,000 per server. The LAMP Server internal communication is done through HTTP connections for clustering.
The server provides dynamic caching based on business rules, so the pages used most often can be left in a persistent state. This feature also is roles-based, so it minimizes the impact on systems by reducing the number of normal transactions based on user types. As a result, critical transactions receive priority. To speed up transactions, session replication also can be activated based on user roles. Because ActiveGrid applications can be designed quickly, ActiveGrid provides on-site training to service partners at customer sites. In addition, the company is offering a program called Build Days, in which ActiveGrid experts assist service partners at customer sites with designing, building and deploying applications.