YOUR FEEDBACK
More on the Software Assembly Question - Do Design Patterns Help?
Yanic wrote: Hi, > UML and MDA are being changed to be more data and doc...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


Migrating .NET Applications to the Linux Platform
A long-term development and porting solution

Digg This!

The move to Enterprise Linux is accelerating. Enterprise Linux, provided by RedHat, SuSE, and a number of open source projects, supports clustering, load balancing, and high availability. Yahoo is using Linux with the MySQL open source database, the fastest growing database in the industry, and Hewlett Packard recently announced support for an enterprise stack of Linux, JBoss, and a MySQL database.

While companies are motivated to migrate to Linux, they are encountering significant obstacles. These include running the thousands of lines of existing Visual Basic .NET and C# code on Linux as well as implementing a full-running system without interrupting productivity. According to Forrester, more than half of today's enterprise development activity is being done in .NET, and many firms are experiencing a .NET barrier in moving to Linux.

The Horrors of Porting

Until recently, porting .NET Web applications and Web services to Linux has required major investments in Linux and J2EE skills, tools and resources, as well as delayed time-to-market. Linux migration could be done by moving to JSPs and Java on a Tomcat server. The ASP.NET code would be ported to JSPs and the C# code to Java classes. However, the .NET development team had to contend with a new development environment and the challenge of learning the JSP programming model. On top of this, components in the ASP.NET model, such as Web controls and ADO.NET, do not have simple equivalents in the J2EE world. The .NET-J2EE benchmarks have shown that equivalent J2EE front-end code has significantly more lines of code (LOC) than does a .NET implementation.

The Promise of Mono

The open source Mono project gives .NET developers a much more viable solution to the problem. With Novell's release of Mono 1.0, developers can use a .NET platform on Linux for their ASP.NET and C# code. Mono developers remain in the .NET world and are able to deploy and run existing code with little or no changes. In fact, the city of Munich has used Mono to migrate their ASP.NET and Web services applications to deploy on 300 Linux servers. Mono provides the Linux .NET developer with an implementation of the standard CLI runtime, a C# compiler, and implementations of the .NET APIs including System, ASP.NET, and ADO.NET classes. Mono provides additional specific APIs that include bindings for the GTK UI toolkit and graphics libraries.

ASP.NET and ADO.NET on J2EE

Mainsoft's Visual MainWin for the J2EE platform (see Figure 1) delivers the .NET-to-Linux migration on enterprise-ready J2EE application servers such as open source JBoss as well as BEA WebLogic and IBM WebSphere.

By delivering the Mono .NET APIs for ASP.NET and ADO.NET classes on the J2EE platform, Mainsoft enables enterprises with a large staff of Microsoft developers to write Web applications and Web services in C# or Visual Basic .NET and deploy them on stable and scalable J2EE application servers.

How Visual MainWin Works

Visual MainWin compiles Microsoft Intermediate code to standard Java bytecode (see Figure 2). The Mono .NET classes are rehosted on standard J2EE application servers. This means that a .NET program, for example, ASP.NET and C# or Visual Basic.NET code, will be deployed as a pure Java application. The Visual MainWin programming model provides seamless integration with Java classes, which are exposed to the .NET programmer as .NET classes. Back-end EJBs are accessed simply as .NET classes, without the .NET programmer having to deal with the complicated mechanics of J2EE EJB lookup and RMI. Since Mono does not yet support the .NET Enterprise Services, transactional components can be implemented as EJBs in Java, and accessed seamlessly from an ASP.NET front end.

Visual MainWin provides complete integration with the Microsoft Visual Studio .NET development environment, allowing .NET developers to remain within their familiar environment. The developer simply builds a .NET project configured for J2EE servers; the complete build process from Microsoft C# compilation through binary compilation to Java bytecode validation of Java references, as well as the packaging as J2EE .jar and .war files, is performed within Visual Studio. Application deployment on J2EE servers is managed, again, from within Visual Studio .NET. The Visual MainWin integrated debugger enables C# or VB.NET programmers to debug applications running in the J2EE application server from the .NET source code.

Sustained Development

As an integrated Visual Studio development environment, Visual MainWin can be used as a strategic, long-term development and porting solution for the Linux platform. It allows companies with Microsoft resources to develop and maintain their applications across the .NET and Linux platforms, boost developer productivity, and speed time to deployment, all of which are key factors in the Linux TCO equation.
About Yaacov Cohen
Yaacov Cohen is the president and CEO of Mainsoft Corporation.

Gary wrote: So let me try and understand this. A Visual Studio user can write an ASP.NET application in C# and run it on a Linux server? So, can it be concluded that Linux running MySQL and Apache web services can host an ASP.NET C# based web site?
read & respond »
LATEST LINUX STORIES
Kevin Hoffman's Review of Iron Man
I took the advice of a friend of mine and steered clear of the 'normal' movie theaters and went a little out of the way to go to a DLP movie theater. The experience of comparing a regular movie theater to a DLP movie theater is like comparing standard def analog TV with a 1080i HDTV si
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
Verizon Becomes a Counter-Android Linux Convert
Verizon Wireless is snubbing Google's Linux-based Android initiative to go with the LiMo Foundation's mobile Linux spec for its next wave of mobile phones expected next year. Along with Verizon, Mozilla signed up - giving the consortium its first major open source ISV - and a key one f
Adaptec Launches New Series 2 RAID Controller For Linux Users
Adaptec unveiled a new family of entry-level Unified Serial RAID controllers. The new low-profile Series 2 RAID controllers, built on the same Adaptec dual core RAID-on-Chip (ROC) architecture used in its successful Series 5 RAID controllers, provide significant performance enhancement
JavaOne 2008: Sun Challenges Linux
Sun's mule train has finally pulled into Indiana after three years on the road. Indiana is the Linux-friendly Fedora-like OpenSolaris project meant to move the Solaris-shy Linux community off Linux and on to Solaris tempted by Solaris widgetry like the highly scalable, rollback-easy, 1
Curl Announces Support for Ubuntu for Enterprise RIA Platform
Curl announced it has released the availability of an Ubuntu Installer for the Curl Rich Internet Application (RIA) platform. Curl is a Rich Internet Application platform that competes with Adobe AIR/Flex, Silverlight, and Ajax. Curl has been shipping with Linux support for RedHat 9, S
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE