Toronto ECE 1770 - An Introduction to the Java 2 Platform, Enterprise Edition

Unformatted text preview:

Chapter 2An Introduction to the Java 2 Platform,Enterprise EditionThis chapter provides an introduction to the Java 2 Platform, Enterprise Edition(J2EE platform). When describing a new technology, it is always useful to pro-vide a familiar context within which that technology is explained. To providesuch a context, we start by discussing the concerns that commonly arise whenbuilding enterprise systems, and then describe the architectural solutions thathave been proven to address these concerns. It is these general architecturalsolutions that are implemented by the J2EE platform. Following an overview ofthe J2EE platform, we discuss each of the J2EE technologies in detail.Enterprise ConcernsSome development concerns are common to every project. For example, sys-tem attributes such as performance, scalability, reliability, maintainability, secu-rity, ease of incorporating new functionality, and the ability to integrate thesystem with existing systems are always on the list. There are also other con-cerns that are not directly related to the solution’s properties, but have every-thing to do with the project’s overall success. Examples include productquality, time to market, cost of development, team productivity, dependence onunique or hard-to-find skills,and dependence on a single technology or vendor.Although we could discuss the J2EE platform in terms of satisfying suchgeneral concerns, we have chosen to concentrate on the concerns that arebuilt on this platform. In particular,the J2EE platform has been designed to sup-port the development and execution of a specific type of software system that5ch02_5-34.qxd 7/18/02 11:19 AM Page 5we call enterprise systems. Enterprise systems exhibit a number of commonconcerns, which are described in this section.Business ConcernsEnterprise systems implement business processes. Thus, they must containsome representation of the “business reality” that they work within. In fact,enterprise systems are an essential element of many businesses (and in somecases, the software is the business) and therefore contain a rich representationof domain concepts. For example, even a simple order-processing system mustkeep track of products, customers, orders, inventory, and so on.Enterprise systems, therefore, collect and process large amounts of struc-tured information. They may manage thousands of business data types andstructures, and millions of instances of these types (and associations betweenthem). Consider an order-processing system that has thousands of customers,tens of thousands of products, and hundreds of thousands of orders (both inprogress and fulfilled).Although enterprise systems usually perform only a small number of com-plex computations, they do perform complex data manipulation. For example,an order-processing system doesn’t extrapolate trajectories of flying objects,switch mobile phones from cell to cell, or analyze images. However, such a sys-tem is very strict about the integrity of the data it maintains and imposes spe-cific rules about how the data is changed.On a similar note, an enterprise system does manage complex interactionswith its many concurrent users. For example, the process of placing an orderrequires that a customer make him- or herself known to the system, select oneor more products, specify appropriate quantities, provide relevant shippingdetails, and so on. This complexity is made manageable by ensuring that thesystem imposes very specific interactions with its users.Integration ConcernsA fundamental aspect of many enterprise systems is their integration withother systems. Even the apparently simple task of placing an order can result inelectronic interactions with a warehouse system (to request delivery of thepurchased products) and a bank system (to ensure that payment is made). As aresult, enterprise systems often run on complex, distributed technical infra-structures that reflect the physical distribution of the organizations participat-ing in the business processes supported by them.Moreover, even though an enterprise system may interact with similar sys-tems,these systems may have been implemented at different times and may use6 | Chapter 2 An Introduction to the Java 2 Platform, Enterprise Editionch02_5-34.qxd 7/18/02 11:19 AM Page 6different technologies. This is simply a consequence of the rapid pace at whichbusiness systems change in today’s environment. This constant change musttherefore be acknowledged and planned for.The Internet revolution has lead many organizations to make their valuableinformation available to third parties through a variety of means, including theelectronic exchange of information between businesses. This information oftenrepresents an organization’s most valuable asset. An emphasis must thereforebe placed on the security of the enterprise systems providing that information.Development ConcernsWe should also acknowledge that the development and maintenance of enter-prise systems is logistically complex for all sorts of reasons. For example, thedevelopment of enterprise systems must keep pace with changing businessconditions. Even gathering the requirements of the enterprise system can be acomplex task when there are a number of stakeholders involved (including endusers and business partners, as well as internal staff).A related concern is that large enterprise systems are developed over longperiods of time (sometimes decades), even though an initial version of the sys-tem may be made available quickly to address time-to-market concerns. Wemust therefore take into account the longevity of the system. Large systems areoften implemented through a set of concurrent related projects, leading to sys-tems whose elements are at different levels of articulation and maturity.Multitier Architectures and the J2EE PlatformIt has been known for some time that the best approach to developing systemsis to divide their responsibilities across a number of tiers1, resulting in commonarchitectural styles known as multitier architectures. An example of a multitierarchitecture is the 3-tier structure shown in Figure 2.1. The presentation tier isMultitier Architectures and the J2EE Platform | 71 A tier is an architectural layer that has a particular responsibility.PresentationTierBusinessTierIntegrationTierFigure 2.1 3-Tier Architecturech02_5-34.qxd 7/18/02 11:19 AM Page 7responsible for handling interactions with the end user. The business tier is re-sponsible for performing any


View Full Document

Toronto ECE 1770 - An Introduction to the Java 2 Platform, Enterprise Edition

Download An Introduction to the Java 2 Platform, Enterprise Edition
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view An Introduction to the Java 2 Platform, Enterprise Edition and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view An Introduction to the Java 2 Platform, Enterprise Edition 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?