Click here to close now.

Welcome!

Open Source Cloud Authors: Elizabeth White, Ruxit Blog, Pat Romanski, Liz McMillan, Baruch Sadogursky

Related Topics: Open Source Cloud

Open Source Cloud: Article

Mono, Mainsoft and Cross-Platform Enterprise Development

Deploy on platforms other than Windows

At first glance, it may sound like an impossible prospect for .NET developers to engage in cross-platform, open source development in the enterprise. Such a reality would be unfortunate, because many development teams enjoy the productivity inherent in using Visual Studio .NET and its wealth of tools for rapidly producing high-quality code. However, they would also like the ability to deploy on platforms other than Windows.

That is the purpose of the Mono project (www.go-mono.org), an open source implementation of the .NET Framework based on the ECMA International standards for C# and the Common Language Infrastructure.

The Mono project makes the same advanced development technologies embodied in Visual Studio and the .NET Framework available to Windows developers who want to deploy their applications on Linux. Mono also enables Windows developers to bring their applications to Solaris, MacOS X, and other operating systems.

Mainsoft delivers a complementary cross-platform solution that extends Web and server .NET applications to Java. Visual MainWin for J2EE uses many of the Mono libraries and includes an add-in to Visual Studio that cross-compiles Microsoft IL to Java bytecode. Grasshopper, Mainsoft's freely available developer edition, comes bundled with Tomcat and is designed for single CPU deployments. The Enterprise edition supports multiple CPU deployments on enterprise class J2EE servers such as IBM WebSphere Application Server or BEA WebLogic Server. The Portal edition enables enterprises to incorporate their ASP.NET applications and Web Parts into their enterprise WebSphere Portal Server.

The Details of Mono and Multiplatform Deployment
Today, Mono implements many of the components that .NET developers require, including AS4P.NET for Web application development, ADO.NET for database access, and Windows.Forms for rich client applications. The Mono project also provides a C# 2.0 compiler that supports the latest language specifications, including generics, anonymous methods, and iterators, as well as assemblers, linkers and API documentation for these.

Mono supports a wide variety of hardware platforms and operating systems. Its 32-bit ports include the x86 architecture, Sun's SPARC, the embedded ARM processor, and the s390 mainframes. On 64-bits, Mono supports the Itanium, the s390x, and the x86-64 architecture with ports for other platforms following closely.

Mono undergoes a rigorous testing regime necessary to create enterprise-ready software. It makes use of the NUnit test harness, as well as some internal testing frameworks, to run more than 100,000 individual tests designed to ensure functional equivalence with the .NET Framework. If a discrepancy is found, more unit tests are written around that discrepancy so that it is tested thoroughly before being released.

Version 1.2 of Mono, released at the beginning of November, is compliant with and provides full support for .NET 1.1, and partial support for .NET 2.0. In addition to Window.Forms support, Mono version 1.2 includes numerous feature upgrades including full support for C# 2.0, generics, Gtk# 2.0, and significant updates to the .NET 2.0 API.

Mono and Mainsoft provide alternate ways to extend the reach of existing .NET applications across the enterprise by enabling deployment on alternative hardware and operating systems, either on top of the .NET CLR or through cross-compilation to Java bytecode.

When and Where to Use Cross-Platform Development
Mono enables development in C# or Visual Basic .NET on Windows, but deploys on Linux or other platforms supported by Mono. In many cases, it is possible to take a .NET application developed using the Visual Studio .NET IDE and run the resulting binary directly on Mono. For those wishing to keep the business logic in .NET but use a native Linux UI, Gtk# provides a C source parser and C# code generator that can be used to produce .NET assemblies that bind to GNU object libraries.

Mainsoft technology comes into play when IT organizations want to cross-compile .NET Web and server applications to run on established Java EE application servers. The ability to deploy applications across platforms provides software vendors with access to a wider market for their products. SourceGear uses both Mono and Mainsoft software to provide Vault, the company's source code control software, on Unix systems. OTEE uses Mono for its Unity Game development engine. VistaDB uses Mono to provide its VistaDB embedded SQL database engine across multiple platforms. And Segway Software uses Mainsoft's software to deliver a tight integration between its Segway Sales Productivity Suite, written entirely in Microsoft .NET, and a customer's existing pricing management and configuration system written in Java. There are dozens of other success stories for cross-platform porting and support using cross-platform development tools.

Open Source .NET and the Future
It is important for those considering using cross-platform technologies that they are stable and reliable, and have ongoing road maps to let developers know when new technologies will become available.

The Mono project already has projects implementing several upcoming technologies that fall under .NET 3.0. One subproject, Olive, is implementing CardSpace, Windows Communication Foundation (formerly known as Indigo), and Windows Workflow Foundation. Other .NET 3.0 technologies, such as the Windows Presentation Foundation, a new API for creating desktop applications, are not on the current Mono roadmap.

A second subproject, Crimson, implements technologies that have not been addressed as ECMA/.NET standards by Microsoft, but that Mono considers important for applications running on multiple platforms using Linux.

