Jetfire Language FAQ This FAQ assumes some knowledge of Object Oriented Programming techniques and languages.
What is the Jetfire Language? The Jetfire Scripting Language is a special purpose language built for implementing persistent programs or workflows. The language is based on Java and C#. Jetfire contains a few workflow-specific constructs built into the language that directly support workflow design as well as taking complexity out of programming .
What are the workflow-specific features of Jetfire Language? Workflow-specific features of Jetfire include: Data Persistence Workflow classes Workflow Classes have first class support for Roles, Users, States Data Security Audit Information Multi-language support Auto-Collections (part of the Framework)
How does Jetfire Language simplify programming? There are a number of features that simplify the programming task. These include: Transparent Multi-threading, i.e. programmers do not understand threading and be a master its intricacies. Data persistence is automatic and transparent, i.e. data is automatically stored to and retrieved from a database. Transparent and seamless multi-user support (many users can view and modify the same data simultaneously; Jetfire manages data change conflicts) Transparent multi-computer support (A Jetfire program instance can simultaneously be operating on multiple computers.) Asynchronous application interface, (Application commands are automatically queued and operate as separate threads. Data is pre-cached.). No complex XML mark-up to learn. No complex configuration files to get right. No complex support code. A complete Workflow eco-system.
How do I build a system using Jetfire? Coming soon!
Can a designer access the features under the hood? Yes. Jetfire is Object-Oriented and written in C#. Most methods can be overridden; however that is typically not necessary. In most cases changes in functionally can be accomplished by modifying the policy layer of the framework which is written in the Jetfire scripting language.
What are Jetfire Roles and Users? Workflows encapsulate data and process operations (properties and methods) that many accessible by many users. Roles allow the workflow designer to dictate what data can be accessed and which operations are accessible, e.g. only certain roles may be allowed to approve the release of a document.
What is Jetfire Data Security? Multi-user systems that track supersets of data across multiple roles often provide direct access between users and the database. Each Jetfire (logged in) user has a separate data cache that contains only the data and workflow commands that their Roles are allowed access to. This intermediate layer secures the data.
How does data persistence work? As Jetfire programs execute changes are made to data. These data changes are sent by the Jetfire Interpreter, as a background process, to a server updating the server version of the data. Then these changes are redistributed to all other running Jetfire programs if applicable. The Jetfire interpreter sends changes in a bulk packages to insure that the updates occur in an atomic fashion. The server and interpreter manage update conflicts.
What is Jetfire Audit Information? Audits track changes in a system. Collecting audit information is automatic with no need to write special code, even in new applications. For example create a new workflow instance – an audit object is created. The audit object contains the event, the event instigator, specific data changes and timestamps. Audits are used to answer the question ‘which user changed what when?’ Audits are retrievable programmatically as part of a Jetfire object or via Jetfire written applications available as part of the framework.
What are Jetfire Auto-Collections? Collections are lists of common items. E.g. Contacts, Locations, Tags, etc. Collections populate drop down lists in the GUI. E.g. a workflow may request a worker, which is selected from a list of contacts. Auto-Collections get automatically updated as items are added and deleted. Events are used to alert the user to changes in the Auto-Collections. Lists are created when requested by a workflow. This means that the exact lists available are a function which workflows are in a particular system.
Who is the target user for the Jetfire Language? The target user is a Power-User Content-Expert – someone, who understands their own applications and has the programming competency of creating moderate to complex spreadsheets.
How does the Jetfire Language compare to other software languages? The Jetfire Language is similar to C# and Java implementing all the standard features. Unlike c# or Java everything in Jetfire is an object. Jetfire makes reflection very easy. Jetfire doesn’t directly support operations that even very experienced programmers have trouble with such as the “lock” instruction. The Jetfire Language is an interpretative language, i.e. there is no separate build process.
How is inheritance used in Jetfire? Jetfire inheritance operates exactly as inheritance in any other OO language. Jetfire comes with a complete set of applications. Inheriting new workflows (classes) from these applications can make developing new applications faster and easier.
What OS does Jetfire run on? Currently, Jetfire runs on any .NET 2.0 platforms. This includes: Windows XP, Windows Vista Windows Server 2003, Windows Server 2007 Pocket PC 6.0, Smart Phone 6.0 Linux with Mono
How much does Jetfire cost? The cost of Jetfire is free. The language, language interpreter, parser, and code samples are free. The code is also Open Source and available under the GNU General Public License (GPL), i.e. you may use them as you display the copyright with the code and abide by the requirements of the GPL including licensing any modifications or derived works that you distribute under the GPL. The language implementation is freely available. A commercial license is available for less than $1000 per server if you do not want to be bound by the GPL. The GPL version does not come with support (except from the community at large). The commercial license comes with support.
How do I get the source for the Jetfire Interpreter and Server Currently only the binaries are available. When we feel that the code is more robust it will be available as open source. This should be in about 3-6 months. In the mean time if you require source please contact us and we will make arrangements to get you the source.
Why use Jetfire? The Jetfire Language simplifies application design. Jetfire provides a workflow eco-system for deploying applications. Jetfire has a short learning curve because: The language syntax is based on Java/C# - languages that are readily available Jetfire includes Workflow-specific libraries, making Jetfire an easier environment to learn and code in Jetfire uses an auto-build process, i.e. no linking or complex compile operations since Jetfire in an interpretative language Jetfire allows developers to focus on their value add, i.e. “what does the workflow do for me?” The Jetfire Workflow eco-system includes: A script editor for writing Jetfire workflows. A persistence interface, with the option of storing Jetfire Objects in a Database. A set of Web Parts that provide a general purpose Workflow GUI. Report Web Parts that allows users to build and view custom reports A workflow engine
What are the Benefits of Jetfire? Speed – Quickly generate workflows because the language is easy to learn. Simplicity – the amount of code required for most applications is extremely small. Competency – Jetfire has a low hurdle to creating workflows Robust Data Security – Data Access is strictly adhered to by using Roles.
|