A Faster, Stronger, More Powerful WebLogic

BEA Systems' WebLogic 8.1 has several very nice features that can make development of Web applications a breeze. At the top of my list are Java Page Flows (JPFs), Enterprise JavaBeans (EJB) support and the product's integrated debugging tool, all of which help developers build Web applications quickly and with fewer headaches.

JPFs comprise a toolset that allows a developer to easily piece together sections of a Web site, including JavaServer Pages (JSPs), custom controls, Web services and other integration pieces, and combine them into one logical workflow for a section of an application. One of the good things about JPFs is that you can nest one inside another and further increase the opportunity for reuse of code.

Some readers may be familiar with Struts, a Model-View-Controller implementation that is available from the Apache Group. JPF is a very similar model with at least one unique change: In order to handle state, JPF uses a per-session instance of the controller. This allows developers to instance member variables to hold state. Struts differs in that users share an instance of the controller. One perk that BEA provides is the ability to have JPFs interoperate with existing Struts applications. If you have an application written in Struts and are looking for a more friendly development environment, this might be your ticket.

BEA's Workshop development environment is a good step forward for the developer who is constructing Web applications. Given a good set of requirements, a solid information architecture and the necessary integration components, a developer can assemble an application in relatively little time. I was pleasantly surprised at the simplicity and completeness of the applications that I was able to create with the product.

id
unit-1659132512259
type
Sponsored post

For example, to integrate a page flow with a Web service, you can just click a few buttons and have that service available to your page flow as an object addressable from a custom control or a JSP. Want to create a link between a couple of pages? Draw a line to connect the two. Want to create a Web service that utilizes some custom internal code as its back end? Click a few buttons. It's really that simple. Even the basic programming control constructs are a click away.

If developers prefer, and they will, they can drop out of the development environment's visual mode and make changes directly to the source files. Be careful, though, not to delete the comments that are created in the code by the environment itself because they often reference visual elements of the project.

The trick, as in any development effort, is having the right components available. While building an application may be quick and easy once you get all the right pieces, getting those pieces in place can be challenging. Workshop also has tools to help developers construct the core components of an overall architecture. Tools in this area help the developer create synchronous and asynchronous Web services, EJB components, security models, e-mail integration, portal tools and external-integration tools, to name a few.

WebLogic 8.1's EJB container, an area that should be carefully examined in any application-server platform, fully supports container-managed persistence, in addition to the more familiar bean-managed persistence. This takes some of the work out of the way when persisting data, but take care when choosing whether to use container-managed or bean-managed persistence, which can have a great effect on the performance and flexibility of an application.

It is also possible to use Workshop to create EJBs that can serve as part of an object-relational model. By mapping data entities to object properties and methods, an EJB is created that can model a specific component of an overall data model. Also, run-of-the-mill EJB development is a lot easier with this release of Workshop. EJB interfaces and deployment descriptors are now created and compiled automatically, eliminating that problem from the development domain.

Perhaps the strongest overall feature is WebLogic's integrated debugger. This is where the tedium of developing applications can be removed. Developers are constantly going into the development environment, loading their applications, then debugging the apps. In the current version, the debugger is part of the development environment.

JSPs can also be debugged, making the process of figuring out complex JSP logic much easier than it has been in the past.

XML tools also feature prominently in the new version. XSLT and XQuery are both supported, as is the ability to perform non-XML-to-XML data transformations.

Portal capabilities within WebLogic have been around for a few years and keep getting better with age. It is quite easy to build a quick portal using the flexible portal user interface and custom portlets. Content-management features are also included, although they're not quite as full-featured as other, more focused content-management tools. Full personalization and administration are included within the portal's feature-set as well.

The new WebLogic is feature-rich and easy to use, but is not without its questionable points. This platform has moved from the standalone application server of days gone by to the we-do-it-all platform of today. And while it is nice to think that one product can do just about everything one might need, it is usually the case that some of the more ancillary features might be better covered by a product that had a reputation for a specific function. For example, WebLogic has long included a message broker in its product. If I were to architect a solution that depended not only on a solid application-server platform but also on a fast-performing message broker, it would be prudent to look at external products for this feature and not rely entirely on what was in the BEA box. As with most serious software development, 80 percent of the effort lies in about 20 percent of the system. This 20 percent can make or break an entire application-development.

What would be nice to see from BEA going forward? A rundown of BEA's Message Broker performance vs. IBM's MQSeries or IIT Software's SwiftMQ would be informative. How about a benchmark that shows how a WebLogic application performs using the internal message-broker architecture vs. an external message broker at low, medium and high loads? Perhaps a performance comparison between Struts and JPF is in order. This developer is curious to see how the controller per-session instance scales.

All told, the completeness of this product is quite impressive. With BEA's history, this product warrants a serious consideration from anyone looking for a top-notch development platform. BEA has once again taken on the necessary evils of today's development and removed a massive amount of pain from the process.

If you are looking at making an investment in an application-development platform, BEA's WebLogic 8.1 is one of the top contenders in the market. Suffice it to say that most applications would never need to utilize every trick that is in BEA's bag, but it's nice to know that they're available.

Kevin Carlson ([email protected]) is CTO of Verteris, an Atlanta-based ISV.