Project DescriptionJetfire (jetfire.ca) is an open source, object oriented ecosystem designed to make writing persistent programs, workflows and policy management rules, very easy. The Jetfire language extends the C# syntax to support dynamic typing, dynamic method calls, states and roles.
The goal of many systems is to allow power users to develop and maintain code. Examples are workflows, business rules and policy based management systems. We see Jetfire as an important building block in the construction of such a system. To that end Jetfire has a number of
first class constructs that directly supports
- compact, easy to write code,
- code that is understandable by anyone who has basic programming skills and
- success path coding, also known as happy path coding.

Jetfire is
domain specific language (DSL) that derives its
syntax from C# and Java. Jetfire code is interpreted, not compiled supporting dynamic types and host of dynamic features. Code can be written and interpreted on the fly. The
Jetfire API allows .net code to directly call Jetfire methods and properties (
see code examples).
Jetfire is unique in that all code and objects are automatically saved in a server (the client and server by default are the on same system). The server storage is configurable to be the file system, an SQL database or system RAM (useful for creating
sandboxes). Jetfire blends the functionality of
source code management and an object oriented database. In Jetfire objects are bound to immutable source code which is also represented as an object.
Jetfire objects, once created, exist until they are explicitly deleted (or they become unreferenced). This feature allows workflows (objects) to be created that have a lifetime of days, weeks, months or even years. These objects will survive machine crashes, computer reboots and program reloads.
Jetfire is written in C# using Linq. Jetfire is a
client-server architecture supporting multiple servers. The client footprint is small with future releases supporting a client running in a Silverlight browser.
DashboardThe project comes with a Dashboard written in .net Windows Presentation Manager. The Dashboard supports editing, instantiating workflow classes, executing methods and properties and viewing workflow objects. The Dashboard allows Jetfire script to be written and supports simple testing without the need write any supporting .net code using Visual Studio.
Code Examples using C-SharpWeb PartsTo use Jetfire workflows in a ASP application Jetfire Web Parts can used.
Jetfire ASP Web parts employing Microsoft's SQL database is available as a separate CodePlex project (
http://www.codeplex.com/JetfireWebParts). Jetfire Web Parts gives Sharepoint like functionality operating on any Windows XP or Vista platform with IIS.