.NET: The Web's New DNA
Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
Dot Net Architecture -- an Introduction.
So you have decided it's time to learn how to create web sites. Very good! Here are some options: you can learn the ins and outs of HTML, enhance your capabilities with some CGI, throw in some SSI and a little CSS, break out the XML and you're well on your way. Of course, just because English is based on Latin, Greek, and the Germanic languages with a few extras thrown in, it doesn't mean that you have to learn all those languages in order to learn English! So too with the Web! There's a new kid in town and he's a little different. They call him .NET ("Dot Net"). The question is, can we start here?
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 though 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 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 "first in series" has so far spent a lot of time providing a brain based
overview, and before we leave off, we should delve briefly into the real and
So are you ready to dig in? Yes? Great! First - let's set up a web server.
You need Windows NT,2k,XP with either the Personal Web Server or Internet Information Server installed. Take advantage of Windows Update to get your OS and all its components up to date. In doing so, you will notice that the .Net Framework was offered as a "recommended update". Install it - in fact keep going back to Windows Update until it tells your there are no more updates available. Your server is now ready!
Next, visit www.asp.net - Microsoft's home for ASP.Net - look over on the right where is says "Download ASP.Net" go in there and download and install the .Net Framework SDK. It's free! This is a 131 Megabyte download and it may take a while. Once you have that installed, check out the ASP.Net Web Matrix Project. This is another freebie you'll want to get. The Web Matrix Project provides a development environment like a mini version of Visual Studio in which you can develop ASP.Net projects. Familiarity with this will be useful when you decide to step up to the full blown Visual Studio.Net! We will use the Web Matrix in our examples.
It's time to be downloading!