In the last twenty years, the Information Systems industry has seen amazing increases in hardware capability and equally amazing reductions in hardware costs. However, the software side of the industry has failed to deliver similar results. Though programming languages have proliferated and software environments have greatly expanded, the industry has seen only marginal improvements in productivity. In particular, the large application systems market (often referred to as ERP applications) has seen its products remain both unreasonably expensive and rigid.
At the heart of the problem is the way software has been built for decades and continues to be built today: Applications are built using programming languages and logical structures far removed from the business problem being solved. That this is a serious problem is clear, based on the costs of software alone. What is not at all clear, however, is whether or not an alternative to the problem exists. Is it really possible for complex application systems to be built using languages and structures that closely match the business problem? It is the purpose of this presentation to give a “resounding yes” to that question: That it is very possible to build applications from high-level building blocks that track closely to the structure of the logical problem being solved.
Some of the problems of software costs have been due to a set of proprietary products that have competed with each other and rarely worked together. In response, several years ago, a software innovation called open source was introduced that provided effective competition to proprietary products in the systems software arena, but had only marginal impact in the large application market. It was an important and worthwhile step, but it didn’t go nearly far enough.
This presentation proposes an extension to the concept of open source, called Application Open Architecture (AOA), that finally addresses the twin issues of high costs and rigid systems, providing an order of magnitude improvement in overall productivity and delivering the precise functionality desired by users. It does this by shifting the emphasis of application delivery from low-level programming to high-level design and provides a firm foundation for effective application reusability. It also proposes to utilize that architecture to define a set of universal application standards that will form a foundation for even greater reusability and, most importantly, utilize those standards in support of large, complex systems within the cloud.
A final note: This presentation uses a navigation technique that may be new to users. Thus, it is suggested that each user read the “Navigation Instructions”, before proceeding to the next section.