Initially, a developer examines various application development models and tools before deciding on a specific platform for developing a web services–centric distributed application. Usually, several criteria exist for developing an enterprise solution from the point of view of both application-and infrastructure-related issues.
Application-related criteria might be defined as follows:
An e-commerce site should contain a shopping cart–type methodology that allows customers to interact with a service such as International Foreign Currency Exchange as well as to buy and sell foreign currency with a credit card, and use other options depending on whether they do or do not have an account.
The site should provide a way to process and fulfill the customer’s orders.
The site should facilitate the ability to manage currency inventory and interface with suppliers, such as Bloomberg or Reuters.
The site should provide customer notification functionality, such as email.
Infrastructure-related criteria determine how your application will run:
Select a programming language, such as Visual Basic .NET, C, Perl, or Java.
Choose an operating system, such as Windows 2000, Unix, or Linux.
Once the development model has been established, there are several enterprise- computing platforms to choose from, for example, .NET and Java’s Enterprise Edition (J2EE).
.NET is the most recent architectural release from Microsoft for building distributed enterprise applications. This release contains many exciting new features, including multilanguage support. Currently, .NET supports applications written in 27 different languages. The applications compile to Microsoft Intermediate Language (MSIL) code. At runtime, MSIL executes to an application-specific runtime machine. The drawback to selecting this option is that .NET is platform dependent and only runs on the Windows operating system; nevertheless, it is a viable alternative to J2EE.
CORBA is a vendor-independent, language-neutral, operating-system-agnostic environment. CORBA applications compile to the Interface Definition Language (IDL). Four separate components exist: ORB, CORBAservices, CORBAfacilities, and the business application objects. The Object Request Broker (ORB) enables objects to submit requests and receive responses from local or remote objects.
The CORBAservices component is made up of a collection of system-level services. The CORBAfacilities consist of a number of application frameworks designed to be used directly by business objects. The business application objects encapsulate the business logic and utilize the CORBA services and frameworks. CORBA facilitates interoperability with applications written on other non-Java platforms, a major plus for application developers.
J2EE, the technology selected for application development in this and the subsequent two chapters, is the enterprise specification. Here are the three editions:
Java 2 Platform, Micro Edition (J2ME) supports PDA application development, and access to cable services and other business devices with limited memory capabilities. In essence, J2ME facilitates the development of portable applications for the consumer market.
Java 2 Platform, Standard Edition (J2SE) accommodates desktop applications that incorporate GUIs and other presentational components.
Java 2 Platform, Enterprise Edition (J2EE) is the platform of choice for building mission-critical, server-side, distributed applications. It is component based and contains an extensive collection of interfaces that allow developers to implement those interfaces according to an application’s specific requirements.
The Java 2 platforms are Java-language centric but present a platform-independent architecture, one that is portable and can run on Windows, Sun Solaris, IBM AIX, and HP HP/UX, to name only a few.