Chapter 15. Programming Web Forms and Web Services
Rather than writing traditional Windows desktop and
client-server applications, more and more developers are now writing
web-based applications, even when their software is for desktop use.
There are many obvious advantages. For one, you do not have to create
as much of the user interface; you can let Internet Explorer and
Netscape Navigator handle a lot of it for you. Another, perhaps
bigger, advantage is that distribution of revisions is faster,
easier, and less expensive. When I worked at an online network that
predated the Web, we estimated our cost of distribution for each
upgrade at $1 million per diskette (remember diskettes?). Web
applications have virtually zero distribution cost. The third
advantage of web applications is distributed processing. With a
web-based application, it is far easier to provide server-side
processing. The Web provides standardized protocols (e.g., HTTP,
HTML, and XML) to facilitate building n-tier
applications.
The .NET technology for building web applications (and dynamic web
sites) is ASP.NET, which provides a rich collection of types for
building web applications in its System.Web and
System.Web.UI namespaces. There
is a great deal to learn about
ASP.NET, but much of it is language-independent. ASP.NET offers a
rich suite of controls and related tools, including tools to validate
data, display dates, present advertisements, interact with users, and
so forth. Most of these require no coding whatsoever.
The focus of this chapter is where ASP.NET and C# programming
intersect: the creation of Web Forms and Web Services. The role of
the C# programmer in ASP.NET development is in writing the event
handlers that respond to user interaction. Many of the event handlers
will either add data to a database or retrieve data and make it
available to the controls. For coverage of ASP.NET alone, see my book
(co-written with Dan Hurwitz), Programming
ASP.NET (O'Reilly).
Web Forms bring Rapid Application Development (RAD)
techniques (such as those used in Windows Forms) to the development
of web applications. As with Windows Forms, drag-and-drop controls
onto a form and write the supporting code either inline or in
code-behind pages. With Web Forms, however, the
application is deployed to a web server, and users interact with the
application through a standard browser.
.NET Web
Services expand on the concept of distributed processing to build
components whose methods can be invoked across the Internet. These
components can be built in any .NET language, and they communicate
using open protocols that are platform-independent. For example, a
stock exchange server might provide a web service method that takes a
stock ticker symbol as a parameter and returns a quote. An
application might combine that service with another service from a
different company that also takes a stock symbol but that returns
background data about the company. The application developer can
concentrate on adding value to these services, rather than
duplicating the same service for his own application.
The current chapter demonstrates Web Forms and Web Services
programming using C#.
|