PLATFORM IMPLEMENTATION CONSIDERATIONS


When implementing an SOA it will be possible to reuse existing functionality from legacy systems, but inevitably it will be necessary to develop additional services that provide functionality that cannot be reused or support new business needs. When implementing new Web services there are two primary technological directions that can be taken—Java 2 Enterprise Edition (J2EE), or Microsoft .Net. This section reviews the J2EE and .Net options and explores the relative offerings and market positioning for each. Our goal is to help executives understand where and when they might want to use either, or perhaps even both.

As business leaders consider the merits of these competing implementation platforms, it is important to remember that “Web services are interoperable, but not portable.” [5] That is to say that a Web service implemented using J2EE can seamlessly interoperate with a service implemented using .Net, but a .Net service cannot easily be ported to run on a J2EE platform, and vice versa. This means that when deciding to primarily focus on the implementation of J2EE or .Net Web services, the availability of skilled in-house resources is a critical consideration. For example, an organization focusing on the implementation of .Net, but with a significant base of Java programmers, will need to invest heavily in cross-training to .Net.

Given the lack of portability between Web services platforms, it is useful-to consider the pool of skilled resources available to begin implementing-Web services. Figure 7.8 illustrates the distribution of skill sets among the estimated 21.6 million developers worldwide as of 2000.

click to expand
Figure 7.8: Software development skill sets. Source: IDC, 2000, “IDC Developer Report 2000.”

As illustrated, Java has fewer than 2 million developers while Visual Basic, C, C++, and COBOL, all of which can be used to implement .Net Web services, have many times more. Ultimately, it is likely that Chief Information Officers (CIOs) will leverage both pools of resources but will focus ongoing development of skills in a primary camp based on available skills.

J2EE versus .Net

One of the fundamental decisions executives will need to make is what platform to select for their initial forays into Web services. Fundamentally, Microsoft .Net and J2EE tackle Web service and application implementation from two very different and very distinct perspectives:

  • Microsoft .Net —The .Net approach to services and application implementation is a multi-language, single-platform approach. .Net services and applications can be implemented using more than twenty[6] distinct programming languages, but ultimately must be deployed in the Microsoft .Net Framework environment, running exclusively on Intel hardware.

  • Java 2 Enterprise Edition ( J2EE ) —The J2EE approach to service and application implementation is a single-language, multi-platform approach. All J2EE applications are implemented using the Java language and its extensions, but can be developed and deployed using a multitude of development tools and applications from software vendors, including Sun Microsystems, IBM, BEA systems, IONA, Art Technology Group (ATG) and so on. Once developed, a J2EE service can be deployed to a variety of Operating Systems (OS) and hardware platforms.

The following sections discuss the J2EE and .Net platforms from the perspective of the tools available and how they facilitate the adoption of Web services within the business operations of an organization. The emphasis will not be on the technological merits, but on the big picture business impact of these two platforms and how they can help organizations progress in the adoption of Web services.

Microsoft .Net Microsoft was early out of the gate with its positioning of the .Net Framework and MyServices (formerly known as “Hailstorm”). Microsoft describes the .Net Framework as:

“. . . the programming model of the .NET environment for building, deploying, and running Web-based applications, smart client applications, and XML Web services. It manages much of the plumbing, enabling developers to focus on writing the business logic code for their applications.” “. . . [.NET Framework] enables developers to build Web-based applications, smart client applications, and XML Web services applications which expose their functionality programmatically over a network using standard protocols such as SOAP and HTTP.” [7]

Beyond the .Net Framework, Microsoft is positioning its Web services capabilities across a spectrum of product offerings, including the widely marketed MyServices and the Microsoft Office franchise. Microsoft’s .Net platform will undoubtedly reach even further to encompass its mid-market enterprise offering, Great Plains Software, acquired by Microsoft on April 5, 2001, as well as its small business software services, Bcentral. This lineup is a tremendous arsenal with which to attack the emerging Web services market.

Let us take a closer look at the Microsoft .Net Framework, its market positioning for Web services, and the associated products and activities:

  • Market Position —The .Net marketing strategy, which is the allencompassing Web services theme Microsoft has established from the outset, beat almost every other player to the punch for Web services mind share.

  • Support of Open Standard —Microsoft has positioned itself favorably in the Web services arena by publicly and aggressively participating in and supporting the standards efforts related to XML, SOAP, WSDL, UDDI, and others. This is a different Microsoft, far from the company that was outflanked on the Internet by Sun, IBM, and, of course, Netscape. In the Web services space Microsoft was early to market and continues to lead the charge into Web services with its comprehensive .Net Framework.

  • Development Environment —Visual Studio .Net is Microsoft’s Integrated Development Environment (IDE) for the .Net Framework. Visual Studio .Net provides a comprehensive application toolset for constructing Web services that support its Common-Language Runtime (CLR). CLR supports all of Microsoft’s development languages including Visual Basic, Visual C++, and Jscript, as well as the new C# and J# (pronounced C Sharp and J Sharp, respectively).

  • Application Servers —The BizTalk server is used for business integration, business process management, building and transforming XML schemas, establishing trading partner relationships, managing data and document exchange between trading partners, and even EDI and e-Commerce functionality.

  • Additional Servers —Microsoft’s .Net strategy is pervasive through all of Microsoft products, including Operating System platforms (Windows 2000 and Windows XP), SQLServer relational database, Web server (Internet Information Server, or IIS), and its messaging solution Microsoft Message Queue (MMQ). Add to this Exchange Mail Server as well as BizTalk, and suddenly there is a comprehensive product set repositioned to leverage the entire spectrum of Web services possibilities.

  • MyServices —The most salient differentiation of Microsoft from the other turnkey platform providers has to do with Business to Consumer (B2C) Web services, namely .Net MyServices. Microsoft has long had its crosshairs aimed squarely on consumers with the MSN portal, its acquisition of Hotmail, and its Passport identity management platform (.Net Profile). While other platform providers are only vocalizing their consumer strategy, Microsoft has been positioning for the consumer mass market. With this factor in mind, .Net MyServices offers many interesting features that would be attractive to increasingly mobile consumers who desire anywhere, anytime access to services such as email (.Net Inbox), calendars (.Net Calendar), address books and contacts (.Net Contacts), and a host of others.

