Java Platform, Enterprise Edition

Java EE Journal

Subscribe to Java EE Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Java EE Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories

Related Links: Wanted: 19 More of the Top Software People in the World Sung and Unsung i-Technology Heroes Who's Missing from SYS-CON's i-Technology Top Twenty?" Our search for the Twenty Top Software People in the World is nearing completion. In the SYS-CON tradition of empowering readers, we are leaving the final "cut" to you, so here are the top 40 nominations in alphabetical order. Our aim this time round is to whittle this 40 down to our final twenty, not (yet) to arrange those twenty in any order of preference. All you need to do to vote is to go to the Further Details page of any nominee you'd like to see end up in the top half of the poll when we close voting on Christmas Eve, December 24, and cast your vote or votes. To access the Further Details of each nominee just click on their name. Happy voting!   In alphabetical order the nominees are:   Tim Berner... (more)

An Introduction to Abbot

Graphical user interface (GUI) testing is a potentially problematic area because constructing effective test cases is more difficult than the corresponding application logic. The roadblocks to effective functional GUI testing are: Traditional test coverage criteria like "80% coverage of the lines of code" may not be sufficient to trap all the user interaction scenarios. End users often use a different user task interaction model than the one conceived by the development team. Functional GUI testing needs to deal with GUI events as well as the effects of the underlying application logic that results in changes to the data and presentation. The common methods for functional GUI testing are the "record and execute" script technique and writing test programs for different scenarios. In the "record and execute," the test designer interacts with the GUI and all the eve... (more)

XA Transactions

Most developers have at least heard of XA, which describes the standard protocol that allows coordination, commitment, and recovery between transaction managers and resource managers. Products such as CICS, Tuxedo, and even BEA WebLogic Server act as transaction managers, coordinating transactions across different resource managers. Typical XA resources are databases, messaging queuing products such as JMS or WebSphere MQ, mainframe applications, ERP packages, or anything else that can be coordinated with the transaction manager. XA is used to coordinate what is commonly called a two-phase commit (2PC) transaction. The classic example of a 2PC transaction is when two different databases need to be updated atomically. Most people think of something like a bank that has one database for savings accounts and a different one for checking accounts. If a customer wants t... (more)

Customer Self-Help for the 21st Century

BEA Systems, Inc., the makers of the WebLogic Server for which this magazine is named, empowers its customers with comprehensive online self-help services. The introduction of BEA's WebLogic Server product into the marketplace produced a dramatic growth in the customer base that resulted in increased demand for customer support. Over the last few years, the explosive growth of WebLogic Server has helped BEA achieve market leadership in the application server space. Sales people are happy, executives are thrilled, and developers beam with pride. But what about technical support? How can any support group possibly support 10,000+ customers with the same focus, technical expertise, and personal touch as it did when there were only 100? Clearly, scaling the number of engineers by two orders of magnitude isn't the answer. Therefore, in order to scale the organization and... (more)

Eclipse "Pollinate" Project to Integrate with Apache Beehive

At JavaOne this week, the Eclipse Foundation, along with Instantiations, Inc., and BEA Systems announced the creation of "Pollinate", a new open-source incubator project focused on creating an Eclipse-based development environment and toolset to be named Eclipse Pollinate. Eclipse Pollinate, which will be designed to integrate with Apache Beehive, the industry’s first easy-to-use, cross-container, open-source application framework for building service-oriented architectures (SOAs) and enterprise Java applications is being developed to help enable developers to more easily develop and deploy service-based and J2EE-based applications. Introduced and led by Instantiations, Eclipse Pollinate, combined with Apache Beehive, will be designed to provide developers with a comprehensive, flexible solution for building and running services and applications. Eclipse will provi... (more)

Dodge Hibernate Coding Mistakes with Code Analysis

