Jetfire a persistent scripting language

coordinatedcapableSoftware and s/w Development

Nov 4, 2013 (3 years and 9 months ago)

70 views

John Hansen

Charles Wiebe

jetfire.ca

1

Jetfire


a persistent scripting language

April 5, 2008

Jetfire.ca

Why use Jetfire?

Key Features


Scripting


Persistence


First class constructs


Roles, Properties, States,
Command Methods


Audits, Event Log

2

Good for:


Build Workflows


Immediate user
generated code


Policy oriented


Eco
-
system

April 5, 2008

Jetfire.ca

The Jetfire eco
-
system

3

Workflow
Engine

Object
Persistence
and
Accessibility

Workflow
Designer

User Interface

Reports


General web parts


Web service


Scripting
language
(dashboard)


Excel


XML


Transparent in
Application
Framework


Executes Jetfire code


Application framework

April 5, 2008

Handouts

4

April 5, 2008

Jetfire.ca

Jetfire Code Plex Project


March ’08

Project defined on Code Plex


dll’s for Dashboard application @
http://CodePlex.com/Jetfire


April ’08

Jetfire Code libraries on Code Plex


Contacts, Lesson Reservation


May ‘08

C# Source released on Code Plex


Interpreter, Parser, Nexus, Jetfire Object and Classes


Contact Information:

5

Charles Wiebe


(t) 613
-
831
-
3282


(skype) charles.wiebe


(e) Cwiebe@TrackerRealm.com

John Hansen


(t) 613
-
288
-
9223


(
skype
)
hansen.john


(e) Jhansen@TrackerRealm.com

April 5, 2008

Jetfire Features

6


Operates on any
.Net

platform:


Windows /XP, Vista


Windows Server 2003/2007


Pocket/PC


Linux with mono


A system requires 1 (minimum) workflow server. Can use either:


Windows/XP


Windows Server 2003/2007


Linux with mono


Source code for Framework and extensive free library


Jetfire is available as
.net

DLLs


Asynchronous application interface


Easily supports human interfaces with Jetfire operating in
the background


OO Features


Objects (workflows, properties, methods, states, roles)


Classes (workflow classes, property classes, …)


Overloaded methods


Inheritance


Interfaces


Virtual/overriding methods


Class/static objects


Small Jetfire code size


Applications are typically less than 100 lines of code


Object Oriented scripting language


First class support for


Data persistence


Workflow


Roles, Users and States


Multi
-
Language support (on the fly language change)


Data Security


Audit information


Collections


Events


Open Source (GPL):


Jetfire language,


Framework and


Pre
-
built applications


Jetfire implementation


is freely available and


Free for non
-
commercial applications.


Free for development and prototyping.


Java/C# superset.


Transparent multi
-
user support


multiple users can view and operate on same workflow
simultaneously


Jetfire manages data change conflicts


Transparent multi
-
computer support


Multiple computers can operate on same Jetfire
workflows simultaneously

April 5, 2008

Statement

Expression

Statement

Expression

Custo

Intrinsic classes

Jetfire Object Model

Intrinsic

CompositeObject

CompositeClass

PropertyClass

ValueReference

GetStatements

SetStatements

Statement

Expression

Example of a reference member

int i;

// “int” is the Class

// “i” is the Reference

TjObject

BaseClass

Property

Class

Method

ReferenceClass

Scope

BaseClass

IsArray

IsLocal

LocalContext

Legend


Square box = .net object


Inheritance
(blue line)


Reference (dashed line)


1
Jetfire Objects are
represented as .net
objects on the left side
of the foil.


2
Jetfire Classes are
represented as .net
objects on the right side
of the foil.

StaticObjects

Reference

Array

Workflow

WorkflowClass

Intrinsic classes

Intrinsic classes

Intrinsic classes

Intrinsic classes

C# based Classes

Library objects

EnumClass

MethodClass

Enumerator

1
Jetfire

Objects

2
Jetfire

Classes

April 5, 2008

Memory
Transport

Memory
Transport

Client Nexus

Client Nexus

Memory
Transport

Jetfire Block Diagram

Client Nexus

Server Nexus

Abstract Nexus
Client Transport

Note: Login is performed
outside this process.

Abstract Nexus
Server Transport

Abstract Storage

File
Storage

Security

Expression
Interpreter

Parser

Cache

(
TjNexus
)

Dashboard

Data Warehouse
2

DB
Storage

OR

Legend


Blue Box


GNU, Open Source


1
Orange Box


Express Version available


Commercial license (includes source)


2
Dashed
-

Planned

Workflow
Designer
2

ASP Web
Parts
1

Web Service
Transport

System

Library

Application

Library

Operation

Thread

April 5, 2008

Jetfire.ca

Backup


9

April 5, 2008

Jetfire.ca

Jetfire


Persistent Scripting Language

Multi
-
user

Audit

Persistent

public

workflow

Hello
{


public

string

HelloWorld
() {


return

“Hello”;


}

}

Multi
-
Computer

10

April 5, 2008

Jetfire.ca

DVD Library Demo


DVD Library


Multi
-
User


Persistent


Track DVDs


where are they?


Who has them?


When did this happen?

DVD
Checked In

DVD
Borrowed

Borrow

Return

11

April 5, 2008

Jetfire.ca

Architecture

Design and coding

Implementation

Deployment

Jetfire Design team

John Hansen

12

Charles Wiebe

April 5, 2008