# microexpresscion

> SCXML orchestration server designed to run on embedded nodejs device

Latest version **1.7.3** (published 2016-02-27) · LGPL-3.0 license · 0 weekly downloads

## Install

```sh
npm install microexpresscion
pnpm add microexpresscion
yarn add microexpresscion
bun add microexpresscion
```

Provides the command `microexpresscion`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.7.3 |
| Published | 2016-02-27 |
| First published | 2015-07-05 |
| Weekly downloads | 0 |
| License | LGPL-3.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 0.8.x |
| Dependencies | 6 |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Jacob Beard |
| Maintainers | jbeard |

## Links

- npm: https://www.npmjs.com/package/microexpresscion
- Repository: https://github.com/JacobeanRnD/microexpresscion
- Issues: https://github.com/JacobeanRnD/microexpresscion/issues
- npm.io page: https://npm.io/package/microexpresscion

## Dependencies (6)

- [uuid](https://npm.io/package/uuid.md) ^2.0.1
- [debug](https://npm.io/package/debug.md) ^2.2.0
- [scxml](https://npm.io/package/scxml.md) 2.0.4
- [optimist](https://npm.io/package/optimist.md) ^0.6.1
- [swagger-client](https://npm.io/package/swagger-client.md) ^2.1.2
- [common-expresscions](https://npm.io/package/common-expresscions.md) 1.6.4

## Recent versions

- 1.7.3 (latest) — 2016-02-27
- 1.7.2 — 2016-02-27
- 1.7.1 — 2016-02-27
- 1.7.0 — 2015-08-19
- 1.6.0 — 2015-08-05
- 1.5.0 — 2015-08-04
- 1.3.0 — 2015-07-15
- 1.2.2 — 2015-07-10
- 1.2.1 — 2015-07-10
- 1.2.0 — 2015-07-10
- 1.1.0 — 2015-07-08
- 1.0.1 — 2015-07-05
- 1.0.0 — 2015-07-05

## README

Microexpresscion is an SCXML orchestration server designed to be run on nodejs
IoT devices, like the Intel Edison development board. 

Microexpresscion provides Node.js express middleware which
implements the [State Machines as a Service (SMaaS)](https://github.com/JacobeanRnD/SMaaS-swagger-spec) 
REST protocol. 

## Installation

`npm install -g microexpresscion`

## Usage

`microexpresscion path/to/scxml`

Open `http://localhost:3000/` in your web browser to view the web dashboard.

## API

See `bin/www` for example of the JavaScript API.

```javascript
var microexpresscion = require('../index');
var http = require('http');

microexpresscion.initExpress(pathToScxml,function(err, app){

  if(err) throw err;

  /**
   * Create HTTP server.
   */

  var server = http.createServer(app);

  /**
   * Listen on provided port, on all network interfaces.
   */

  server.listen(port);
  server.on('error', onError);
  server.on('listening', onListening);

  function onListening() {
    var addr = server.address();
    var bind = typeof addr === 'string'
      ? 'pipe ' + addr
      : 'port ' + addr.port;
    console.log('Listening on ' + bind);
  }
});
```

## Examples

[UMIO Universal Morse Input Output device](https://github.com/jbeard4/universal-morse-input-output)

## Links

* [State Machines as a Service: An SCXML Microservices Platform for the Internet of Things](http://scxmlworkshop.de/eics2015/submissions/State%20Machines%20as%20a%20Service.pdf)

---
_Source: https://npm.io/package/microexpresscion · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
