Team-Fly |
XML, Web Services, and the Data Revolution By Frank P. Coyle | |
Table of Contents | |
Chapter 6. .NET, J2EE, and Beyond |
Microsoft's .NET is an umbrella term that describes Microsoft's strategy for delivering software as services across the Web. Microsoft realized early the importance of XML for the Web and began adjusting its corporate focus from a Windows-centric view of the world to a more outward-looking Web perspective. Its early B2B BizTalk initiative used XML to move data between partners , which may explain its early interest in XML Remote Procedure Call (XML-RPC) and SOAP (see Chapter 5).
The .NET initiative represents a development framework that integrates earlier Microsoft technologies with newer technologies built around XML. The result is an integrated framework focused on the Internet that packages the component services of the earlier extension to the Component Object Model known as COM+ and the Active Server Pages (ASP) Web development framework with XML and support for XML protocols such as SOAP, WSDL, and UDDI. An important aspect of .NET is that it allows developers to build a service-oriented consciousness into software up front rather than as an afterthought. Microsoft is also repackaging many of its Web-based applications ”such as the Hotmail email service, Passport Internet authentication technology, and MSN Messenger instant messaging client ”as Web services building blocks. The .NET architecture includes several technology components :
The .NET Platform
Figure 6.3 illustrates the Microsoft .NET Platform, which consists of five main components. At the lowest layer lies the operating system, which can be one of a variety of Windows platforms, including Windows XP, Windows 2000, Windows ME, or Windows CE. As part of the .NET strategy, Microsoft is planning to deliver more .NET device software to facilitate a new generation of smart devices. Figure 6.3. The Microsoft .NET Platform.
Sitting on top of the operating system is a series of .NET Enterprise Servers as well as a number of building-block services available for applications and developers. Services include Passport and .NET My Services, which support authentication and personalization while providing a consistent user experience. Microsoft appears committed to add other services, including calendar, directory, and search, to its Web services offerings. It is expected that third-party vendors will follow suit and provide Web services of their own. At the top layer of the .NET architecture is VisualStudio.NET (also called VS.NET). VS.NET is designed to support the rapid development of Web services through an Integrated Development Environment (IDE) that supports multiple languages, cross-language debugging, and an XML Schema Editor for defining XML vocabularies. The .NET Framework
At the center of .NET is the .NET Framework, a development and runtime environment for developing business applications on the Windows platform. Key ingredients of the .NET Framework are CLR and a common framework of classes that can be used by all .NET languages. The .NET Framework is architected around a unified hub-and-spoke programming model designed to make different languages interchangeable. This allows development organizations to mix and match languages based on the availability of skills, expertise, and task requirements. In VisualStudio.NET, developers can automate the deployment of applications or components as Web services by simply marking a check box in the development environment. Additionally, all programming documentation is generated as XML documents, making project information and metadata easy to share with other developers, departments, or external business partners. The Common Language Runtime
The .NET approach to software integration is based on a hub-and-spoke configuration where a variety of languages are translated into a CLR. Figure 6.3 illustrates how multiple languages may be used to generate a common Intermediate Language (IL) that is at the core of the CLR framework. The .NET IL is similar to Java's platform-neutral byte codes that can be ported across platforms.
For example, during the development of a complex application that involves the use of legacy systems, part of the application could be written in a .NET-compliant version of COBOL while other pieces might be written in C# and Visual Basic. The entire application, using a mix of languages, could be translated into IL, a compiled language at the heart of the CLR framework. Then the IL could be compiled to native code using a just-in-time compiler that precompiles frequently used code fragments . The developer could then check off whether the application would be deployed as a Web service. If so, the logic would be communicated automatically via SOAP and would be able to use emerging Web services standard application program interfaces (APIs) such as WSDL and UDDI. What about Transactions?
Microsoft has long understood the importance of transactions for enterprise computing. In the early 1990s, Microsoft began working on its own transaction software for its middleware effort. The result was the Microsoft Transaction Server (MTS), designed to carry out basic runtime services such as ensuring all parts of a transaction occur in an all-or-none fashion, managing thread and connection pooling, and handling state management. Their transaction software was based on a Object Transaction Monitor, integrating the capabilities of a Transaction-Processing Monitor with distributed object services. The result was a transaction engine that serves as a container for components running in the middle tier of a three- tier application. This is also the approach followed by Sun in the design of their J2EE middleware. Unlike early programming with transaction monitors , MTS does not require developers to insert complex transaction-processing code directly into their programs. Developers do not have to write the classic begin transaction , end transaction . Instead, the programmer adds a transaction attribute of component 's class. |
Team-Fly |
Top |