Java 2 Enterprise Edition (J2EE) The Java approach to Web services is based on the use of J2EE. J2EE is a platform for the implementation and deployment of Java-based services and applications. Sun Microsystems, the inventors of Java, describe J2EE as:

“The JavaTM 2 Platform, Enterprise Edition (J2EE) defines the standard for developing multi-tier enterprise applications. J2EE simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically, without complex programming. . .,” “. . . Java 2 Enterprise Edition adds full support for Enterprise JavaBeansTM components, Java Servlets API, JavaServer PagesTM and XML technology. The J2EE standard includes complete specifications and compliance tests to ensure portability of applications across the wide range of existing enterprise systems capable of supporting J2EE.” [8]

The vendor community supporting J2EE is substantial, including venerable-platform vendors such as Sun Microsystems, IBM, Hewlett-Packard, Oracle, BEA, SilverStream, IONA, Art Technology Group (ATG), and a host of others. J2EE as an architectural approach simply seeks to avoid vendor lock-in to a single proprietary vendor, namely Microsoft. While .Net is a single platform strategy from Microsoft, the J2EE approach is a multi-vendor strategy that allows customers a wide variety of choices regarding the application server, the development tools, the integration server technology, and more. The development language will be Java, and the promise of J2EE, of course, is cross-platform portability of the applications developed. In the Microsoft case, what is developed in .Net will be targeted for a Microsoft environment on Intel processors. Right now there are no other choices.

The components of a J2EE architectural strategy revolve around the following elements:

  • Market Position —Industry-wide support from an army of Microsoft competitors, which guarantees that there will be a vibrant Java/J2EE marketplace for the foreseeable future. This situation ensures end-user choice and a level of technological maturity, reliability, and solution robustness that might not always be ensured with many of the new Microsoft .Net solutions.

  • Support of Open Standard —Standards support driven by the leading platform and software vendors in the Web services space, such as IBM, Oracle, Sun Microsystems, BEA, WebMethods, and others.

  • Development Environment —The development language is Java in a J2EE environment, which supports application portability across multiple application servers and runtime environments.

  • Application Servers —Multiple vendors provide the application servers, implementation tools, development environment, and runtime environment for Java-based Web services. Noteworthy vendors include IBM WebSphere and BEA WebLogic, with Sun’s iPlanet and Oracle’s application server leading a pack of other smaller J2EE application servers and IDE vendors.

  • Additional Servers —Integration servers from multiple vendors in the EAI space provide the connectivity to backend systems for J2EE Web services, as well as native support for a multitude of database servers.

J2EE provides many benefits to the Web services marketplace, the primary benefits revolving around vendor choice, solution maturity, and J2EE interoperability and portability. J2EE ensures the choice of components that will be used to ultimately build an SOA and develop Web services to run in it.

Both J2EE and .Net platforms support the ultimate objectives of Web services, and both can result in short- and long-term benefits. The fundamental difference between these two platforms is the question of vendor choice—specifically, the ability to use best-of-breed components as opposed to being locked in to Microsoft .Net.

Ultimately, the business decisions of an organization should be the litmus-test as to whether to deploy .Net or J2EE architectures, not the religious zeal that development purists would like to use to make the decision. Organizations will need to juggle the demands of a heterogeneous architecture regardless of the overarching J2EE or .Net decision. Given this reality, the interoperability of a Web services strategy makes these decisions somewhat irrelevant, at least from the perspective of how services and applications work together to support the business objectives of the organization.

[5]Forrester Research, June 2002, “Which Web Services Vendor?” p. 3, by David Truog.

[6]msdn.microsoft.com/netframework/productinfo/overview, Microsoft, “What Is Microsoft .NET?”, accessed October 20, 2002.

[7]Ibid.

[8]java.sun.com/j2ee/overview.html, Sun Microsystems, “Java 2 Platform, Enterprise Edition (J2EE) Overview,” accessed October 20, 2002.




Executive's Guide to Web Services
Executives Guide to Web Services (SOA, Service-Oriented Architecture)
ISBN: 0471266523
EAN: 2147483647
Year: 2003
Pages: 90

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net