Microsoft and the Web

for RuBoard

The World Wide Web has been a big catch-up challenge to Microsoft. Actually the Web coexists quite well with Microsoft's traditional strength, the PC. Through a PC application, the browser, a user gains access to a whole world of information.

The Web relies on standards such as HTML, HTTP, and XML, which are essential for communication among diverse users on a wide variety of computer systems and devices.

While complex, the Windows PC is quite standardized. While the Web is based on standard protocols, there is a Tower of Babel of multiple languages, databases, development environments, and devices running on top of those protocols. This exploding complexity of technology exacerbates a growing shortage of knowledge workers who can build the needed systems using the new technologies. .NET provides the infrastructure so that programmers can concentrate on adding value in their applications without having to reinvent solutions to common programming problems.

Applications in the Internet Age

Originally the Web was a vast information repository. Browsers would make requests for pages of existing information, and Web servers would deliver this information as static HTML pages. Even when interactive Web applications were introduced, HTML, which combines information with the details of how it is formatted for viewing, was still used.

XML provides a standard way of transmitting data independent of its formatting. XML can thus provide ways for companies to agree on standards for documents and information flows, such as purchase orders and invoices. E-commerce can then be automated among cooperating companies (B-to-B). XML, however, only describes the data; it does not supply the actions to be performed on that data. For that we need Web Services.

Web Services

One of the most important aspects of .NET is the support for Web Services. Based on the industry standard SOAP protocol, Web Services allow you to expose your applications' functionality across the Internet. From the perspective of a .NET programmer, a Web Service is no different from any other kind of service implemented by a class in a .NET language. The programming model is the same for calling a function within an application, in a separate component on the same machine, or as a Web Service on a different machine.

This inherent simplicity will make it very easy for companies to create and host applications. If desired, a whole application could be completely outsourced, removing issues of development, deployment, and maintenance. Or you could use third-party Web Services that did not exist when you designed your application.

ASP.NET

.NET includes a totally redone version of the popular Active Server Pages technology, known as ASP.NET. Whereas ASP relied on interpreted script code in languages with limited capabilities interspersed with page-formatting commands, ASP.NET code can be written in any NET language, including C#, VB.NET, JScript, and C++ with managed extensions. Since this is compiled code, you can separate your interface code from your business logic in a separate "code behind" file. Although C#, VB.NET, and JScript may be left as embedded script within the Web page, managed C++ must be placed in a code behind file.

ASP.NET provides Web forms, which vastly simplifies creating Web user interfaces.

Drag-and-drop in Visual Studio.NET makes it very easy to lay out forms. You can add code to form events such as a button click.

ASP.NET will automatically detect browser capability. For high-end browsers code processing can be performed on the client. For low-end browsers the server does the processing and generates standard HTML. All this is done transparently to the developer by ASP.NET.

The combination of Web Services and compiled full-blown languages such as C#, VB.NET, and managed C++, allows Web programming to follow an object-oriented programming model, which had not been possible with ASP scripting languages and COM components .

Open Standards and Interoperability

The modern computing environment contains a vast variety of hardware and software systems. Computers range from mainframes and high-end servers to workstations and PCs and to small mobile devices such as PDAs and cell phones. Operating systems include traditional mainframe systems, many flavors of UNIX, Linux, several versions of Windows, real-time systems, and special systems such as PalmOs for mobile devices. Many different languages, databases, application development tools, and middleware products are used.

In the modern environment, few applications are an island unto themselves . Even shrink-wrapped applications deployed on a single PC may use the Internet for registration and updates. The key to interoperability among applications is the use of standards. Since applications typically run over a network, a key standard is the communications protocol used.

Communications Protocols

TCP/IP sockets is highly standard and widely available. Too much detail, however, has to be mastered, for programmers to be productive in writing robust distributed applications. Somewhat higher is the remote procedure call (RPC), but RPC is still very complex, and there are many flavors of RPC. Popular are higher level protocols, such as CORBA, RMI, and DCOM. These are still complex, and require special environments at both ends. These protocols suffer other disadvantages, such as difficulty in going across firewalls.

One communication protocol has become ubiquitous: HTTP. For this reason, Microsoft, IBM, and other vendors have introduced a new protocol called SOAP (Simple Object Access Protocol). SOAP uses text-based XML to encode object method requests and the accompanying data. The great virtue of SOAP is its simplicity, leading to ease of implementation on multiple devices. While SOAP can run on top of any protocol, its ability to run on top of standard Internet protocols, such as HTTP, allows it to pass through firewalls without any connectivity problems.

for RuBoard


Application Development Using C# and .NET
Application Development Using C# and .NET
ISBN: 013093383X
EAN: 2147483647
Year: 2001
Pages: 158

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