WebSphere Is a Foundation With Useful Tools
Joseph Gulla continues his series on WebSphere, writing about extensions to the different product foundations in the form of developer tools.
Last week, I continued my focus on IBM middleware with a post on IBM WebSphere® server software. In that discussion, I listed and briefly explained the different WebSphere versions including Open Liberty, WebSphere Application Server, WebSphere Liberty Core and WebSphere Application Server ND. I also discussed WebSphere Application Server Family edition, which is a package that offers considerable license flexibility across an enterprise for three products: WebSphere Application Server, WebSphere Liberty Core and WebSphere Application Server ND. In this post, I am writing about extensions to the different product foundations in the form of developer tools.
What Tools to Use?
There are different toolsets, different distributions of the same toolset and enterprise-level products to use to build application for the different WebSphere application servers. It’s not as confusing as it sounds. One way to explain the tools to use is to focus on the supported programming model (e.g., Java® EE, CDI or Apache Maven applications).
Another factor is the level of development being taken on. Is it development being done at the enterprise level requiring accelerated development and testing to ensure delivery of higher quality applications?
These factors determine the tool choice, but there is some overlap for certain programming models, which I will explain. Let me start with Developer Tools for Eclipse which is an integrated development environment (IDE) used in application programming.
IBM WebSphere Application Server Developer Tools for Eclipse
IBM WebSphere Application Server Developer Tools for Eclipse is a lightweight set of tools for developing, assembling and deploying Java EE, CDI, JAX-RS, JAX-WS and open service gateway initiative (OSGi) applications to WebSphere Application Server Liberty and traditional.
When combined with WebSphere Application Server Liberty and WebSphere Application Server traditional, IBM WebSphere Application Server Developer Tools for Eclipse provides an environment for the rapid development. The workbench provides the tools needed to develop robust enterprise applications. You can use the Java EE tools and features to create applications that are structured around modules with different purposes. This could be web sites and enterprise JavaBean applications.
When you use EJB 3.1 components, developers can create a distributed, secure application with transactional support. When applications that access persistent data are created, developers can use the Java Persistence API. For developing presentation logic, you can use technologies such as JavaServer Pages or JavaServer Faces, which provide power and flexibility for developers.
Recap: Programming model support includes Java EE, CDI applications, JAX-RS, JAX-WS and OSGi applications.
Rational Application Developer for WebSphere Software
For enterprise-level development, Rational Application Developer provides a full-feature integrated development environment. Rational Application Developer provides a complete environment for Java, Java EE, web, web services, SOA, OSGi, mobile, and portal designers and developers, including the server development tools. It also provides integration and support for WebSphere Application Server Liberty, WebSphere Application Server traditional V9 and WebSphere Application Server traditional V8.5, including their associated feature packs.
Rational Application Developer is designed to accelerate development and unit test to ensure delivery of higher quality applications. It offers tools for teams that accelerate development of web and mobile applications, speed the development of services and Java applications and optimize for IBM middleware. Developers also get to use advanced test and analysis tools and benefit from flexible deployment. Enterprises benefit from flexible pricing and deployment options.
Recap: Programming model support includes Java, Java EE, web, web services, SOA, OSGi, mobile applications including a focus on portal designers and developers.
WebSphere Developer Tools
The WebSphere Developer Tools (WDTs) are a collection of tools that run in Eclipse. They’re used for developing, assembling and deploying applications to WebSphere Application Server Liberty as well as traditional servers. You can download Eclipse and WDTs for free.
WDT can help you develop many applications types including enterprise applications, web applications, Apache Maven projects, Gradle projects, web service applications and OSGi applications. These topics are often explained in brief lesson like “Building a Web Application With Maven” that are available in the comprehensive document repository Let’s look at some of the individual tools in WDT.
Maven Plug-In
The Liberty Maven plug-in provides goals for managing a Liberty runtime within a Maven project. The most common uses for the plug-in focus on Maven projects that employ the web application resource (WAR), enterprise application archive (EAR), and liberty-assembly packaging types. Recent versions of the Liberty Maven plug-in, focused on simplifying project object models (POMs), improving WDT integration and improving the overall experience using the plug-in.
Liberty Assembly Projects
Typically, programmers install the Liberty server and then install additional features when they’re needed. They install application EAR or WAR files from other dependent projects and create a server package that’s installed to their local Maven repository. With support for Liberty assembly projects, programmers can also include application code in a liberty-assembly project.
Gradle
The ci,gradle project provides a Liberty Gradle plug-in with tasks for managing Liberty servers and applications. When Gradle is their build tool of choice, programmers can use this plug-in to manage the environment with tasks like Liberty runtime installation with options to update the license. Gradle can also be used to deploy and undeploy applications to a running server and clean the server to remove logs, applications and workarea files. These are just a few task examples.
Recap: Programming model support includes enterprise, web, Apache Maven and Gradle projects, web service and OSGi applications.
As you read, each of these tool collections has a role to play. Some are free and others a conventionally licensed products. In terms of scope, there is some overlap in the area of supported programming models. For example, support for the development OSGi applications comes up in multiple places. It’s pretty clear that when you’re developing applications to run on WAS, they have a wide variety of tool support that will likely match the software mix that you desire to implement.
Next Week
Next week, I will move on to a new topic where I explore business process management and other middleware solutions.