.Net – Introduction

.net

Introduction to .NET

NET Framework was developed to standardize programming. (Note how I speak of the full .NET Framework, not the Micro Framework.) Once you program in .NET, you are no longer affected by the underlying operating system. It offers a set of libraries that developers can use many programming languages.

The .NET Framework works on PCs and not on smaller devices because it is a very large frame. Also, the full framework has a lot of things (methods) that wouldn’t be very useful on smaller devices. This is how the .NET Compact Framework was born. The compact framework removed unnecessary libraries to reduce the size of the framework. This smaller version works on Windows CE and smart phones. The compact frame is smaller than the full frame but it is still too big for mini devices because of its size and because it requires an operating system to function. .NET Micro Framework is the smallest version of these frameworks.

He deleted more libraries and it became independent of the operating system. Due to the similarity between these three frames, almost the same code can now work on PCs and small devices, with little or no modification. For example, using the serial port on a PC, WinCE or FEZ device works the same, when using .NET.

The Vision

The Internet has come a long way from viewing static pages in Hypertext Markup Language (HTML). Today users can download music, participate in auctions, buy online, and even talk to your family over the Internet. Even business is not lagging behind. They implement business-to-business (B2B) and business-to-consumer (B2C) applications that communicate over the Internet.

Microsoft believes the Internet will evolve from a collection of isolated websites and applications to a shared one “Communication bus” for distributed applications. Separate parts of a distributed application can run on various hardware and software platforms. Computing devices include both desktop and mobile devices such as cell phones, PDAs, personal digital assistants (PDAs) etc. Even household appliances such as microwave ovens and dishwashers will participate in this online conversation.

Web Services

To be fair, this vision of computing on any device, anytime, anywhere is shared by many other software companies such as IBM and Hewlett-Packard, as well as many respected computer scientists around the world. Key technologies, Web services are the vehicle for implementing this distributed computing model. A web service can be defined as a service that can programmatic access via the Internet. Companies can make their business applications available as web services. These web services, for example, can be used to integrate applications across different departments of the same company. Web services can also be used to automate Internet communications between two companies.

To be able to develop distributed applications that transcend geographic, hardware and operational boundaries, the Internet services should be based on generally accepted standards.

Web Services Foundation
StandardPurpose
InternetUbiquitous communication
Extensible Markup Language (XML) Universal data format
Simple Object Access Protocol (SOAP)Communication protocol
Web Services Description Language (WSDL) Describe the semantics of the methods available on a
Web service
Universal Description, Discovery, and Integration
(UDDI)
Publish and find Web services  

 

In the concept of computing anywhere, clients wishing to access web services can be geographically distant from servers. Since the Internet has a wide geographic reach, it makes sense to provide services over the Internet for developing distributed client-server applications in addition to hardware and OS, Extensible Markup Language (XML) has been adopted as a universal language for defining data formats. XML provides a common data format that does not require business partners or customers to use a specific programming language, application,
OS or hardware. XML alone is not enough to support client / server communication. To access the web service, the client must be make a procedural call to the server, pass the required parameters and get the return value. The protocol should be defined for this information exchange. To this end, the W3C [1] has defined a protocol called Simple Object Access Protocol (SOAP).

SOAP is a light-weight protocol for exchanging data in a decentralized, distributed environment. It defines how a remote procedure call can be expressed in XML format. It is an XML based protocol which consists of three parts:

  • An envelope that defines a structure for describing the content of a message and how it is processed.
  • A set of encoding guidelines for expressing instances of application-defined data varieties.
  • A mapping convention for remote procedure calls and responses.

Although the SOAP specification is independent of the underlying transport protocol, the Hypertext Transfer Protocol (HTTP) has been the sweet spot for the industry. Most companies allow HTTP traffic through a firewall contrast this applies to other distributed object technologies such as the Distributed Component Object Model (DCOM) and Common Object Request Broker Architecture (CORBA), which requires ports to be opened on the firewall, compromising security.

Also note that while client and server can communicate with each other using raw SOAP packets, the helper Utilities are available on most platforms to hide the complex work of SOAP packages:

  • The client calls the method passing the required parameters.
  • The client helper utility packages the method call and its parameters into SOAP-compliant XML formats and sends a SOAP packet to a remote server over a network protocol, preferably HTTP.
  • The server side helper utility unpacks the SOAP packet and calls the actual method, passing method parameters. After returning from the method, the utility repackages the return value into SOAP package and sends it back to the client.
  • The client-side utility unpacks the SOAP packet and returns the value to the client.

From a programming point of view, using SOAP helper utilities allows you to invoke a method on a remote system as just how to call a local method.

Why is SOAP so important?

Since it provides a basic calling mechanism for applications Computing regardless of the underlying hardware or operating system platforms. The SOAP specification is under development. The current draft specification can be found on the W3C website.[W3C-01].

We now know how to programmatically call web service methods. However, we still don’t know that methods are available as part of the web service. We need a mechanism to describe the software “interface” web service; that is, the methods available in the web service, the parameters for each method, and the return the value of each method. A popular option is to define this interface in the Web Services Description Language (WSDL). An XML-based language that allows you to express the functions and formats supported by any service endpoint. This API is called the web service contract.

At this point, we know how to get information about a web service method and how to call that method. It remains to determine the server running the web service.

It’s likely that in some circumstances the server is known to the client. Nonetheless, it’s possible that the client just isn’t significantly satisfied with the quality of service or the cost of accessing the service and may wish to use a different server. The great thing about the online providers programming model is that it doesn’t matter which server supplies the service so long as the server adheres to the web service contract. From a coding point of view, all that is needed is to specify the correct server. there is no changes are required to the rest of the code.

Industry-wide efforts are under way to promote e-commerce for businesses. This project is called Universal Description, Discovery, and Integration (UDDI [2]) is an initiative to create an open framework for describing web services, starting a business and integrating business services over the Internet. UDDI Helps Business applications to do the following:

  • Open up each other.
  • Determine how they interact over the Internet.
  • Sharing information in the global ledger, which will accelerate the global adoption of B2B e-commerce.

Essentially, UDDI provides industry-specific yellow pages on the Internet. UDDI has also adopted SOAP and WSDL, which allows you to programmatically retrieve information from its repository.

Please note that standards such as XML, SOAP, WSDL, UDDI, etc. are not proprietary to Microsoft, although Microsoft has contributed greatly to the implementation of these standards.

The Microsoft .NET Initiative is built on XML, SOAP, and WSDL. .NET technology and tools make it’s easy companies to develop web services and use other web services.