Mainsoft is also committed to ensuring compatibility with future releases of the .NET Framework, as well as with future Java releases. The next release will incorporate the ability to use Visual Studio 2005 and the .NET Framework 2.0 in building ASP.NET and .NET server applications. Beyond that, its software will pick up the Mono libraries to support .NET Framework 3.0 features such as Windows Communication Foundation and Window Workflow Foundation. A Grasshopper 2.0 Technology Preview is currently available at http://dev.mainsoft.com.

Sidebar:

Use the Visual Studio .NET IDE and Grasshopper for Linux
We all know the Microsoft Visual Studio .NET IDE, but did you know that you can use it to build server applications that run on Linux? Discover how, with Visual MainWin for J2EE from Mainsoft, Visual Studio users can run their applications natively on J2EE and Linux environments.

Take a look at Figure 1. It's clearly an ASP.NET application, and it's clearly running on Linux. That's easy, you might think, you can build an ASP.NET application, run it on Microsoft Windows under Internet Information Services (IIS) and browse to it using a browser such as Firefox on a Linux client. You'd be right, but look again. In the screen shot, your ASPX is running on localhost, the Linux box itself. With Visual MainWin for J2EE, also known as Grasshopper, you can do this easily, without changing your existing .NET code. Therefore, you can say that Visual Studio .NET + Grasshopper = Visual Studio .NET for Linux!

Extending your skill sets to Linux
Consider this - many companies have Linux on their radar for some form of inclusion in their strategy, be it on the desktop or in the data center. To build applications for Linux, you would probably have to learn a new skill set such as GTK or Java. For server side or hosted applications, the logical candidate is usually J2EE, due to its cross-platform nature and its well-known security, manageability, performance and scalability characteristics. However, to develop J2EE applications, you need to learn the Java language, Java Servlets, Java Server Pages, JDBC for database connection and even Enterprise Java Beans for distributed applications. What if, as an alternative, you could broaden the reach of your skills to Linux and other Java-enabled platforms, and as a result, extend yourself (and your resume) in a new and exciting area? What if you could do this without rewriting most of your code, and instead re-use your existing C# code? Not only that, but would you like to contribute to the Mono project - the creation of an open source .NET Framework for Linux? Well you can, and you can do it today, with Grasshopper, a freely available download from Mainsoft.

More Stories By Miguel de Icaza

Miguel de Icaza, co-founder and CTO of Ximian, is one of the foremost luminaries in the Linux development community and one of the world's most prominent advocates for Free Software. Before co-founding Ximian, Miguel was instrumental in the development of Linux for SPARC systems and the Midnight Commander file manager. Miguel is the founder and President of the GNOME Foundation. He was also the first recipient of the prestigious MIT Innovator of the Year award in 1999. Miguel has galvanized Ximian's efforts to make Linux accessible and available to the average computer user, and continues to reach out globally by working with international organizations such as eMexico to introduce affordable technology alternatives, like Linux, to other nations.

More Stories By Philippe Cohen

