OSA Development

This page is dedicated to developer tools and considerations.

Perl

Perl is the native language of the initial OSA/OCE prototype, Fautore. Thusly this is likely to be the most robust section of this page for quite awhile.

Modules

Fautore was originally developed as a true prototype with adhoc code coming together to puzzle out how to best develop viable standards, software and API's to unify on-line communications and achieve Social Normalcy. Several modules are being constructed from that initial effort to ease future OSA oriented development in the future.

Structure

The structure of these modules is made up of a top level directory, "OSA" that holds general modules applicable to either app development, or OCE development. Beneath OSA are two other directories, the "App" and "OCE" directories. Each of these directories have in them modules that are specific to the function of developing Apps or an OCE.
Simple diagram illustrating the OSA Perl module structure

Module Files

Each directory of the module structure contains files acting as categories for the functions within them.

OSA
Mod File Obj Export Description
Util.pm X General utilities to manage, examine or verify values and structures.
Msgs.pm X Standard message handling function calls and standard message definitions.
CfgMgr.pm X Standard configuration file reading designed to limit disk I/O
Comm.pm X Communications functions used to pass data between an app and an OCE, or from one OCE to another.
JSON.pm X Functions for moving data structure back and forth into and from JSON format.

OSA::Client
Mod File Obj Export Description
Util.pm X General utilities to manage, examine or verify values and structures.
Base.pm X Functions providing basic functionality like constructing and sending messages.

OSA::OCE
Mod File Obj Export Description
Util.pm X General utilities to manage, examine or verify values and structures.
Base.pm X Functions providing basic functionality like routing messages.
TBD X X Modules defined to support optional functionalities of an OCE like Group handling and Commons handling