News and Comment

Enterprise Java (J2EE)

Java standards continue to evolve at an amazing pace. Enterprise Java is of particular interest to the author who spent many of his early years working on enterprise systems, firstly ICL and then IBM mainframes (those were the days). Mainframes came with a toolkit of powerful technologies that allowed developers to build robust systems that performed to the very limits allowed by the hardware.

A key piece of technology in that toolkit was the TP Monitor, a vital piece of what might be called 'middleware' today. The TP Monitor was responsible for ensuring that on-line activity from a distributed network of terminals was managed efficiently, scheduling all the necessary resources to optimise throughput and user response time. The concept of a 'transaction' was an integral feature of these systems, i.e. the notion of a sequence of actions that together formed a logical unit of work that either succeeded or failed as a whole.

A rich set of programmer API's ensured a high degree of control and configurability.

Where did all this go? Well, hold your breath.We went from mainframe TP monitors, to Distributed TP monitors (mainly on Unix), to the emergence of Object Oriented middleware environments (CORBA message brokers) to application servers (primarily Java based).

Today's Java application servers (of which there are many) are not too dissimilar from the old TP monitors. They attempt to hide the complexities of building transaction processing systems from the programmer by hosting a set of system services that the programmer can take advantage of without having to understand how  they are implemented (e.g. transactions, security, thread management, resource name resolution etal). With the J2EE standard, theses services are also portable (in theory) across application servers from different vendors, and being a Java based technology, customer choice of hardware is also possible.

 

The J2EE standard encompasses a wide range of technologies that covers anything from http support (servlets), through database access (JDBC) to hosting distributed components (EJB).

The Enterprise JavaBean (EJB) distributed component technology is the J2EE technology with most in common with the traditional TP monitors, except a key difference is that EJB works with software components that are Object-Oriented in nature.

So how easy is EJB to design and program?

Well, despite the hype, the author believes it isn't that easy as some make out. The programming side isn't too difficult once you've cut your teeth on a few examples, the biggest issue is in designing your application to fit onto the imposed 'session' and 'entity' bean concepts that are essential to the EJB framework.

Is a 'session' bean a process, a user role or just an arbitrary collection of workflow related methods that can be grouped into a single image for deployment purposes?

Who indeed knows? All the examples you see in books, Sun publications (blueprints) and resources on the net, tend to focus on explaining a 'session' bean from its place in the EJB framework. In many cases you see examples where metaphors are indeed mixed, which must confuse the many who are trying to get to grips with the concepts.

The author has failed to find any resource that focusses on this whole issue from a business perspective with a clear definition of how to translate business concepts onto Session beans.

How many others out there are also having to work it out for themselves?


Archive

October 1999
June 1999
May 1999
April 1999

Home | News | Java | Profile | Skills | Experience | Downloads | Links | Contact | Colleagues
Copyright © Nigel Smith 1999