Today, Java EE developers want flexibility and the ability to be productive regardless of the type of Java application being developed: monolithic, microservice, or some sort of a hybrid. The ideal application platform allows developers to work with those options.
For productivity, an effective integrated development environment (IDE) should be available with the tools that allow code to be quickly created and built. The application platform should be well integrated with the IDE so code can be quickly and repeatedly be run and debugged.
Team development requires integration with source code control systems and possibly continuous integration and delivery (CI/CD) tools, something both the IDE and application platform should be compatible with.
When a cloud environment such as OpenShift hosts the application platform, the IDE should be able to interact with that cloud environment without losing developer access to leverage all of the aforementioned development capabilities.
JBoss Developer Studio and JBoss EAP meet the needs of the modern Java developer. JBoss Developer Studio has tools for both local and cloud development. For cloud development, JBoss Developer Studio has tools that are built specifically for the OpenShift by Red Hat. Red Hat JBoss Developer Studio’s OpenShift Tooling allows users to create, import, and modify OpenShift applications and then set up manual or automatic builds of source code changes.
Red Hat JBoss Developer Studio works not only with JBoss EAP, but every other product in the Red Hat JBoss Middleware portfolio. A Red Hat JBoss EAP subscription includes development rights to all Red Hat JBoss Middleware platforms. For every 16 cores of a Red Hat middleware subscription, 25 developers gain development rights for all Red Hat JBoss Middleware platforms. As a result, developers can easily explore how these products, such as Red Hat JBoss Data Grid, Red Hat JBoss Fuse, Red Hat JBoss Data Virtualization, Red Hat JBoss BRMS, and others can complement JBoss EAP.
Pivotal offers two tools that can be used by Java developers:
- A command line interface (CLI) tool which is used to interact with Cloud Foundry.
- Spring Tool Suite (STS), an Eclipse-based IDE that can be used for both local and Pivotal Cloud Foundry development. While Eclipse users will recognize the look and feel of the IDE, it is clearly optimized to work with various Spring framework projects. Developers who need to include tools outside of the Spring framework will need to install such specific tooling into STS manually. This can means developers must figure out how to working with technologies not present in the Pivotal portfolio such as data virtualization, business rules, and business process management when needed.
Pivotal development tools provide the ability to build applications and push them to Pivotal Cloud Foundry for execution. Building Java code is typically performed using Maven or Gradle. When pushing code to Cloud Foundry, developers must provide a manifest files that defines what should take place during the push process. This includes everything from how many instances to create and how much memory to allocate to what services applications should use. If a common manifest file is desired for all developers to use, customers must define the methods and procedures required to assure such standardization takes place.
IBM Java development tools are split between licensed and free tools. The IBM Rational Application Developer for WebSphere Software is a licensed software product that is the IBM flagship Java development tool. It has the most features and capabilities of any IBM Java development tool. It also has a list price of $5,630 per authorized user.
IBM offers the free WebSphere Application Server Developer Tools. This product provides plug-ins from the Eclipse Marketplace that can be installed into an existing Eclipse environment to support development for traditional WebSphere Application Server and WebSphere Liberty Profile. While the product is not as functionally complete as Rational Application Developer for WebSphere Software, it does have tools specific to web and Java EE development included. This includes the ability for developers to work with local and remote instances of WebSphere Application Server. For WebSphere Liberty profile, local and BlueMix cloud development is supported.
However, neither of the IBM Java development products are the primary development tools for other products in the IBM middleware portfolio. Other IBM tools exist for those products and may require additional license and ongoing support fees.
Oracle has three IDE tools it provides for development. The first is Netbeans which is provided just for Java, HTML, PHP, and C/C++ development. Second, Oracle Enterprise Platform for Eclipse provides tools that can be added to a bring your own Eclipse environment. And third, the most strategic, is Oracle’s JDeveloper which is used for development across the entire Oracle middleware portfolio including Oracle WebLogic Server. JDeveloper should be considered the primary Oracle IDE for development. It has many Java and Java EE development development features and also includes a WebLogic server that can be used for development purposes only.
Contained within all three IDE options are tools that enable developers to deploy applications to Java Cloud Service instances and to inspect service instance logs directly from the IDE.
Development for Oracle SOA Suite and Oracle BPM Suite can be performed using JDeveloper but not Netbeans or Oracle Enterprise Platform for Eclipse. When performing SOA Suite and Oracle BPM Suite development for a first release, the products can used by developers for free. However, when development for those Oracle products goes into production, a license for the products must also be secured for those products.