Jetfire First Class Constructs

Jetfire has a number of first class constructs that traditional object oriented languages (such as C#) do not have. The purpose of these constructs is to support workflows, rules and policy management. These include:
  1. Object and Class Persistence: Jetfire objects and classes are automatically serialized and stored in a workspace directory structure on the Server Nexus when they are created or change. A Server Nexus (any Windows XP or Vista machine) is part of every Jetfire implementation. This allows Jetfire programs run until complete, which may be from days to months, surviving computer shutdowns and even crashes. A single instance of a Jetfire workflow is even allowed to migrate to multiple computers.
  2. States: Workflow classes can define a set of states allowing a workflow to be in one given state. Operations can be performed upon entering and leaving a state. Instance methods and properties can dynamically change to public or private as the state of the workflow object changes.
  3. Roles: A Jetfire user can be assigned one or more roles. Methods, properties and workflows objects can have roles restricting usage and visibility to a Jetfire user with the appropriate role. Jetfire uses roles internally to control all system functionality.
  4. Versioning: Since workflows may need to change over time Jetfire has built-in versioning for classes. Classes automatically are assigned a version number. Every time an class changes a new version is created. Objects created with an old version of code will continue execute the old code unless explicitly upgraded. Jetfire has number of built-in safe guards to insure versioning integrity.
  5. Audit Information: Jetfire automatically and transparently collects information when objects and classes change, are created or deleted. The audit information collected is when, by whom, what and where. This information can be programmatically retrieved via Jetfire code or by application code.
  6. Automatic Events: (comming soon) Jetfire automatically updates properties as the values of fields and other properties change. Jetfire programmers do not need to write complicated event structures. These events can trigger standard .net event handlers.
  7. Multiple Language String Type: The Jetfire 'string' type behaves identically to C# with the added feature that is supports multiple languages. A single string can contain an array of strings, where each array member represents a separate language. This supports features such as 'on the fly' changing of languages and hierarchical language translation. Hierarchical translation allows data to be viewed in a preferred language; however if the translation is not complete that parts of the data can be displayed in an alternate language or original language. It also supports 'mouse' over features where information can be displayed in an alternate language to aid in comprehension.

Last edited Feb 24, 2009 at 11:23 AM by JohnHansen, version 23


No comments yet.