Top Banner
KLone An SDK for Embedded Web Applications Steven Dorigotti KoanLogic (http://koanlogic.com) August 11, 2006
92

KLone An SDK for Embedded Web Applications

Feb 03, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: KLone An SDK for Embedded Web Applications

KLoneAn SDK for

Embedded Web Applications

Steven DorigottiKoanLogic (http://koanlogic.com)

August 11, 2006

Page 2: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

KLoneWhat is it?Use CasesFeaturesLibrariesWorkings

DevelopmentTutorialFine-TuningKLone-Devkit

ApplicationsIndustryOpen Source

Wrap-Up

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 3: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

In Brief

I lightweight web server

I C/C++ SDK

I API (GET/POST, sessions, cookies, I/O, logging, upload, ...)

I framework (compilation & building).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 4: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

In Brief

I lightweight web server

I C/C++ SDK

I API (GET/POST, sessions, cookies, I/O, logging, upload, ...)

I framework (compilation & building).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 5: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

In Brief

I lightweight web server

I C/C++ SDK

I API (GET/POST, sessions, cookies, I/O, logging, upload, ...)

I framework (compilation & building).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 6: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

In Brief

I lightweight web server

I C/C++ SDK

I API (GET/POST, sessions, cookies, I/O, logging, upload, ...)

I framework (compilation & building).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 7: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Generic

web app

any C/C++ library

host FS

KLone engine

embeddedFSHTTP library

I/O library

HTTP/S client

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 8: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Embedded System

web app

any C/C++ library

host FS

KLone engine

embeddedFSHTTP library

I/O library

HTTP/S client

generic WEB browseror special purpose client application

interface to appliance resources (hardware or firmware)

depends on type of appliance

client interface to appliance configuration and monitoring

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 9: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Remote Procedure Calls

web app

any C/C++ library

host FS

KLone engine

embeddedFSHTTP library

I/O library

HTTP/S client

custom HTTP/S client application (e.g. TSP, DVCS, SCVP, LTAP-enabled)

handles HTTP/S request/response

possibly, crypto material needed to securely interface the backend application (may also be placed in the host FS if available)

TSP, DVCS, SCVP, LTAP API to interface a backend application

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 10: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Content Management

web app

any C/C++ library

host FS

KLone engine

embeddedFSHTTP library

I/O library

HTTP/S client

client interface to document search and validation

generic WEB browserlaunched on the same host as KLone

document search and digital signature validation API

a tamper proof digitally signed set of documents (PDF, MS Word ...)a set of trust

anchors

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 11: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

General Features

Some standard features:

I HTTP 1.0 compliant

I TLS/SSL

I virtual hosting

...but also:

I optimised (∼ 140KB ROM, ∼ 70KB RAM)

I native compiled code

I ROMable

I Open Source (GPL/commercial).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 12: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

General Features

Some standard features:

I HTTP 1.0 compliant

I TLS/SSL

I virtual hosting

...but also:

I optimised (∼ 140KB ROM, ∼ 70KB RAM)

I native compiled code

I ROMable

I Open Source (GPL/commercial).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 13: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

General Features

Some standard features:

I HTTP 1.0 compliant

I TLS/SSL

I virtual hosting

...but also:

I optimised (∼ 140KB ROM, ∼ 70KB RAM)

I native compiled code

I ROMable

I Open Source (GPL/commercial).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 14: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

General Features

Some standard features:

I HTTP 1.0 compliant

I TLS/SSL

I virtual hosting

...but also:

I optimised (∼ 140KB ROM, ∼ 70KB RAM)

I native compiled code

I ROMable

I Open Source (GPL/commercial).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 15: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

General Features

Some standard features:

I HTTP 1.0 compliant

I TLS/SSL

I virtual hosting

...but also:

I optimised (∼ 140KB ROM, ∼ 70KB RAM)

I native compiled code

I ROMable

I Open Source (GPL/commercial).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 16: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Embedded File System

I static/dynamic pages in kloned object

I compression (zlib)

I encryption: 256-bit AES (OpenSSL).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 17: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Embedded File System

I static/dynamic pages in kloned object

I compression (zlib)

I encryption: 256-bit AES (OpenSSL).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 18: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Embedded File System

I static/dynamic pages in kloned object

I compression (zlib)

I encryption: 256-bit AES (OpenSSL).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 19: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Client-Side Sessions

I standard session features

I no storage required

I cryptographically protected cookies.

The Internet Draft can be found at the following URL:http://www.ietf.org/internet-drafts/draft-barbato-scs-00.txt

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 20: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Client-Side Sessions

I standard session features

I no storage required

I cryptographically protected cookies.

The Internet Draft can be found at the following URL:http://www.ietf.org/internet-drafts/draft-barbato-scs-00.txt

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 21: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Client-Side Sessions

I standard session features

I no storage required

I cryptographically protected cookies.

The Internet Draft can be found at the following URL:http://www.ietf.org/internet-drafts/draft-barbato-scs-00.txt

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 22: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Client-Side Sessions

I standard session features

I no storage required

I cryptographically protected cookies.

The Internet Draft can be found at the following URL:http://www.ietf.org/internet-drafts/draft-barbato-scs-00.txt

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 23: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Portability

I GNU/Linux (2.2, 2.4, 2.6 - GCC 2.95.x, 3.x, both glibc anduClibc supported)

I x86, MIPS, ARM, Cris (Axis), PowerPC, SH4, m68k

I QNX 6I x86, ARM, MIPS, PowerPC, SH

I VxWorks 6.x (DCC and GCC compilers)I All supported CPUs

I FreeBSD 4.X, 5.X and 6.X

I NetBSD 2.0.X, 2.1 and 3.X

I OpenBSD 3.8

I Darwin 7 / MacOSX 10.3

I Microsoft Windows XP (MinGW framework with MSYS).

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 24: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Libraries

3rd party dependencies are minimised: zlib (compression),OpenSSL (encryption).

Internally developed, BSD-licensed libraries:I LibU: utility library

I multi-platformI net, string, memory, config, hmap, ...

I MaKL: build systemI Autotools replacementI Bourne Shell & GNU MakeI toolchains

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 25: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Libraries

3rd party dependencies are minimised: zlib (compression),OpenSSL (encryption).

Internally developed, BSD-licensed libraries:

I LibU: utility libraryI multi-platformI net, string, memory, config, hmap, ...

I MaKL: build systemI Autotools replacementI Bourne Shell & GNU MakeI toolchains

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 26: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Libraries

3rd party dependencies are minimised: zlib (compression),OpenSSL (encryption).

Internally developed, BSD-licensed libraries:I LibU: utility library

I multi-platformI net, string, memory, config, hmap, ...

I MaKL: build systemI Autotools replacementI Bourne Shell & GNU MakeI toolchains

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 27: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Libraries

3rd party dependencies are minimised: zlib (compression),OpenSSL (encryption).

Internally developed, BSD-licensed libraries:I LibU: utility library

I multi-platformI net, string, memory, config, hmap, ...

I MaKL: build systemI Autotools replacementI Bourne Shell & GNU MakeI toolchains

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 28: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Workings

Runtime

Translation

<html> ...</html>

<% /* C code block */%>

$ klone -c import [-z] [-e]...

translate_script_to_c()

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

translate_opaque_to_c()

Compilation

object files

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

$ native_C_compiler

$ native_linker

KLone HTTP/S

server library

KLone HTTP

Helper library

kloned

kloned::server_loop()

connect

kloned::server_dispatch()

kloned::server_be_serve()

choosebackend

choosesupplier

choosepage type

sup_emb::serve_static()sup_emb::serve_dynamic()

exec_page()

https::https_serve()

client

response

sup_fs::serve()

script?

developer

$ cd site && make$ make

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 29: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Workings

Runtime

Translation

<html> ...</html>

<% /* C code block */%>

$ klone -c import [-z] [-e]...

translate_script_to_c()

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

translate_opaque_to_c()

Compilation

object files

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

$ native_C_compiler

$ native_linker

KLone HTTP/S

server library

KLone HTTP

Helper library

kloned

kloned::server_loop()

connect

kloned::server_dispatch()

kloned::server_be_serve()

choosebackend

choosesupplier

choosepage type

sup_emb::serve_static()sup_emb::serve_dynamic()

exec_page()

https::https_serve()

client

response

sup_fs::serve()

script?

developer

$ cd site && make$ make

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 30: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Workings

Runtime

Translation

<html> ...</html>

<% /* C code block */%>

$ klone -c import [-z] [-e]...

translate_script_to_c()

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

translate_opaque_to_c()

Compilation

object files

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

$ native_C_compiler

$ native_linker

KLone HTTP/S

server library

KLone HTTP

Helper library

kloned

kloned::server_loop()

connect

kloned::server_dispatch()

kloned::server_be_serve()

choosebackend

choosesupplier

choosepage type

sup_emb::serve_static()sup_emb::serve_dynamic()

exec_page()

https::https_serve()

client

response

sup_fs::serve()

script?

developer

$ cd site && make$ make

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 31: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Workings

Runtime

Translation

<html> ...</html>

<% /* C code block */%>

$ klone -c import [-z] [-e]...

translate_script_to_c()

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

translate_opaque_to_c()

Compilation

object files

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

$ native_C_compiler

$ native_linker

KLone HTTP/S

server library

KLone HTTP

Helper library

kloned

kloned::server_loop()

connect

kloned::server_dispatch()

kloned::server_be_serve()

choosebackend

choosesupplier

choosepage type

sup_emb::serve_static()sup_emb::serve_dynamic()

exec_page()

https::https_serve()

client

response

sup_fs::serve()

script?

developer

$ cd site && make$ make

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 32: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Workings

Runtime

Translation

<html> ...</html>

<% /* C code block */%>

$ klone -c import [-z] [-e]...

translate_script_to_c()

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

translate_opaque_to_c()

Compilation

object files

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

$ native_C_compiler

$ native_linker

KLone HTTP/S

server library

KLone HTTP

Helper library

kloned

kloned::server_loop()

connect

kloned::server_dispatch()

kloned::server_be_serve()

choosebackend

choosesupplier

choosepage type

sup_emb::serve_static()sup_emb::serve_dynamic()

exec_page()

https::https_serve()

client

response

sup_fs::serve()

script?

developer

$ cd site && make$ make

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 33: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Workings

Runtime

Translation

<html> ...</html>

<% /* C code block */%>

$ klone -c import [-z] [-e]...

translate_script_to_c()

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

translate_opaque_to_c()

Compilation

object files

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

$ native_C_compiler

$ native_linker

KLone HTTP/S

server library

KLone HTTP

Helper library

kloned

kloned::server_loop()

connect

kloned::server_dispatch()

kloned::server_be_serve()

choosebackend

choosesupplier

choosepage type

sup_emb::serve_static()sup_emb::serve_dynamic()

exec_page()

https::https_serve()

client

response

sup_fs::serve()

script?

developer

$ cd site && make$ make

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 34: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

What is it?Use CasesFeaturesLibrariesWorkings

Workings

Runtime

Translation

<html> ...</html>

<% /* C code block */%>

$ klone -c import [-z] [-e]...

translate_script_to_c()

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

translate_opaque_to_c()

Compilation

object files

static embpage_t e;

static void exec_page (rq, rs, ss);static void module_init<md5> (void);

static embfile_t e;static unsigned char data[] = { 0x ... };

static void module_init<md5> (void);

$ native_C_compiler

$ native_linker

KLone HTTP/S

server library

KLone HTTP

Helper library

kloned

kloned::server_loop()

connect

kloned::server_dispatch()

kloned::server_be_serve()

choosebackend

choosesupplier

choosepage type

sup_emb::serve_static()sup_emb::serve_dynamic()

exec_page()

https::https_serve()

client

response

sup_fs::serve()

script?

developer

$ cd site && make$ make

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 35: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Syntax

The syntax for dynamic .kl1 pages is very intuitive:

I standard HTMLI code blocks:

<% /* C/C++ code */ %>

I expression printing:<%= /* char *expression */ %>

I declarations:<%! /* C/C++ declarations */ %>

I preprocessor directives:<%@ directive [param]... %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 36: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Syntax

The syntax for dynamic .kl1 pages is very intuitive:

I standard HTML

I code blocks:<% /* C/C++ code */ %>

I expression printing:<%= /* char *expression */ %>

I declarations:<%! /* C/C++ declarations */ %>

I preprocessor directives:<%@ directive [param]... %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 37: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Syntax

The syntax for dynamic .kl1 pages is very intuitive:

I standard HTMLI code blocks:

<% /* C/C++ code */ %>

I expression printing:<%= /* char *expression */ %>

I declarations:<%! /* C/C++ declarations */ %>

I preprocessor directives:<%@ directive [param]... %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 38: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Syntax

The syntax for dynamic .kl1 pages is very intuitive:

I standard HTMLI code blocks:

<% /* C/C++ code */ %>

I expression printing:<%= /* char *expression */ %>

I declarations:<%! /* C/C++ declarations */ %>

I preprocessor directives:<%@ directive [param]... %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 39: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Syntax

The syntax for dynamic .kl1 pages is very intuitive:

I standard HTMLI code blocks:

<% /* C/C++ code */ %>

I expression printing:<%= /* char *expression */ %>

I declarations:<%! /* C/C++ declarations */ %>

I preprocessor directives:<%@ directive [param]... %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 40: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Syntax

The syntax for dynamic .kl1 pages is very intuitive:

I standard HTMLI code blocks:

<% /* C/C++ code */ %>

I expression printing:<%= /* char *expression */ %>

I declarations:<%! /* C/C++ declarations */ %>

I preprocessor directives:<%@ directive [param]... %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 41: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Hello World

<!-- hello.kl1 --><%@ include "header.kl1" %><%! #include <time.h> %><%

time_t now;int i;

now = time(NULL);io_printf(out, "today is %s <p>", ctime(&now));

for(i = 0; i < 10; ++i){

io_printf(out, "hello world! <p>");}

%><%@ include "footer.kl1" %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 42: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Hello World

<!-- hello.kl1 --><%@ include "header.kl1" %><%! #include <time.h> %><%

time_t now;int i;

now = time(NULL);io_printf(out, "today is %s <p>", ctime(&now));

for(i = 0; i < 10; ++i){

io_printf(out, "hello world! <p>");}

%><%@ include "footer.kl1" %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 43: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Hello World

<!-- hello.kl1 --><%@ include "header.kl1" %><%! #include <time.h> %><%

time_t now;int i;

now = time(NULL);io_printf(out, "today is %s <p>", ctime(&now));

for(i = 0; i < 10; ++i){

io_printf(out, "hello world! <p>");}

%><%@ include "footer.kl1" %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 44: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Hello World

<!-- hello.kl1 --><%@ include "header.kl1" %><%! #include <time.h> %><%

time_t now;int i;

now = time(NULL);io_printf(out, "today is %s <p>", ctime(&now));

for(i = 0; i < 10; ++i){

io_printf(out, "hello world! <p>");}

%><%@ include "footer.kl1" %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 45: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Cookies

<!-- colour.kl1 --><%! #include <string.h> %><%

vars_t *args = request_get_args(request);const char *colour = vars_get_value(args, "colour");

if (colour && strlen(colour))response_set_cookie(response, "colour", colour, \

time(NULL), NULL, NULL, 0);%><p>What is your favourite colour?<form action="colour.kl1" method="post">colour: <input type="text" name="colour"><br><input type="submit" value="submit"><br></form><p>You preference: <%= request_get_cookie(request, "colour") %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 46: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Cookies

<!-- colour.kl1 --><%! #include <string.h> %><%

vars_t *args = request_get_args(request);const char *colour = vars_get_value(args, "colour");

if (colour && strlen(colour))response_set_cookie(response, "colour", colour, \

time(NULL), NULL, NULL, 0);%><p>What is your favourite colour?<form action="colour.kl1" method="post">colour: <input type="text" name="colour"><br><input type="submit" value="submit"><br></form><p>You preference: <%= request_get_cookie(request, "colour") %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 47: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Cookies

<!-- colour.kl1 --><%! #include <string.h> %><%

vars_t *args = request_get_args(request);const char *colour = vars_get_value(args, "colour");

if (colour && strlen(colour))response_set_cookie(response, "colour", colour, \

time(NULL), NULL, NULL, 0);%><p>What is your favourite colour?<form action="colour.kl1" method="post">colour: <input type="text" name="colour"><br><input type="submit" value="submit"><br></form><p>You preference: <%= request_get_cookie(request, "colour") %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 48: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Cookies

<!-- colour.kl1 --><%! #include <string.h> %><%

vars_t *args = request_get_args(request);const char *colour = vars_get_value(args, "colour");

if (colour && strlen(colour))response_set_cookie(response, "colour", colour, \

time(NULL), NULL, NULL, 0);%><p>What is your favourite colour?<form action="colour.kl1" method="post">colour: <input type="text" name="colour"><br><input type="submit" value="submit"><br></form><p>You preference: <%= request_get_cookie(request, "colour") %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 49: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Example: Cookies

<!-- colour.kl1 --><%! #include <string.h> %><%

vars_t *args = request_get_args(request);const char *colour = vars_get_value(args, "colour");

if (colour && strlen(colour))response_set_cookie(response, "colour", colour, \

time(NULL), NULL, NULL, 0);%><p>What is your favourite colour?<form action="colour.kl1" method="post">colour: <input type="text" name="colour"><br><input type="submit" value="submit"><br></form><p>You preference: <%= request_get_cookie(request, "colour") %>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 50: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Fine-Tuning

KLone can be configured to suit the host environment in terms of:

I CPU, memory and filesystem utilisation:I server modelI compression of content and/or sessionsI sessions: file, memory or clientI logging: file, syslog or memory

I security requirements:I uid/guidI chrootI file and/or session encryption.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 51: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Fine-Tuning

KLone can be configured to suit the host environment in terms of:I CPU, memory and filesystem utilisation:

I server modelI compression of content and/or sessionsI sessions: file, memory or clientI logging: file, syslog or memory

I security requirements:I uid/guidI chrootI file and/or session encryption.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 52: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Fine-Tuning

KLone can be configured to suit the host environment in terms of:I CPU, memory and filesystem utilisation:

I server modelI compression of content and/or sessionsI sessions: file, memory or clientI logging: file, syslog or memory

I security requirements:I uid/guidI chrootI file and/or session encryption.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 53: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Zero Storage / In-memory Sessions / HTTP

server_list my_http

log

{

type memory

memory.limit 200

}

my_http

{

type http

addr.type IPv4

addr.port 8080

dir_root /www

session

{

type memory

compress yes

memory.limit 8192

memory.max_count 2

}

}

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 54: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Zero Storage / In-memory Sessions / HTTP

server_list my_http

log

{

type memory

memory.limit 200

}

my_http

{

type http

addr.type IPv4

addr.port 8080

dir_root /www

session

{

type memory

compress yes

memory.limit 8192

memory.max_count 2

}

}

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 55: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Zero Storage / In-memory Sessions / HTTP

server_list my_http

log

{

type memory

memory.limit 200

}

my_http

{

type http

addr.type IPv4

addr.port 8080

dir_root /www

session

{

type memory

compress yes

memory.limit 8192

memory.max_count 2

}

}

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 56: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Zero Storage / Client-side Sessions / HTTPS

server_list my_https

log

{

type memory

memory.limit 200

}

my_https

{

type https

compress yes

addr.type IPv4

addr.port 443

dir_root /www

session.type client

cert_file /etc/kloned.pem

}

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 57: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Zero Storage / Client-side Sessions / HTTPS

server_list my_https

log

{

type memory

memory.limit 200

}

my_https

{

type https

compress yes

addr.type IPv4

addr.port 443

dir_root /www

session.type client

cert_file /etc/kloned.pem

}

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 58: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Zero Storage / Client-side Sessions / HTTPS

server_list my_https

log

{

type memory

memory.limit 200

}

my_https

{

type https

compress yes

addr.type IPv4

addr.port 443

dir_root /www

session.type client

cert_file /etc/kloned.pem

}

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 59: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit

KLone-Devkit was developed with developers in mind:

I simplified learning curve

I build environmentI provides working examples:

I Fox-Demo (basic and VHDL)I PXAregs-GUII TSP-ProxyI Doc-Search.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 60: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit

KLone-Devkit was developed with developers in mind:

I simplified learning curve

I build environmentI provides working examples:

I Fox-Demo (basic and VHDL)I PXAregs-GUII TSP-ProxyI Doc-Search.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 61: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit

KLone-Devkit was developed with developers in mind:

I simplified learning curve

I build environment

I provides working examples:I Fox-Demo (basic and VHDL)I PXAregs-GUII TSP-ProxyI Doc-Search.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 62: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit

KLone-Devkit was developed with developers in mind:

I simplified learning curve

I build environmentI provides working examples:

I Fox-Demo (basic and VHDL)I PXAregs-GUII TSP-ProxyI Doc-Search.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 63: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

Klone-Devkit: FOX-Demo

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 64: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: FOX-Demo

<html><body>

<%! #include <foxbone_userspace.h> %><%

unsigned int release, fd;fd = open("/dev/foxbone", O_RDONLY);release = ioctl(fd, IOCTL_FOXBONE_READ, \

FOXBONE_VER_REG);io_printf(out, "%x", release);close(fd);

%></body>

</html>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 65: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: FOX-Demo

<html><body>

<%! #include <foxbone_userspace.h> %><%

unsigned int release, fd;fd = open("/dev/foxbone", O_RDONLY);release = ioctl(fd, IOCTL_FOXBONE_READ, \

FOXBONE_VER_REG);io_printf(out, "%x", release);close(fd);

%></body>

</html>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 66: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: FOX-Demo

<html><body>

<%! #include <foxbone_userspace.h> %><%

unsigned int release, fd;fd = open("/dev/foxbone", O_RDONLY);release = ioctl(fd, IOCTL_FOXBONE_READ, \

FOXBONE_VER_REG);io_printf(out, "%x", release);close(fd);

%></body>

</html>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 67: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: FOX-Demo

<html><body>

<%! #include <foxbone_userspace.h> %><%

unsigned int release, fd;fd = open("/dev/foxbone", O_RDONLY);release = ioctl(fd, IOCTL_FOXBONE_READ, \

FOXBONE_VER_REG);io_printf(out, "%x", release);close(fd);

%></body>

</html>

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 68: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: FOX-Demo

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 69: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: FOX-VHDL

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 70: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: PXAregs-GUI

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 71: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: PXAregs-GUI

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 72: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: TSP-Proxy

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 73: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: Doc-Search

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 74: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: Doc-Search

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 75: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

TutorialFine-TuningKLone-Devkit

KLone-Devkit: Doc-Search

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 76: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

IndustryOpen Source

Industry

KLone is currently operational in several fields of the IT industry:

I FIAT: industrial control system

I RAI: network data analyserI T-Services:

I authentication systemI validation authority.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 77: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

IndustryOpen Source

Industry

KLone is currently operational in several fields of the IT industry:

I FIAT: industrial control system

I RAI: network data analyserI T-Services:

I authentication systemI validation authority.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 78: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

IndustryOpen Source

Industry

KLone is currently operational in several fields of the IT industry:

I FIAT: industrial control system

I RAI: network data analyser

I T-Services:I authentication systemI validation authority.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 79: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

IndustryOpen Source

Industry

KLone is currently operational in several fields of the IT industry:

I FIAT: industrial control system

I RAI: network data analyserI T-Services:

I authentication systemI validation authority.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 80: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

IndustryOpen Source

Open Source: Alp-MP3

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 81: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

IndustryOpen Source

Open Source: Alp-MP3

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 82: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Future Development

A preview:

I HTTP 1.1 compliance

I AJAX helpers

I performance & file size optimisation

I more porting.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 83: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Future Development

A preview:

I HTTP 1.1 compliance

I AJAX helpers

I performance & file size optimisation

I more porting.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 84: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Future Development

A preview:

I HTTP 1.1 compliance

I AJAX helpers

I performance & file size optimisation

I more porting.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 85: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Future Development

A preview:

I HTTP 1.1 compliance

I AJAX helpers

I performance & file size optimisation

I more porting.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 86: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Future Development

A preview:

I HTTP 1.1 compliance

I AJAX helpers

I performance & file size optimisation

I more porting.

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 87: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Bookmarks

For more information:

I Info, documentation and source code: http://koanlogic.com

I Mailing lists:I [email protected]

I [email protected]

I Other information: [email protected]

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 88: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Bookmarks

For more information:

I Info, documentation and source code: http://koanlogic.com

I Mailing lists:I [email protected]

I [email protected]

I Other information: [email protected]

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 89: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Bookmarks

For more information:

I Info, documentation and source code: http://koanlogic.com

I Mailing lists:I [email protected]

I [email protected]

I Other information: [email protected]

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 90: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Bookmarks

For more information:

I Info, documentation and source code: http://koanlogic.com

I Mailing lists:I [email protected]

I [email protected]

I Other information: [email protected]

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 91: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Special Thanks

I Stefano Barbato

I Thomas Fossati

http://acmesystems.it http://phrozen.biz

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications

Page 92: KLone An SDK for Embedded Web Applications

OutlineKLone

DevelopmentApplications

Wrap-Up

Questions

Steven Dorigotti KoanLogic (http://koanlogic.com) KLone An SDK for Embedded Web Applications