IBM Cloud Pak® for Applications (CP4Apps) is an end-to-end hybrid cloud application platform, providing flexibility for deployments, building new cloud-native applications, refactoring and re-platforming existing applications. Designed to leverage a collection of application runtimes, modernization tools and a Kubernetes container platform to adapt to their landscape needs.
N/A
Oracle Java SE
Score 8.4 out of 10
N/A
Oracle Java SE is a programming language and gives customers enterprise features that minimize the costs of deployment and maintenance of their Java-based IT environment.
Well suited for customers who are looking for cloud-adoption, and finally to meet the challenges of business innovation for the competitive advantage through DevOps.
Oracle Java SE is well suited to long-running applications (e.g. servers). Java Swing (UI toolkit) is now rather outdated, lacking support for modern UI features. JavaFX, the potential replacement for Swing, has now been separated out of Java core. Ideally, there would be a path to migrate a large application incrementally from Swing to JavaFX, but due to different threading models and other aspects, it is difficult. At this point, it is probably better to use an embedded web browser (e.g. JxBrowser) to provide a modern UI in HTML/Javascript and keep just the business logic in Java.
Provides a fantastic range of Application runtimes allowing the most suitable runtime to be selected for the app being implemented.
After using Transformation Advisor for quite a while, it is an indispensable tool to help modernize, specifically from WebSphere and Tomcat, towards the lightweight, fast and efficient Liberty runtime.
The simplicity of the licensing by wrapping many products into a single offering with a different VPC weighting.
Allows us to modernize our runtime from WebSphere Application Server (or ND) to WebSphere Liberty core without sacrificing our WAS licenses.
Commercial Licensing in 2019. Oracle will charge commercial organizations using Java SE for upgrading to the latest bug fixes and updates. Organizations will now need to either limit their implementation of Java SE or may need to drop it altogether.
Slow Performance. Due to the all of the abstraction of the JVM, Java SE programs take much more resources to compile and run compared to Python.
Poor UI appearance on all of the major GUI libraries (Swing, SWT, etc.). Through Android Studio, it is easy to get a native look/feel for Java apps, but when it comes to desktops, the UI is far from acceptable (does not mimic the native OS's look/feel at all).
Oracle Java SE provides the new features along with timely security patches. New features like Record patterns and pattern matching for switches are very useful. With every new release of Java, it is getting better. Sequenced collections are also an interesting feature added to Java. With all these new features, backward compatibility is also maintained.
Java is such a mature product at this point that there is little support from the vendor that is needed. Various sources on the internet, and especially StackOverflow, provide a wealth of knowledge and advice. Areas that may benefit from support is when dealing with complex multithreading issues and security libraries.
Our customer mission-critical core banking applications like Temenos T24 run on best of the breed IBM WebSphere Application Server which is java based-application server. IBM has kept up the promise of providing support, fixpack, and any update. As far as I know, at least by 2030, IBM is committed to continue with WHE which gives customers confidence in their current investments.
Chose to go with Java instead of Python or C++ due to the expertise on the ground with the technology, for its ease of integration with our heterogeneous setup of production servers, and for the third party library support which we've found was able to address some challenging aspects of our business problem.
We have been able to migrate apps away from the expensive WAS-ND to the more cost-effective WAS-base without throwing away our WAS-ND licenses. With a 1:4 ratio of WAS-ND to WAS-base we've been able to we've been able to save in excess of 75% on licensing charges for these apps.
By having a license model based on VPC ratios (1:4:8 - WAS-ND:WAS-base:Liberty core) we've been able to move away from using license pooling resulting in over-allocating (i.e. wasting) CPU cores for each license pool, to using consolidated license pools hosting a combination of WAS-ND, WAS-base and Liberty-core. This has allowed us to reduce our licensing costs accordingly.
The different versions make it harder to work with other companies where some use newer versions while some use older versions, costing time to make them compatible.
Licenses are getting to be costly, forcing us to consider OpenJDK as an alternative.
New features take time to learn. When someone starts using them, everyone has to take time to learn.