2.1 The need for an architecture

Why is an architecture necessary? Can’t we simply write programs that deliver the function that is required? The reasons for having an architecture are:

￿Ever increasing demands are placed on systems in terms of security and availability.

￿The need to extend the system to both customers and suppliers across the Internet is growing rapidly. Applications need to have this capability “architected in”.

￿The need to reduce the product development life-cycle, while delivering more complex systems at the same time, means that Geac simply cannot develop its systems from scratch or the infrastructure required.

￿There is a need to connect different systems (both Geac and external systems) to provide a viable, reliable, and robust solution.

To meet these requirements, Geac has to rely more and more on infrastructure or middleware to provide these services. In turn, this means that Geac should clearly architect, develop, and deploy its software to maximize the benefits that the chosen middleware offers.

Over two years ago, as part of the strategic alliance with IBM, Geac chose to base its new e-business enterprise applications around WebSphere.

The WebSphere suite of products enables Geac to develop, deploy, and integrate next-generation e-business applications. This includes such applications for business-to-business e-commerce. Geac also supports business applications from simple Web publishing through enterprise-scale transaction processing, extending applications to incorporate mobile devices, etc.

The entire WebSphere philosophy allows Geac, as an Enterprise Application Developer, to build, integrate, and deliver solutions more timely to market using WebSphere. WebSphere is the cornerstone of IBM’s enterprise development strategy. There is little functional or time availability differences between the release of WebSphere on the iSeries server and WebSphere on Windows 2000. This allows Geac to deploy its J2EE applications on the platform that is best suited to the particular customer.

Many of the middleware services provided by WebSphere form part of IBM’s implementation of the J2EE specification. J2EE defines the standard for developing multi-tier enterprise applications. J2EE simplifies enterprise applications by basing them on standardized, modular components, providing a complete set of services to those components, and handling many details of application behavior automatically, without complex programming.

However, it is true (from practical experience) that both the EJB specification and WebSphere do not completely remove or absolve the implementor of the responsibility of using the above services appropriately. Performance needs to be “designed” into the application. Key architectural decisions still need to be made within the constraints and goals of the project and these decisions need to be well documented and understood by everyone involved in the project. This ensures a consistent and high quality approach when designing and implementing a large-scale project.

2.1.1 Key Enterprise JavaBeans and WebSphere Application Server benefits

The Architectural Specification Geac follows is Enterprise JavaBeans 1.0 (EJB 1.0). As discussed, the Application Server that Geac uses to implement this specification is IBM’s WebSphere Application Server Advanced Edition. If the applications that Geac were implementing were entirely PC-based, WebSphere Advanced Edition would not be necessary, but this is not the case.

8Geac System21 commerce.connect: Implementation on the iSeries Server

Page 20
Image 20
IBM SG24-6526-00 manual Need for an architecture