Ask any ten people what Web 2.0 is and you’ll likely get ten different answers. Ask any ten business owners what it is, and you’ll likely get the same variety of answers – but one thing will be in common – they’ll all want to have a part of it, and they’ll all want to be able to ride the Web 2.0 wave for the sake of their business.
Perhaps it’s fitting to use the Wikipedia definition of Web 2.0, as Wikipedia itself is a poster child of Web 2.0 sites. There, Web 2.0 is defined as:
The second generation of web development and web design that facilitates information sharing, interoperability, user-centered design and collaboration on the World Wide Web. Examples include social-networking sites, video-sharing sites, wikis, blogs, mashups and folksonomies.
In this paper you’ll look at the Microsoft Web Platform and how you can use the tools that are available as part of the web platform to allow you to build your Internet presence to allow for this type of information sharing, interoperability, user-centered design and collaboration.
Before your business can even think about being a part of Web 2.0, and taking advantage of the high level features that we’ve discussed, you’ll need the nuts and bolts of being online. This boils down to having internet-connected hardware that runs server software that allows you to deliver your content and applications in a globally scalable way.
Microsoft Windows Server contains software called IIS (Internet Information Services) that allows you to do just this. The latest version of this is IIS 7.5, available as part of Windows Server 2008. This platform gives you great scalability and performance, meaning that your web application will always be available to your end users, and security, so that they will know that they can trust their business relationship with you. You can learn more about Windows Server 2008 and IIS at http://www.microsoft.com/windowsserver2008/en/us/internet-information-services.aspx and you can view some customer case studies and testimonials about their success by building on this platform at http://www.microsoft.com/windowsserver2008/en/us/iis-case-studies.aspx.
The physical hardware, and server software provide you with the infrastructure that allows you to build and deliver applications across the web. But these are just the beginning. In order to be able to not just build applications, but build them efficiently and cost effectively, you’ll need a applications framework that handles the difficult tasks involved in building an application, such as rendering on content, connection to databases and authentication for you. Think of the hardware and server as being like having the land and foundation for building a house, but when you build a house you won’t go and cut down the trees to make the framework or smelt the copper to make the wiring – you’ll instead use pre-made parts and assemble them together to build your house. Application frameworks are these pieces, and with Windows Server 2008, you get the best-of-breed components for building Web 2.0 sites, such as ASP.NET, Windows Communication Foundation, and Sharepoint.
Should you choose not to build your own application, there are many options of using pre-built applications and customizing them to your needs. There are many applications available, providing a vast array of functionality that you can use for your site. Best of all, many of these applications are open source, meaning that the creator of the application is making the source code available for you to inspect and (usually) customize to your own needs. This prevents you from having to build your own version of this code. So, for example, if your strategy calls to have a site that provides blogging, you wouldn’t need to build your own blogging engine, you could just customize and brand an existing one.
You can get access to a number of applications that run on the Microsoft platform in one place using the Microsoft Web Platform Installer. We’ll discuss this in the next section.
In the previous section we discussed the existence of pre-built web applications that can be customized and branded to your needs. While these are very compelling, they bring some complexity with them – mostly in the fact that most (if not all) of them carry with them the fact that they have dependencies – i.e. software components that need to be on the machine already in order for them to work. A classic example of a dependency is a database. Most applications need a database for persistence of data, and installing a database as well as connecting it to the application framework can be a non trivial task.
It is with easing this task in mind that Microsoft have built the Web Platform Installer (WPI) for you to take advantage of. The WPI is a one-stop-shop that allows you to install the server components, framework components, dependencies and applications in a single session with just a few clicks of the mouse.
You can get the Web Platform Installer at http://www.microsoft.com/web.
With it you can install and configure the following:
· Server components in your operating system such as IIS and various IIS extensions
· Database software (Microsoft SQL Server)
· The .NET Framework, used as the underpinning of application frameworks such as ASP.NET
· Tools for building Web 2.0 applications such as Microsoft Visual Web Developer
· Popular pre-built Web applications such as the DotNetNuke CMS system or the SubText blogging engine
· Extras such as tools for Search Engine Optimization of your site.
Earlier we saw that the core of what makes a site a Web 2.0 site, according to the Wikipedia definition is information sharing, interoperability, user centric design and collaboration. A number of different application paradigms have emerged to provide this functionality, and we will look at these, and the actual application frameworks that provide this paradigm in this section. Each of these applications are available for easy install using the WPI.
· Blogging. The word ‘blog’ is derived from ‘Web log’, and blogging has become a very popular form of expression in the last decade. A blogging platform allows for non developers to create content that is hosted on the web, as well as the various tools needed to index and visualize this content. Think of blogging as a form of online diary that is fully indexable and sharable. Blogs can also be syndicated (made easy for other computers to read and republish them) using a technology called RSS (Really Simple Syndication). There are many blogging engines available today, and the best and most popular are part of the WPI. These include BlogEngine.NET; WordPress; and SubText.
· Content Management. Another popular form of Web 2.0 application is a Content Management System (CMS). This is an engine that can be used to host and display content that typically does not require a developer to create the pages, navigation, indexing and all the other ‘plumbing’ required to run a web site. There are many popular CMS available in open source, and some of the more popular ones are part of the WPI. These include Umbraco; mojoPortal; and DotNetNuke.
· eCommerce. If your site provides shopping functionality for your end users, then you’ll likely need shopping cart software that allows them to browse your products and aggregate them into a shopping cart, along with the realization of the transaction through allowing them to buy the products using their credit card, and calculate shipping costs and taxes etc. The category of software that provides this functionality is called eCommerce software. The WPI includes a very popular eCommerce application called nopCommerce.
· Wiki. Wiki pages are unusual in that they give control of your content to your end users. A Wiki page is open for editing, and is a very powerful collaboration tool. For example if you have a product and you want your end users to comment on this product or write about their experiences with the product, then Wiki allows you to do this. Earlier in this document we spoke about Wikipedia, which is a Wiki-based encyclopedia where the content of the encyclopedia has been written by the users of the encyclopedia. The WPI includes a Wiki engine that you can use called ScrewTurnWiki.
· Galleries. Collaboration is an important part of the Web 2.0 definition, and one of the more common areas of collaboration is in sharing images and documents. The WPI includes the popular Gallery and Gallery Server Pro applications to allow you to set up galleries easily and quickly.
You can find details on each of these applications, as well as a more detailed summary of each at http://www.microsoft.com/web/gallery.
In this paper you were introduced to Web 2.0, and the various components that you need to build your site to be a Web 2.0 site. You saw how Microsoft software including the operating system (Windows Server 2008), the Web server (IIS), application frameworks (.NET, ASP.NET, WCF etc.) and software components (SQL Server, Sharepoint) etc. can work together to provide the foundation of a Web 2.0 site. You also looked into how pre-built application suites can be used to provide Web 2.0 functionality, such as blogging, wiki, content management and more. You saw how the Web Platform Installer can be used to bring all of this together into a simple-to-manage experience getting you up and running quickly with everything you need for Web 2.0.
So, go out and give it a try at http://www.microsoft.com/web.