Philippe Cohen is the vice president of products for Mainsoft Corporation, where he is responsible for overseeing product management, R&D, and support teams for Mainsoft's product suite.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
Cultural, regulatory, environmental, political and economic (CREPE) conditions over the past decade are creating cross-industry solution spaces that require processes and technologies from both the Internet of Things (IoT), and Data Management and Analytics (DMA). These solution spaces are evolving into Sensor Analytics Ecosystems (SAE) that represent significant new opportunities for organizations of all types. Public Utilities throughout the world, providing electricity, natural gas and water, are pursuing SmartGrid initiatives that represent one of the more mature examples of SAE. We have s...
The Internet of Things will put IT to its ultimate test by creating infinite new opportunities to digitize products and services, generate and analyze new data to improve customer satisfaction, and discover new ways to gain a competitive advantage across nearly every industry. In order to help corporate business units to capitalize on the rapidly evolving IoT opportunities, IT must stand up to a new set of challenges. In his session at @ThingsExpo, Jeff Kaplan, Managing Director of THINKstrategies, will examine why IT must finally fulfill its role in support of its SBUs or face a new round of...
Can call centers hang up the phones for good? Intuitive Solutions did. WebRTC enabled this contact center provider to eliminate antiquated telephony and desktop phone infrastructure with a pure web-based solution, allowing them to expand beyond brick-and-mortar confines to a home-based agent model. It also ensured scalability and better service for customers, including MUY! Companies, one of the country's largest franchise restaurant companies with 232 Pizza Hut locations. This is one example of WebRTC adoption today, but the potential is limitless when powered by IoT.
One of the biggest challenges when developing connected devices is identifying user value and delivering it through successful user experiences. In his session at Internet of @ThingsExpo, Mike Kuniavsky, Principal Scientist, Innovation Services at PARC, described an IoT-specific approach to user experience design that combines approaches from interaction design, industrial design and service design to create experiences that go beyond simple connected gadgets to create lasting, multi-device experiences grounded in people's real needs and desires.
The true value of the Internet of Things (IoT) lies not just in the data, but through the services that protect the data, perform the analysis and present findings in a usable way. With many IoT elements rooted in traditional IT components, Big Data and IoT isn’t just a play for enterprise. In fact, the IoT presents SMBs with the prospect of launching entirely new activities and exploring innovative areas. CompTIA research identifies several areas where IoT is expected to have the greatest impact.
The Internet of Things will greatly expand the opportunities for data collection and new business models driven off of that data. In her session at @ThingsExpo, Esmeralda Swartz, CMO of MetraTech, discussed how for this to be effective you not only need to have infrastructure and operational models capable of utilizing this new phenomenon, but increasingly service providers will need to convince a skeptical public to participate. Get ready to show them the money!
SYS-CON Events announced today that MetraTech, now part of Ericsson, has been named “Silver Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York, NY. Ericsson is the driving force behind the Networked Society- a world leader in communications infrastructure, software and services. Some 40% of the world’s mobile traffic runs through networks Ericsson has supplied, serving more than 2.5 billion subscribers.
The Internet of Things is not only adding billions of sensors and billions of terabytes to the Internet. It is also forcing a fundamental change in the way we envision Information Technology. For the first time, more data is being created by devices at the edge of the Internet rather than from centralized systems. What does this mean for today's IT professional? In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will addresses this very serious issue of profound change in the industry.
SYS-CON Events announced today that BMC will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. BMC delivers software solutions that help IT transform digital enterprises for the ultimate competitive business advantage. BMC has worked with thousands of leading companies to create and deliver powerful IT management services. From mainframe to cloud to mobile, BMC pairs high-speed digital innovation with robust IT industrialization – allowing customers to provide amazing user experiences with optimized IT per...
The Internet of Things is not new. Historically, smart businesses have used its basic concept of leveraging data to drive better decision making and have capitalized on those insights to realize additional revenue opportunities. So, what has changed to make the Internet of Things one of the hottest topics in tech? In his session at @ThingsExpo, Chris Gray, Director, Embedded and Internet of Things, discussed the underlying factors that are driving the economics of intelligent systems. Discover how hardware commoditization, the ubiquitous nature of connectivity, and the emergence of Big Data a...
SYS-CON Events announced today that O'Reilly Media has been named “Media Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York City, NY. O'Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O'Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying "faint signals" from the alpha geeks who are creating the future. An active participa...
The world is at a tipping point where the technology, the device and global adoption are converging to such a point that we will see an explosion of a world where smartphone devices not only allow us to talk to each other, but allow for communication between everything – serving as a central hub from which we control our world – MediaTek is at the heart of both driving this and allowing the markets to drive this reality forward themselves. The next wave of consumer gadgets is here – smart, connected, and small. If your ambitions are big, so are ours. In his session at @ThingsExpo, Jack Hu, D...
SYS-CON Events announced today that DragonGlass, an enterprise search platform, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. After eleven years of designing and building custom applications, OpenCrowd has launched DragonGlass, a cloud-based platform that enables the development of search-based applications. These are a new breed of applications that utilize a search index as their backbone for data retrieval. They can easily adapt to new data sets and provide access to both structured and unstruc...
The 4th International Internet of @ThingsExpo, co-located with the 17th International Cloud Expo - to be held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA - announces that its Call for Papers is open. The Internet of Things (IoT) is the biggest idea since the creation of the Worldwide Web more than 20 years ago.
We’re entering a new era of computing technology that many are calling the Internet of Things (IoT). Machine to machine, machine to infrastructure, machine to environment, the Internet of Everything, the Internet of Intelligent Things, intelligent systems – call it what you want, but it’s happening, and its potential is huge. IoT is comprised of smart machines interacting and communicating with other machines, objects, environments and infrastructures. As a result, huge volumes of data are being generated, and that data is being processed into useful actions that can “command and control” thi...
As the Internet of Things unfolds, mobile and wearable devices are blurring the line between physical and digital, integrating ever more closely with our interests, our routines, our daily lives. Contextual computing and smart, sensor-equipped spaces bring the potential to walk through a world that recognizes us and responds accordingly. We become continuous transmitters and receivers of data. In his session at @ThingsExpo, Andrew Bolwell, Director of Innovation for HP's Printing and Personal Systems Group, discussed how key attributes of mobile technology – touch input, sensors, social, and ...
All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades. With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo, June 9-11, 2015, at the Javits Center in New York City. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be
WebRTC defines no default signaling protocol, causing fragmentation between WebRTC silos. SIP and XMPP provide possibilities, but come with considerable complexity and are not designed for use in a web environment. In his session at @ThingsExpo, Matthew Hodgson, technical co-founder of the Matrix.org, discussed how Matrix is a new non-profit Open Source Project that defines both a new HTTP-based standard for VoIP & IM signaling and provides reference implementations.
Buzzword alert: Microservices and IoT at a DevOps conference? What could possibly go wrong? In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, the leading expert on architecting agility for the enterprise and president of Intellyx, panelists will peel away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud environment, and we must architect and code accordingly. At the very least, you'll have no problem fil...
"People are a lot more knowledgeable about APIs now. There are two types of people who work with APIs - IT people who want to use APIs for something internal and the product managers who want to do something outside APIs for people to connect to them," explained Roberto Medrano, Executive Vice President at SOA Software, in this SYS-CON.tv interview at Cloud Expo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.