Innovation Science Pty Ltd : Expressj® Application Framework
This text is replaced by the Flash movie.

Expressj® Application Framework

The Expressj® Framework is a Java™ framework for rapidly developing highly evolvable software applications. It provides a low level layer of technology upon which developers can build complex applications with in-built security, performance monitoring, error resilient internal communications, and inherent evolvability. The framework makes it easy for developers to build modular solutions with extremely low coupling between each module. The resulting applications are highly maintainable and are well suited to evolutionary acquisition and open system procurement programmes

Most software is not resilient to change - Traditional software solutions become progressively less robust as successive changes are made. Before too long, further changes become difficult to implement and begin to erode the integrity of the software. Eventually, the software becomes either too unreliable or extremely expensive to modify, and a fresh start is needed. Innovation Science’s Expressj framework eliminates the need to start again. Our approach to developing evolvable software has been tried and tested in demanding military experimentation environments with hundreds of changes and different software configurations over many years. Developing custom software using the Expressj framework minimises the cost of ownership for your custom software investment

Modularity with Expressj applications is obtained by obliging developers to provide their custom application capabilities through plugins and collections. Plugins define well bounded granules of application functionality. These could be as simple as a set of graphical controls, an external communications interface, or an algorithm that monitors data arriving into the application. Collections provide an encapsulation of stateful data that is shared between two or more plugins. For example, recording the most recent position selection on a map, or storing kinematic history accumulated from remote sensors

The Expressj framework incorporates a sophisticated suite of capabilities that developers can exploit to very rapidly construct their custom applications. The framework capabilities provide a head-start when developing any Java application. Developers can jump straight to developing plugin and collection capabilities, safe in the knowledge that their plugins and collections will be hosted by the Expressj framework to yield a robust and evolvable application. Time-consuming development of application infrastructure is avoided because the infrastructure is already provided by the Expressj framework.

Rapid Development
Prototype and deploy using the same framework! Highly functional prototype applications can be developed very quickly using the Expressj framework. Once the customer is satisfied with the prototype, there is no need to start development again as is often the case when transitioning from a prototype to an commercial-grade implementation. The framework employs various techniques to help protect an application from poorly behaving plugins. An evolutionary approach can be adopted for custom application development where an initial deployment can be repeatedly augmented with prototype capabilities for trial without risking the integrity of the deployed application.

Diverse Application Domains
Applications have already been built using the Expressj framework to perform data fusion for network centric warfare, to act as operator consoles within a simulated submarine control room, and to accumulate and present stock trading information as it becomes available from multiple data sources. The Expressj framework is suited to any application domain where data is obtained in (near) real-time from external sources.

print this page