Overview Benefits Developer Resources Support Try it
 
 

Zen defines a development and a runtime environment that lets developers familiar with server-side technologies build rich front ends for applications. Your application can interact with server-side functionality, such as databases, Java objects, and other server-side services.

In Zen, you use a standards-based programming model (XML) to develop an application, describe the user-interface, configure user interface controls, and define data bindings.

About ZXML and XWrapper

You use two languages to write Zen applications: ZXML and Java. ZXML is an XML mark-up language that you use to lay out user interface components. You also use ZXML to declaratively define non visual aspects of an application, such as access to data sources on the server and data bindings between user interface components and data sources on the server.

<zx:Application >
<zx:VBox backgroundColor="#ffffff">
<zx:Label text="Hello World" fontSize="20"/>
<zx:Button id="button1" text="A simple button"
click="change(label,button1)"/>
</zx:VBox>
</zx:Application>

Java is an object-oriented programming language, which you use to write programmatic logic for responding to both user-initiated and system-initiated events at runtime.

Like HTML, ZXML provides tags that define user interfaces. ZXML will seem very familiar if you have worked with HTML. However, ZXML is more structured than HTML, and it provides a much richer tag set. For example, ZXML includes tags for visual components such as data grids, trees, tab navigators, accordions, and menus, as well as non visual components that provide web service connections, data binding, and animation effects. You can also extend ZXML with custom components that you reference as ZXML tags.

One of the biggest differences between ZXML and HTML is that ZXML-defined applications are compiled into Class files, providing a richer and more dynamic user interface than page-based HTML applications do.

import zen.controls.XButton;
import zen.controls.XLabel;
import zxml.Binding;


public class ButtonAction extends Binding {
public void change(XLabel label, XButton button) {
label.setText("You click on : " + button.getText());
}
}

Developer Benefits

ZEN benefits :

All what you needs is in ZEN.From tags, components, client server comunication to datamodel everything is integrated and consistent.

XML dialect have been tuned and designed to be easy and understandable, in a minutes.

Extandable : Developer can easly integrate any swing component and integrate it into a ZEN application.See JFreeChart component in zendashboard demos.

Programmers who know html already can immediately start writing application in zen. No additional XML dialect has to be learned and no swing competences are needed. XWrapper around swing hide complexity of swing and let you develop more easly.

Fast : ZXML parser is extremly fast as it have been optimized for performance.

ZEN Platform struct provide a application skeleton for your application wich let you focus your time on killer-features instead of application plumbing.

The wrapper include a simple exceptions management that give you
pertinent informations, about errors in your zxml and/or java files. Furthermore these exceptions can be caught in the ZenDebugger.

Using Zen in an n-tier application model

By definition, enterprise applications are multi-tiered, where each tier brings specific benefits to the application design. A tiered architecture provides natural access points for integration with existing and future systems.

Each tier serves a specific purpose, and lets you divide the functionality of a business application into discrete components that you can be implemented independently from each other. For example, the following figure shows the tiers of a five-tier application model:

In Zen, Wingz provides the platform for interface development so that both Client and Presentation Tier logic executes on the client computer. Zen applications executing in Java process user interactions, perform data validation, issue HTTP requests, and perform other operations previously performed on the server.

The Zen server executes on a J2EE platform or servlet container, and provides the integration point for Zen applications to server-side functionality. The Zen server also includes the Zen launcher, and caching mechanism.

The Business and Integration Tiers do not need to be modified to integrate with Zen. This means you code the business and back-end functionality in the same way you did for your existing applications. Zen lets you connect to your back-end systems and application logic using web services, HTTP, EJBs, or other methods.

 

JavaDoc API

Reference Guide

Class Diagram

ZEN Video

FAQ

Platform Struct

Like a skycrapper, an application needs good foundation. ZPlatform provides a skeleton for your application that lets you be concentrate instead on features.

Do not reinvent the wheel

The goal of the ZPlatform struct is to provide a viable option for developers that need both a platform and a 'best-practices' guide for constructing professional Swing applications quickly. Using ZPlatorm you can focus your time on killer-features instead of application plumbing.

Specifically, ZPlatform seeks to provide an elegant way to build highly-configurable, GUI-standards-following Swing applications by leveraging the Wingz framework and a rich library of UI factories and support classes.

Advanced Widgets

ZEN provides all the widgets you need for building today's applications. ZEN offers more than 50 components, each and every one is designed to take advantage of the stunning quality of the Swing architecture. From enhanced basic components like Textfield or Toolbar, to advanced components like ZSelector or ZExplorerBar. Furthermore you can develop you own widgets easily (see JFreeChart)