Extending zeroCode
   
 
   
2
 
 
zeroCode-generated sites can be used directly with third party products like app servers and other solutions. The entire zeroCode-generated server environment, with other third party components such as WebLogic, BroadVision etc., would constitute the middle tier of the completed application.
 
For customizing data delivery, third party products like PortalBuilder from TIBCO can be integrated with a zeroCode-generated site. For e.g. the user login Id from an application can be sent to PortalBuilder, to create sessions in both environments. Such products would typically use their own databases, where the application's login ID can be the unique identifier. The login Id from both the databases can be checked for uniqueness and the customization of pages carried out for that user.
 
In some business applications, it may be necessary to build transaction management and resource-pooling using app servers like IBM's WebSphere or BEA's WebLogic. PK4's suggested architecture includes mechanisms to interface with such app servers. In order that the architecture support extensibility on the server side, the access manager of a zeroCode-generated site is designed to work with function-specific server components that are integrated into the system. These components can be modified to carry a wrapper that provides object-level management and pooling capabilities that are applied by WebLogic or WebSphere, thereby making them available in those environments.
 
To fully decouple the user interface from the business logic and database access mechanism in the application, zeroCode uses macro-expansion engines like FreeMarker. FreeMarker is a reputed, extensible, Open Source environment that specifically addresses the need for marrying HTML with object-driven architectures. The HTML pages that are displayed in a zeroCode-built site are recorded in templates that include HTML statements marked up with simple FreeMarker tags. FreeMarker could be easily replaced with other macro-expansion utilities like WebMacro, JSP or a future version of XSLT.
 

When the user interface of a generated application needs modification in terms of font, look-and-feel, graphics, navigation and other front-end-related changes, it is a matter of simply modifying the HTML templates or the style-sheets that zeroCode delivers for the site.

When user interaction changes or new functionality is added, data elements currently available in the system are either presented differently or are included/removed from existing or new HTML pages. A designer would use the zeroCode Design Environment to extend functionality by editing various components like the responseMap.xml. This needs minimal training to work with and provides tremendous capabilities.
 
When external systems need access, as when a customer finds a need to provide unplanned access to/from an external system after a site has been delivered, custom objects can be used for extensions. In such cases, the Java objects that zeroCode delivers may need to be modified or new objects may have to be added to the system.
 
When new data elements (columns or whole tables) are introduced into the system, the Java layer can be regenerated and the related UDMs modified to address the new data structure. The HTML templates that need to display/access the newly-introduced data elements can be changed for user-interface updates.
 
   
2