Click here to close now.

Welcome!

Java IoT Authors: Plutora Blog, Carmen Gonzalez, Liz McMillan, Dana Gardner, Pat Romanski

Related Topics: Java IoT

Java IoT: Article

Building Pure Java Apps Using Visual Studio

How to mix cats and dogs

We all know and love the Microsoft Visual Studio IDE, but did you know that you can use it to create Web and server applications that run on open systems such as Solaris or Linux? Urix, a predictive modeling software company and Mainsoft customer since 2005, is doing just that.

Urix
In January 2005, Urix migrated the development of its RiskSmart calculation engine from C to C#. RiskSmart consists of 150,000 lines of C# code and executes as a set of .NET assemblies, with no user interface, as part of a comprehensive solution for analyzing health care risks and associated costs.

However, according to Atul Mistry, vice-president of technology at Urix, the product's reliance on Windows and .NET effectively limited its market potential. "Our business partners have standardized on Unix, and virtually all of our largest health care insurance customers have Unix-only requirements in their datacenters, running on AIX, HP-UX, or Solaris. We figured we could convince some of the insurance companies to use Windows and .NET, but this wouldn't solve the significant sales barrier we faced. We also considered delivering RiskSmart as a Software as a Service (SaaS) offering, but the healthcare industry is not yet ready for this type of approach. Bottom line is we would lose significant business opportunities if we didn't deliver a Unix deployment."

Mistry considered rewriting RiskSmart in Java and maintaining two source bases. He estimated the rewrite would take two person-years for the initial port to Java, plus two Java developers on an ongoing basis to support ongoing maintenance and enhancement costs. "This approach would cost on the order of $200,000 annually," he explains.

Instead, Mistry chose Mainsoft's cross-compilation software, Mainsoft for Java EE. The software plugs into the Visual Studio development environment and compiles Microsoft's Common Intermediate Language (CIL) into Java bytecode. It also supports a long-term single source code development strategy across .NET and Java.

"The initial port of RiskSmart to Java using Mainsoft took about two person-weeks," Mistry said. "The port was exceptionally easy in part because the ported Java code ran directly on a Java VM. Because there was no user interface component to RiskSmart, there were no complexities associated with an application server. There were only a couple of things we had to do manually," he explained. "We used log4net, an Apache project, as our logging utility, and we simply had to switch that to log4j during the port. The second thing was that we used a lot of XML, and there are some inconsistencies between Microsoft XML and other implementations. Mainsoft's support team helped us resolve both these issues very quickly."

According to Mistry, "There's no apparent performance difference between the .NET and Java versions of the application. We take a minor performance hit in our current Java release because .NET 1.1 doesn't support generics and requires us to use boxing (or casting) in our code, which can have a negative effect on Java performance. We expect the minor performance gap will be eliminated when we upgrade to .NET 2.0 and take full advantage of generics, which is supported by Mainsoft, in lieu of boxing."

RiskSmart is currently in its third Java release and is now in production at virtually all of its largest health insurance customers' data centers, supporting 70% of all lives that are analyzed by the RiskSmart calculation engine. The development team builds the application nightly, and then executes Mainsoft to build the Java port. "Most product testing occurs on the .NET version, with some testing done on the Java side to assure its integrity. When RiskSmart for .NET is ready to ship, so is RiskSmart for Java."

Starting in .NET 2.0
If you're a Visual Studio developer, you can start with Mainsoft's Grasshopper to explore how to cross-compile and debug Java EE applications from Visual Studio. Grasshopper 2.0 is Mainsoft's freely available Developer Edition that includes a plug-in to Visual Studio 2005 and the open source Tomcat servlet engine for executing Java JSP and EE applications on a single CPU. You'll find that if you know C# or Visual Basic, you're on your way to becoming a Java EE developer!

One example to get you started is a Web-based accounting application with membership and role-based security using ASP.NET 2.0. The application uses Master Pages and the Login, Wizard, and Gridview controls and was originally developed by Paolo de Nictolis for JavaDay 2006 in Rome (http://roma.javaday.it ). The application relies on Mainsoft's full implementation of the ASP.NET 2.0 Membership, Role, and Profile providers based on Apache Derby (http://db.apache.org/derby/), an embedded database that offers a pure Java runtime alternative to MS SQL Express. Paolo shows you how to access application data, which remains stored in MS SQL Express 2005 (www.microsoft.com/sql/editions/express/default.mspx); how to take advantage of the integrated debugger, based on open standard JPDA (Java Platform Debugger Architecture, http://java.sun.com/products/jpda/); and how to create a deployment package that can be used over multi-platform application servers.

Let's take a deeper look at implementing this accounting application using Mainsoft's Grasshopper 2.0.

The Preliminaries
You'll have to download a few files from several places first. The setup file for JD Expenses is available at http://dev.mainsoft.com/JDExpensesDemo. It assumes you have Visual Studio 2005 with Service Pack 1 (SP1) installed.

The next thing you'll need to download is Grasshopper 2.0, which is available at http://dev.mainsoft.com/Default.aspx?tabid=117. Installation instructions along with release notes, feature limitations, and known issues are there as well. Basic requirements include a Windows XP SP2 machine, a Windows 2003 Server, or Windows Vista Ultimate or Business.

Note: If you choose to install Grasshopper on Windows Vista, you must launch Visual Studio from an administrator command prompt and launch the Tomcat application server as an administrator.

Starting with a Database
There's no denying it. Creating a well-designed application database can help make application development proceed much faster. JDExpenses, our imaginary accounting application, allows conference speakers to input their expenses, and the administrator to view each person's balances, while role-based authentication is provided out-of-the-box by the ASP.NET 2.0 Membership and Role API. Balance is defined as a BigInteger to demonstrate how Grasshopper handles a native Java type.

Database structure is shown in Figure 1. For us to use the SQL Server from a Grasshopper application, we have to configure it: we'll log in using SQL Server authentication and enable Mixed Mode Authentication in the database Properties. To do this, you can use Microsoft's SQL Server Management Studio Express (SSMSE) tool freely available for download from Microsoft at www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-

4E3D-94B8-5A0F62BF7796&displaylang=en.

Launch SSMSE, sign in, select the database, and right-click. From the context menu, select Properties. You'll see the SQL Server Properties dialog. Select Security and make sure that the SQL Server and Windows Authentication mode radio button is selected.


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.

More Stories By Paolo de Nictolis

Paolo de Nictolis is an Italian Web developer, a technical contributor to MSDN and UGI.NET, and a freelance IT journalist.

Comments (1) View Comments

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.


Most Recent Comments
jnsoneji 10/31/07 10:12:51 PM EDT

Trackback Added: http://jnsoneji.spaces.live.com/Blog/cns!37E7335732E61C89!256.entry; Building Pure Java Apps Using Visual Studio

@ThingsExpo Stories
The 17th International Cloud Expo has announced that its Call for Papers is open. 17th International Cloud Expo, to be held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, brings together Cloud Computing, APM, APIs, Microservices, Security, Big Data, Internet of Things, DevOps and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal today!
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Architect for the Internet of Things and Intelligent Systems, described how to revolutionize your archit...
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
The 5th International DevOps Summit, co-located with 17th International Cloud Expo – being held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real results. Among the proven benefits, DevOps is corr...
SYS-CON Events announced today that Secure Infrastructure & Services will exhibit at SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Secure Infrastructure & Services (SIAS) is a managed services provider of cloud computing solutions for the IBM Power Systems market. The company helps mid-market firms built on IBM hardware platforms to deploy new levels of reliable and cost-effective computing and high availability solutions, leveraging the cloud and the benefits of Infrastructure-as-a-Service (IaaS...
To many people, IoT is a buzzword whose value is not understood. Many people think IoT is all about wearables and home automation. In his session at @ThingsExpo, Mike Kavis, Vice President & Principal Cloud Architect at Cloud Technology Partners, discussed some incredible game-changing use cases and how they are transforming industries like agriculture, manufacturing, health care, and smart cities. He will discuss cool technologies like smart dust, robotics, smart labels, and much more. Prepare to be blown away with a glimpse of the future.
SYS-CON Events announced today that ProfitBricks, the provider of painless cloud infrastructure, will exhibit at SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. ProfitBricks is the IaaS provider that offers a painless cloud experience for all IT users, with no learning curve. ProfitBricks boasts flexible cloud servers and networking, an integrated Data Center Designer tool for visual control over the cloud and the best price/performance value available. ProfitBricks was named one of the coolest Clo...
17th Cloud Expo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, 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. Meanwhile, 94% of enterprises are using some form of XaaS – software, platform, and infrastructure as a service.
Internet of Things is moving from being a hype to a reality. Experts estimate that internet connected cars will grow to 152 million, while over 100 million internet connected wireless light bulbs and lamps will be operational by 2020. These and many other intriguing statistics highlight the importance of Internet powered devices and how market penetration is going to multiply many times over in the next few years.
The basic integration architecture, as defined by ESBs, hasn’t changed for more than a decade. Most cloud integration providers still rely on an ESB architecture and their proprietary connectors. As a result, enterprise integration projects suffer from constraints of availability and reliability of these connectors that are not re-usable across other integration vendors. However, the rapid adoption of APIs and almost ubiquitous availability of APIs amongst most SaaS and Cloud applications are rapidly redefining traditional integration approaches and their reliance on proprietary connectors. ...
SYS-CON Events announced today that Dyn, the worldwide leader in Internet Performance, will exhibit at SYS-CON's 17th International Cloud Expo®, which will take place on November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Dyn is a cloud-based Internet Performance company. Dyn helps companies monitor, control, and optimize online infrastructure for an exceptional end-user experience. Through a world-class network and unrivaled, objective intelligence into Internet conditions, Dyn ensures traffic gets delivered faster, safer, and more reliably than ever.
"We have a tagline - "Power in the API Economy." What that means is everything that is built in applications and connected applications is done through APIs," explained Roberto Medrano, Executive Vice President at Akana, in this SYS-CON.tv interview at 16th Cloud Expo, held June 9-11, 2015, at the Javits Center in New York City.
WebRTC converts the entire network into a ubiquitous communications cloud thereby connecting anytime, anywhere through any point. In his session at WebRTC Summit,, Mark Castleman, EIR at Bell Labs and Head of Future X Labs, will discuss how the transformational nature of communications is achieved through the democratizing force of WebRTC. WebRTC is doing for voice what HTML did for web content.
Today air travel is a minefield of delays, hassles and customer disappointment. Airlines struggle to revitalize the experience. GE and M2Mi will demonstrate practical examples of how IoT solutions are helping airlines bring back personalization, reduce trip time and improve reliability. In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect with GE, and Dr. Sarah Cooper, M2Mi’s VP Business Development and Engineering, will explore the IoT cloud-based platform technologies driving this change including privacy controls, data transparency and integration of real time context wi...
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 peeled 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 fillin...
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 addressed this very serious issue of profound change in the industry.
Internet of Things (IoT) will be a hybrid ecosystem of diverse devices and sensors collaborating with operational and enterprise systems to create the next big application. In their session at @ThingsExpo, Bramh Gupta, founder and CEO of robomq.io, and Fred Yatzeck, principal architect leading product development at robomq.io, discussed how choosing the right middleware and integration strategy from the get-go will enable IoT solution developers to adapt and grow with the industry, while at the same time reduce Time to Market (TTM) by using plug and play capabilities offered by a robust IoT ...
It is one thing to build single industrial IoT applications, but what will it take to build the Smart Cities and truly society-changing applications of the future? The technology won’t be the problem, it will be the number of parties that need to work together and be aligned in their motivation to succeed. In his session at @ThingsExpo, Jason Mondanaro, Director, Product Management at Metanga, discussed how you can plan to cooperate, partner, and form lasting all-star teams to change the world and it starts with business models and monetization strategies.
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...
There will be 150 billion connected devices by 2020. New digital businesses have already disrupted value chains across every industry. APIs are at the center of the digital business. You need to understand what assets you have that can be exposed digitally, what their digital value chain is, and how to create an effective business model around that value chain to compete in this economy. No enterprise can be complacent and not engage in the digital economy. Learn how to be the disruptor and not the disruptee.