Novell Home

Novell Connection Magazine Home

The Lion's share of Web enterprise developers use the Java-based J2EE stack or the .NET-based ASP.NET stack for their own line of business applications or their public-facing applications. The two stacks have competed for a long time and roughly command equal shares of the market; only about 10 percent of the market is driven by other stacks, which are mostly open source application servers. Figure 1

Multiple vendors provide J2EE stacks, but only two vendors are behind ASP.NET: Microsoft and Novell. Microsoft offers its platform on Windows, while Novell offers ASP.NET on SUSE Linux and other Unix systems. Figure 2

The first column represents the highly competitive J2EE stack that is supported by a myriad of vendor applications . The second column shows how Microsoft, the creator of the ASP.NET stack dominates almost half of the market with a single product. As you can see, Novell has a small presence there.

Because of the enhancements included with the release of Mono 1.9, application developers who have been developing ASP.NET 2.0 applications will find it easy to move them to SUSE Linux.

Traditionally, the ASP.NET stack has been bound to the Windows platform, while the J2EE stacks have been cross platform stacks. We now have an opportunity to grow our presence on the ASP.NET space by helping customers move their applications from Windows servers to Linux servers. In an ideal world, Linux would get half of that ASP.NET space, but I will be happy if we can show the light to 10 percent of that market.Figure 3.

The Novell implementation of ASP.NET is part of the Mono project, and is a standard component of our SUSE Linux Enterprise offerings and OpenSUSE Linux distribution.

By offering this 100 percent-compatible implementation of ASP.NET, we have opened a whole new world for developers. You can now take advantage of all the performance, security and management features that Linux has to offer. You can keep your existing applications, code bases, experience, training and expertise you have in Microsoft's .NET implementation, but then deploy your software on Linux-based servers.

In this article we will explore how to migrate from Windows to Linux and the differences between these two platforms in the context of ASP.NET.

Migration Strategies

Figure 4

A Web application is typically made up of two tiers:
1. a presentation tier (the actual ASP.NET application), which typically is merely a Web front end to the contents of a database
2. the back-end tier, which is typically the database.

It is easier to migrate the front-end machines to Linux than migrating the back ends because the front ends can be replaced gradually and can be done as part of a regular software update. Migrating the data storage requires a switch to take place, and in many cases is outside the scope of the developers creating the front end.

Our recommendation is to first port the front end, and keep the existing database back end intact. Mono contains database connectors that allow you to continue using your existing SQL servers: Microsoft SQL server, IBM DB2, Oracle or the open source PostgreSQL, MySQL, Firebird or Sqlite.

Ported Applications

To illustrate how easy it is to port ASP.NET applications from Windows to Linux (and also, to serve as part of our own QA efforts), we have ported various samples and popular open source ASP.NET applications to Linux. Ready-to-run RPM packages for OpenSUSE and the source code with the port are posted. (See Installing our Packages.)

The source code we provide uses the traditional RPM mechanism, meaning we distribute the original source code without any modification; it includes the pristine source and patch files, extra configuration files and a description of how to turn the pristine application into a ported application. This is called the ?spec file? in RPM parlance.

To make things easier to test-drive, we not only ported and packaged the ASP.NET applications, but we also ported the back-end storage from using Microsoft SQL server to use PostgreSQL. Our packages will also prepare the databases and get your application integrated with Apache and Mono's own mod_mono module.

We use the OpenSUSE Build System to make our ports available to a wide variety of Linux systems. You can download our samples from the Mono:Community.

Next

  • Figure 1

    The two stacks (ASP.NET and J2EE) have competed for a long time and roughly command equal shares of the market; only about 10 percent of the market is driven by other stacks, which are mostly open source application servers.

  • Figure 2

    Multiple vendors provide J2EE stacks, but only two vendors are behind ASP.NET: Microsoft and Novell. Microsoft offers its platform on Windows, while Novell offers ASP.NET on SUSE Linux and other Unix systems.

  • Figure 3

    Traditionally, the ASP.NET stack has been bound to the Windows platform, while the J2EE stacks have been cross platform stacks. We now have an opportunity to grow our presence on the ASP.NET space by helping customers move their applications from Windows servers to Linux servers.

  • Figure 4

    A Web application is typically made up of two tiers: 1. a presentation tier (the actual ASP.NET application), which typically is merely a Web front end to the contents of a database, and 2. the back-end tier, which is typically the database.

  • Figure 5

    Miguel de Icaza talks about the power and functionality of Mono during one of the keynotes at BrainShare 2008 in Salt Lake City.



© 2014 Novell