J2EE Developer's Handbook, by Paul J. Perrone, Venkata S.R. "Krishna" R. Chaganti, and Tom Schwenk, ISBN 0-672-32348-6

Reviewed by: Songmuh Jong, send e-mail
Published by: Sams Publishing, go to the web site
Requires: Any modern PC running Windows or Linux, or other hardware platform (Max OS X and UNIX)
MSRP: $59.99

This publication is a handbook for enterprise Java developers. It's divided into 4 sections on enabling enterprise services, including data enabling, communication enabling, web enabling and applications enabling. The companion CD-ROM contains the entire book in electronic form plus Adobe Acrobat Reader 5.1, J2SE, Ant 1.5.3, Tomcat 4.1.24 and MySQL 4.0.12. In addition, the CD-ROM contains several appendices in PDF format, including configurations for all the servers mentioned in the book. What's more, every page in those PDF files are included in the book index. I'm impressed by the thoughtful design of the book.

It's not surprising that this book deals with data first because data is the center of enterprise computing. Any enterprise system has a database system that is usually maintained by a DBA rather than the enterprise developers. What concerns developers are data access and transaction control. The book starts with an overview of enterprise computing, then describes the enterprise data, database system, data access, XML, SAX, DOM, XSL transformation, JDBC and transaction and connection pools. XML stands for eXtended Markup Language. SAX stands for Simple API for XML. DOM is a Document Object Model (mainly for XML in this book). XSL stands for eXtended Style Language and allows transformation of an XML document into different presentations. JDBC stands for Java DataBase Connectivity.

The data for enterprise systems can be divided into two types: the format that is flowing outside of the database system, and the format that is stored in the database. Although there is a trend to merge these two types, traditional relational database systems still keep data in relational tables and the external data flow has been shifted to XML formats This book discusses the XML formats in details. For relational databases, it focuses more on data access. That's an appropriate approach for developers. In addition, the book discusses the recent trend of storing objects in database - the so-called hybrid Object/Relational (O/R) architecture as well as the O/R mapping.

One feature of enterprise computing is the existence of multiple servers and their communication in various forms of services. When it comes to communication between servers, security becomes an issue. The second part of this book describes distributed systems, activation services, CORBA communications, RMI and custom sockets, web services and SOAP and WSDL and RPC, naming service with JNDI, CORBA naming, RMI naming, Windows registry naming, directory service with JNDL and LDAP and DSML, DNS, Microsoft active directory service, CORBA trading service, JINI as a trading service, web services lookup with JAXR, transaction services with JTA and JTS, messaging services with JMS and JAXM, JavaMail, assurance and security services and cryptography and SSL, jar signing, JAAS, and CORBA security.

CORBA (Common Object Request Broker Architecture) is a specification for building distributed object applications. CORBA is a language and platform-neutral. RMI (Remote Method Invocation) is a Java- specific communication framework. SOAP is a Simple Object Access Protocol for web communication (web services). An IDL (Interface Definition Language) defines a CORBA interface, whereas a WSDL (Web Service Description Language) defines a web services interface. JWSDL is a Java API for WSDL. RPC stands for Remote Procedure Call. JAX-RPC is a Java API for XML-based RPC. JNDI stands for Java Naming and Directory Interface, which allows Java to access other naming systems, including CORBA Naming Service (CosNaming), file system, RMI Registry and Windows Registry. Directory service is often interchangeable with naming service, but it is referred to as a special naming service for object name lookup in this book. DAP is a Directory Access Protocol. LDAP is a Lightweight DAP that operates over TCP/IP. DSML is a Directory Services Markup Language using XML. DNS stands for Domain Name System. Jini is an architecture for joining distributed systems together. JAXR stands for Java API for XML Registries. JTA stands for Java Transaction API. JTS stands for Java Transaction Service. JMS stands for Java Message Service. JAXM stands for Java API for XML Messaging. SSL stands for Secure Socket Layer. JAAS stands for Java Authentication and Authorization Service.

Although the communication services are full of special terminology, it is all related to services among distributed systems with Java approaches or non-Java approaches. Distributed services require lookup (or discovery in Jini terms) and name resolution (naming or directory services). The communication can be purely in text format or in the form of objects. This book focuses more on the modern communication services. This part of the book is very resourceful and should be of great value to developers.

The third part of the book is about web enabling, including web development, Servlets, JavaServer Pages (JSP), JSP tags, web components and type mapping. Strictly speaking, web enabling is no different from the distributed systems. The Internet, after all, is only a form of public network. That's why web services have been discussed in the prior section where communication of distributed systems is the main topic. For browser-accessible services, the book discusses two topics: Servlets and JSP. The rest of the web enabling is about deploying Java components as web components, which is mainly defining the configuration in XML files.

The last part of the book is about enterprise application enabling, including application services, EJB (Enterprise JavaBean), session EJB, entity EJB, message-driven EJB, EJB assurance services (transaction, clustering, security), EJB integration, and web services with EJB. Many people are afraid of EJB because of its complexity. However, it is actually a package of the services already familiar to developers. This book provides detailed discussion of the EJB.

The authors have done a good job in assembling a book on J2EE development. The topics are very modern, and the coverage in the book is wider than any other publication in the market. Each chapter goes into details that warrant the use of this book as a handbook. I'm sure every Java developer will want a copy of this one on their bookshelf.

Letters to the Editor are welcome and occasionally abused in public. Send e-mail to: whine@kickstartnews.com




© Copyright 2000-2006 kickstartnews.com. All rights reserved. legal notice
home | previous reviews | forums | about us | search | store | subscribe


Forums Search Home Previous Reviews About Us Store Subscribe