Wednesday, August 12, 2020

Migration to java 11

 


The following section determines the transition steps to take for different application given the explanation of tools and features in the preceding posts.

Jar based applications- These applications can be invoked directly from the command line. In addition, they handle web requests by including the communication within the package. Previously, they used to be handled by an application server. These applications are built with frameworks such as Spring Boot, DropWizard, Micronaut, MicroProfile and others and are packaged into jar files.

Spring Cloud microservices – Here the application consists of a suite of small services, each running its own process and communicating over HTTP usually. Each service is isolated and dedicated to a business value. Each application may consist of its own jar file and sometimes packaged as a fat jar.

Web applications – These run inside a servlet container. Some use servlet APIs directly while other frameworks hide them such as Apache Struts, Spring MVC and JavaServer  Faces. These applications are packaged as WAR files

Enterprise applications – These applications were referred to as J2EE application and are now called Jakarta EE application. They are packaged as EAR files or sometimes as WAR files. They run on Java-EE compliant servers such as WebLogic, WebSphere, WildFly, GlassFish, Payara and others. If such applications are written to use Java EE features, they can migrate from one compliant server to another.

Batch / Scheduled jobs - These are jobs that are usually run with crontabs. They are packaged into archives with jar extension and run with schedulers such as Quartz and Spring Batch. These are usually isolated from application logic and their packaging as described in the types mentioned earlier.

All applications described above can run directly on a virtual machine. Some can be hosted on containers. The mode of deployment and the leverage of features available from the host or infrastructure to support them varies considerably on the choice. Applications can become slimmer on a better served host.

The runtime resource usage and needs for the above applications also varies from host to host by type. The average and peak requests may vary by time but the applications must have sufficient resources planned.


No comments:

Post a Comment