- Shopping Bag ( 0 items )
Enterprise Java Programming with IBM WebSphere, Second Editionby Kyle Brown, Gary Craig, Greg Hester, Russell Stinehour, W. David Pitt, Mark Weitzel, JimAmsden, Peter M. Jakab, Daniel BergForeword by Martin Fowler
Enterprise Java Programming with IBM WebSphere, Second Edition is the definitive guide tobuilding mission-critical enterprise systems with J2EE, WebSphere, and WebSphere StudioApplication Developer. Fully updated for Versions 5.x of WebSphere Application Server andWebSphere Studio Application Developer, it combines expert architectural best practices with acase study that walks you through constructing an entire system.
The authors are an extraordinary team of WebSphere insiders: developers, consultants,instructors, and IBM WebSphere development team members. Together, they offer unprecedentedinsight into the use and behavior of WebSphere's APIs in real-world environments—andsystematic guidance for delivering systems of exceptional performance, robustness, and businessvalue.
The CD-ROMs contain trial copies of IBM WebSphere Studio Application Developer (Version 5.0.2),IBM WebSphere Application Server (Version 5.02), and DB2 Universal Database, Personal Edition(Version 8.1.2) for Microsoft Windows 2000/XP. The CD-ROMs also include source code for thecase study examples used in the book.
Why Software Development Must Consider the Whole Enterprise. How Iterative Development Addresses Key IT Management Issues. Today's Enterprise Applications Have New Requirements. What Is the Starting Point? What Is a Layered Architecture? Layered Architecture Benefits. Summary.
2. Introduction to the Case Study.
Case Study Analysis and Design Artifacts. Use Case Definitions. Designing the Case Study Domain Model. Using the Case Study in Our Book. Summary.
3. J2EE Overview.
Why J2EE? J2EE Architecture. J2EE Platform Roles. J2EE Versions and Evolution. A J2EE Perspective. Summary.
4. What Is WebSphere?
WebSphere Foundation and Tools. The WAS Core Architecture. Administering a local WAS Server. Leveraging the Scalability of WAS ND. Summary.
5. Presentation Layer Patterns.
Java User Interface Technologies. Decoupling the User Interface. Mediating Logical View Logic. Summary.
HTTP Technology Primer. Servlet Concepts. Servlet Life Cycle. An Example Servlet. Web Deployment Descriptors. Filters. Servlet API Classes and Interfaces. Summary.
7. Developing Servlets Using IBM WebSphere Studio Application Developer.
The IBM WebSphere Studio Family of Tools. Building an Example Servlet with WSAD. Some Problems with This Example. Summary.
8. Testing Servlets Using WSAD.
Edit the Web Deployment Descriptor. Summary.
9. Managing Session State.
Some Client-Side Session Approaches. Servlets and Session State. Choosing the Right Approach. Session Persistence. Summary.
10. JavaServer Pages Concepts.
Page Templates and Server-Side Scripting. A Short History of Java Server Pages. Page Compilation—Runtime View. JSP Syntax. Scripting Elements. Directives. JSP Documents. Roles for JSP. Summary.
11. Tag Libraries and Custom Tags.
Introduction. Basic Model for Custom Tags. JSTL and Other Widely Used Tag Libraries. Writing Tag Handlers. Tag Library Descriptor (.tld). Taglib Directive and Coding Custom Actions. Support for Custom Actions. Summary.
12. Design Considerations for Controllers.
Where Do Controllers Come From? Controller Design Alternatives. Exception Handling. Logging. Servlet Filters. Summary.
13. Developing and Testing JSPs in WSAD.
Another Look at MVC. JavaBeans, Introspection, and Contracts. Building Applications Using JSPs with WSAD. Editing JavaServer Pages. Validating the JSP Page. Running on the Server. Debugging the JSP. Simplifying JSPs. XML compliance. Summary.
14. Apache Struts as an MVC Framework.
Road Map. Why Do You Need a Framework? What Is Struts? A Simple MVC Struts Example. Struts Best Practices. Summary.
15. XML/XSL Web Interfaces in WSAD.
Strategy for Using XML/XSL for Web Interfaces. Example XML/XSL Web Interface with WSAD. Creating the XSL File. Enhanced Example of XML/XSL Web Interface with WSAD. Dynamic Example XML/XSL Web Interface with WSAD. When to Use XML/XSL for Web Interfaces. Summary.
16. Developing and Testing the Domain Model.
The Domain Model Layer. The Data Mapping Layer. Testing the Model. Summary.
17. Unit and Functional Testing Applications in WSAD.
Overall Testing Approaches. What Is JUnit? A Simple Example. Unit Testing Containers with Cactus. Function Testing Applications in WSAD. Function Testing. What Is HttpUnit? The HttpUnit API. Following Links. Working with Forms. Working with Tables. Working with Frames. Working with a Document Object Model (DOM). Functional Test Design Considerations. Summary.
18. Supporting Enterprise Applications.
Another Look at the n-Tier Architecture. Why Aren't HTML, Servlets, and JSPs Enough? Object Distribution. Integration Styles and Messaging. Object Persistence. Objects and Transactions. Security in Enterprise Applications. Summary.
19. Basic EJB Architecture.
Core EJB Concepts. The EJB Types. Introducing the EJB Programming Model. 19.4EJBs—Distributed or Not? Basic Architectural Patterns for EJBs. The Role of Persistence. When Do You Need EJBs? Summary.
20. Developing EJBs with WSAD.
The J2EE Perspective. J2EE Projects. Creating a Session Bean. Testing the New Session Bean. Summary.
21. Testing and Debugging EJBs in WSAD.
Developing the Service Layer. Overview of the Testing Process. Summary.
22. EJB Client Development.
Using Servlets as EJB Clients. Building Java Application Clients. Applet Clients in WebSphere. Naming and the WebSphere Namespace. Creating a Test Client. Deploying Application Clients in WebSphere. Deploying and Running the EJB Client to the WebSphere Client Container. Some Design Points about EJB Clients. Summary.
23. Simple CMP Entity Beans.
Entity Bean Basics. CMP in WebSphere and WebSphere Studio. Creating a CMP EJB Using WebSphere Studio. The Parts of an Entity Bean. Deployment Descriptor. Summary.
24. CMP Mapping Strategies and Mapping in WSAD.
Databases, CMPs, and Maps. Multiple Mapping Back-end Support. Exporting Database Tables. EJB Query Language. Summary.
25. Advanced CMP Mapping.
Simple Mapping Rules. Object-Relational Basics. Concepts in EJB 2.0 Relationships. Associations in UML. Relationships in WSAD V5.0. Creating a Single-Valued Relationship. Creating a Multivalued Relationship. Read Ahead Hints. Mapping Relationships. Weak vs Strong Entities. EJB Inheritance in WSAD. Advanced EJB QL. Summary.
26. Bean-Managed Persistence.
Applying BMP. A Simple BMP Bean. Examining BMP Persistence. BMP vs CMP. Summary.
27. Introduction to Message-Driven Beans.
Java Messaging Service. JMS API Basics. Message-Driven Beans. Summary.
28. Transactions in WebSphere 5.0.
JDBC Transactions. Transactions and 2-Phase Commit. JTA and Transaction Demarcation. Enabling 2-PC in WebSphere 5.0. EJBs and Container-Managed Transactions. Participating in a Transaction. Using XA Resources with 2-PC in WebSphere. Transaction Settings for J2EE 1.3 in WAS 5.0. Advice on Using Transactions. Extended Transaction Settings in WebSphere. Special Transaction Considerations for JMS. Dealing with Concurrency. Summary.
29. J2EE Security in WebSphere.
J2EE Security Overview. J2EE Authorization. Securing Resources with WebSphere Studio. EJB Security Recommendations. Handling Instance-Based Security. GUI-Based Security. Summary.
30. Building Layered Architectures for EJB Systems.
Problems with an All-Entity EJB Solution. The Session Façade and DTO Solution. Design Points for Session Façades. Rules for Session Façades. Reasons for EJB Objects. A Simple Example from the Case Study. A More Complex Example. Mappers Revisited. Simulated Mappers. An Updating Example. Testing the Session Façade Example with JUnit. Running the Test Client. Rules for Creating Session Façades. Should Session Façades Return XML? Summary.
31. Implementing the Case Study User Interface.
User's Guide. Summary.
32. An Introduction to J2EE Web Services for WebSphere.
If Web Services Is the Solution, What's the Problem? Web Services Architecture. Web Services in J2EE. Web Services in WAS. The Standardization Nightmare. Summary.
33. Constructing J2EE Web Services for WebSphere.
Getting Started with Web Services. Building Web Service Clients. Summary.
34. Web Services Architectures and Best Practices.
Some Web Services Dos and Don'ts. Addressing the Limitations of Web Services. Choosing the Right Level of Granularity in SOA. Interoperability Lessons Learned. Summary.
35. A Final Look.
Application Layering. Case Study and J2EE Technologies. Tooling. A Parting Thought.
Appendix A: Installing Products and Examples from the CDs.
Installing the Products from the CDs. Installing the Case Study Examples.
Appendix B: Constructing J2EE Web Services Using WSAD 5.1.
What's New? Creating the RandomIDGenerator Service. Running and Testing the RandomIDGenerator Service. Using the Existing J2SE Client. Summary.
The first edition of Enterprise Java Programming with IBM WebSphere was the first book thataddressed J2EE development within the context of an application server and IntegratedDevelopment Environment. The feedback about the first edition was very positive, and led us toconclude that we had made the right choice—that developers usually learn J2EE technologies andthe details of an application server together and that a single book that teaches both isvaluable.
Since we published the first edition, a lot has changed. When we wrote the first edition,we couldn't use J2EE in the title because IBM was not yet a licensee of the newly developedJ2EE brand, even though WebSphere Application Server implemented all of the technologies in thenascent J2EE 1.0 specification. Also, when we wrote the first edition, IBM's premierdevelopment environment for WebSphere was VisualAge for Java; that environment has since beensuperseded by WebSphere Studio Application Developer.
In this edition we will build on the firm foundation laid in the first edition, and expandthe coverage of topics to include all of the major parts of WebSphere Application Server 5.02and WebSphere Studio Application Developer 5.0. Those who have read the first edition will finda lot that is new; new readers can be assured that we've built on a strong foundation ofdescribing the more mature parts of J2EE, while also describing new technologies like Webservices and the EJB 2.0 specification.
Despite everything that has changed about the subject matter of our book, one thing has notchanged--the experiences and intent of the author team.In one respect, we're probably a lotlike most of you—we came to Java, J2EE, and WebSphere after gaining experience in other OOlanguages and programming environments. While the details of the systems that we have worked onhave differed, they all shared some common features. What we hope to do is to introduce J2EE,WebSphere, and WebSphere Studio by referring you to the things you already know, while showingyou some best practices that we've learned in building client/server and enterprise systemsboth before the age of Java and in the J2EE universe.
We set forward to achieve several goals in the writing of this book. They are to:
Of these four goals, the most important one is listed second: to teach developers how toapply J2EE technologies within the right architectural context. It has been our experience thatteaching someone a new technology without teaching how to apply it is a terrible mistake. A lotof our time as consultants is spent getting customers out of problems that have been createdeither by trying to make a technology do something it was not intended to do or by viewing oneparticular technology as a hammer and all problems as nails.
While we can convey some of this architectural context by teaching you the dos and don'tsof the technologies, most of you are like us--you learn best by doing. To help you gain a feelfor the J2EE technologies we will cover, you will want to walk with us through the examplesystem that we are building and find out for yourselves how the pieces fit together. It is onlyby seeing the entire system end-to-end, and by working through the example on your own, thatyou will start to understand how the different APIs interrelate and how WebSphere implementsthe abstract specifications.
So, we want to welcome you on an adventure. It's been a long, hard road for us in masteringthese technologies, tools, and techniques. We hope we can make the way easier for you who arefollowing us. It will take a lot of preparation and effort for you to really learn how and whyto apply these technologies, and how best to take advantage of the features of WebSphere, butwe feel that the effort is worthwhile.
J2EE is a terrific architecture for building scalable, manageable server-side systems, andIBM has developed a wonderful set of tools that make those technologies real. We hope that bythe time you reach the end of this book, you will understand and agree with why we think sohighly of these tools. We also hope that this book will enable you to start designing andbuilding these large-scale, enterprise systems that J2EE, WebSphere, and WebSphere StudioApplication Developer make possible. Thanks for coming along with us on this journey, and goodluck in reaching your destination.
Posted March 3, 2004
In the race to make legacy technologies and data accessible on the Web, J2EE has emerged as an industry standard. Vendors like Sun, IBM and BEA differentiate themselves in offering containers of varying functionality in which these can be implemented. This book explains the approach taken by IBM, which uses WebSphere. A very powerful container, whose scope is so extensive that it is reflected in the heft of the book. Several chapters give good generic descriptions of J2EE, Model-View-Container, Enterprise Java Beans, JSPs and Servlets. These are generic in that little here is IBM specific. Concise. But if you are new to these subjects, you may want to search for books dedicated to those, rather than turn here as a first resort. The core chapters show how to use WebSphere to implement and host the above items. This, after all, is the emphasis of the book. Especially comprehensive descriptions are presented of Container Managed Persistence and Bean Managed Persistence and Message Driven Beans. And, most importantly, because this is central to commercial applications, how WebSphere rigourously handles transactions. Two-phase commit, rollback etc. These MUST work, and Chapter 28 explains how. Throughout all this, the authors provide many screen captures of the WebSphere UI, as useful guides. Even just at this level, you can see the tremendous effort that IBM has put into making it as useful as possible. I do not say 'easy', please note. WebSphere is highly intricate, and the book will give you an understanding of why this has to be so.
1 out of 1 people found this review helpful.Was this review helpful? Yes NoThank you for your feedback. Report this reviewThank you, this review has been flagged.
Posted May 23, 2002
Books is good who is new to application servers (websphere) .The author has done a excellent work , good examples and J2EE mobules like JMS is explained clearlyWas this review helpful? Yes NoThank you for your feedback. Report this reviewThank you, this review has been flagged.
Posted January 26, 2002
Posted December 10, 2001
After paying a fair amount of money, I had expected to become enlightened immediately. Sadly, this is slow paced, full of useless information and, often times, not even correct! If anyone wants to know the information supposedly provided in this book regarding WebSphere, go to the IBM HelpDesk and do some digging. All the answers are there! Supplement that with a IBM RedBook (try the 'papers' section as well) and you've saved yourself some money! Pass this one up...unless you are feeling charitable.Was this review helpful? Yes NoThank you for your feedback. Report this reviewThank you, this review has been flagged.