Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


Product Review: zeroCode
Product Review: zeroCode

ZeroCode is a Web-based development environment that allows a team to graphically develop a Web-based database application with minimal handwritten code. The development environment is Web-based and housed on zeroCode servers. Developers build the application via the Web interface and when complete, the entire site is downloaded and installed on servers in the production environment.

While developing with zeroCode, a heavy emphasis is placed on an application's design. To optimize code generation capabilities, the zeroCode environment defines a set of design rules and guidelines the development team must follow. Some examples of rules to follow include using Java naming conventions for database objects, normalizing the table structure as much as possible, and using foreign key constraints to identify relationships among tables.

zeroCode is designed to isolate the tiers within an application, shown in Figure 1 from the zeroCode documentation. Users interact with zeroCode applications through servlets. The servlets interact with the application objects, which in turn interact with the database through a data-access layer. Manipulation of data for UI display purposes is handled via FreeMarker, an open-source tag expansion engine designed to interface HTML and application objects.

All data to support the application is stored in a JDBC-compliant database (zeroCode has been tested with Oracle 8/8i and MS SQL Server). The database design should closely follow the application's object model to provide the best possible generation of components. All data relationships must be modeled with foreign keys to allow zeroCode to construct relational objects for the application. The data model is uploaded to zeroCode, which then generates the tables, business logic components, and default HTML views for each database object in the schema. At this point, the user has access to the system and may manipulate data at a table level.

Once the schema is uploaded and the database is in place, there are several concepts and related terminology that must be understood to develop applications with zeroCode. The user interface data model (UDM) is an object that relates an HTML page to data in the database. UDMs are hierarchical in nature and represent data accordingly. An example might be a collection of albums by a single musician. zeroCode provides basic UDMs for common actions and data representations. Customized UDMs may be created to perform more complex operations.

zeroCode automatically generates HTML pages to view data in the database schema. These pages are called templates and may be modified individually to provide a customized look and feel. Templates include HTML, JavaScript functions for validating form input, and FreeMarker tags. Metatemplates are the files that contain instructions for generating templates. By modifying metatemplates, a large number of HTML pages may be changed. For example, if a company logo and common header were required for all pages, the HTML can be added to the metatemplates and the site regenerated to update all pages.

Predicates are objects that are analogous to "where" clauses in SQL. They're used to constrain data for display and are applied to nodes within a UDM.

As mentioned earlier, all development takes place on the zeroCode Web site and when complete, the application and all tools for runtime support are downloaded and installed on local production boxes. The two main components to zeroCode are the zeroCode development environment and the runtime environment. The development environment is currently available for Linux only and was therefore not included in this review. The runtime environment is a pure Java implementation and will run on any supported platform. Currently, zeroCode is tested for Linux and Windows NT with UNIX evaluations forthcoming. For this review I created a very simple site to access a database schema and proceeded to download the environment for deployment.

When downloaded, the site is packaged as a .tgz file, readable by WinZip. The finished application package will include all runtime required files (zeroCode JAR files, stylesheets, HTML files, UDM files, etc.) in their appropriate directories. To bring the site up, the database schema file must be executed within a local instance of Oracle to create the database structure. Then the configuration files must be modified to fit the runtime environment. Settings include the name, port, user, and password settings for the local database and the paths to the root of the zeroCode download. Finally, JRun must be configured to recognize a servlet URL for the site. The process was relatively easy to complete and the site was up and running locally in less than one hour. Currently, zeroCode runtime has been tested for Linux, Solaris, and Windows NT.

The zeroCode development environment presents a powerful alternative to developing database-enabled Web sites. As zeroCode evolves and is enhanced further, more and more complex sites will be able to be generated using this development platform. It's a product that takes a significant step toward the goal of developing applications with minimal handwritten code.

About Brian Barbash
Brian R. Barbash is the product review editor for Web Services Journal. He is a senior consultant and technical architect for Envision Consulting, a unit of IMS Health, providing management consulting and systems integration that focuses on contracting, pricing, and account management in the pharmaceutical industry.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Enterprise Open Source Magazine Latest Stories . . .
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and st...
AMD said late Tuesday that its chief sales officer Emilio Ghilardi had left the company and that CEO and president Rory Read is going to do his job while a replacement is sought. AMD didn’t say why Ghilardi left but it’s assumed Read wants his own people. Read is relatively new to th...
During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers. M3 execution procedure was outlined in this previous article. The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocati...
Red Hat is putting its bought-in Gluster scale-out NAS storage technology, acquired in October, on the Amazon cloud. It’s styled Red Hat Virtual Storage Appliance for Amazon Web Services and other clouds are supposed to follow in short order.
A new episode of the screencast series is now available at the OpenNebula YouTube Channel. This screencast demonstrates the new easily-customizable self-service portal for cloud consumers. Its aim is to offer a simplified access to shared infrastructure for non-IT end users. The scree...
C12G Labs has just announced an update release of OpenNebulaPro, the enterprise edition of the OpenNebula Toolkit. OpenNebula 3.2, released two weeks ago, brings important benefits to cloud providers with a new easily-customizable self-service portal for cloud consumers, and builders w...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE