Nov 15, 2010

The Microsoft Web Platform

"With the Microsoft Web Platform you get more than just a powerful set of tools, servers and technologies. You get a complete eco-system of products, technologies and partners all looking to help you succeed on the web"

The MSFT platform consists of the framework, the server, the database and the tools...

The Framework

ASP.NET is a free, fully supported Web application framework that helps you create standards-based Web solutions. It provides a rich set of features and easy integration with databases, web services and rich internet applications. With features such as WebForms, MVC, dynamic data scaffolding, an AJAX framework, templates and themes, hundreds of built in controls and free developer tools, ASP.NET will enable you to build Web apps better and faster

Get everything you need to start building web applications with ASP.NET using the Microsoft Web Platform Installer. This simple, streamlined installer will get your development machine ready to go. The installer includes the latest version of the .NET framework including ASP.NET. You’ll also get Visual Web Developer Express which is a full featured FREE web development editor for working with ASP.NET and other Web technologies.

The MVC value prop: Use rich server-side controls and data binding with ASP.NET WebForms or take control of your HTML and easily incorporate Test Driven Development with ASP.NET MVC. Both approaches provide full support for core ASP.NET features such as membership-based authentication and authorization, URL routing, caching, master pages and localization.

The Server
Internet Information Services 7 (IIS 7.0) in Windows Server® 2008 provides a secure, easy-to-manage, modular and extensible platform for reliably hosting Web, sites, services and applications. With IIS 7.0, you get choice and control without giving up reliability or security. Customize and add new features, such as Intelligent Media Streaming through free IIS Extensions. Maximize web security through a reduced server foot print and automatic application isolation. Easily deploy and run both ASP.NET and PHP web applications on the same server. Get it all with IIS.

Why you'll love IIS 7.0 - Easy to get. Free to use
Get everything you need to start running and hosting web applications with IIS using the Microsoft Web Platform Installer. This simple, streamlined installer will get your development or hosting machine ready to go. The installer includes the latest version of the IIS 7.0 and Extensions. In addition, you’ll get the latest components of the Microsoft Web Platform including frameworks, database and development tools. Best of all it’s all free!

From ASP.NET to PHP, IIS 7.0 provides a powerful and flexible Web server for the world’s most popular Web applications such as Umbraco, WordPress and Drupal. ASP.NET hosting is even more simple and powerful, with deep integration directly in the request processing pipeline, configuration system, and management console. Learn more about PHP on Windows.

The Database
SQL Server Express is free database software that works great with any web application framework such as PHP, and your favorite applications such as Wordpress, and Drupal. Free SQL server comes with reporting options and other expansions you're simply not going to find anywhere else. It's everything you're looking for in a database.

The Tools
Visual Studio, Expression Web and Windows Internet Explorer 8 with its built-in developer tools, provide a complete environment for building and maintaining standards-based web sites, services and applications, across multiple devices. Whether your focus is design or development, HTML or ASP.NET, the Microsoft Web Platform includes the right tools for the right task.

Nov 14, 2010

The Evolution of th LAMP Stack

LAMP is an acronym for a solution stack of free, open source software, originally coined from the first letters of Linux (operating system), Apache HTTP Server, MySQL (database software), and PHP, Python or Perl (scripting language), principal components to build a viable general purpose web server.

The exact combination of software included in a LAMP package may vary, especially with respect to the web scripting software, as PHP may be replaced or supplemented by Perl and/or Python.[2] Similar terms exist for essentially the same software suite (AMP) running on other operating systems, such as Microsoft Windows (WAMP), Mac OS (MAMP), Solaris (SAMP), or OpenBSD (OAMP).

Though the original authors of these programs did not design them all to work specifically with each other, the development philosophy and tool sets are shared and were developed in close conjunction. The software combination has become popular because it is free of cost, open-source, and therefore easily adaptable, and because of the ubiquity of its components which are bundled with most current Linux distributions.

When used together, they form a solution stack of technologies that support application servers.

The LAMP stack is widely used because it offers a great number of advantages for developers:

Easy to code: Novices can build something and get it up and running very quickly with PHP and MySQL.
Easy to deploy: Since PHP is a standard Apache module, it is easy to deploy LAMP web applications by uploading .php files to an Apache server and connecting to a MySQL database.
Develop locally: LAMP can be set up so an app can be built locally, then deployed to the Web.
Cheap and ubiquitous hosting: Many inexpensive web hosts provide PHP and MySQL services.
Linux
Main article: Linux
Linux is a Unix-like computer operating system kernel. A major emphasis of Linux development is security[citation needed], which makes it an appealing choice for a web-server application. Like the other LAMP components, Linux is free open-source software which means the source code is provided with operating system, which can be edited according to specific needs. Also, because Linux-based operating systems are Unix-like, a Linux server is more natively-compatible with other server-oriented platforms, such as Solaris and BSD, than non-Unix-like systems like Microsoft Windows.

Apache
Main article: Apache HTTP Server
Apache is a free software/open source web server, the most popular in use.[7]

MySQL
Main article: MySQL
MySQL is a multithreaded, multi-user, SQL database management system (DBMS) now owned by Oracle Corporation with more than eleven million installations.[8]

MySQL has been owned by Oracle Corporation since April 20, 2009 through the purchase of Sun Microsystems.[9][10] Sun had acquired MySQL originally on January 16, 2008.

PHP, Perl, or Python
Main articles: PHP, Perl, and Python (programming language)
PHP is a reflective programming language originally designed for producing dynamic web pages. PHP is used mainly in server-side application software. Perl and Python can be used similarly.

Windows Live Spaces - Transitioning To WordPress

At the end of September, Microsoft announced the migration of Windows Live Spaces sites to WordPress.com, which will happen over the next few months.

The 30 million people that use Windows Live Spaces will have to migrate their blogs to the WordPress.com blogging platform and they have six months to do so, before Spaces is shut down.

The old Spaces URLs will also be redirected to the new blogs, so that no visitor will get lost along the way.

WordPress is powering more than 8.5% of the web, is used on over 26 million sites, and WordPress.com is visited monthly by over 250 million people.

Wordpress.com uses load-balanced hosting at Layered Technologies and Peer1 and this month both companies saw modest increases in the number of sites using nginx (60k and 48k hostnames respectively). For the moment, Windows Live Spaces sites in the sites.live.com domain whose blogs have been moved to WordPress.com remain online redirecting users to their new location.

For example, http://mikese.mobile.spaces.live.com still exists served by Microsoft but when accessed redirects to http://mikese.wordpress.com, which is running nginx. In contrast, blogs on their own domains will result in losses for Microsoft as the DNS can simply be updated with no need for redirection. An example of a site in this category is http://ozzie.net which switched over in the middle of October; at the time it was not clear if this change from IIS on Windows to nginx on Linux was a deliberate move by Ray Ozzie as he prepared to step down as Microsoft's Chief Software Architect, though it now appears to be part of the wider Windows Live Spaces to WordPress.com migration. Since WordPress.com is served by nginx, we expect to see a continued increase in sites using nginx as the migration takes place.

Despite the changes described above, Microsoft gained 3.1M hostnames this month, mostly in the United States. The largest increases were 942k hostnames at GoDaddy and 717k hostnames at Demand Media Inc.

Public Cloud vs. Private Cloud

The lure of cloud computing is that it offers organizations some choices. Companies can add capacity required to process and analyze data, as needed. There's no doubt that cloud computing offers great cost savings and increased efficiency for any organiztion.

However, i'm often drawn into conversations with colleagues adn friends about the wisdom of deploying private vs. public clouds. First - a few definitions.