Hibernate is one of the most used ORM Java frameworks out there. It is really simple to use, just add few annotations and you're ready to go. However, it is also really easy to experience strange behaviors and bugs if you don't respect Hibernate's best practices. That's why at Tocea we developed rules to detect coding mistakes and to make sure that your experience with Hibernate will be painless. Our Hibernate repository currently contains 30 rules. Some of them are related to the detection of possible bugs, other treat of maintainability or performance. In this article, we're going to present four rules that deal with a famous Hibernate's usage problem : the implementation of equals() and hashCode() methods. What's the problem? Equals and hashCode are used to compare objects. The default implementation of equals compares the object's address in memory. This is good... (more)

Migrating a JBoss EJB Application to WebLogic

The JBoss open source application server is commonly used in the development phase of a J2EE project. In the production phase the commercial BEA WebLogic server is preferred because of its enhanced set of features. Without modifications, an application developed in JBoss does not deploy in WebLogic server. The deployment descriptors for the WebLogic server are different from the JBoss deployment descriptors. An application may be migrated to WebLogic by converting the vendor-specific deployment descriptors to WebLogic. In this tutorial an EJB application developed in JBoss will be migrated to WebLogic with MySQL as the database. Preliminary Setup Download and install the BEA WebLogic server ( &FP=/content/products/weblogic/server). Create a server domain. Download the MySQL JDBC driver JAR file ( (more)

Walter Cronkite's IT Career Advice

The late Walter Cronkite as a role model for IT managers? At first glance, we might not see the connection between "the most trusted man in America" and high tech management. But if we pull back the layers of how Cronkite approached his job, there are solid day-to-day career lessons for those working in IT. Seven Best Practices Straight From the Desk of Uncle Walter 1. Explain things in a simple way so everyone can understand. CBS' Bob Schieffer said people "understood Cronkite was guiding you through events." He translated the complex or hard to understand in a way that made you nod and think, "I get I now." When explaining the impact of an IT project for your organization, break it down so the non-techies get the light bulb over their heads. Explain it so your mother can understand it--use the criteria: how would Cronkite say this? 2. Have an unbridled enthusiasm. N... (more)

Web Services Strategy - SAP Platform

Packaged business applications have dominated enterprise IT landscapes for over a decade. Now these products are undergoing major changes to segway into the world of Web Services. SAP has been one of the most aggressive companies in embracing this revolution. Its NetWeaver platform is an ambitious suite of integration technologies designed to morph SAP into enterprise SOAs. SAP unveiled a four-year roadmap for NetWeaver in 2003. This article looks at the platform at its halfway point as well as SAP's vision for creating a Web Services-based agile business process infrastructure. What Is NetWeaver? NetWeaver is really a brand that encompasses a suite of tools just like WebSphere, WebLogic, and .NET are umbrellas for a family of products within a platform. Some of these products are relatively new, while others are proven solutions that have been widely deployed. What ... (more)

Lessons to Learn from the Hibernate Core Implementation

Hibernate is an open source Java persistence framework project. Perform powerful object relational mapping and query databases using HQL and SQL. In general the widely used libraries are well designed and implemented, and it's very interesting to learn from them some coding best practices. Let's take a look inside the hibernate core library and discover some of its design keys. In this post Hibernate Core is analyzed by JArchitect to go deep inside its design and implementation. Package by Feature Package-by-feature uses packages to reflect the feature set. It places all items related to a single feature (and only that feature) into a single directory/package. This results in packages with high cohesion and high modularity, and with minimal coupling between packages. Items that work closely together are placed next to each other. Here's a good article talking about p... (more)

Component Models in Java | Part 2

OSGi is the latest component model to join the bandwagon of component models, which provides a platform for component oriented development and assembly. OSGi framework is a standards based platform whose specifications are provided by the OSGi Alliance (, formerly OSGi was referred as Open Services Gateway Initiative). OSGi Alliance is an industry backed nonprofit organization which was founded in March 1999. The OSGi specification has gone through many releases and the current major version in use is 4 and version 5 has been introduced recently. The OSGi defines a dynamic module system for Java. This offers help for Java's modularity problems by providing better control to the code structure, manage the lifecycle of the code and a complete loosely coupled approach that is much needed for component-oriented development. The OSGi specification consists o... (more)