Welcome!

Open Source Cloud Authors: Elizabeth White, Kevin Jackson, Nate Vickery, Yeshim Deniz, Derek Weeks

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
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound e...
@ThingsExpo has been named the Most Influential ‘Smart Cities - IIoT' Account and @BigDataExpo has been named fourteenth by Right Relevance (RR), which provides curated information and intelligence on approximately 50,000 topics. In addition, Right Relevance provides an Insights offering that combines the above Topics and Influencers information with real time conversations to provide actionable intelligence with visualizations to enable decision making. The Insights service is applicable to eve...
SYS-CON Events announced today that Grape Up will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct. 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company specializing in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market across the U.S. and Europe, Grape Up works with a variety of customers from emergi...
SYS-CON Events announced today that Hitachi, the leading provider the Internet of Things and Digital Transformation, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Hitachi Data Systems, a wholly owned subsidiary of Hitachi, Ltd., offers an integrated portfolio of services and solutions that enable digital transformation through enhanced data management, governance, mobility and analytics. We help globa...
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
Multiple data types are pouring into IoT deployments. Data is coming in small packages as well as enormous files and data streams of many sizes. Widespread use of mobile devices adds to the total. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will look at the tools and environments that are being put to use in IoT deployments, as well as the team skills a modern enterprise IT shop needs to keep things running, get a handle on all this data, and deli...
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in compute, storage and networking technologies, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology, is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/...
Amazon has gradually rolled out parts of its IoT offerings in the last year, but these are just the tip of the iceberg. In addition to optimizing their back-end AWS offerings, Amazon is laying the ground work to be a major force in IoT – especially in the connected home and office. Amazon is extending its reach by building on its dominant Cloud IoT platform, its Dash Button strategy, recently announced Replenishment Services, the Echo/Alexa voice recognition control platform, the 6-7 strategic...
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Business Development at Nvidia, discussed the accelerating pace of AI development and how IBM Cloud and NVIDIA are partnering to bring AI capabilities to "every day," on-demand. They also reviewed two "free infrastructure" pr...
Judith Hurwitz is president and CEO of Hurwitz & Associates, a Needham, Mass., research and consulting firm focused on emerging technology, including big data, cognitive computing and governance. She is co-author of the book Cognitive Computing and Big Data Analytics, published in 2015. Her Cloud Expo session, "What Is the Business Imperative for Cognitive Computing?" is scheduled for Wednesday, June 8, at 8:40 a.m. In it, she puts cognitive computing into perspective with its value to the busin...
Cognitive Computing is becoming the foundation for a new generation of solutions that have the potential to transform business. Unlike traditional approaches to building solutions, a cognitive computing approach allows the data to help determine the way applications are designed. This contrasts with conventional software development that begins with defining logic based on the current way a business operates. In her session at 18th Cloud Expo, Judith S. Hurwitz, President and CEO of Hurwitz & ...
Financial Technology has become a topic of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 20th Cloud Expo at the Javits Center in New York, June 6-8, 2017, will find fresh new content in a new track called FinTech.
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 20th Cloud Expo, which will take place on June 6-8, 2017 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 add...
The age of Digital Disruption is evolving into the next era – Digital Cohesion, an age in which applications securely self-assemble and deliver predictive services that continuously adapt to user behavior. Information from devices, sensors and applications around us will drive services seamlessly across mobile and fixed devices/infrastructure. This evolution is happening now in software defined services and secure networking. Four key drivers – Performance, Economics, Interoperability and Trust ...
Grape Up is a software company, specialized in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market across the USA and Europe, we work with a variety of customers from emerging startups to Fortune 1000 companies.
Cybersecurity is a critical component of software development in many industries including medical devices. However, code is not always written to be robust or secure from the unknown or the unexpected. This gap can make medical devices susceptible to cybersecurity attacks ranging from compromised personal health information to life-sustaining treatment. In his session at @ThingsExpo, Clark Fortney, Software Engineer at Battelle, will discuss how programming oversight using key methods can incre...
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in compute, storage and networking technologies, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology, is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/...