Scipio – Version 0.2 – Design Paper – Draft 1

Scipio Framework is being fully redesigned and implemented to include new features and improve the implementation of the framework's codebase.
After a careful consideration and research a number of new features have been added that closely resemble those of Apache Avalon Framework's project.

Brief Design Overview

Scipio Framework version 0.2 will be based on a container-component idea. The programmers will write components which will be handled by a generic all-purpose container, which is a part of the Scipio Framework package. Containers could be instantiated and started by any Java Class with one or more containers being the bridge between the entry point of the program and other containers. Components in Scipio will adhere to a specified interface and will implement other interfaces if the developer chooses to utilize different services offered to the component by a container.

To simplify and reduce the development time, container classes will be provided as a part of Scipio Framework. Also the default container starter will be provided to the developers for testing purposes. It will be advised that developers create their own container starters for security and performance reasons.

There will be two generic types of containers. The Communication Container and Service Component Container. The Communication Container is responsible for starting the components that will handle socket related communications between clients and servers. On the other hand Service Component Containers will be responsible for handling components that apply business rules to the received data.

An example of a Communications Component would be a SocketManager Component responsible for managing incoming connections, reading the data from the incoming connections and passing the data to the appropriate Service Component.

To make it more clear and understandable, the framework will consist of two types of Components, each of which will have a separate Container to handle those components. This will allow for a clear breakdown of the framework, which in turn will lead to better scalability and performance.

Features Listing

The list below is not a complete list of features of this version of the Framework, however as the project moves on in the development stages these features will remain as a part of the framework. New features that will be added to the framework will not interfere with old ones.

These are the main features of the Framework. New features will be added as the stages of the development progress into the future.