The Mocha Object Engine is an experimental Internet application development environment that is fully scriptable using the Server-side Javascript language complying with the international standards ECMA-262/ISO-16262 (It's called "Mocha" after the original project name of Javascript). JavaScript is an extremely rich, powerful and flexible programming language and has a large, highly developed syntax, a huge library of standard methods (functions) and built-in capabilities to create complex, object-oriented data structures and methods.
Many web designers and developers are familiar with Javascript as a client-side scripting language where they are able to use it in order to embed program logic in the HTML code of their web pages to control the web browsers. With our Server-side Javascript these web designers and developers can leverage their existing knowledge and benefit from all the advantages of server-side programming to build dynamic websites with an integrated web and e-mail server and a built-in object-oriented database.
Javascript is the most popular language on the Internet! With deployZone it is the most powerfull one as well!
Object-oriented DatabaseThe included object-oriented database is organized into a multi-dimensional hierarchy of named objects such as users or documents. These objects have the same data structure as a Javascript Object, except that they are stored into the database. All objects stored in the OODB can be accessed through Javascript objects.
Using Javascript to set a property value of such an object, will automatically store the value into the OODB and save it to the disk. Fetching a value from a stored object will load it from the disk automatically.
With Server-side Javascript you may create and control your own kinds of objects, giving you an extremely powerful tool for building object-oriented internet and web applications.
With deployZone you'll see: Everything is an object!
File/Object ProjectionWith its unique File/Object-Projection, DeployZone blends the lines between file system and database, facilitating truly object-oriented content and document management solutions.
The hierarchical structures of the database and any file system content is projected into the database and appears in the same content hierarchy.
- File system hierarchy is projected into object hierarchy in database
- Object hierarchy in database reflects and controls file structure on disk
This introduces a new dimension in the development of advanced Document Management solutions.
- Unparalleled scalability and flexibility
- Every document is an object
- Every object is a document
The deployZone Advanced Layer Architecture enhances the core engine with an object-oriented function library that makes it even easier to maintain your customizations, extensions and translations.
The Advanced Layer Architecture separates various elements contained in the core engine into independently maintainable layers. This allows you to customize and update different aspects such as the program logic, layout, design or translations in a strait forward fashion. The Standard Objects Layer takes care of the synchronization with changes in the core engine, providing your customization with all the improvements and new features.
In order to translate or customize your application for specific markets or target groups, you will no longer need to maintain multiple copies of your customized template files.
In addition, the deployZone code base offers many more advanced features, such as providing easy maintenance of multi-lingual content, the capability of switching between interactive and non-interactive user modes, and others.
The deployZone code base offers the following layers:
deployZone Standard Objects LayerThe Standard Objects Layer (SOL) ensures compatibility and automatic synchronization with Web Crossings embedded code and Standard Templates. Existing Web Crossing applications or templates may be converted into a deployZone standard object and then integrated into the Standard Objects Layer. The templates in the Standard Objects Layer will automatically benefit from the features of the other layers, such as the translation features.
deployZone Advanced Objects LayerThe Advanced Objects Layer (AOL) extends the functionality of Web Crossings original Standard Templates with many advanced features, such as providing detailed control over the folder lists, toolbars and page layout. Additional customizations to the program logic may be developed into deployZone advanced objects and then integrated into the Advanced Objects Layer.
deployZone Client Objects LayerThe Client Objects Layer (COL) consists of a library for markup language definitions and an API (Application Programming Interface) for client-side-scripting languages. Through this COL-API, any server side properties or data objects can be made available for programming scripts on the client-side. This allows for a much wider range of applications that may be developed and maintained by content managers without compromising server-side security.
deployZone Application Translation LayerThe Application Translation Layer (ATL) translates the user interface of your application into different versions or languages. This translation happens automatically based on criteria such as the users preferred language or other settings. If the specified translation is not available, the original default translation will be used instead. All translations can also be set at any level in the hierarchy, in which case they will then apply only to the content objects below that level.
deployZone Custom Design LayerThe Custom Design Layer (CDL) separates the layout and design of your application from the program logic and the content. Any application built on the deployZone layers can follow any specific Corporate Identity guidelines simply by configuring the Custom Design Layer no other layers need to be modified or maintained.
deployZones Content Translation LayerThe Content Translation Layer (CTL) allows you to maintain multilingual (or multi-version) content in an object-oriented database without forcing you to set up multiple hierarchical trees containing duplicate objects for each version. By using the Content Translation Layer, you have the option of storing the various versions and/or translations in the same object hierarchy or even within the same object. When a certain user accesses that object, he or she is automatically served the appropriate version or translation of that content. If the specified translation is not available, then the original default translation of that object will be used instead.
Mochascript - a Server-Side Javascript abstraction libraryMochascript is a high abstraction Internet application scripting language which extends ISO-16262 standard Javascript in object-oriented server-side scripting environments. Mochascript consists of a library of classes, functions and methods itself written in Javascript.
The technology that is used to build today's Websites and Internet applications is quickly moving towards standardization. While this process has been embraced by the industry for client-side products, server-side technologies are still in an earlier stage of this development.
In many ways, Javascript offers an ideal middle ground between Java based programming and more template oriented scripting environments such as PHP. For future Web and Internet applications, it is Javascript that will be able to best provide the flexibility and power of a true programming language while retaining the simplicity required for quick and lean implementations.
Object-oriented web development environments that use Javascript as the server-side programming language to build an applications business logic are one of the areas that will move towards becoming an interchangeable commodity.
To allow Javascript based application logic to become exchangeable among different implementations, these scripts need to adhere to a higher level of abstraction. The Mochascript abstraction library will provide that common ground and bring a new level of simplicity to the complex task of creating Web and Internet applications.
Mochascript makes it possible to directly describe the functionality that a given project should provide, without the need to define its programmatic implementation. This results in code that is very human readable and that can be deployed on any sub-system implementation that supports standard Javascript.
Current versions of Mochascript require either DeployZone 3.0 or newer or Web Crossing 4.1 or newer.
Mochascript is provided free of charge and its source code is made available to interested developers that want to implement it in other environments or otherwise participate in its development.
Essential benefits:
- Rapid scripting of your internet projects
- Results in very clean, easy to read code
- Well suited for extreme programming and easy refactoring
- Transparently handles multiple languages, localizations or audiences
- Easy to optimize for performance
- Automatic database storage and retrieval
- Clean separation of core logic, business logic, design and content
- Creation of reusable Mocha Objects via web browser
- Syntax checking via web browser
- Quick-debugging via web browser
- Well integrated HTTP, XML-RPC, E-mail server and client APIs
- Direct referencing of nested database object properties