Welcome!

Machine Learning Authors: Liz McMillan, Yeshim Deniz, Pat Romanski, Elizabeth White, Corey Roth

Related Topics: Java IoT, Microsoft Cloud, @CloudExpo

Java IoT: Article

PaaS: .NET vs Java EE

Java EE PaaS options

Windows Azure and PaaS for the .NET World
Ever since the beginning of this century a comparison between the platform capabilities of Java EE (Java Enterprise Edition) and Microsoft .NET has been a common discussion when choosing an enterprise platforms.

With the advent of Cloud, Microsoft has taken a lead with the Windows Azure PaaS (Platform as a Service).

Many key decision makers for cloud enablement now have questions on how good an equivalent the Java EE platform could be.

Windows Azure Stack
From a platform perspective Windows Azure provides a complete list of options that are available to.NET developers  in a  ‘On Premise' setup, which includes:

  • Full support for .NET framework and languages like C#, Visual Basic
  • Web development using ASP.NET
  • Distributed processing using WCF (Windows Communication Framework)
  • Enterprise database support with SQL Azure
  • Data access services using ADO.NET and LINQ
  • Rich Internet Application support using Silverlight

Above all is out-of-the box support from .NET IDE VisualStudio, which provides customized templates for the development and deployment of applications to cloud.

Windows Azure acts as a robust PaaS in the sense that with the support from Visual Studio we could develop, configure and publish a package from an end-to-end perspective to the Azure platform.

Java EE PaaS Options
The Java counterpart of the .NET platform, referred to earlier as J2EE, is now called  Java EE and it offers several enterprise class features for multi-tiered enterprise development. Java Platform, Enterprise Edition (Java EE) 6 is the industry standard for enterprise Java computing. Utilize the new, lightweight Java EE 6 Web Profile to create next-generation web applications, and the full power of the Java EE 6 platform for enterprise applications. Developers will benefit from productivity improvements with more annotations, more POJOs, simplified packaging, and less XML configuration. The following are some of the PaaS offering for Java EE in Cloud.

1. Google App Engine for Java
Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast development and deployment; simple administration, with no need to worry about hardware, patches or backups; and effortless scalability.

Google App Engine provides a PaaS environment for both Java EE and Python. The following features are supported especially for Java EE:

  • The Java environment provides a Java 6 JVM, a Java Servlets interface, and support for standard interfaces to the App Engine scalable datastore and services, such as JDO, JPA, JavaMail, and JCache.
  • Much like Visual Studio for Azure, Google App Engine for the Java EE Platform is supported by the Eclipse IDE for simplified development and deployment of Java EE applications.

Unsupported Features in Google App Engine:

  • Enterprise JavaBeans (EJB) is not supported as part of the Google Apps Engine
  • A UI development framework like JSF (JavaServer Faces) is not directly supported
  • Other Java EE standards like JMS (Messaging Service) and Web Service Specifications

2. Makara (Red Hat) PaaS Platform
The Makara Cloud Application Platform is the first intelligent auto-scaling solution for applications in the cloud that doesn't require templates to be tweaked or scripts to be written and maintained. Create rich, collaborative Custom Cloud 2 apps fast without buying hardware or installing software. Force.com provide a complete platform with a simplified programming model.

The Makara Platform enables organizations to deploy, manage, monitor and scale their Java and LAMP applications on both public and private clouds, such as Amazon EC2 and VMware-based Clouds, without any modifications.

Currently supported software components include:

  • Apache
  • MySQL
  • PHP
  • Java
  • Tomcat
  • JBoss

Much like the Google App Engine, enterprise Java EE features such as JMS and EJB are not available in the Makara platform and also the reference implementations and case studies have yet to evolve.

3. Force.com
SalesForce is a leading provider of the SaaS platform for customer relationship management on Cloud. They also have a PaaS offering Force.com that give developers a platform to create rich, collaborative Custom Cloud 2 apps fast without buying hardware or installing software. Force.com provides a complete platform with a simplified programming model.

The development platform of Force.com, called Apex, is ‘Java Like' but not truly Java.

With Force.com, you get a full enterprise application development stack including a complete user interface to your data, comprehensive reporting and analytic capabilities, a flexible security and sharing model, and workflow and approvals - all available and integrated from the start. You can even leverage extended features such as built-in internationalization, full support for mobile devices, and integration with existing systems.

Some of the pros that makes it convenient for Java EE developers are :

  • Eclipse-based IDE
  • Syntax similar to Java EE
  • Web services support
  • Standard MVC design
  • HTML and other web technologies such as AJAX and CSS

From a classic perspective, Force.com is not a Java EE platform but the similarities are enough for it to be considered as a PaaS choice by Java EE developers.

4. Amazon EC2 + IBM Stack
This is not a PaaS offering but rather a customized IaaS offering. However, for the sake of choice for Java EE on Cloud, this is still a strong contender.

Amazon EC2 presents a true virtual computing environment that allows you to use web service interfaces to launch instances with a variety of operating systems, load them with your custom application environment, manage your network's access permissions, and run your image using as many or few systems as you desire.

Amazon EC2 enables partners and customers to build and customize Amazon Machine Images (AMIs) with software based on their needs. IBM and Amazon Web Services have teamed up to provide the ability to use Amazon EC2 to run several IBM platform technologies such as WebSphere Application Server, which provides a Java EE platform.

Conclusion
Java EE PaaS offerings are evolving and we'll see more players in the future. However, due to full support from the Azure platform, .NET as a PaaS is fully mature. But the above mentioned Java EE PaaS will support developer needs.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).

CloudEXPO Stories
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
"MobiDev is a Ukraine-based software development company. We do mobile development, and we're specialists in that. But we do full stack software development for entrepreneurs, for emerging companies, and for enterprise ventures," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Digital Transformation is well underway with many applications already on the cloud utilizing agile and devops methodologies. Unfortunately, application security has been an afterthought and data breaches have become a daily occurrence. Security is not one individual or one's team responsibility. Raphael Reich will introduce you to DevSecOps concepts and outline how to seamlessly interweave security principles across your software development lifecycle and application lifecycle management. With these new automated application security methodologies, organizations will be able to minimize their risk with digital transformation & migration to the cloud, comply to new regulations, and prevent data breaches from ever happening.
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions need to be truly scalable. Far from it. There are at least six major pain points that companies experience when they try to deploy and run Kubernetes in their complex environments. In this presentation, the speaker will detail these pain points and explain how cloud can address them.
Your job is mostly boring. Many of the IT operations tasks you perform on a day-to-day basis are repetitive and dull. Utilizing automation can improve your work life, automating away the drudgery and embracing the passion for technology that got you started in the first place. In this presentation, I'll talk about what automation is, and how to approach implementing it in the context of IT Operations. Ned will discuss keys to success in the long term and include practical real-world examples. Get started on automating your way to a brighter future!