Private Cloud (Web Definition,
Web

PHP vs. ASP

If you were to make a search on the Internet on how loyalists of both PHP and ASP.net are doing almost everything by biting each other's heads off, you will realize how hot this debate actually is. The major contention is that Microsoft products are generally considered to be superior to other products, but then there are programmers that have been using PHP since ages and never once has it let them down. While there is acclaim for ASP.net being more robust and speedier, PHP fans maintain that PHP has much better support and a very easy to understand language.

As the debate between PHP and ASP.net rages on, it is important to make a frank comparison between the two languages, so that other developers who are not so strong in their opinions are not caught in the argument between the two. Here are some of the important points that distinguish the two programming languages from each other:-
(For the uninitiated, PHP stands for Hypertext Preprocessor and ASP.net stand for Active Server Pages. It helps to put things into better perspective!)

PHP is a relatively simpler language to use than ASP.net. Initially, PHP was written in the C programming language to replace a set of scripts in Perl. That is the reason why coding in PHP remains simple even today. Many developers find themselves to be more at ease with the user-friendly nature of PHP when it comes to coding. However, critics also count this advantage of PHP as a disadvantage. Some of them maintain that the language of PHP has not been updated much, and hence it is still quite archaic and even, somewhat cumbersome for coding. ASP.net, which is a relatively new development, has a lot of options when it comes to languages. Here, you can use languages such as C#, J#, C++ and VB.net. Hence, when it comes to sheer choice, ASP.net has better to offer. But PHP is no less, since it can do its task quite well, even with its minimum language tools.

PHP is has much better support for the database management system, MySQL. In fact, the very popular blogging platform, WordPress uses the formidable combination of PHP coding on MySQL for its content management system, which includes about hundreds of thousands of blog posts every single day. Another very popular and frequently updated service that uses the combination of PHP and MySQL is Wikipedia. ASP.net can also support MySQL, but PHP is unanimously hailed, by the masses and classes alike, for its great support for this database management system.

People who use both PHP and ASP.net also maintain their opinion that PHP is better for embedded support with another database management system, viz. SQLite. SQLite is described as a relational database management system and since it is contained in a C programming library, PHP can provide better support to it.

PHP has also a very good support for object oriented programming, on which whole scripting languages are being built nowadays. ASP.net also provides very capable support to OOP.


When it comes to support, PHP wins over ASP.net. The main reason for this is that PHP is open source. Hence, the support can come freely from all over the world. In most cases, PHP fixes are made instantly. Being open source also ensures that there are very few snags in PHP. While, ASP.net could take a while to make fixes. That is because it is owned by Microsoft, and it is the development team of Microsoft that will need to respond to the support query. That could take more time than the worldwide open source support that PHP is able to get. Most PHP supports can be instantly found online by doing a simple search on the Internet. Some of the providers of support for PHP are Zend, NuSphere and ThinkPHP.

» PHP can use the command line to perform many everyday activities. Some of the things that the PHP command line is useful for is for manipulating across many files and for putting files into multiple directories at once. These are just some of the important features that PHP's command line is used for.

PHP is an open source programming language, which means it is free for anyone to use. Programmers can develop PHP applications virtually at no cost, because PHP is free to use. ASP.net is not free too, but its extensions are available for free on Windows platforms, upwards of 98. Hence, ASP.net is available to Windows users when they buy it. That puts a bit of restriction in its use.

ASP.net is compiled into memory in binary code. So, when ASP.net is used for coding, it is evident that it takes much longer time to process since the codes need to be retrieved from memory. However, PHP is not compiled into memory like ASP.net is. It is interpreted at runtime. That is the reason why PHP coding leads to better speed and even efficiency. However, it must be said that both PHP and ASP.net can run at supreme speeds and efficiency when they are coded expertly.

Talking about hosting charges, both PHP and ASP.net are quite cheap to host. If you do a good deal of shopping online, you will also be able to find hosting for as little as $4. While there are several pricier hosting services out there, their charges are higher for both PHP and ASP.net. Hence, it can be said that both PHP and ASP.net are at par with each other on the hosting charges.

Since PHP is older, there are many people who claim that it is much more secure than ASP.net where coding is concerned. ASP.net is much new, and the security options may not be fully in place yet. However, many programmers will pooh-pooh at this point, because they maintain that security in coding does not depend on the language that is used, but in the way that the coding is done by the coder. Even so, there is a lot of talk on the Internet about PHP coded sites being more difficult to hack into than those done with ASP.net.

Hence, there is a lot to debate on about the worthiness of PHP over ASP.net or vice-versa. There is probably no end to it, and there never shall be. The problem mainly is that both of them are good in their own place, but people who have been staunchly using PHP for several years now – some of them for more than a decade – would certainly not like to go in for the new ASP.net. The price to be paid is quite high, i.e. learning a whole new syntax and getting used to it. That is more the reason why PHP is still so popular.

But, to ASP.net's credit it must be said that it is much more dynamic, even if the mere use of different languages are concerned. While PHP is still stuck to its scripting language days, ASP.net has broken new grounds by entering into new languages, and even developing some of its own.