Web Services Infrastructure IN ASP.NET

Although it is possible to build or consume Web services on a platform with support for only the core technologies (XML, TCP/IP, HTTP, and SOAP), it is certainly not a task suited for the beginning programmer or the easily intimidated.

The power of the infrastructure on which the Microsoft Web Services implementation is built is embodied in the basic design principal that Web services should be simple to create and easy to consume. Rather than waste your time writing Web service infrastructure code, you should be able to focus your time and energy on the actual functionality of your application and let the platform do the rest.

The technologies and tools provided in the Microsoft .NET Framework do just that. These technologies give you an excellent, easy-to-use platform for building and consuming Web services quickly and efficiently.

One of the primary motivations behind the creation of the Web services architecture was the inadequacy of existing distributed object model technologies, such as DCOM, CORBA, and IIOP, for Internet-based applications. Although each of these technologies worked well in a controlled, homogeneous environment, this obviously cannot be guaranteed for systems on the Internet.

What's more, these legacy object technologies could also be extremely large and complex (some more than others). Again, this makes it difficult to rely on these older technologies as a foundation for distributed computing on the Internet.

One of the major advantages of the Web services foundation is its simplicity as well as its reliance on existing (or emerging) Internet standards. This ensures that Web services can be implemented on and available across the diverse systems of the Internet.

Although the Web services foundation does a great job of enabling a programmable Internet composed of distributed building blocks, there's really much more to creating scalable, robust, distributed applications. Each individual platform must supply these services, because the Web services foundation does not attempt to address these issues.

The Microsoft .NET platform is specifically designed to provide these essential services, which makes it easy to create world-class Web Services.

The Common Language Runtime (CLR) is built on top of the system platform (such as Windows 2000). Layered on the CLR is the .NET Framework Class Library, which provides a large set of services via a hierarchically arranged collection of classes and types. On top of this base is the ASP.NET Web platform and Windows Forms environments.

One of the primary goals of the Microsoft Web Services platform is to make it easy to build Web services that can solve complex, business-critical issues. The following sections take a look at the Web Services platform features that supply critical services that not only make it possible to create these types of applications, but also make it easy.

The Microsoft .NET Framework

The .NET Framework is Microsoft's next-generation platform for building and deploying robust Web services. It has been designed specifically to address the many requirements of delivering Web services that can fulfill the vision of the programmable Internet.

Key features of the .NET Framework that provide support for Web services include:

The Common Language Runtime (CLR)
The .NET Framework Class Library
ASP.NET

The Common Language Runtime The CLR provides the foundation for the .NET Framework. The CLR is responsible for managing code at execution time and provides the following services:
  1. Cross-language integration
  2. Self-describing objects
  3. Automatic memory management
  4. Thread management
  5. Remoting
  6. Code safety and security
  7. Code versioning and deployment support
Code that targets the CLR is called managed code. Compatible language compilers generate code that enables the CLR to manage the execution of your applications. To do this, compilers generate what is called Microsoft Intermediate Language (MSIL).

This intermediate code is platform-independent; in other words, it can be hosted on any processor architecture supported by the CLR. A Just-In-Time (JIT) compiler is used to convert MSIL to processor-specific code at run time. During execution, CLR-managed code automatically receives the benefits of memory management, cross-language debugging support, security, and many other features.

Managed code is packaged into units called assemblies. Assemblies are the building blocks of .NET Framework applications and form the fundamental unit of deployment, version control, reuse, and security. An assembly contains all the information necessary for the CLR to provide its services.

A major design goal of the CLR (as is true of all the pieces in the Web Services architecture) is to make the development process easier. As you can see, the CLR provides an excellent execution environment for Web services, relieving developers from the responsibility of providing and managing these features themselves, thereby allowing them to easily and quickly build and deploy robust Web service applications that take advantage of the CLR.

Now that you know a little about the CLR and its contribution to the Web Services platform, let's take a few moments to look into the next layer of the architecture: the .NET Framework Class Library.

The .NET Framework Class Library

The .NET Framework Class Library is a collection of classes that are organized into a single hierarchical tree of namespaces. The Class Library provides access to system features via classes, interfaces, and value types, which greatly enhances programmer productivity and simplifies the development process. The Class Library is built on top of the CLR. Therefore, it is also managed code that receives all the benefits provided by the CLR.

At the root of the Class Library hierarchy is the System namespace, which contains over 100 core types and classes that are used by all .NET applications. In addition to the System namespace, the Class Library contains namespaces for abstract base classes and derived class implementations. This includes file I/O, messaging, networking, security, and, of course, access to the Internet. You can use these classes as is, or derive from them to create your own implementations.

The .NET Framework uses a dot-based naming scheme to represent grouped classes and types that comprise a namespace. Namespaces make it easier to search for and reference classes and types. The namespace name includes everything from the beginning of the name up to the last dot in the name. The remaining part of the name identifies the type name. For example, the System.Web namespace defines the Web type, which belongs to the System namespace.

RELATED POST

CREATING ASSEMBLIES WITH ASP.NET

BUILDING HANDLERS IN ASP.NET

INTERFACES AND CLASSES CREATION IN ASP.NET

CACHING IN ASP.NET

CACHING IN ASP.NET PART TWO

WIRE LESS APPLICATION WITH ASP.NET

SECURITY IN ASP.NET PART ONE

SECURITY IN ASP.NET PART TWO

LOCALIZING ASP.NET APPLICATIONS

DEPLOYING ASP.NET APPLICATIONS

ASP.NET CONFIGURATION SYSTEM

WEB SERVICES IN ASP.NET

WEB SERVICES PART TWO

WEB SERVICE INFRASTRUCTURE

WEB SERVICE INFRASTRUCTURE PART TWO

EXCHANGING MESSAGES IN ASP.NET

MICROSOFT HAIL STORM

SOAP AND DOT NET PART ONE

SOAP AND DOT NET PART TWO


No comments:

Post a Comment