Application Technology

The applications produced by our unique development process are extremely modular, well structured, and highly maintainable. This page describes the structure and features of applications produced using our process.

General Structure

Applications are produced in the Perl programming language. Each created product comes as a stand-alone application, and as such you are not required to install a "framework", "application server" or other runtime libraries. Some standard CPAN modules may be required, but these can be bundled with the application as needed.

The general structure of a project consists of an object core, containing a representation of all data and business logic, a series of web front-ends ( such as a submission form or search tool ), and a set of infrastructure modules which link the logic and interfaces to the underlying infrastructure as required.

HTML is isolated in simple templates, which are used by designers to implement the layout and look and feel of the various pages. No code is contained in the templates, reducing the ability of designers to break applications. Several automatic behind-the-scenes features make it easy for designers to work with HTML templates in a way that is natural to them, while still behaving the way the developers intend them to.

Rather than using HTML form elements directly, projects contain a set of "HTML Interface Widgets" which allow for greater reuse and simplifies the design and layout of the interfaces. A large library of pre-built widgets exist, from simple textboxes to image editors and highly task specific widgets, such as "Australian Driver's License".

As well as web applications, the application structure is flexible enough to allow for use in non-web contexts, such as automation scripts, voice interfaces and more.

Low Implementation Costs

All applications are built with a focus on low cost implementation. Options exist to allow for:

  • No operating system costs ( Linux, *BSD )
  • No web server costs ( Apache )
  • No language related costs ( Perl and most editors/debuggers are Free )
  • No middleware or application servers
  • No database costs ( PostgreSQL, MySQL or a lightweight database embedded into the project itself )
  • No hardware costs ( Applications are compatible with most hosting providers )

For intranet applications, we can even bundle and install the hardware, so you can simply plug it into your office network and go!

If needed, build options are available to support non-free infrastructure, such as the Solaris operating system, the Oracle database or other options. Windows server support is not available in general development at this time, but may be possible on a case by case basis.

Adaptable to Different Platforms

Several different options are available for each piece of infrastructure the application will connect to, allowing the ability to scale up or down as needed. Different editions of the same application can be produced on demand to run in different environments. Change your database or server layout without any change in application function, simply by building a edition for the new environment.

Some of the available options include:

  • Different Platforms ( Solaris, Linux, *BSD, Mac OSX )
  • Different Databases ( PostgreSQL, MySQL, Oracle or embedded SQLite )
  • Apache run-modes ( CGI, mod_perl, or auto-adapting )
  • Per-application Look and Feel themes
  • Different resource layout and packaging options
  • Optional bundling of CPAN modules
  • Optional installation and development tools
  • Optional self-adapting maintenance and administrative tools
  • For further development, several different levels of debugging and API documentation
  • Optional generation of unit test suites

For cases where vast differences or improvements are required, we can easily make any changes needed. Our applications are not tied or limited to our development system, and are specifically designed to be easy to work with after completion, meaning that you can have internal staff of another company make changes at a later date if you desire.

Continuous Improvement

Within our development methodology, projects have a synergistic effect on each other. When a bug is fixed or a new feature is added to one of our projects, the system itself learns the new changes and applies the same fixes and improvements to all other projects.

This continuous improvement means that applications are initially very stable and robust, far more so than from normal hand coding, as they gain the accumulated fixes from all other projects before yours. 3 to 6 months after delivery, an updated version of your project can be provided with any fixes and improvements from work on all other projects during time. We can provide these service packs for little or no cost.

Effectively, these improvements to your application are paid for across our entire client base, in a sort of pooled maintenance model, as work on one project benefits all projects. As the number of projects under management by the development system grows, the improvement process itself becomes faster and more efficient.

With Phase N produced software, you get maximum value and longevity from your applications.

Software created by Phase N can be easily changed or upgraded for relatively little cost, rather than going through the expense of making changes by hand, or commisioning a completely new replacement. Database migrations become painless. Applications can scale with your business from running on a cheap hosting service with an embedded database all the way up to dedicated clustered hardware with a heavy duty database. Tests, tools and documentation all automatically update to match any changes in your application or the underlying infrastructure.

Would you like to know more?

 

» 
Site Map · Contact · Privacy © 2003 Phase N Australia Pty Ltd. All rights reserved