Ongoing Java EE development

Today, discussions of microservices and 12-factor applications are popular in blogs, technical articles, and books. Related to this, the concept of a monolith is also growing in popularity. Monolith was initially used to disparage traditional application development with large collections of code requiring careful coordination amongst large teams. However, this is  a development pattern commonly associated with Java EE application development.

People and organizations that use the term monolithic as a disparaging term argue for smaller teams with disparate delivery schedules that still deliver enterprise class applications, essentially microservice and 12-factor architectures. Commonly used examples of success using this approach include Netflix and Google.

While these application design philosophies make sense for certain companies and applications, they don’t make sense for all. In fact, the number of companies that still use, and perhaps can be argued should use, monolithic applications is believed to far outweigh those who strictly use microservice architectures.

JBoss EAP remains well suited for both traditional and new Java EE development. JBoss EAP 7 supports the latest Java EE specification, and Java EE 6 supports the Java EE 6 specification. Both versions are in use by companies around the world and JBoss EAP can support that community of developers. Further, JBoss EAP subscription cores can freely move between use on-premise or in OpenShift. JBoss EAP supports choice for both Java EE specification version and deployment platform.

The Pivotal commitment to classic deployment topologies stops at offering the Spring framework and Pivotal tcServer for on-premise deployment. However, tcServer does not have Java EE web profile or full Java EE platform certification. To take advantage of the Pivotal platform, applications may need to be rewritten to meet specific Pivotal tcServer and Spring framework runtime requirements.

Pivotal is targeting customers looking to develop 12-factor microservice applications rather than traditional Java EE applications. By not offering a Java EE application platform, Pivotal is advocating an all or nothing move in application design and implementation philosophy. Red Hat views this approach as a significant issue for most companies. Red Hat believes JBoss EAP offers the advantage of supporting an evolutionary approach from monolithic to microservices deployments. This allows JBoss EAP users to progressively chip away portions of monolithic applications to be re-deployed as microservices. JBoss EAP does not require a complete rewrite of applications to a microservice architecture for them to run on the application platform.

IBM WebSphere Application Server is the product IBM recommends for continued use with legacy applications, especially applications with backwards compatibility requirements that pre-date Java EE 6. For Java EE 6 and Java EE 7 deployments, both the traditional WebSphere Application Server and the WebSphere Liberty profile can be used. However, for new application platform development, IBM has been observed by Red Hat primarily encouraging users to use the WebSphere Liberty profile.

However, combining traditional WebSphere Application Server and WebSphere Liberty Profile in production results in two issues for customers: differences in administrative procedures and difficulties tuning the runtime.

First,  IBM customers wrestle with the issue that the WebSphere Application Server has a long history that includes a reputation for not being modular. As a result, developers and administers have limited options to tune the size of the runtime environment.

Second, and more important, the administrative procedures and clustering for the two products are completely different. This can lead to more complicated procedures and a need for them to be executed by more or higher skilled resources than if one set of methods and procedures could be used.

In addition, new and existing customers following the IBM recommendation to use WebSphere Liberty Profile may find acquisition options for the product to be confusing. As detailed in IBM documentation, WebSphere Application Server Liberty Core functionality varies from the WebSphere Application Server Liberty Profile capabilities included with WebSphere Application Server and WebSphere Application Server – Express. WebSphere Application Server Liberty Profile capabilities vary even further when bundled with WebSphere Application Server Network Deployment and WebSphere Application Server for z/OS.

Taking a closer look at the differences, WebSphere Application Server Liberty Core is the only Liberty edition that can be independently licensed. However, it also has the least overall capabilities of the WebSphere Application Server Liberty product family. It is missing important features like JAX-WS for web services, Java Messaging Service (JMS) for reliable communications, and the ability to control or be part of a cluster.

WebSphere Application Server Liberty Profile entitlements increase the functionality available to users beyond WebSphere Application Server Liberty Core, but are only available when licensed via WebSphere Application Server, WebSphere Application Server – Express, WebSphere Application Server Network Deployment, or WebSphere Application Server for z/OS.

The second tier of WebSphere Application Server Liberty Profile features beyond WebSphere Application Server Liberty Core is available via licensing of WebSphere Application Server and WebSphere Application Server – Express. However, this second tier of WebSphere Application Server Liberty profile functionality is missing key features such as clustering and IBM intelligent management scaling features. Potential purchasers should also note that IBM WebSphere Application Server – Express licensing includes terms and conditions that limit deployment options. As specified by IBM in a product announcement letter, this edition “is limited to single-server implementations and up to a maximum of 480 Processor Value Units per server. Larger servers representing more than 480 PVUs may be segmented into smaller virtual servers, but Express may not be installed on more than 480 PVUs on a single (physical) server.” This means that IBM WebSphere Application Server – Express terms and conditions effectively cap usage to 6 cores per server when sized at 70 PVUs per core.

Securing full WebSphere Application Server Liberty profile functionality is only realized using entitlements that come with WebSphere Application Server Network Deployment and WebSphere Application Server for z/OS.

One additional question to ask: What happens if a customer ends up licensing IBM WebSphere Application Server Liberty capabilities but picks the wrong mix of entitlements for the capabilities they need? Can entitlements be transferred freely between products? With a Red Hat subscription, such questions don’t apply; every subscription includes access to all product capabilities.

Ultimately an application platform and associated management capabilities doesn’t need to be difficult. With that in mind, and from a product functionality perspective, every Red Hat JBoss Enterprise Application Platform subscription includes all product capabilities. From a deployment portability perspective, each subscription includes the ability to deploy fully functional server instances on-premise, within a private or public cloud environment, or within a hybrid environment.

Oracle supports both Java EE 6 and Java EE 7 development on different Oracle WebLogic Server versions. Such versions are available under the Oracle LifeTime Support Policy to run existing Java EE deployments. However, support costs may have an impact on the feasibility of continuing to work with a given version.

Oracle support comes in three progressive stages: Premier Support, Extended Support, and Sustaining Support. Oracle customers find that support costs increase as products age and progress through support stages. Oracle provides premier support for products five years from their general availability date. Premier support starts at 22% of the year one license cost and increases thereafter. In years 6-8 after Oracle product GA, extended support is available and priced using an escalating cost schedule.

  • Year 6 increases over year 5 costs by 10%.
  • Year 7 increases over year 6 costs by 20%
  • Year 8 increases over year 7 costs by 20%

After year 8, the Oracle product release is covered under sustaining support and, per Oracle policy, will continually increase each year. Red Hat has found that the  ongoing maintenance costs of deployed and stable application deployed on Oracle WebLogic can drive customers to look to JBoss EAP as an alternative.

Comments are closed.