Synopses & Reviews
Nothing is as constant as change, and this is as true in enterprise computing as anywhere else. Since Java Enterprise in a Nutshell was first published in September of 1999, a dozen or more new APIs have been added to the platform, reflecting the new and different ways developers implement their enterprise objectives. And now developers are being called on to add even greater, more complex levels of interconnectivity to their applications, as the concepts behind Web Services solidify and implementation decisions need coding.
Java developers today need a clear understanding of the new APIs, tools, capabilities and pitfalls in J2EE 2.0 so they can plan a technology and implementation strategy for new enterprise projects. Fortunately, this is exactly what they get with the new Java Enterprise in a Nutshell, 2nd edition!
Completely revised and updated for the new 2.0 version of Sun Microsystems Java Enterprise Edition software, Java Enterprise in a Nutshell 2nd edition covers all of the J2EE APIs, including RMI, Java IDL, JDBC, JNDI, Java Servlet, and Enterprise JavaBeans, with a fast-paced tutorial and compact reference on each technology. Then Java Enterprise in a Nutshell goes even further, providing a classic OReilly-style quick reference for all of the classes in the various packages that comprise the Enterprise APIs - covering the core enterprise APIs as well as numerous standard extensions.
The Java Enterprise APIs are building blocks for creating enterprise-wide distributed applications in Java. "Java Enterprise in a Nutshell" covers the RMI, Java IDL, JDBC, JNDI, Java Servlet, and Enterprise JavaBeans APIs, with a fast-paced tutorial and compact reference material on each technology.
About the Author
William Crawford has been developing web-based enterprise applications since 1995, including one of the first web-based electronic medical record systems (at Children's Hospital in Boston) and some of the first enterprise-level uses of Java. He has consulted for a variety of institutional clients, including Boston Children's Hospital, Harvard Medical Center, numerous startups and several Fortune 500 companies. Prior to an acquisition he was CTO of Invantage, Incorporated in Cambridge, MA. He received a degree in history and economics from Yale University. He is the co-author of Java Servlet Programming, 2nd Edition, Java Enterprise in a Nutshell, 2nd Edition, and two forthcoming O'Reilly titles. Will is currently Principal Software Architect at Perceptive Informatics, Inc.Massachusetts, provider of software and services to the pharmaceutical industry. He can be reached at http://www.williamcrawford.info
Jim Farley is a software engineer, computer scientist, and IT manager. His recent activities have included heading up the engineering group at the Harvard Business School and bringing good things to life at GE's Research and Development center. He's dealt with computing (distributed and otherwise) in lots of different ways, from automated image inspection to temporal reasoning systems. Jim has Bachelor's and Master's degrees in computer systems engineering from Rensselaer Polytechnic Institute.
Table of Contents
Preface; Contents of This Book; Related Books; Java Programming Resources Online; Examples Online; Conventions Used in This Book; Comments and Questions; Acknowledgments; Introducing the Java Enterprise APIs; Chapter 1: Introduction; 1.1 Enterprise Computing Defined; 1.2 Enterprise Computing Demystified; 1.3 The Java Enterprise APIs; 1.4 Enterprise Computing Scenarios; 1.5 Other Enterprise APIs; Chapter 2: JDBC; 2.1 JDBC Architecture; 2.2 Connecting to the Database; 2.3 Statements; 2.4 Results; 2.5 Handling Errors; 2.6 Prepared Statements; 2.7 BLOBs and CLOBs; 2.8 Metadata; 2.9 Transactions; 2.10 Stored Procedures; 2.11 Escape Sequences; 2.12 The JDBC Optional Package; 2.13 JDBC 3.0; Chapter 3: Remote Method Invocation; 3.1 Introduction to RMI; 3.2 Defining Remote Objects; 3.3 Creating the Stubs and Skeletons; 3.4 Accessing Remote Objects as a Client; 3.5 Dynamically Loaded Classes; 3.6 Remote Object Activation; 3.7 RMI and Native Method Calls; 3.8 RMI Over IIOP; Chapter 4: Java IDL (CORBA); 4.1 A Note on Evolving Standards; 4.2 The CORBA Architecture; 4.3 Creating CORBA Objects; 4.4 Putting It in the Public Eye; 4.5 Finding and Using Remote Objects; 4.6 What if I Don't Have the Interface?; Chapter 5: Java Servlets; 5.1 Getting a Servlet Environment; 5.2 Servlet Basics; 5.3 Web Applications; 5.4 Servlet Requests; 5.5 Servlet Responses; 5.6 Custom Servlet Initialization; 5.7 Security; 5.8 Servlet Chains and Filters; 5.9 Thread Safety; 5.10 Cookies; 5.11 Session Tracking; 5.12 Databases and Non-HTML Content; Chapter 6: JavaServer Pages; 6.1 JSP Basics; 6.2 JSP Actions; 6.3 Custom Tags; 6.4 Wrapping Up; Chapter 7: JNDI; 7.1 JNDI Architecture; 7.2 A Simple Example; 7.3 Introducing the Context; 7.4 Looking Up Objects in a Context; 7.5 The NamingShell Application; 7.6 Listing the Children of a Context; 7.7 Creating and Destroying Contexts; 7.8 Binding Objects; 7.9 Accessing Directory Services; 7.10 Modifying Directory Entries; 7.11 Creating Directory Entries; 7.12 Searching a Directory; 7.13 Event Notification; Chapter 8: Enterprise JavaBeans (EJB); 8.1 A Note on Evolving Standards; 8.2 EJB Roles; 8.3 Implementing a Basic EJB; 8.4 Using Enterprise JavaBeans; 8.5 Implementing Session Beans; 8.6 Implementing Entity Beans; 8.7 Implementing Message-Driven Beans; 8.8 Transaction Management; Chapter 9: Java and XML; 9.1 Using XML Documents; 9.2 Java API for XML Processing; 9.3 SAX; 9.4 DOM; 9.5 XSLT; Chapter 10: Java Message Service; 10.1 JMS in the J2EE Environment; 10.2 Elements of Messaging with JMS; 10.3 The Anatomy of Messages; 10.4 Point-to-Point Messaging; 10.5 Publish-Subscribe Messaging; 10.6 Transactional Messaging; 10.7 Message Selector Syntax; 10.8 Structure of a Selector; 10.9 Identifiers; 10.10 Literals; 10.11 Operators; 10.12 Expressions; Chapter 11: JavaMail; 11.1 Email and JavaMail; 11.2 Creating and Sending Messages; 11.3 Retrieving Messages; 11.4 Multipart Messages; Enterprise Reference; Chapter 12: SQL Reference; 12.1 Relational Databases; 12.2 Data Types; 12.3 Schema Manipulation Commands; 12.4 Data Manipulation Commands; 12.5 Functions; 12.6 Return Codes; Chapter 13: RMI Tools; Chapter 14: IDL Reference; 14.1 IDL Keywords; 14.2 Identifiers; 14.3 Comments; 14.4 Basic Data Types; 14.5 Constants and Literals; 14.6 Naming Scopes; 14.7 User-Defined Data Types; 14.8 Exceptions; 14.9 Module Declarations; 14.10 Interface Declarations; 14.11 Value Type Declarations; Chapter 15: CORBA Services Reference; 15.1 Collection Service; 15.2 Concurrency Service; 15.3 Enhanced View of Time Service; 15.4 Event Service; 15.5 Externalization Service; 15.6 Licensing Service; 15.7 Life Cycle Service; 15.8 Naming Service; 15.9 Notification Service; 15.10 Persistent Object Service; 15.11 Property Service; 15.12 Query Service; 15.13 Relationship Service; 15.14 Security Service; 15.15 Time Service; 15.16 Trading Object Service; 15.17 Transaction Service; Chapter 16: Java IDL Tools; Chapter 17: Enterprise JavaBeans Query Language Syntax; 17.1 Basic Structure of EJB QL Queries; 17.2 FROM Clause; 17.3 SELECT Clause; 17.4 WHERE Clause; API Quick Reference; Chapter 18: java.rmi; Chapter 19: java.rmi.activation; Chapter 20: java.rmi.dgc; Chapter 21: java.rmi.registry; Chapter 22: java.rmi.server; Chapter 23: java.sql; Chapter 24: javax.ejb and javax.ejb.spi; Chapter 25: javax.jms; Chapter 26: javax.mail and Subpackages; Chapter 27: javax.naming; Chapter 28: javax.naming.directory; Chapter 29: javax.naming.event; Chapter 30: javax.naming.ldap; Chapter 31: javax.naming.spi; Chapter 32: javax.resource; Chapter 33: javax.resource.cci; Chapter 34: javax.resource.spi and javax.resource.spi.security; Chapter 35: javax.rmi and javax.rmi.CORBA; Chapter 36: javax.servlet; Chapter 37: javax.servlet.http; Chapter 38: javax.servlet.jsp; Chapter 39: javax.sql; Chapter 40: javax.transaction and javax.transaction.xa; Chapter 41: org.omg.CORBA and Subpackages; Chapter 42: org.omg.CORBA_2_3 and org.omg.CORBA_2_3.portable; Chapter 43: org.omg.CosNaming and Subpackages; Chapter 44: org.omg.PortableServer and Subpackages; Colophon;