Introducing Zen
Welcome to Zen!
The Zen application framework provides a simple way to rapidly create complex, data-rich web applications by assembling pre-built object components. These components automatically create standard HTML and JavaScript needed to render complex web applications. Moreover, they provide a common object model that is shared between the user’s browser and the application logic running on the server.
Zen is based on the successful Caché Server Page (CSP) and Caché Object Database technologies from InterSystems. These technologies offer a robust, scalable, and portable platform for hosting web applications. Zen does not replace or deprecate Caché Server Pages in any way. Instead, Zen makes the development of web-based applications easier while building upon the basic features provided by CSP: performance, data access, security, localization, and configuration.
The Zen Demo
Zen includes a sample application, which you can try out as follows:
-
Start your browser. You may use Firefox or Internet Explorer.
-
Enter this URI:
http://localhost:57772/csp/samples/ZENDemo.Home.clsOpens in a new tab
Where 57772 is the web server port number that you have assigned to Caché.
If you are unsure of the port number, start the Management Portal. At the top of the page, click About. View the Web Server Port setting.
Supported Browsers
For the official list of supported browsers, see the online InterSystems Supported PlatformsOpens in a new tab document for this release.
InterSystems works to ensure that Zen complies with the industry standards that make compatibility possible across multiple browsers. These standards include XML, HTML, JavaScript, and Cascading Style Sheets (CSS). As long as browsers offer differing levels of support for these standards, layout differences between them are unavoidable. To avoid surprises, test layout results in more than one browser before completing your design.
The Zen Community
The Zen Community is an online forum where Zen users can find information, get questions answered, and share code and experiences. Membership is open to InterSystems customers and employees. The Zen Community provides a library of reusable Zen components and code examples and an archive of questions and answers submitted by its members.
The Zen Community uses Google Groups. Users that wish to participate must create a Google Groups Account. To access the Zen Community, use this URI:
Benefits of Zen
The benefits of using Zen include:
-
Rapid Development—Assembling applications from pre-built components is a proven method for creating user interfaces rapidly. Zen makes it possible to use this approach for web-based applications.
-
Simplicity—Zen uses a standard HTML client, so there are no additional client components required. There is no “middle” tier between server and client, so Zen applications are much easier to develop, deploy, and support.
-
Extensive Library of Components—The Zen library comes with a large set of pre-built components. These include all the standard control types as well as data-aware combo boxes, tables, grids, tabs, tree controls, menus, and grouping components.
-
Object Database Integration—Zen is tightly integrated with the underlying Caché object database. The Zen client and server communicate by sending objects back and forth. Underlying details such as encryption and data marshalling are handled automatically using proven Caché technology.
-
Code Generation—Much of the code and business logic is generated automatically from higher-level models, ensuring consistency and rapid development.
-
Extensibility—You can easily modify the look and feel of Zen applications by using standard CSS features; by supplying different property values for the Zen components; or by creating your own custom components.
-
Integrated use of SVG—Zen lets you add interactive graphics to web applications by means of a set of SVG (Scalable Vector Graphics) components. These components include pre-built charts and meters. In addition, you can create new graphical components.
-
Client Independence—Zen applications run in most major browsers. See the section “Supported Browsers.” The Zen components insulate applications from the differences in behavior of these browsers.
-
Security—Zen offers tight integration with the security model provided by the Caché object database.
-
Form Handling—The Zen framework lets you define forms that contain a variety of controls for displaying and editing of data. The framework includes extensible support for loading data into forms; validating the contents of forms; and saving form contents.
-
Page Layout—Zen includes an extensible framework for specifying the grouping and layout of components on a web page.
-
Event Management—Zen applications can easily define how their components respond to user events. All events are handled by invoking methods that can be defined to run within the client browser or on the data server.
-
Multilingual Support—For applications that must support multiple languages, Zen includes a mechanism that tracks which titles and captions need to be localized, and automatically builds a database of these values. This database can be exported as XML and given to a translator for conversion into other languages. At runtime, Zen automatically displays pages in the user’s preferred language.
-
Document Output—Zen includes an extensible framework for specifying the data contents and display layout of reports in XHTML or PDF format.
Background Reading
Before using Zen, you need a good understanding of the following topics:
-
HyperText Markup Language (HTML), eXtensible Markup Language (XML) , JavaScript, and Cascading Style Sheets (CSS). Many excellent books are available through the Internet and commercial bookstores.
-
Caché, ObjectScript, Caché Server Pages, and Caché SQL. Depending on your level of experience, you might want to review the following books from the InterSystems documentation set: