Click here to close now.

Welcome!

@MicroservicesE Blog Authors: Elizabeth White, Pat Romanski, Lori MacVittie, Liz McMillan, Cloud Best Practices Network

Related Topics: Java IoT, Microsoft Cloud, @CloudExpo Blog

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

Srinivasan is passionate about ownership and driving things on his own, with his breadth and depth on Enterprise Technology he could run any aspect of IT Industry and make it a success.

He is a seasoned Enterprise IT Expert, mainly in the areas of Solution, Integration and Architecture, across Structured, Unstructured data sources, especially in manufacturing domain.

He currently works as Technology Head For GAVS Technologies.

@MicroservicesExpo Stories
Containers are changing the security landscape for software development and deployment. As with any security solutions, security approaches that work for developers, operations personnel and security professionals is a requirement. In his session at DevOps Summit, Kevin Gilpin, CTO and Co-Founder of Conjur, will discuss various security considerations for container-based infrastructure and related DevOps workflows.
Overgrown applications have given way to modular applications, driven by the need to break larger problems into smaller problems. Similarly large monolithic development processes have been forced to be broken into smaller agile development cycles. Looking at trends in software development, microservices architectures meet the same demands. Additional benefits of microservices architectures are compartmentalization and a limited impact of service failure versus a complete software malfunction. ...
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of...
The cloud has transformed how we think about software quality. Instead of preventing failures, we must focus on automatic recovery from failure. In other words, resilience trumps traditional quality measures. Continuous delivery models further squeeze traditional notions of quality. Remember the venerable project management Iron Triangle? Among time, scope, and cost, you can only fix two or quality will suffer. Only in today's DevOps world, continuous testing, integration, and deployment upend...
Conferences agendas. Event navigation. Specific tasks, like buying a house or getting a car loan. If you've installed an app for any of these things you've installed what's known as a "disposable mobile app" or DMA. Apps designed for a single use-case and with the expectation they'll be "thrown away" like brochures. Deleted until needed again. These apps are necessarily small, agile and highly volatile. Sometimes existing only for a short time - say to support an event like an election, the Wor...
"Plutora provides release and testing environment capabilities to the enterprise," explained Dalibor Siroky, Director and Co-founder of Plutora, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
DevOps tends to focus on the relationship between Dev and Ops, putting an emphasis on the ops and application infrastructure. But that’s changing with microservices architectures. In her session at DevOps Summit, Lori MacVittie, Evangelist for F5 Networks, will focus on how microservices are changing the underlying architectures needed to scale, secure and deliver applications based on highly distributed (micro) services and why that means an expansion into “the network” for DevOps.
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect t...
Cloud Migration Management (CMM) refers to the best practices for planning and managing migration of IT systems from a legacy platform to a Cloud Provider through a combination professional services consulting and software tools. A Cloud migration project can be a relatively simple exercise, where applications are migrated ‘as is’, to gain benefits such as elastic capacity and utility pricing, but without making any changes to the application architecture, software development methods or busine...
Data center models are changing. A variety of technical trends and business demands are forcing that change, most of them centered on the explosive growth of applications. That means, in turn, that the requirements for application delivery are changing. Certainly application delivery needs to be agile, not waterfall. It needs to deliver services in hours, not weeks or months. It needs to be more cost efficient. And more than anything else, it needs to be really, dc infra axisreally, super focus...
Sharding has become a popular means of achieving scalability in application architectures in which read/write data separation is not only possible, but desirable to achieve new heights of concurrency. The premise is that by splitting up read and write duties, it is possible to get better overall performance at the cost of a slight delay in consistency. That is, it takes a bit of time to replicate changes initiated by a "write" to the read-only master database. It's eventually consistent, and it'...
Many people recognize DevOps as an enormous benefit – faster application deployment, automated toolchains, support of more granular updates, better cooperation across groups. However, less appreciated is the journey enterprise IT groups need to make to achieve this outcome. The plain fact is that established IT processes reflect a very different set of goals: stability, infrequent change, hands-on administration, and alignment with ITIL. So how does an enterprise IT organization implement change...
While DevOps most critically and famously fosters collaboration, communication, and integration through cultural change, culture is more of an output than an input. In order to actively drive cultural evolution, organizations must make substantial organizational and process changes, and adopt new technologies, to encourage a DevOps culture. Moderated by Andi Mann, panelists discussed how to balance these three pillars of DevOps, where to focus attention (and resources), where organizations migh...
At DevOps Summit NY there’s been a whole lot of talk about not just DevOps, but containers, IoT, and microservices. Sessions focused not just on the cultural shift needed to grow at scale with a DevOps approach, but also made sure to include the network ”plumbing” needed to ensure success as applications decompose into the microservice architectures enabling rapid growth and support for the Internet of (Every)Things.
Mashape is bringing real-time analytics to microservices with the release of Mashape Analytics. First built internally to analyze the performance of more than 13,000 APIs served by the mashape.com marketplace, this new tool provides developers with robust visibility into their APIs and how they function within microservices. A purpose-built, open analytics platform designed specifically for APIs and microservices architectures, Mashape Analytics also lets developers and DevOps teams understand w...
Sumo Logic has announced comprehensive analytics capabilities for organizations embracing DevOps practices, microservices architectures and containers to build applications. As application architectures evolve toward microservices, containers continue to gain traction for providing the ideal environment to build, deploy and operate these applications across distributed systems. The volume and complexity of data generated by these environments make monitoring and troubleshooting an enormous chall...
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 envir...
Containers and Docker are all the rage these days. In fact, containers — with Docker as the leading container implementation — have changed how we deploy systems, especially those comprised of microservices. Despite all the buzz, however, Docker and other containers are still relatively new and not yet mainstream. That being said, even early Docker adopters need a good monitoring tool, so last month we added Docker monitoring to SPM. We built it on top of spm-agent – the extensible framework f...
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.