A client once greeted me with a barrage
of complaints about Microsoft, product costs, and so forth. They
wondered aloud whether they ought to assemble a strategy for moving
to an open source platform to save money. Now, I’m not one to start
an argument about the merits of consumer vs. open source. Rather, I
took the opportunity to point out the open source route available
to .NET connoisseurs.

The application mix

For the sake of this article, I’ll
concentrate on client/server applications. These applications
usually consist of the following parts:

  • Database
    server: SQL Server is a popular choice for .NET-based applications,
    but connectors for other systems like Oracle and DB/2 are
  • Application
    server: The server that hosts the application that is utilized by
    the clients. IIS (Internet Information Servvices) is the typical
    choice with an ASP.NET application. In addition, the .NET Framework
    is necessary.
  • Client: The
    interface used to communicate with the application server. This is
    a browser for ASP.NET applications.

For the most part, the client portion is beyond
the developer’s control (the exception is an intranet application).
On the other hand, there are options available for the database and
application servers with the backend database being the most

Using an open source database

Utilizing an open source database backend with
a .NET application is a snap with two freely available database

  • MySQL: MySQL has become the most
    popular open source database and the fastest growing database in
    the industry. It offers cross-platform support combined with ease
    of use. In addition, commercial licenses are available for those
    organizations worried about support.
  • PostgreSQL: An enhancement of
    the POSTGRES database management system (and is still sometimes
    referred to as simply “Postgres”), a next-generation DBMS research
    prototype. While PostgreSQL retains the powerful data model and
    rich data types of POSTGRES, it replaces the PostQuel query
    language with an extended subset of SQL. PostgreSQL is free and the
    complete source is available.

Installing one of these open source database
systems on a Linux server introduces huge cost savings, but
individuals familiar with these systems (along with Linux) will be
necessary to keep everything running smoothly.

Connecting the database to .NET

With the database platform selected, it must be
properly connected with the .NET application. You can utilize the
generic ODBC connector or a connector designed for the database

The PostgreSQL system doesn’t offer a native
connector, so you must use the vanilla ODBC connector. By default,
it’s included with the .NET Framework so this isn’t a problem. The
mySQL database system offers its own connector.
This allows you to natively connect to mySQL. Programming these
connections does require the .NET Framework or possibly an open
source alternative like Mono.


The Mono Web
describes Mono as “a comprehensive open source development
platform based on the .NET Framework that allows developers to
build Linux and cross-platform applications with unprecedented
productivity.” I’ll let you discover whether the productivity claim
is true, but it does bring .NET development to non-Windows systems
(Windows is supported as well). The product supports only C# (the

ECMA standard
), as well as the Common Language Infrastructure

Development environment

With a development platform installed, you may
choose to develop applications with the command line and a text
editor. Another choice is a freely available development tool like
It allows you to develop applications using a graphical interface
similar to Visual Studio .NET.

The snag with using #develop is the fact that
it requires the Microsoft
, so this creates problems if Mono is being

In addition to visual development, there are
other freely available tools like the following:

  • NUnit: Open source unit testing
    framework for .NET
  • NAnt: Platform for creating
    the build process
  • NDoc: Open source tool
    for building API documentation

Numerous options

Many people immediately think of high prices
and lack of options when they think of .NET development. The
combination of Microsoft’s submission of C# as a standard and its
embracement by the open source community has opened numerous
non-Windows options.

TechRepublic’s free .NET newsletter, delivered each Wednesday, contains useful tips and coding examples on topics such as Web services, ASP.NET, ADO.NET, and Visual Studio .NET. Automatically sign up today!