In general, application infrastructure is completely under-utilised and not sophisticated enough. It is usually only the simplest and most obvious functionality that is implemented within the infrastructure. As a result, an extremely high proportion (80% or more) of any given business application is made up of repetitive and/or redundant logic. In such cases, developers end up designing, coding and testing what is essentially the same logic over and over again.
To make matters worse, each developer may implement such logic in their own way creating inconsistencies across the application and increasing the cost of maintenance. Hence, infrastructure plays a vital role in the quality of the resulting business application.
When a project decides to build its own infrastructure, it is often found to be a much bigger and more complex task than anticipated. As a result, the infrastructure is not available (or at least defined) prior to the project’s design phase. This creates wasted effort since it is unclear what functionality must be designed and what will be provided by the infrastructure. In addition, the infrastructure is often not fully documented or understood by developers. For the infrastructure to be effective, it is essential that developers understand what is available and how to use it.
It is easy to see why infrastructure is the area with the biggest potential for increasing developer productivity, ensuring quality and therefore increasing project efficiency.
The Powered™ Infrastructure is a true “framework” style of infrastructure. This means that it essentially takes full control of the application allowing developers to focus solely on business logic. Developers simply “slot in” their business components while the infrastructure handles the flow of control and calls out to the business components at the appropriate point in time. As a result the infrastructure represents the majority of the application and up to 95% of developer code is eliminated.
The Powered™ Infrastructure is also highly sophisticated and provides the rich functionality required by most enterprise business applications. More information is available in the infrastructure features section.
Even though the infrastructure contains so many features, it is still extremely easy to use. A great deal of effort has been taken to ensure that the interface for developers is simple, concise, consistent and intuitive. This is important because an infrastructure that is easily understood and remembered is more likely to be fully utilised, and also increases developer productivity. A developer’s infrastructure guide has also been created to ensure that the features are clearly documented and accessible to all developers.
With the Powered™ Infrastructure the most inexperienced developers can produce high levels of quality. This is largely because the infrastructure handles all technical aspects of the application. As a result, developers do not need to make technical decisions and can focus on implementing the business functionality identified during design. Also, there is no need for developers to focus on quality issues such as consistency and useability since the behaviour of the application is largely determined by the infrastructure.
The Powered™ Infrastructure has also been designed to allow changes and enhancements to be implemented with no impact to existing business components (developer code). In some cases the new functionality can even be used by existing business components without any need to change or reconfigure those components.