All contemporary computer system business solutions are intended to satisfy the often-conflicting demands of its business requirements, its operational and management requirements and its design, development, programming and maintenance requirements.
So, imagine that a system is required to satisfy the following business criteria:
- that different types of communication paradigms are needed; including transaction processing, and peer-to-peer messaging.
- that the system is highly performant; including being able to manage high data throughput rates (both during normal and peak periods), that short user response times are guaranteed, and that recovery from hardware, software or network failures is rapid.
- that the system is highly reliable; including the requirement for reliable and guaranteed messaging; for 24/7 operations, for low mean-times between failures and automatic recovery from failures (when they do occur).
- that the system is distributed over a heterogeneous architecture (including different hardware and different operating systems).
- that the system can respond readily to real-time data and updates.
- that the system can manage foreign data sources, including databases, with proprietary protocols and transports.
- that the system can integrate easily with legacy systems and protocols.
- that the system is scalable to meet growing demands.
- that the system is extensible to meet changing demands.
In addition, imagine that a system is also required to satisfy the following management and operations criteria:
- that the system is readily managed and monitored by systems administration staff.
- that the system provides the tools for managing the release and distribution of the application software, with the necessary version control.
Further imagine that a system is also required to satisfy the following programming and development criteria:
- that application development is rapid and customisable.
- that both internal company and international standards, practises and procedures are comprehensively incorporated into the system.
- that the system integrates seamlessly with other system tools, that offer, for example, user-interface design, database access, internet access, system management and project management.
- that the system is easily comprehended and learnt by analysts and application development staff.
- that the system provides state-of-the-art tracing and debugging facilities for use during the development and testing phases of a project.
- that the application development cycle can be easily integrated into production, either by the incremental or big-bang approach.
- that the alpha, and beta versions of a system (for use during development and testing) can closely match the topography and characteristics of the production system, even to the extent of sharing the same physical network but inhabiting different logical environments.
These, then, are the criteria against which the effectiveness of business solutions is measured.
BlueAP is designed to enable and prescribe the building of applications that meet, and often surpass, these demands.
The remaining chapters of this document describe how the distinctive attributes of the Blue Application Platform achieve this.
