1) What is an Application Architecture?
An application architecture describes a consistent approach for building a software application.
It is both design patterns and software frameworks that ensure that all code for a software development
project is of high quality and consistent. Good application architectures package several useful features
and functions to solve recurring software development challenges and to insulate the developers from
the technical architecture, allowing developers to focus on solving business problems, not technical
2) How does an application architecture compare to a technical architecture?
An application server vender such as IBM or BEA supplies a technical architecture. A technical architecture provides a scalable environment in which applications can be deployed. Technical architectures, however, do not provide specifics on how to build an application. An application architecture, like HorizonJ, is used to hide the complex interactions with the technical architecture in a way that easy for application developers to understand.
3) Why is an application architecture important?
If it is your goal to build applications that will be easily extensible and maintainable, a solid application framework is critical.
Simply buying a Java application server isn't enough. Software development projects that don't define an application framework end up with code that is inconsistent and takes longer to develop. Quite often, it becomes an unwanted challenge for one developer to maintain and integrate with code developed by another developer. By the time management recognizes the need for a consistent approach, it is too late -- the project is over budget and the software is riddled with defects.