HTML Goodies: The Web's New DNA, Part One
Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
You're familiar with web pages that just sit there while you sit and look at them, and with those that jump around and sing while you sit and look at them, and you've seen some that "interact" with you - as in, you fill out a form and submit it. On the other hand there are programs that run on your computer that truly interact with you. You are involved constantly in the process of doing something with the program, such as the process of balancing your checkbook in your finance manager program using your bank's online banking feature. Neat stuff! Wouldn't it be great if you could get all that interactivity over the Web? The folks who came up with .Net thought so!
Microsoft's Dot Net Architecture (DNA - all puns deliberate, I'm sure!) lays the foundation and provides the tools to build just such an interactive "Web Application". Dot Net provides the means to overcome obstacles that have traditionally been in the way of the development of true web based applications (eg "Session State" - more later!). In this series of articles, I will be taking a look at the building blocks of such an application, taking you step by step through it's development and introducing you to this immensely powerful technology that in this author's humble view, is going to open up new vistas of Internet use. To answer my earlier question, "can we start here?" - I believe this is an excellent place to start - in fact, if you have experience with other web application development technologies - set it aside! This is a new animal, and calls for fresh thinking.
OK, what exactly is Dot Net? It's easiest to clarify by first saying what it is not. It is not a language. In fact, one of its beauties is that is allows the use of several languages seamlessly in the same application (for example, in a larger project there could be several programmers each using their own favorite language, but each interacting seamlessly with the others - maybe not a good idea to do, but it's great that you could!) The big advantage here is in the ability to reuse code from another application that may not have been written in your language of choice.
Dot Net is a strategy for delivering applications over the Web as Web-based services. In the case of our earlier example, it would be possible to build a series of pages that provide all the functionality of the checkbook program, including the interaction with the bank's on-line system, and to offer this as a service delivered over the web. This is a form of the Application Service Provider model (don't confuse those initials with Active Server Pages - ASP - which is the predecessor to .Net). Components of the .Net strategy include platforms (Microsoft's ".Net Servers") which include the .Net Framework (.Net's foundation infrastructure) and a set of programs or tools for developing and running .Net applications. Microsoft's latest Office products include features for .Net, and of course, there's Visual Studio.Net - the comprehensive integrated development environment. There are new languages to use in your development, including Visual Basic.Net, C# (pronounced "C Sharp"), the Java like J# and others. Some of these are distributed along with Visual Studio.net. Although I may make reference to Visual Studio.net and these languages, or use them in examples, it is not my intent for this series of articles to provide a tutorial for these products. Instead, I want to introduce basic web application development using .Net with the most basic (and cheapest) set of tools possible.
This series of articles will include a number of development exercises for you to perform. To complete the various tasks you will need to have access to both a web server and to a development environment. The web server needs to have been updated with the latest .Net Framework. The server can either be a hosting service (see here for more info) or, if you have Windows 2000 (Professional or Server) or XP (Home or Professional), you could use your own computer as a development server. To do this, make sure you have either the Personal Web Server or Internet Information Server (recommended) installed. Use Windows Update to obtain all the latest updates for your computer. The .Net Framework will be installed along with the other updates. For the development environment used in our examples, visit www.asp.net - Microsoft's home for ASP.Net - and look for the Web Matrix Project. Download and install it and you are on your way. (If you happen to have Visual Studio.net then you don't actually need the Web Matrix Project, since it is like a subset of the Studio. You may want it, however, if you would like your work to look just like our examples.)