Menu

System Layer

Sreekant Sreedharan

System Layer

Function

The purpose of this layer is to provide a broad-based framework and suite of components for the development of sophisticated enterprise business applications.

Generally, every component or facility in this layer is built using components in the Core Layer. Some exceptions are the modules that interface with security, scripting environments or image processing libraries. But for the most part, the system components leverage facilities offered exclusively by the Core Layer. In this, the System Layer is a demonstration of how to use the Core Layer, and at the same time a demonstration of how to develop cross-platform code.

Design Principles

  • All component or facility in this layer are platform neutral. This means that they behave the same way regardless of what operating system you run them under.
  • The components must aim to simplify the development of applications. This should free the user to think about the features of the application rather than its implementation details.
  • Each module must address one key area of application design and not do anything more. This means that modules may interact with each other, by they should not have functional overlap.
  • The facilities offered by this layer should be as broad-based in applicability (and usage), but should not address a specific business application.
  • Each component must expose as minimal a surface area as possible (without trading off capability).
  • Use the best design principles: abstraction, design patterns etc., to facilitate ease of integration and maintenance.
  • Plan for evolution. The user must not have to rewrite code, as the framework evolves.

Modules

Module Layer Description
ai system This library provides support for AI & search related applications.
bi system This library provides support for business intelligence and data mining related applications.
bmp system This library provides support for bitmap file formats.
frame system This library provides support for advanced application components like network servers, message queues etc.
fs system This library provides a framework for the implementation of user-space virtual file systems.
futil system This library provides file process utilities support for implementing parser and compilers.
inet system This library provides implementation of standard internet network protocols.
nfs system This is a deprecated library that provides abstractions for networked file systems.
pobj system This library provides an implementation of a programmable object. Such an object for example makes it simple to expose C++ classes to scripting environments or over the network.
sec system This library contains implementation for the Security management .
sobj system This library provides support for scripting languages and environments.
webul system This library provides several general utilities for web applications like HTML,SVG genearation, WIKI markup, MIME, Base64 etc.
ws system This library provides support for web services like RSS,ATOM,UDDI,WebDAV. It also provides utilities for implementing web services.

Class Catalog

Documentation for individual classes are included in docs.tar.gz file in the root directory. You will need to extract it into the docs directory for your documentation to work. Please read /docs/index.htm for more instructions.

Samples

Samples for key components in this layer are organized in the samples/system directory of the source code.


Related

Wiki: Core Layer
Wiki: Layers