Home > Store

Enterprise Java™ Programming with IBM®  WebSphere®

Register your product to gain access to bonus material or receive a coupon.

Enterprise Java™ Programming with IBM® WebSphere®

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2001
  • Dimensions: 7-3/8x9-1/4
  • Pages: 544
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-61617-3
  • ISBN-13: 978-0-201-61617-0

The future of business is e-commerce. Internet business-to-business (B2B) and business-to-consumer (B2C) initiatives have revolutionized the world's marketplaces. The companies that will survive in this new environment are those that can deliver quick solutions.

Enterprise Java ™ Programming with IBM® WebSphere® brings together six WebSphere experts, who share with you their vast knowledge of Java™ server technology and examine how Java and the Web have met the unfulfilled expectations of e-commerce customers. This hands-on guide delves into the most exciting parts of Java ™ 2 Enterprise Edition (J2EE™), servlets, JavaServer Pages™, and Enterprise JavaBeans™. These technologies are examined in the context of the IBM WebSphere Application Server and the IBM VisualAge® for Java, Enterprise Edition, development environment. This book provides techniques for maximizing your use of the Java technologies and IBM products to deliver effective and efficient e-commerce solutions.

Java and Web developers looking to produce new e-business applications will find Enterprise Javaª Programming with IBM® WebSphere® invaluable. Through the course of this book you will learn

  • How to apply J2EE technologies (e.g., Java servlets, JavaServer Pages, and Enterprise JavaBeans) within the correct architectural frameworks
  • How WebSphere Application Server, Advanced Edition, addresses the J2EE standard and what advantages it provides developers as a J2EE application server.
  • What advantages VisualAge for Java, Enterprise Edition, conveys as a platform for developing J2EE programs for deployment on the WebSphere Application Server, Advanced Edition.
With emphasis on teaching developers how to design and implement J2EE applications, the authors describe specific "do's and don't's," but also walk the reader through a full example system. By seeing the entire system end-to-end, and by working through the sample case study on their own, readers will see how the different APIs interrelate and how WebSphere and VisualAge for Java implement the abstract J2EE specifications.

Two CDs included: The first CD contains fully-functional evaluation copies of IBM DB2 7.1 Personal Developer's Edition, IBM WebSphere Application Server (Advanced Edition 3.5), and WebSphere Studio 3.5, as well as the example code from the book¿s case study. The second CD contains a copy of VisualAge for Java 3.5, Enterprise Entry Edition.



0201616173B07102001

Sample Content

Downloadable Sample Chapter

Click below for Sample Chapter related to this title:
brownch3.pdf

Table of Contents



Figures, Tables, and Listings.


Foreword.


Preface.


1. Internet Business Environment.

Web Revenue Projections.

Marketplace Competition.

IT Management Issues.

What Is Needed.

Summary and Preview.



2. Web Based Client/Server Solutions.

Web-Based Client/Server Design Templates.

Remote Presentation.

Distributed Logic.

Remote Data Management.

Distributed Data Management.

J2EE and Server-Side Solutions.

Summary and Preview.



3. MVC and Layered Architectures.

Layering.

Layered Architecture.

Common Layering Schemes.

Layered Architecture Defined.

Other Considerations.

Summary and Preview.



4. Introduction to Servlets.

HTTP Technology Primer.

Background.

Uniform Resource Identifiers.

Requests, Responses, and Headers.

Pulling It All Together.

Servlet Concepts.

Support for Servlets.

Servlet Engines.

Servlet Life Cycle.

An Example Servlet.

Key Classes and Interfaces.

The javax.servlet Package.

The javax.servlet.http Package.

Rationale for Servlets.

Summary and Preview.



5. Developing Servlets Using VisualAge for Java.

IBM WebSphere Test Environment (WTE).

Installing the WTE.

Using the WTE Control Center.

Starting the Servlet Engine.

Testing with the Servlet Engine.

Stopping the Servlet Engine.

Building an Example Servlet in VisualAge.

Configuring the Servlet Engine.

Summary and Preview.



6. Using the IBM WebSphere Application Server - Advanced Edition.

WASAE Architecture.

Some Definitions of WebSphere Components.

Testing the Installation.

Before You Start the Admin Server.

Starting the Admin Server.

Opening the Administrator's Console.

Starting the Default Server.

Starting the Web Server.

Test Using the "Snoop" Servlet.

Creating the "EmployeeSys" Application Server.

Using XML Config.

Configuration Issues.

Application Server versus Web Application.

"Invoker" Servlet.

Summary and Preview.



7. Using IBM WebSphere Studio.

Rationale for WebSphere Studio.

Installing and Starting Studio.

Using Page Designer.

Managing a Web Site.

Importing from VisualAge.

Importing Existing Sites.

Version Control.

Working in a Team.

Summary and Preview.



8. Session State Management.

Some Client-Side Session Approaches.

Cookies.

Hidden Fields.

URL Parameters.

Servlets and Session State.

HttpSession Binding.

How the Session Is Found.

Choosing a Session Identifier.

URL Rewriting.

Third-Tier Session Storage.

WebSphere Persistent Session Storage.

Other Session Storage Options.

Configuring WebSphere 3.5 Session Support.

The Enable Section.

The Cookies Section.

The Persistence Section.

The Intervals Section.

The Tuning Section.

Summary and Preview.



9. Servlet Design Considerations.

Number of Servlets.

State Pattern.

Exception Handling.

Servlet Chaining and Filtering.

Using XML.

Summary and Preview.



10. JavaServer Pages Concepts.

Page Templates and Server-Side Scripting.

Page Compilation: Runtime View.

JSP Syntax.

Scripting Elements.

Directives.

Roles for JSP.

Summary and Preview.



11. JSP Actions, MVC, and Tools.

Programming Models.

JSP Direct Model.

JSP Indirect Model.

JSP Standard Actions.

The useBean Action.

The getProperty and the setProperty Standard Actions.

The Rest of the Standard Action Tags.

JSP Development Tools: WebSphere Page Designer.

JavaBeans, Introspection, and Contracts.

WebSphere Studio and Page Designer.

Testing JSPs.

Configuration of JSPs in the WebSphere Test Environment.

JSP Execution Monitor.

Deploying JSPs.

Support for taglib and XML.

XML Compliance.

Summary and Preview.



12. Servlet and JSP Case Study.

Executing Test Scripts.

Loading the Case Study into the WebSphere Test Environment.

User's Guide.

Initial Screen.

Create, Display, and Modify Time Sheet for an Employee.

Display Pending and Approved Time Sheets.

Case Study Analysis and Design Artifacts.

Problem Statement.

System Tasks.

Use Case List.

Use Case Definitions.

Defined Use Cases.

Time-Sheet Domain Model.

Class Listing.

Collaboration Diagram.

Mediator.

Domain.

Enumeration.

Filtering.

Container.

Time Sheets.

Time-Sheet State.

Mapping.

Package Structure.

Summary and Preview.



13. Enterprise Java Bean Architecture.

Object Distribution.

CORBA Overview.

RMI Overview.

Remaining Problems.

Object Persistence.

Objects and Transactions.

Security in Enterprise Applications.

EJB Definition.

Containers.

Session EJBs.

Entity EJBs.

Need for EJBs.

Summary and Preview.



14. Building Basic EJBs in VisualAge for Java.

The Simplest EJB.

Bean Implementation and Life Cycle.

EJB Home Interfaces.

Building EJBs in VisualAge.

Summary and Preview.



15. Testing and Debugging EJBs in VisualAge for Java.

Overview of the Testing Process.

Debugging EJBs in VisualAge for Java.

Summary and Preview.



16. Writing Simple EJB Clients.

EJB Client Steps.

Obtaining a Home Interface.

Obtaining Home References.

Using the EJB.

EJBObject and Remote Proxies.

VisualAge for Java Access Beans.

Testing EJB Code in the Scrapbook.

Using Servlets as EJB Clients.

Some Design Points about Servlet Clients.

Java Application Clients.

Testing Applications Clients in VisualAge.

Running Application Clients Outside of VisualAge.

Summary and Preview.



17. Simple Container Managed Persistence Entity Beans.

Some Entity Bean Basics.

CMP in WebSphere and VisualAge for Java.

The Parts of an Entity Bean.

Remote Interfaces.

Home Interfaces.

Key Classes.

Finder Helpers.

Bean Implementation Classes.

Summary and Preview.



18. EJB Transactions.

Transaction Defined.

Transactions and Two-Phase Commit.

EJBs and Transactions.

Starting a Transaction.

Participating in a Transaction.

Setting Transaction Attributes.

Transactions and Concurrency.

EJB Caching.

Introduction to Isolation Levels.

WebSphere-Specific Transaction Settings.

Summary and Preview.



19. Building Entity Beans in VisualAge and WebSphere.

Creating an Entity Bean in VisualAge.

Schemas, EJBs, and Table Maps.

Exporting a Schema to a Database.

Some Simple Tests.

Summary and Preview.



20. Advanced CMP Mapping.

Simple Mapping Rules.

Object-Relational Basics.

Concepts in EJB Relationship Mapping.

Associations in UML.

Associations in VisualAge for Java 3.5.

Implementing a Simple Association.

Single-Valued Association Implementation Details.

Implementing Many-Valued Relationships.

Wrapping Up Relationships.

EJB Inheritance in VisualAge.

Remote Interface Inheritance for Sessions and Entities.

Building Inherited Beans in VisualAge.

Inheritance of Home Interfaces.

Database Inheritance Strategies.

CMP Entity Support for Inheritance.

Summary and Preview.



21. Bean Managed Persistence.

Applying BMP.

A Simple BMP Bean.

WebSphere JDBC Connection Pooling.

Examining BMP Persistence.

Writing ejbCreate() Method in BMP Beans.

Writing BMP Finder Methods.

Writing BMP ejbLoad() Methods.

Writing ejbStore() Methods.

BMP versus CMP.

Summary and Preview.



22. Building Layered Architectures for EJB Systems.

Problems with an All-EJB Solution.

The Session Facade and Data Bean Solution.

Examples of the Session Facade/Data Bean Solution.

A Simple Example from the Case Study.

A More Complex Example.

An Updating Example.

Summary and Preview.



23. Deploying EJBs into WebSphere.

Exporting EJBs from VisualAge for Java.

EJB JAR File.

Creating an EJB JAR from VisualAge for Java.

VisualAge Deployed JAR File.

Client JAR File.

Best Practices for EJB Deployment.

Deploying EJBs to WebSphere.

Deploying .jar Files.

Deploying Files from Studio.

Defining EJBs.

Final Changes.

Summary and Preview.



24. A Final Look.

J2EE Application Servers.

Layering: MVC revisited.

Tools.

Parting Comments.



Appendix A: Mapping Domain Objects to Datastores.


Appendix B: Application Service Layers.

Application Services.

The AppService Class.

Startup Sequence.

Exception Handling.

Application Property and Resource Access.



Bibliography.


Index. 0201616173T05042001

Preface

How We Got Here

In the mid 1990s, a book on server-side Java would have been an oxymoron. It's funny how quickly things change. When Java first burst onto the programming language scene, Java on the client was all the rage. Oracle was pushing Network Computers (NCs) as the replacement for the PC, Netscape was running full-speed to beat Microsoft in the browser wars, and no one was talking much about putting programs on servers anymore.

How things change. Oracle is out of the NC business and is instead selling server "appliances." Netscape was purchased by AOL and is now giving away its browser source code, and Marc Andressen has unequivocally stated, "Java on the client is dead."

What happened? Why did Java on the client "die"? And if Java is dead on the client, where is it still "alive"? Understanding the answers to these questions requires examining some object-oriented (OO) development history, the history of the Web, and a little bit of Java history. In the process, we will reach an understanding of the most exciting new technologies for Java: the Java 2 Enterprise Edition (J2EE) technologies. In this way, we can discover how the J2EE programming model has incorporated the best elements from some older programming models together with some radically new ideas. In particular, we will focus on understanding how IBM's WebSphere Standard Edition and Advanced Edition make "Java on the server" a reality. You have to have a context in order to understand how to use the new J2EE technologies, and in this book, the context will be the WebSphere Application Server and the VisualAge for Java, Enterprise Edition development environment.

All of us writing this book share a similar background. We all came to Java after programming for several years in another OO programming language. In some cases, our first language was Smalltalk; in others, it was C++. In this respect, we're probably like a lot of you. For a good part of the last ten years, we have been involved in developing client/server applications using these languages. Although the details of the systems that we have worked on have differed, they all shared some common features. What we hope to do in this book is to introduce the new parts of J2EE, WebSphere, and VisualAge for Java by referring back to the things you already know and at the same time show you some best practices that we've learned in building client/server and enterprise systems both before the age of Java and in the new J2EE universe.

What We Want to Accomplish

We set forward to achieve several goals in the writing of this book:

  • Introduce developers to key J2EE technologies, such as Java servlets, JavaServer Pages, and Enterprise JavaBeans
  • Teach developers how to apply these J2EE technologies within the correct architectural framework
  • Demonstrate how WebSphere Application Server, Advanced Edition, implements the J2EE standard and what advantages it gives to developers as a J2EE application server
  • Demonstrate the advantages VisualAge for Java, Enterprise Edition, conveys as a platform for developing J2EE programs for deployment on WebSphere Application Server, Advanced Edition

Of these four goals, perhaps the most important one is to teach developers how to apply J2EE technologies within the correct architectural context. It has been our experience that teaching someone a new technology without also teaching how that technology should be applied is a terrible mistake. A lot of our time as consultants is spent in getting customers out of problems that have been created either by trying to make a technology do something it was not intended to do or by viewing one particular technology as a "hammer" and all problems as "nails."

Although we can convey some of this architectural context by teaching you the dos and don'ts of the technologies, most of you are like us: You learn best by doing. In order to help you really gain a "feel" for the J2EE technologies we will cover, you will want to walk with us through the example system that we are building and find out for yourselves how the pieces fit together. It is only by seeing the entire system end to end and by working through the example on your own that you will really start to understand how the different APIs interrelate and how WebSphere and VisualAge for Java implement the abstract specifications.

So, we want to welcome you on an adventure. It's been a long, hard road for us in mastering these technologies, tools, and techniques; we hope that we can make the way easier for those of you who are following us. It will still take a lot of preparation and effort for you to really learn how and why to apply these technologies and how best to take advantage of the features of WebSphere and VisualAge for Java, but we feel that the effort is worthwhile. J2EE is a terrific architecture for building scalable, manageable server-side systems, and IBM has developed a wonderful set of tools that make those technologies "real." We hope that by the time you reach the end of this book, you will understand and agree with us why we think so highly of these tools. We also hope that this book will enable you to start designing and building these kinds of large-scale, "enterprise" systems that J2EE, WebSphere, and VisualAge for Java make possible. Thanks for coming along with us on this journey, and good luck in reaching your destination.

May, 2001
Raleigh, N.C.
Asheville, N.C.
Kansas City, Mo.


0201616173P05042001

Index

1PC (one-phase commit), 343
2PC (two-phase commit), 342-43
A
A&D (analysis and design)
artifacts, 237-41
process appropriate for Web Applications, 238-39
Abstract default implementation of HttpController, 166-67
Abstract Windowing Toolkits (AWTs), 30
Access, application property and resource, 476-78
Access layers, data source, 36
ACID (atomic, consistent, isolated, durable), 341-42
Action tags, standard, 203-5
Actions
examples of setProperty, 203
forward, 204
getProperty standard, 202-3
include, 204
Java code generated for simple useBean, 199-200
JSP, 195-224
JSP standard, 198-205
param, 205
plugin, 205
setProperty standard, 202-3
useBean, 198-201
Active Server Pages (ASP), 181
Add attributes to class definition, SmartGuide to, 85, 87
Add DataSource dialog, 406-7
Add EJB Group Menu, 280
Add EJB Group SmartGuide, 280-81
Add EJB server process, 296-97
Add Enterprise Bean Menu, 282
Add JSP Enabler Wizard, 220, 222
Add menus, 232
Add Method SmartGuide, 286-88
Add-on servlet engines, 50
Add Package dialog, 277-78
Add-Project menu, 275-76
Add Project SmartGuide, 232-33, 275, 277
Add to>EJB Remote interface, 290
Add To>Server configuration menu, 296-97
Add>Enterprise Bean . . . with inheritance, 396
Adding
fields to EJB, 356
IBM WebSphere Test Environment 3.5 features, 68, 70
new Servlets, 107-8
page directives, 208
thrown exceptions on methods, SmartGuide for, 85, 90
Web path to Servlets, 109-10
WS case study example code projects, 275-76
Add>Method menu, 286-87
AddressEJB, attributes for, 383-84
Addresses
defined, 416-17
settings for association between employee and, 385
Add>Schema and map, 359-60
Admin servers
before starting, 99-100
starting, 100-101
Administrative Console, 101-2
Administrator's console, opening, 101
Affinity, server, 149
Ages, SmartGuide for creating, 83-84
All-EJB solutions, problems with, 423-25
All Programs/Threads, 308
America Online (AOL), 149
Analysis and design (A&D) artifacts, 237-41
AOL (America Online), 149
APIs (application programming interfaces), 18-19, 21, 35-36, 39
JDBC, 402
JNDI, 311-12
Applets and EJB clients, 324
Application architecture, 464
CORBA, 16-17
Application clients
Java, 321-24
running outside of VisualAge, 322-24
testing in VisualAge, 322
Application domain, 246
Application programming interfaces (APIs), 18, 21
Application property and resource access, 476-78
Application server versus Web application, 112-15
Application Server Wizard, Creating, 106
Application servers
creating EmployeeSys, 103-10
defined, 21
expanded view of EmployeeSys, 107-8
J2EE, 463
requests routed to, 148-49
Application service layers, 471-78
Application service provider (ASP), 113
Application services, 36, 471-76
AppService class, 471-72
exception handling, 473-76
startup sequence, 472-73
Applications
A&D process appropriate for Web, 238-39
adding JSP enabler to Web, 220-21
application server versus Web, 112-15
B2B (business-to-business), 240
complexity of building enterprise, 466
security in Enterprise, 260
AppService class, 471-72
AppService interfaces, 472
Architectures
application, 464
CORBA application, 16-17
Enterprise JavaBean, 253-67
five-layer, 30, 225-26
HttpSession Lookup, 147
IBM WebSphere, 22
layered, 28-38
MVC and layered, 25-38
servlet, 13, 48
WASAE, 96-98
Architectures for EJB systems, building layered, 423-41
Arguments, Command Line, 459-60
Artifacts, A&D (analysis and design), 237-41
ASP (Active Server Pages), 181
ASP (application service provider), 113
Association Editor Dialog in VisualAge for Java, 382
Association implementation details, single-valued, 385-87
Associations
implementing simple, 383-85
object, 376
one-to-many, 376, 388
as properties, 392
settings for between employee and address, 385
in UML, 381
UML notation for, 381
in VisualAge for Java 3.5, 382-92
Atomic, consistent, isolated, durable (ACID), 341-42
at(String) method, implementation of, 477-78
Attributes
for AddressEJB, 383-84
setting transaction, 345, 348
SmartGuide to add, 85, 87
Table, 126-27
values of transaction, 344-45
Attributes of method declarations, SmartGuide for specifying, 85, 89
AWTs (Abstract Windowing Toolkits), 30
B
B2B (business-to-business), 1
applications, 240
B2C (business-to-consumer), 1
Base class TsObject, 468
Base object and mapper design, 246
Bean dialog
Create Enterprise, 455-56
Select, 455, 457
Bean implementation and life cycle, 270-72
Bean implementation classes, 334-39
Bean-managed persistence (BMP), 261, 263, 328, 339, 401-21
applying, 401-2
Entity Beans, 327-28
Bean Menu, Add Enterprise, 282
Bean SmartGuide
Create Access, 316-17
Create Enterprise, 282-83
Bean solution
data, 425-27
examples of session facade/data, 427-40
Beans
Add>Enterprise, 396
BMP (bean-managed persistence) Entity, 327-28
CMP (container-managed persistence) Entity, 327-28
creating CMP, 353-54, 357-58
CustomerEJB BMP, 405-6
Entity, 327-28
implementation of customer BMP Entity, 416
parts of Entity, 329-39
simple BMP, 402-5
VisualAge for Java Access, 316
writing ejbCreate() method in BMP, 408-10
Beans classes, implementation of CMP Entity, 335-37
Beans in VisualAge, building inherited, 396
Binding, HttpSession, 146
BLOBs (binary large objects), 150, 363, 375-76
BMP (bean-managed persistence), 261, 263, 328, 339, 401-21
applying, 401-2
Entity Beans, 327-28
BMP Beans
CustomerEJB, 405-6
simple, 402-5
writing ejbCreate() method in, 408-10
BMP ejbLoad() methods, writing, 412-13
BMP Entity Beans, implementation of customer, 416
BMP finder methods, writing, 410-12
BMP persistence, examining, 408-15
BMP versus CMP, 415-21
Breakpoint configuration window, 305-6
Breakpoint set, 306
Browse JAR files, 455-56
Browsers, 361
appearance of methods in VisualAge for Java, 91
database Schema, 360
display sent to, 184
Properties, 210-11
BufferedReader, 176
Business, Internet, 1-7
Business-to-business (B2B), 1, 240
Business-to-consumer (B2C), 1
Buttons
Go, 162
Submit, 145
C
Caching, EJB, 349
Carriage return/line feed (CR/LF), 43
Cascading style sheets (CSS), 118
Case definitions, use, 242-50
Case diagrams, use, 240-41
Case lists, use, 240-41
Case studies
loading into WTE (WebSphere Test Environment), 226-34
servlet and JSP, 225-52
test scripts, 226-27
Case study analysis and design (A&D) artifacts, display, 237-41
Case study EJBs and fields, 357-58
Case study example code project, adding WS, 275-76
Case study Initial screen, 234
CBRs (content-based routings), 149
CGIs (common gateway interfaces), 12-14
Chaining, Servlet, 173-76
Choices
indexed properties used to control loops in, 213
CICS (Customer Information Control System), 67
Class definition from VisualAge for Java, 367-68
Class definition of CustomerEJBBean, 403-4
Class definitions
CreateEmployeeServlet, 77
SmartGuide to add attributes to, 85, 87
Class listings, 243-44
Class Path dialogs, Servlet Engine, 92
Class paths, 448-49
Web App, 459-60
Class properties, 371
Class TsObject, base, 468
Classes from VisualAge, sending and receiving, 137
Classes; See also Superclasses
AppService, 471-72
bean implementation, 334-39
doGet method for CreateEmployeeServlet, 77-80
EJB deployment, 294
generating EJB development, 294-96
GenericServlet, 58
HttpServlet, 60
HttpUtils, 61
implementation of CMP Entity Bean, 335-37
key, 56-61, 332-33
primary key, 332
ProjectMapper, 430
SmartGuide for creating, 85-86
TimeSheetEntryFactory, 440
TimesheetFactory, 437-38
TimesheetProcessor, 437
TimesheetProcessorBean, 431
Client JAR files, 448
Client menu, Run Test, 300-301
Client/server design templates, Web-based, 11-21
Client/server layers, 29
Client/server solutions, real focus of, 10
Client server solutions, Web-based, 9-23
Client-side session approaches, 142-43
cookies, 142
hidden fields, 142-43
Client steps, EJB, 311-15
Clients
applets and EJB, 324
application, 322-24
design points about servlet, 320-21
EJB Test, 300, 302
Java application, 321-24
remote tab in Test, 303-4
running application, 322-24
testing application, 322
testing EJB with generated test, 300-304
using servlets as EJB, 318-20
writing simple EJB, 311-25
CMP Beans, creating, 353-54, 357-58
CMP (container-managed persistence), 261, 263, 339, 401
BMP versus, 415-21
Entity Beans, 327-28
fields, 356
in VisualAge for Java, 328-29
in WebSphere for Java, 328-29
CMP Entity Beans classes, implementation of, 335-37
CMP Entity Beans, simple tests, 367-72
CMP entity support for inheritance, 399
CMP fields, creating, 356-57
CMP mapping, advanced, 375-99
associations in UML, 381
associations in VisualAge for Java 3.5, 382-92
concepts in EJB relationship mapping, 378-80
object-relational basics, 376-77
simple mapping rules, 375-76
Code, EJB, 276-77, 316-18
Code menu option, Generate Deployed, 295
Code projects, adding WS Case Study example, 275-76
Code tree view of HelloWebSphere EJB, deployed, 296
Codes
getMessage() source, 289
prepare project for new EJB, 276-77
Collaboration diagram, 244-45
Command Line arguments, 459-60
Common gateway interfaces (CGIs), 12-14
Common object request broker architecture (CORBA), 14-16, 18, 21, 32
application architecture, 16-17
overview, 254-55
Competition
Internet induced increased, 3-4
marketplace, 3-5
Components
definitions of WebSphere, 98-99
MVCs mapping to, 25-26
Concurrency, transactions and, 349-50
Concurrent version system (CVS), 138
Configuration
Cookies, 153, 155
issues, 112-15
JDBC persistence, 156
of JSPs in WTE (WebSphere Test Environment), 215
load-balancing, 148-49
selecting DataSource, 406-7
Session Manager, 153-54
using XML, 110-12
WebSphere 3.5 session support, 153-59
Configuration menus, Add To>Server, 296-97
Configuration windows, EJB server, 297-98
Configuring
JSP Execution Monitor, 216
servlet engines, 91-93
Confirmation dialog, 455, 457
Deployment, 455, 457
Connection pooling, WebSphere JDBC, 405-8
Connection setup, database, 365-66
Console
Administrative, 101-2
Messages after starting Servlet engine, 72
opening administrator's, 101
Container-managed persistence (CMP), 261, 263, 339, 401
Entity Beans, 327-28
fields, 356
in VisualAge for Java, 328-29
in WebSphere for Java, 328-29
Containers, 248
EJB, 261-62
Content-based routings (CBRs), 149
Contracts, JavaBeans, introspection, and, 206-7
Control center, using WTE, 70-71
Control Center window, WebSphere Test Environment, 70-71
Control, version, 138-39
Controller/mediator layers, 31-33
Controllers, 30
processing of HTTP request parameter named, 165
servlets as, 31
Cookies, 142
configuration, 153, 155
section, 153-56
CORBA (common object request broker architecture), 14-16, 18, 21, 32
application architecture, 16-17
overview, 254-55
CORBA Object Services (COS), 312
COS (CORBA Object Services), 312
CR/LF (carriage return/line feed), 43
Create Access Bean SmartGuide, 316-17
Create EJB Group SmartGuide, using, 279-81
Create EJB SmartGuide
second page of, 284-85
using, 281-86
Create Enterprise Bean dialog, 455-56
Create Enterprise Bean SmartGuide, 282-83
Create EnterpriseBean dialog, completed, 458
Create() method, 440
Create Method declaration, SmartGuide to, 85, 88
Create Method SmartGuide, 286, 288
CreateEmployee servlet, testing, 109, 111
CreateEmployeeServlet
exporting, 104
exporting to WASAE, 104-5
input form generated by, 74-75
output of calling, 75-76
CreateEmployeeServlet class definition, 77
CreateEmployeeServlet classes, doGet method for, 77-80
CreateEmployeeServlet doPost() method, complete, 80-82
createProcessor() method, 429-30
Creating
Application Server Wizard, 106
CMP Beans, 353-54, 357-58
CMP fields, 356-57
EJB group, 279-81
EJB JAR from VisualAge for Java, 445-46
EmployeeSys application server, 103-10
Entity Beans in VisualAge, 353-58
getMessage() method, 286-88
Hello WebSphere EJB, 281-86
new projects, 119
Servlet Dialog, 109
time sheet for employees, 235-37
TimeSheetEntry instances, 436
Creating classes, SmartGuide for, 85-86
Creating packages, SmartGuide for, 83-84
Creating projects, SmartGuide for, 82-83
CSS (cascading style sheets), 118
Custom finders, 332
Customer BMP Entity Bean, implementation of, 416
Customer EJB object, 403
Customer Information Control System (CICS), 67
CustomerEJB BMP Bean, 405-6
CustomerEJBBean, class definition of, 403-4
Customize Publishing Stages Dialog, 130
CVS (concurrent version system), 138
Cycle, bean implementation and life, 270-72
D
Data Bean solution, 425-27
examples of session facade, 427-40
Data management
distributed, 21
remote, 19-20
Data mapping layers, 35-36
Data source access layers, 36
Data source relationship, Entity Bean, 401-2
Data stores, mapping domain objects to, 467-70
Data type mappings for WebSphere and VAJ, 361-62
Databases
connection setups, 365-66
exporting schemas to, 365-66
inheritance strategies, 398
Schema Browsers, 360-61
schemas, 359
WAS, 96
DataSource added, 406, 408
DataSource configuration, selecting, 406-7
DataSource dialog, Add, 406-7
DataSource setup, 454-55
Debugger on getMessage() method, 307
Debugging EJBs in VisualAge for Java, 293-309, 304-9
Declarations, 189-90
Script Editor to insert, 214-15
SmartGuide for specifying attributes of method, 85, 89
SmartGuide to create method, 85, 88
Default Server, starting, 101
Deployed EJB Tree, 458-59
Deployed JAR files
export to, 447
VisualAge, 447-48
Deploying
EJBs into WebSphere, 443-61
EJBs to WebSphere, 451-59
files from WebSphere Studio, 453-54
.jar files, 451-53
Deployment, best practices for EJB, 448-51
Deployment Confirmation dialog, 455, 457
Design
base object and mapper, 246
enumeration, 246
object model showing mapper, 429-30
points about servlet clients, 320-21
servlet, 161-79
VAJ object, 372
Design templates, Web-based client/server, 11-21
Designer, using Page, 124-28
Develop Servlets, using VisualAge for Java to, 65-93
Development process
iterative, 5-6
RMI, 15-16
Development steps, JDBC, 20
Diagrams
collaboration, 244-45
Time-Sheet mediator collaboration, 245
use case, 240-41
Dialog
Add DataSource, 406-7
Add Package, 277-78
Association Editor, 382
completed create EnterpriseBean, 458
Confirm, 455, 457
Create Enterprise Bean, 455-56
creating Servlet, 109
Customize Publishing Stages, 130
Deployment Confirmation, 455, 457
Insert File, 136
Java class generation, 294-95
Publishing Options, 131-33
Publishing Targets, 132, 134
Quick Start, 68-69, 274
Select Bean, 455, 457
Servlet Engine Class Path, 92
Start, 101-2
versions, 231
Warning, 277-78
Dialog HelloWebSphereEJBClient, properties for, 322-23
Direct models, JSP, 195-96
Directives, 190-92
adding page, 208
include, 190
page, 190, 190-91
Discarding sessions, 144
Display case study analysis and design (A&D) artifacts, 237-41
Displaying
approved Time Sheets, 237
Pending Time Sheets, 237
time sheet for employees, 235-37
Distributed data management, 21
Distributed logic, 14-19
Distributed mediator topology, 32
Distribution, object, 254-57
DNA (Distributed Network Architecture), 21
DNS (domain naming service), 42
Document type definition (DTD), 177, 179
doGet method for CreateEmployeeServlet class, 77-80
Domain
application, 246
example of WebSphere, 97-98
layers, 33-35
model, 243-44
Time-Sheet, 243
Domain naming service (DNS), 42
Domain objects, mapping to data stores, 467-70
doPost() method, complete CreateEmployeeServlet, 80-82
Drivers, JDBC, 19-20
Dropping JavaBean on JSP, 208-9
DTD (document type definition), 177, 179
E
E-commerce, 3
business pressures, 4-5
Edit property maps . . ., selecting, 363
Editor
Property Map, 363-64
Script, 214-15
EJB caching, 349
EJB client steps, 311-15
EJB clients
applets and, 324
using servlets as, 318-20
writing simple, 311-25
EJB code
prepare project for new, 276-77
testing in Scrapbook, 316-18
EJB containers, 261-62
EJB containment hierarchy, 262
EJB definition, 260-63
entity EJBs, 263
EJB deployment, best practices for, 448-51
EJB deployment classes, 294
EJB development classes, generating, 294-96
EJB development environment, installing, 274-75
EJB exporting options, VisualAge, 445-46
EJB Group Menu, Add, 280
EJB Group SmartGuide
Add, 280-81
using Create, 279-81
EJB groups, creating, 279-81
EJB groups defined, 281
EJB Home interfaces, 273
EJB implementation, 17-18
EJB inheritance in VisualAge, 392-99
EJB inheritances, 395
EJB JAR, creating from VisualAge for Java, 445-46
EJB .jar export option, 445-46
EJB JAR file, 444-45
EJB Lookup Window, 300, 302
EJB properties, 330
EJB relationship implementation strategies, 380
EJB relationship mapping, concepts in, 378-80
EJB Remote interfaces
Add to>, 290
interface inheritance between, 394
EJB server configuration window, 297-98
EJB server process
add, 296-97
starting, 298-300
EJB server properties, 370
EJB server started, 299-300
EJB SmartGuide, 443
second page of, 353, 355
second page of Create, 284-85
using Create, 281-86
EJB solutions, problems with All, 423-25
EJB systems, building layered architectures for, 423-41
EJB tabs, 275, 279
EJB test client opened to HelloWebSphere Window, 301, 303
EJB Test Clients, 300, 302
EJB, testing with generated test client, 300-304
EJB transactions, 341-51
EJBs and transactions, 343-44
participating in transactions, 346-47
setting transaction attributes, 348
starting transactions, 344-46
transaction defined, 341-43
transactions and concurrency, 349-50
transactions and two-phase commit, 342-43
WebSphere-specific transaction settings, 351
EJB Trees, deployed, 458-59
EJB types, 263
ejbCreate() methods, 338
writing, 408-10
EJBHome, 331
ejbLoad() methods, 417-18
writing BMP, 412-13
EJBObject and remote proxies, 315-16
EJBObject interface, 315-16
EJBs and fields case study, 357-58
EJBs and transactions, 343-44
EJBs (Enterprise JavaBeans), 14, 17-18, 21-22, 25, 32, 35, 49, 67, 97, 253, 359-64
adding fields to, 356
building in VisualAge, 273-91
building in VisualAge for Java, 269-91
bean implementation and life cycle, 270-72
creating Hello WebSphere, 281-86
debugging in VisualAge for Java, 293-309, 304-9
overview of testing process, 293-304
defining, 454-59
deployed code tree view for HelloWebSphere, 296
deploying into WebSphere, 443-61
best practices for EJB deployment, 448-51
deploying EJBs to WebSphere, 451-59
exporting EJBs from VisualAge for Java, 444-48
final changes, 459-61
deploying to WebSphere, 451-59
entity, 263
HelloWebSphere, 286-87
need for, 264-66
remote interface of TimeSheet, 378
session, 262-63
simplest, 269-70
TimeSheet, 439
TimeSheetEntry, 439
using, 315
EJBs from VisualAge for Java, exporting, 444-48
ejbStore() methods, writing, 413-15
EJS (Enterprise JavaBean server), 443
Employee and address, setting for association between, 385
Employee relationships, 439
Employee tables, 377
EmployeeEJB ToHomeAddressLink, 386
Employees, 436
creating time sheet for, 235-37
displaying time sheet for, 235-37
list of Time Sheets for, 235-36
modifying time sheet for, 235-37
EmployeeSys application server, creating, 103-10
Empty implementation, 337
Enable Persistent Sessions, 156
Enable section, 153
Enabler Wizard, Add JSP, 220, 222
Enablers, adding JSP, 220-21
Encoding, URL, 148
Engine pages, JSP settings on Servlet, 219
Engines
add-on servlet, 50
configuring servlet, 91-93
Console Messages after starting Servlet, 72
embeddable servlet, 50
servlet, 49-50
standalone servlet, 50
starting servlet, 72
stopping servlet, 73
testing with servlet, 72-73
Enterprise applications, complexity of building, 466
Enterprise applications, security in, 260
Enterprise Bean dialog, Create, 455-56
Enterprise Bean Menus, Add, 282
Enterprise Bean SmartGuide, Create, 282-83
Enterprise JavaBean architecture, 253-67
EJB definition, 260-63
object distribution, 254-57
object persistence, 257-58
objects and transactions, 258-59
security in Enterprise applications, 260
Enterprise JavaBean server (EJS), 443
Enterprise JavaBeans (EJBs), 14, 17-18, 21-22, 25, 32, 35, 49, 67, 97, 253, 359-64
adding fields to, 356
building in VisualAge, 273-91
building in VisualAge for Java, 269-91
bean implementation and life cycle, 270-72
creating Hello WebSphere, 281-86
debugging in VisualAge for Java, 293-309, 304-9
overview of testing process, 293-304
defining, 454-59
deployed code tree view for HelloWebSphere, 296
deploying into WebSphere, 443-61
best practices for EJB deployment, 448-51
deploying EJBs to WebSphere, 451-59
exporting EJBs from VisualAge for Java, 444-48
final changes, 459-61
deploying to WebSphere, 451-59
entity, 263
HelloWebSphere, 286-87
need for, 264-66
remote interface of TimeSheet, 378
session, 262-63
simplest, 269-70
TimeSheet, 439
TimeSheetEntry, 439
using, 315
EnterpriseBean dialog, completed create, 458
Entities, remote interface inheritance for, 394-96
Entity Bean data source relationship, 401-2
Entity Bean persistence methods, 401-2
Entity Beans classes, implementation of CMP, 335-37
Entity Beans; See also Beans
basics, 327-28
BMP (bean-managed persistence), 327-28
building in VisualAge, 353-73
building in WebSphere, 353-73
CMP (container-managed persistence), 327-28
simple tests, 367-72
container-managed persistence, 327-39
creating in VisualAge, 353-58
implementation of customer BMP, 416
parts of, 329-39
Entity EJBs, 263
Entity support for inheritance, CMP, 399
EntityContext, 338
Enumeration design, 246
Enumeration hierarchy, 246-47
Enumerations, filtering, 246-48
Environment
installing EJB development, 274-75
Internet business, 1-7
Errors, showing syntax in JSP Execution Monitor, 216-17
Exception handling, 171-73, 473-76
model, 474-75
ExceptionHandler interfaces, 474-75
Exceptions on methods, SmartGuide for adding thrown, 85, 90
Execution Monitor
configuring JSP, 216
JSP, 216-20
showing syntax errors in JSP, 216-17
Export option, EJB .jar, 445-46
Export to deployed JAR files, 447
Exporting
CreateEmployeeServlet, 104
CreateEmployeeServlet to WASAE, 104-5
EJBs from VisualAge for Java, 444-48
schemas to databases, 365-66
Exporting options, VisualAge EJB, 445-46
Expressions, 188
implicit objects in scriptlets and, 189
Script Editor to insert, 214-15
Extensible Markup Language (XML), 118, 177
compliance, 223
support for taglib and, 222-23
using, 177-79
Extensible style sheets (XSLs), 179
Extreme programming (XP), 238
F
Facade
interaction diagram showing session, 426
session, 425-27
Facade/data Bean solution, examples of session, 427-40
more complex examples, 433-37
simple example from case study, 427-33
updating example, 437-40
Factory hierarchy, 431
Factory object, 257
Factory relationships for underlying object relationships, 433-34
Falling
gross margins, 4
prices, 3-4
fetchTarget() method, 386
Fields
adding to EJB, 356
case study EJBs and, 357-58
CMP (container-managed persistence), 356
creating CMP, 356-57
hidden, 142-43
key, 330
Normal View with Form and Input, 126, 128
File Dialog, Insert, 136
File Transfer Protocol (FTP), 42
Files
Browse JAR, 455-56
client JAR, 448
deploying from WebSphere Studio, 453-54
deploying .jar, 451-53
EJB JAR, 444-45
JAR, 322-23, 452
resource, 121
VisualAge deployed JAR, 447-48
Filter hierarchy, 247
Filtering enumerations, 246-48
Filtering, Servlet, 173-76
findAll() method, 432
findAllEJBs(), implementation of, 432, 434
findAllProjects(), implementation of, 431
findByPrimaryKey() method, 332
Finder helpers, 333-34
Finders, custom, 332
Five-layer architecture, 30, 225-26
Flags, Navigable, 387
Folder Structure, 129-30
Folders, publishing pages, 453
Foreign keys
in one-to-many relationships, 377
TimeSheet table containing, 377
Form and Input Fields, Normal View with, 126, 128
Forward Action, 204
Frame Menu Options, Normal View showing, 126, 128
FTP (File Transfer Protocol), 42
G
Generate Deployed Code menu option, 294-95
GenericServlet class, 58
Get list of Projects, interaction diagram to, 427-28
getAllTimesheets() method, 434
getApprovingEmployee(), 378-79
getConnection() method, 405-6
getEntries() method, 379
getMessage() method
creating, 286-88
debugger on, 307
filling implementation of, 288-90
promoting, 290-91
getMessage() showing, Icon added to, 291
getMessage() source code, 289
getProperty standard actions, 202-3
Go buttons, 162
Graphical user interfaces (GUIs), 9, 29, 31, 33
Gross margins, falling, 4
Group Menu, Add EJB, 280
Group SmartGuide, using Create EJB, 279-81
Groups
creating EJB, 279-81
EJB, 281
Guide, user's, 234-37
GUIs (graphical user interfaces), 9, 29, 31, 33
H
Handling, exception, 171-73, 473-76
Handling model, exception, 474-75
Headers, 42-43
Hello WebSphere EJB, creating, 281-86
Hello World, 53
modified, 55
HelloWebSphere EJB, 286-87
deployed code tree view for, 296
HelloWebSphere Window, EJB test client opened to, 301, 303
HelloWebSphereEJBClient, properties for Dialog, 322-23
HelloWebSphereEJBServlet, source code for, 318-19
HelloWorldServlet, response from, 73-74
Helpers, finder, 333-34
Hidden fields, 142-43
Hierarchies
EJB containment, 262
enumeration, 246-47
factory, 431
filter, 247
Home interfaces, 330-31, 403
EJB, 273
inheritance of, 396-98
obtaining, 311-14
Home references, obtaining, 314-15
creating, 314
removing, 315
Home tabs, 301, 303
HTML (Hypertext Markup Language), 12-13, 25, 31, 117
HTML source view of JSP, 182-83
HTML tags, properties as runtime expressions in standard, 212
HTTP GET requests in action, 46
HTTP (HyperText Transfer Protocol), 12, 39
URIs and messages over, 46-48
HTTP method description, 44-45
HTTP POST request in action, 47
HTTP redirect method, 169
HTTP request parameter named controller, 165
HTTP technology primer, 39-48
background, 40
pulling it all together, 46-48
HTTP URL, 41
HTTP URL, components of, 41-42
HttpController, abstract default implementation of, 166-67
HttpController interface, 165-66, 168
HttpjspPage interface, 187
HttpServlet class, 60
HttpServletRequest interface, 60
HttpServletResponse interface, 60-61
HttpSession binding, 146
HttpSession interface, 61, 143
HttpSession Lookup Architecture, 147
HttpUtils class, 61
Hypertext Markup Language (HTML), 12-13, 25, 31, 117
HyperText Transfer Protocol (HTTP), 12, 39
URIs and messages over, 46-48
I
IBM
HTTP server (IHS), 131
VisualAge for Java, 67-68
WebSphere architecture, 22
WTE (WebSphere Test Environment), 65-74
IBM WASAE (WebSphere Application Server, Advanced Edition), using, 95-115
IBM WebSphere Studio, using, 117-39
IBM WebSphere Test Environment 3.5 features, adding, 68, 70
IBM WTE (WebSphere Test Environment), 95
IDE (interactive development environment), 74
Identifiers, retrieving session, 147-48
IDL (interface definition language), 16-17, 254
IE (Internet Explorer), 40
IHS (IBM HTTP server), 131
IIOP (Internet Inter-ORB Protocol), 15, 40, 255
Implementation
of at(String) method, 477-78
bean, 270-72
of CMP Entity Bean, 335-37
of customer BMP, 416
EJB, 17-18
empty, 337
of findAllEJBs(), 432, 434
of findAllProjects(), 431
of map(), 434-35
of map() in ProjectFactory, 432-33
Implementation classes, bean, 334-39
Implementation details, single-valued association, 385-87
Implementation of getMessage() method, filling, 288-90
Implementation of HttpController, abstract default, 166-67
Implementation strategies, EJB relationship, 380
Implementing example in VisualAge for Java, 274
Implicit objects, 189
Implicit objects in scriptlets and expressions, 189
Import from Repository Page, 227, 230
Import SmartGuide, 227, 229
Importing
existing sites, 137-38
existing Web sites, 137-38
from VisualAge, 134-37
Include Action, 204
Include directives, 190
Independent software vendors (ISVs), 18
Indexed properties used to control loops
in choices, 213
in lists, 213
in tables, 213
Index.html Page, 73
Indirect models, JSP, 196-97
Information systems (IS), 238
Information technology (IT), 2, 27, 49
Inheritance of Home interfaces, 396-98
Inheritance SmartGuide, 396-97
Inheritance strategies, database, 398
Inheritances
Add>Enterprise Bean . . . with, 396
CMP entity support for, 399
EJB, 392-99
interface, 394
remote interface, 394-96
init() method, 175
Initial screen, 234
Input Fields, Normal View with Form and, 126, 128
Insert File Dialog, 136
Inserting resource files into projects, 121
Installation, testing WASAE, 99-103
Installing
WebSphere Studio, 118-24
WTE, 67-70
Instances, creating TimeSheetEntry, 436
Interaction diagram showing session facade, 426
Interactive development environment (IDE), 74
Interface definition language (IDL), 16-17, 254
Interface inheritance between EJB remote interfaces, 394
Interfaces
Add to>EJB Remote, 290
AppService, 472
EJB Home, 273
EJBObject, 315-16
ExceptionHandler, 474-75
Home, 330-31, 403
HttpController, 165-66, 168
HttpjspPage, 187
HttpServletRequest, 60
HttpServletResponse, 60-61
HttpSession, 61, 143
inheritance of Home, 396-98
interface inheritance between EJB remote, 394
javax.jts.UserTransaction, 346
key classes and, 56-61
mapper, 250
obtaining Home, 311-14
promoting getMessage() method to Remote, 290-91
PropertyCapable, 477
Remote, 330
remote, 378
RequestDispatcher, 59
Servlet, 57
ServletContext, 57-58
ServletRequest, 58
ServletResponse, 58-59
StartupCapable, 472-73
trace, 476
Internet business environment, 1-7
IT management issues, 5-6
marketplace competition, 3-5
Web revenue projections, 2-3
what is needed, 6-7
Internet Explorer (IE), 40
Internet induced increased competition, 3-4
Internet Inter-ORB Protocol (IIOP), 15, 40, 255
Internet service providers (ISPs), 149
Intervals section, 156-57
Invalidate time, 156
Invoker servlet, 115
IS (information systems), 238
Isolation levels, introduction to, 350
ISPs (Internet service providers), 149
ISVs (independent software vendors), 18
IT (information technology), 2, 27, 49
IT management issues, 5-6
IT management, whole-view, 6-7
Iterative development process, 5-6
J
J2EE and server-side solutions, 21-22
J2EE application servers, 463
J2EE (Java 2 Enterprise Edition), 17, 19, 21, 25, 27-28, 30, 35, 39, 95-96, 467
.jar export option, EJB, 445-46
JAR files, 322-23, 452
Browse, 455-56
client, 448
EJB, 444-45
export to deployed, 447
VisualAge deployed, 447-48
.jar files, deploying, 451-53
JAR (Java ARchive), 178
Java
Association Editor Dialog in VisualAge for, 382
building basic EJBs in VisualAge for, 269-91
class definition from VisualAge for, 367-68
CMP (container-managed persistence) in VisualAge for, 328-29
CMP (container-managed persistence) in WebSphere for, 328-29
creating EJB JAR from VisualAge for, 445-46
debugging EJBs in VisualAge for, 293-309, 304-9
exporting EJBs from VisualAge for, 444-48
IBM VisualAge for, 67-68
implementing example in VisualAge for, 274
using VisualAge for, 65-93
Java 2 Enterprise Edition (J2EE), 17, 19, 21, 25, 27-28, 30, 35, 39, 95-96, 467
Java 3.5, associations in VisualAge for, 382-92
Java Access Beans, VisualAge for, 316
Java application clients, 321-24
Java ARchive (JAR), 178
Java Browser, appearance of methods in VisualAge for, 91
Java class generation dialog, 294-95
Java code generated for simple useBean action, 199-200
Java Database Connectivity (JDBC), 19-21, 36
Java Database Connectivity (JDBC) API, 402
Java Development Kit (JDK), 48
Java message service (JMS), 18-19, 21
Java Naming and Directory Interface (JNDI), 17, 21, 261, 311-12
API, 311-12
contexts, 313
Java runtime environment (JRE), 96
Java Servlet Development Kit (JSDK), 49
Java Transaction API (JTA), 19, 21
Java Transaction Service (JTS), 346
Java Virtual Machines (JVMs), 48, 112, 318, 423
JavaBean architecture, Enterprise, 253-67
EJB definition, 260-63
need for EJBs, 264-66
object distribution, 254-57
object persistence, 257-58
objects and transactions, 258-59
security in Enterprise applications, 260
JavaBean on JSP, dropping, 208-9
JavaBeans, introspection, and contracts, 206-7
JavaServer pages (JSPs), 22, 25, 31, 49, 66, 117, 182
building, 182-83
concepts, 181-93
JSP syntax, 187-92
page compilation, 184-87
page templates, 182-84
roles for JSP, 192
runtime view, 184-87
server-side scripting, 182-84
configuration in WTE (WebSphere Test Environment), 215
deploying, 220-22
dropping JavaBean on, 208-9
HTML source view of, 182-83
MVCs mapping to, 25-26
roles of, 192
testing, 215-20
watching execution of, 217-18
JavaServer Web Development Kit (JSWDK), 49
javax.jts.UserTransaction interface, 346
Javax.servlet package, 57-59
Javax.servlet.http package, 59-61
JDBC API, 19, 402
JDBC connection pooling, WebSphere, 405-8
JDBC development steps, 20
JDBC drivers, 19-20
JDBC (Java Database Connectivity), 19-21, 36
JDBC persistence configuration, 156
JDK (Java Development Kit), 48
JMS (Java message service), 18-19, 21
JNDI (Java Naming and Directory Interface), 17, 21, 261, 311-12
API, 311-12
contexts, 313
JRE (Java runtime environment), 96
JSDK (Java Servlet Development Kit), 49
JSP actions, MVC, and tools, 195-224
JSP case studies, servlet and, 225-52
display case study A&D artifacts, 237-41
executing test scripts, 226
user's guide, 234-37
JSP case studies, servlet and, display case study
package structure, 250-51
problem statement, 239
system tasks, 239-40
use case definitions, 242-50
use case list, 240-41
JSP development tools, 205-15
JSP direct models, 195-96
JSP enabler, adding to Web application, 220-21
JSP Enabler Wizard, Add, 220, 222
JSP Execution Monitor, 216-20
configuring, 216
showing syntax errors in, 216-17
JSP executives, display sent to browser when, 184
JSP indirect models, 196-97
JSP settings on Servlet Engine page, 219
JSP standard actions, 198-205
JSP syntax, 187-92
directives, 190-92
scripting elements, 187-90
jspPages target, publishing pages folder (JSPs) to, 453
JSPs (JavaServer pages), 22, 25, 31, 49, 66, 117, 182
building, 182-83
concepts, 181-93
JSP syntax, 187-92
page compilation, 184-87
page templates, 182-84
roles for JSP, 192
runtime view, 184-87
server-side scripting, 182-84
configuration in WTE (WebSphere Test Environment), 215
deploying, 220-22
dropping JavaBean on, 208-9
HTML source view of, 182-83
MVCs mapping to, 25-26
roles of, 192
testing, 215-20
watching execution of, 217-18
_jspService() method, 187
JSWDK (JavaServer Web Development Kit), 49
JTA (Java Transaction API), 19, 21
JTS (Java Transaction Service), 346
JVMs (Java Virtual Machines), 48, 112, 318, 423
K
Key classes, 332-33
and interfaces, 56-61
Key fields, 330
Key value pairs, storing state data in, 144
Keys
primary, 332
TimeSheet table containing foreign, 377
L
Layered architectures, 28-38
building, 423-41
common layering schemes, 29-30
defined, 30-36
layered architecture defined, 30-36
miscellaneous considerations, 36-38
and MVC, 25-38
Layering, 27-28
nonstrict, 28
strict, 28
Layering: MVC revisited, 464
Layering schemes, common, 29-30
Layers
application service, 471-78
client/server, 29
controller/mediator, 31-33
data mapping, 35-36
data source access, 36
domain, 33-35
mapping, 35
persistence, 35
LDAP (Lightweight Directory Access Protocol), 312
Life cycle, bean implementation and, 270-72
Lightweight Directory Access Protocol (LDAP), 312
Link types, relationship, 122-23
List of Projects, interaction diagram to Get, 427-28
Listing, class, 243-44
Lists
indexed properties used to control loops in, 213
of Time Sheets for employees, 235-36
use case, 240-41
Load-balancing configuration, 148-49
Loading case study into WTE (WebSphere Test Environment), 226-34
Location service daemon (LSD), 97
Logic, distributed, 14-19
Lookup Architecture, HttpSession, 147
Lookup Window, EJB, 300, 302
LSD (location service daemon), 97
M
M 3 N relationship, three-way, 419
Main() method, 368
Management
distributed data, 21
remote data, 19-20
session state, 141-59
whole-view IT, 6-7
Management issues, IT, 5-6
Manager, Session, 153-54
Managing Web sites, 129-34
Map editor, Property, 363-64
Map(), implementation of, 434-35
Map() in ProjectFactory, implementation of, 432-33
Mapper design
base object and, 246
object model showing, 429-30
Mapper interface, 250
Mappers, object, 469-70
Mapping, 249-50
advanced CMP, 375-99
concepts in EJB relationship, 378-80
domain objects to data stores, 467-70
many and require to multiplicity values, 383
object, 467-68
rules, 375-76
Mapping layers, 35
data, 35-36
Mapping windows, table, 361-62
Mappings, data type, 361-62
Maps
Add>Schema and, 359-60
table, 359-64
Maps . . ., selecting edit property, 363
Marketplace competition, 3-5
MDI (multiple document interface), 300
Mediator, 245-46
TimeSheet, 245
Mediator collaboration diagram, Time-Sheet, 245
Mediator layers, controller, 31-33
Mediator servicing various presentation types, 33-34
Mediator topology, distributed, 32
Mediators used by various presentation technologies, 31-32
Menu option, Generate Deployed Code, 294-95
Menu Options, Normal View showing Frame, 126, 128
Menus
add, 232
Add EJB Group, 280
Add Enterprise Bean, 282
Add-Project, 275-76
Add To>Server configuration, 296-97
Add>Method, 286-87
project, 232
Run Test Client, 300-301
Messages
Console, 72
retrieveAllObjects(), 430
Method declarations
SmartGuide for specifying attributes of, 85, 89
SmartGuide to create, 85, 88
Method menu, Add>, 286-87
Method SmartGuide
Add, 286-88
Create, 286, 288
Method source, public and protected, 163
Methods
complete CreateEmployeeServlet doPost(), 80-82
create(), 440
createProcessor(), 429-30
creating getMessage(), 286-88
debugger on getMessage(), 307
doGet, 77-80
ejbCreate(), 338
ejbLoad(), 417-18
Entity Bean persistence, 401-2
fetchTarget(), 386
filling implementation of getMessage(), 288-90
findAll(), 432
findByPrimaryKey(), 332
getAllTimesheets(), 434
getConnection(), 405-6
getEntries(), 379
HTTP redirect, 169
implementation of at(String), 477-78
init(), 175
_jspService(), 187
main(), 368
overriding servlet, 54
process(), 168
processRequest(), 164
promoting getMessage(), 290-91
retrieveAllObjects(), 429
RetrieveDepartment(), 369
service(), 175-76
SmartGuide for adding thrown exceptions on, 85, 90
Timesheet, 437-38
update(Timesheet), 437-38
writing BMP ejbLoad(), 412-13
writing BMP finder, 410-12
writing ejbCreate(), 408-10
writing ejbStore(), 413-15
Model-View Controllers (MVCs), 25
defined, 26-27
and layered architectures, 25-38
mapping to components, 25-26
mapping to JSPs, 25-26
mapping to servlets, 25-26
revisited, 464
Models
domain, 243-44
exception-handling, 474-75
JSP direct, 195-96
JSP indirect, 196-97
object, 429-30
programming, 195-97
Time-Sheet domain, 243
Modifying time sheet for employees, 235-37
Monitors
configuring JSP Execution, 216
JSP Execution, 216-20
showing syntax errors in JSP Execution, 216-17
TP (transaction processing), 259
Multiple document interface (MDI), 300
Multiplicity values, mapping many and require to, 383
MVC and tools, JSP actions, 195-224
MVCs (Model-View Controllers), 25
defined, 26-27
and layered architectures, 25-38
mapping to components, 25-26
mapping to JSPs, 25-26
mapping to servlets, 25-26
revisited, 464
N
N FilmPersonRoles, 420
N Person-Role pairs, 419-20
Naming service, starting, 297-98
Naming Service, WebSphere, 313-14
Navigable flag, 387
Network News Transfer Protocol (NNTP), 42
New projects, creating, 119
New Servlet, adding, 107-8
NNTP (Network News Transfer Protocol), 42
Nonstrict layering, 28
Normal View showing Frame Menu Options, 126, 128
Normal View with 2 3 2 table, 125-26
Normal View with Form and Input Fields, 126, 128
Notation, UML, 381
O
Object and mapper design, base, 246
Object associations, 376
Object design, VAJ, 372
Object distribution, 254-57
CORBA overview, 254-55
remaining problems, 256-57
RMI overview, 255-56
Object identities (OIDs), 384
Object Management Groups (OMGs), 254
Object mappers, 469-70
Object mapping relationship, 467-68
Object model showing mapper design, 429-30
Object-oriented (OO) programming, 10, 33
Object persistence, 257-58
Object relational (OR), 402
basics, 376-77
Object relationships, factory relationships for underlying, 433-34
Object request brokers (ORBs), 16, 254
Objects
CustomerEJB, 403
Factory, 257
implicit, 189
mapping domain, 467-70
and transactions, 258-59
Observer patterns, 474
OIDs (object identities), 384
OMGs (Object Management Groups), 254
One-to-many association, 388
One-to-many associations, 376
One-to-many relationships, foreign keys in, 377
1PC (one-phase commit), 343
OO (object-oriented) programming, 10, 33
Open Servlet Engine (OSE), 22
Opening administrator's console, 101
Operating system (OS), 254, 254-57
Options
EJB .jar export, 445-46
Generate Deployed Code menu, 294-95
miscellaneous session storage, 152
Normal View showing Frame Menu, 126, 128
Page Designer viewing, 124
VisualAge EJB exporting, 445-46
Options Dialog, Publishing, 131-33
OR (object relational), 402
basics, 376-77
ORBs (object request brokers), 16, 254
OS (operating system), 254, 254-57
OSE (Open Servlet Engine), 22
Overriding servlet methods, 54
P
Package dialog, Add, 277-78
Package structure, 250-51
Packages
javax.servlet, 57-59
javax.servlet.http, 59-61
Page compilation, 184-87
Page Designer
using, 124-28
WebSphere, 205-15
WebSphere Studio and, 207-15
Page Designer's viewing options, 124
Page directives, 190, 190-91
adding, 208
Page templates, 182-84
Pages
Import from Repository, 227, 230
index.html, 73
JSP settings on Servlet Engine, 219
Pages folders, publishing, 453
Pages, JavaServer, 181-93
Param actions, 205
Parameter named controllers, processing of HTTP request, 165
Parameters
Tuning, 157
URL, 143
Paths
class, 448-49
Web App class, 459-60
Patterns
observer, 474
state, 170-71
TimeSheet state, 249
PCA (Presentation-Control-Abstraction), 26-27
Pending Time Sheets, 235-37
Persistence
Bean-managed, 401-21
examining BMP, 408-15
object, 257-58
Persistence configuration, JDBC, 156
Persistence Entity Beans, container-managed, 327-39
Persistence layers, 35
Persistence methods, Entity Bean, 401-2
Persistence section, 156
Persistent name server (PNS), 97, 297
start, 298-99
Persistent session storage, WebSphere, 150-52
Persistent Sessions, 150-51
Enable, 156
Plugin Action, 205
PNS (persistent name server), 97, 297
start, 298-99
Pointed-on table, 377
PreparedStatements, using, 414-15
Presentation-Control-Abstraction (PCA), 26-27
Presentation technologies, mediators used by various, 31-32
Presentation types, mediators servicing various, 33-34
Presentations, remote, 12-14
Preview View, 125
Prices, falling, 3-4
Primary key class, 332
process() method, 168
Processing of HTTP request parameter named controller, 165
processRequest() method, 164
Programming
models, 195-97
OO (object-oriented), 10
Programs/Threads, All, 308
Project menus, 232
Add, 275-76
Project SmartGuide, Add, 275, 277
Project templates, 119-20
ProjectFactory, 432
implementation of map(), 432-33
Projections, Web revenue, 2-3
ProjectMapper class, 430
Projects
Add, 232-33
adding WS Case Study example code, 275-76
inserting resource files into, 121
interaction diagram to Get list of, 427-28
prepare for new EJB code, 276-77
SmartGuide for creating, 82-83
tab, 67-68
Projects, creating new, 119
Properties
application, 476-78
associations as, 392
class, 371
for Dialog HelloWebSphereEJBClient, 322-23
EJB, 330
EJB server, 370
indexed, 213
as runtime expressions in standard HTML tags, 212
Studio saves workbench, 124
Properties Browser, 210-11
Property Display, dynamic element, 209-10
Property Map editor, 363-64
PropertyCapable interfaces, 477
Protected method source, public and, 163
Proxies, EJBObject and remote, 315-16
Public and protected method source, 163
Publishing Options Dialog, 131-33
Publishing Stages Dialog, Customize, 130
Publishing Targets Dialog, 132, 134
Publishing View, 122
Test, 129-30
Q
QA (quality assurance), 114
Quick Start dialog, 68-69, 274
R
Receiving classes from VisualAge, 137
Redirect method, HTTP, 169
References, obtaining Home, 314-15
Relations view, 122
Relationship implementation strategies, EJB, 380
Relationship link types, 122-23
Relationships
employee, 439
factory relationships for underlying object, 433-34
foreign key in one-to-many, 377
implementing many-valued, 387-90
three-way M 3 N, 419
TimeSheetApprovedBy, 390-91
TimeSheetForEmployee, 390-91
wrapping up, 390-92
Remote data management, 19-20
Remote interface of TimeSheet EJB, 378
Remote interfaces, 330
Add to>EJB, 290
interface inheritance between EJB, 394
promoting getMessage() method to, 290-91
Remote method invocations (RMIs), 14-16, 18, 21, 256
development process, 15-16
overview, 255-56
runtime, 14-15
Remote presentation, 12-14
Remote procedure calls (RPCs), 14-18
Remote proxies, EJBObject and, 315-16
Remote tab in Test Client, 303-4
Remote tool API, starting from VisualAge, 134-35
Repository Page, Import from, 227, 230
RequestDispatcher interface, 59
Requests, 42-43, 43-44
handling all, 163
routed to application servers, 148-49
Resource access, application property and, 476-78
Resource files, inserting into projects, 121
Responses, 42-44,
retrieveAllObjects()
message, 430
method, 429
RetrieveDepartment() method, 369
Retrieving session identifiers, 147-48
Return on investment (ROI), 3
Revenue projections, Web, 2-3
Rewriting, URL, 148
RMI compiler (rmic), 15
RMIs (remote method interfaces), 14-16, 18, 21, 256
development process, 15-16
overview, 255-56
runtime, 14-15
ROI (return on investment), 3
RPCs (remote procedure calls), 14-18
Run Test Client menu, 300-301
Runtime
RMI, 14-15
view, 184-87
S
Safety, thread, 169
Schema Browser, database, 360-61
Schemas, 359-64
database, 359
exporting to databases, 365-66
Scopes, storage, 200-201
Scrapbook, testing EJB code in, 316-18
Screen, initial, 234
Script Editor to insert
declarations, 214-15
expressions, 214-15
scriptlets, 214-15
Scripting elements, 187-90
Scripting, server-side, 182-84
Scriptlets, 188
Script Editor to insert, 214-15
Scriptlets and expressions, implicit objects in, 189
Scripts
case study test, 226-27
executing test, 226
test, 37-38
Searches, Time-Sheet, 235
Sections
Cookies, 153-56
Enable, 153
Intervals, 156-57
Persistence, 156
Tuning, 157-59
Security in Enterprise applications, 260
Select Bean dialog, 455, 457
Selecting DataSource configuration, 406-7
Sending classes from VisualAge, 137
Sequence, startup, 472-73
Server affinity, 149
Server configuration window, EJB, 297-98
Server design templates, Web-based client, 11-21
Server process, add EJB, 296-97
Server process, starting EJB, 298-300
Server properties, EJB, 370
Server-side scripting, 182-84
Server-side solutions, J2EE and, 21-22
Server solutions, Web-based client, 9-23
Server started, EJB, 299-300
Server Wizard, Creating Application, 106
Servers
application, 21, 112-15
creating EmployeeSys application, 103-10
expanded view of EmployeeSys application, 107-8
J2EE application, 463
requests routed to application, 148-49
start Persistent Name, 298-99
before starting admin, 99-100
starting admin, 100-101
starting Default, 101
starting Web, 101-3
test using Snoop, 103
using IBM WebSphere Application, 95-115
Service layers, application, 471-78
service() method, 175-76
Service provider interface (SPI), 312
Services
application, 36, 471-76
WebSphere Naming, 313-14
Servlet and JSP case studies, 225-52
executing test scripts, 226
package structure, 250-51
use case definitions, 242-50
user's guide, 234-37
Servlet architecture, 13, 48
Servlet chaining and filtering, 173-76
Servlet clients, design points about, 320-21
Servlet concepts, 48-56
example servlets, 52-56
servlet engines, 49-50
servlet life cycle, 50-52
support for servlets, 49
Servlet design considerations, 161-79
exception handling, 171-73
number of servlets, 161-69
Servlet chaining and filtering, 173-76
state pattern, 170-71
using XML, 177-79
Servlet Dialog, creating, 109
Servlet Engine Class Path dialog, 92
Servlet Engine pages, JSP settings on, 219
Servlet engines, 49-50
add-on, 50
configuring, 91-93
Console Messages after starting, 72
embeddable, 50
standalone, 50
starting, 72
stopping, 73
testing with, 72-73
Servlet interface, 57
Servlet life cycles, 50-51
Servlet methods, overriding, 54
Servlet sources, generated, 185-86
ServletContext interface, 57-58
ServletRequest interface, 58
ServletResponse interface, 58-59
Servlets
adding new, 107-8
adding Web path to, 109-10
building example, 74-91
comments, 56
as controllers, 31
example, 52-56
Hello World, 53
modified hello world, 55
identifying, 162
introduction to, 39-63
Invoker, 115
MVC mapping to, 25-26
number of, 161-69
rationale for, 61-62
results of Snoop, 103
and session states, 143-47
source code for Substitution, 174-75
support for, 49
testing CreateEmployee, 109, 111
using as EJB clients, 318-20
using VisualAge for Java to develop, 65-93
Sesessionid, 154
Session EJBs, 262-63
Session facade, 425-27
interaction diagram showing, 426
Session facade data/Bean solution, examples of, 427-40
Session identifiers, retrieving, 147-48
Session Manager configuration, 153-54
Session state management, 141-59
Session states, servlets and, 143-47
Session storage
third-tier, 148-52
WebSphere persistent, 150-52
Session storage options, miscellaneous, 152
Session support, configuring WebSphere 3.5, 153-59
Sessions
discarding, 144
Enable Persistent, 156
how found, 146-47
persistent, 150-51
Sessions and entities, remote interface inheritance for, 394-96
setProperty actions, examples of, 203
setProperty standard actions, 202-3
Setting transaction attributes, 345, 348
Settings on Servlet Engine page, JSP, 219
Settings, WebSphere-specific transaction, 351
SGML (Standard Generalized Markup Language), 177
Single-valued association implementation details, 385-87
Sites
importing existing, 137-38
importing existing Web, 137-38
managing Web, 129-34
SmartGuide
to add attributes to class definition, 85, 87
Add EJB Group, 280-81
Add Method, 286-88
Add Project, 232-33, 275, 277
for adding thrown exceptions on methods, 85, 90
Create Access Bean, 316-17
Create Enterprise Bean, 282-83
Create Method, 286, 288
to create method declaration, 85, 88
for creating, classes, 85-86
for creating packages, 83-84
for creating projects, 82-83
EJB, 443
Import, 227, 229
inheritance, 396-97
second page of Create EJB, 284-85
second page of EJB, 353, 355
for specifying attributes of method declarations, 85, 89
using Create EJB, 281-86
using Create EJB Group, 279-81
versatile, 286
Snoop servlets
results of, 103
test using, 103
Solutions
client/server solutions, 9-23
data Bean, 425-27
examples of session facade/data Bean, 427-40
J2EE and server-side, 21-22
problems with All-EJB, 423-25
real focus of client/server, 10
Source codes, getMessage(), 289
SPI (service provider interface), 312
SQL calls executed, 420
SQL (structured query language), 19-20, 36, 418
Stages Dialog, Customize Publishing, 130
Staging defined, 123-24
Standalone servlet engines, 50
Standard action tags, 203-5
Standard Generalized Markup Language (SGML), 177
Start dialog, 101-2
Starting
admin server, 100-101
before, 99-100
Default Server, 101
remote tool API from VisualAge, 134-35
Servlet engines, 72
Web server, 101-3
WebSphere Studio, 118-24
Starting Servlet engine, Console Messages after, 72
Startup sequence, 472-73
StartupCapable interfaces, 472-73
State data, storing in key/value pairs, 144
State patterns, 170-71
TimeSheet, 249
Stopping servlet engine, 73
Storage
third-tier session, 148-52
WebSphere persistent session, 150-52
Storage options, miscellaneous session, 152
Storage scopes, 200-201
Storing state data in key/value pairs, 144
Strict layering, 28
Structure, package, 250-51
Structured query language (SQL), 19-20, 36, 418
Submit button, 145
Substitution Servlet, 176
source code for, 174-75
Superclasses, TsObject, 429
Syntax errors, showing in JSP Execution Monitor, 216-17
Syntax, JSP, 187-92
Systems, building layered architectures for EJB, 423-41
T
Table Attributes, 126-27
Table mapping windows, 361-62
Table maps, 359-64
Tables
employee, 377
indexed properties used to control loops in, 213
pointed-on, 377
TimeSheet, 377
TimeSheet entry, 377
Tabs
EJB, 275, 279
Home, 301, 303
Projects, 67-68
remote, 303-4
Taglib and XML, support for, 222-23
Tags
properties as runtime expressions in standard HTML, 212
standard action, 203-5
Targets Dialog, Publishing, 132, 134
TCP/IP (Transmission Control Protocol/Internet Protocol), 39
Teams, working in, 139
Technologies, mediators used by various presentation, 31-32
Technology primer, HTTP, 39-48
Templates
page, 182-84
project, 119-20
Web-based client/server design, 11-21
distributed logic, 14-19
remote presentation, 12-14
Test Clients
EJB, 300-303
remote tab in, 303-4
testing EJB with generated, 300-304
Test Publishing View, 129-30
Test script results console, 226, 228
Test scripts, 37-38
case study, 226-27
executing, 226
Test using Snoop servlet, 103
testCreateDepartment(), 368
Testing
CreateEmployee servlet, 109, 111
with servlet engine, 72-73
WASAE installation, 99-103
Tests, CMP Entity Bean simple, 367-72
Third-tier session storage, 148-52
Thread safety, 169
Threads, All Programs, 308
Thrown exceptions on methods, SmartGuide for adding, 85, 90
Time, invalidate, 156
Time Sheets, 248-49
creating for employees, 235-37
displaying approved, 237
displaying for employees, 235-37
displaying Pending, 237
domain model, 243
mediator collaboration diagram, 245
modifying for employee, 235-37
Pending, 235-37
search, 235
states, 249
Time sheets for employees, list of, 235-36
TimeSheet, 436
TimeSheet EJB, 439
remote interface of, 378
TimeSheet entry table, 377
TimeSheet mediator, 245
Timesheet method, 437-38
TimeSheet state patterns, 249
TimeSheet table containing foreign keys, 377
TimeSheet to TimeSheetEntry, 388
TimeSheetApprovedBy relationships, 390-91
TimeSheetContainer singleton, 248
TimeSheetEntry
EJBs, 439
instances, 436
TimeSheet to, 388
TimeSheetEntryFactory class, 440
TimesheetFactory class, 437-38
TimeSheetForEmployee relationships, 390-91
TimeSheetProcessor, 429-30, 434
TimesheetProcessor class, 437
TimesheetProcessorBean class, 431
Tools, 465-66
JSP actions, MVC, and, 195-224
JSP development, 205-15
Topology, distributed mediator, 32
TP (Transaction Processing), 67
monitor, 259
Trace interfaces, 476
Transaction attributes
setting, 345, 348
values of, 344-45
Transaction interactions, 343
Transaction Processing (TP), 67
Transaction Processing (TP) monitor, 259
Transaction settings, WebSphere-specific, 351
Transaction, starting programmatically, 346
Transactions
and 2PC (two-phase commit), 342-43
and concurrency, 349-50
defined, 341-43
EJB, 341-51
and EJBs, 343-44
objects and, 258-59
participating in, 346-47
starting, 344-46
Transmission Control Protocol/Internet Protocol (TCP/IP), 39
Tree view, deployed code, 296
Trees, deployed EJB, 458-59
TsObject
base class, 468
superclass, 429
Tuning parameters, 157
Tuning section, 157-59
2PC (two-phase commit), transactions and, 342-43
U
UCS transformation formats (UTF), 54
UML (Unified Modeling Language), 5, 238
associations in, 381
notation for associations, 381
Uniform Resource Locators (URLs), 13, 40-41
components of HTTP, 41-42
encoding, 148
HTTP, 41
parameters, 143
rewriting, 148
versus URIs, 41-42
Units of work, 341
update(Timesheet) method, 437-38
URIs (Uniform Resource Identifiers), 40-42
example of URLs and, 42
and messages over HTTP, 46-48
versus URLs, 41-42
URLs and URIs, example of, 42
URLs (Uniform Resource Locators), 13, 40-41
components of HTTP, 41-42
encoding, 148
HTTP, 41
parameters, 143
rewriting, 148
versus URIs, 41-42
Use case
defined, 242-43
definitions, 242-50
application domain, 246
class listing, 243-44
collaboration diagram, 244-45
containers, 248
enumeration design, 246
filtering enumerations, 246-48
mapping, 249-50
mediator, 245-46
Time-Sheet domain model, 243
Time-Sheet state, 249
Time Sheets, 248-49
diagrams, 240-41
list, 240-41
useBean action, 198-201
Java code generated for simple, 199-200
User's guide, 234-37
UTF (UCS transformation formats), 54
V
VAJ (VisualAge for Java)
data type mappings for WebSphere and, 361-62
object design, 372
WebSphere and, 362
Value pairs, storing state data in key value, 144
Values, mapping many and require to multiplicity, 383
Version control, 138-39
Versions dialog, 231
View of EmployeeSys application server, expanded, 107-8
Viewing options, Page Designer's, 124
Views
Normal, 125-26, 128
Preview, 125
Publishing, 122
Relations, 122
runtime, 184-87
Test Publishing, 129-30
Virtual Machine (VM), 67
VisualAge
building EJBs in, 273-91
building Entity Beans in, 353-73
building example servlets in, 74-91
building inherited Beans in, 396
creating Entity Bean in, 353-58
deployed JAR files, 447-48
EJB
exporting options, 445-46
inheritance in, 392-99
importing from, 134-37
for Java
Access Beans, 316
Association Editor Dialog in, 382
Browser, 91
building basic EJBs in, 269-91
class definition from, 367-68
CMP (container-managed persistence) in, 328-29
creating EJB JAR from, 445-46
debugging EJBs in, 293-309, 304-9
exporting EJBs from, 444-48
IBM, 67-68
implementing example in, 274
for Java 3.5, 382-92
running application clients outside of, 322-24
sending and receiving classes from, 137
starting remote tool API from, 134-35
testing application clients in, 322
using for Java to develop Servlets, 65-93
VM (Virtual Machine), 67
W
Warning dialog, 277-78
WAS database, 96
WASAE installation, testing, 99-103
WASAE (WebSphere Application Server, Second Edition)
architecture, 96-98
availability of, 95
exporting CreateEmployeeServlet to, 104-5
using IBM, 95-115
Web App class path, 459-60
Web Applications
A&D process appropriate for, 238-39
adding JSP enabler to, 220-21
application server versus, 112-15
Web-based client/server design templates, 11-21
distributed logic, 14-19
remote presentation, 12-14
Web-based client/server solutions, 9-23
Web paths
adding to Servlet, 109-10
to Servlet, 101-3
Web revenue projections, 2-3
Web sites
importing existing, 137-38
managing, 129-34
WebSphere, 35
building Entity Beans in, 353-73
deploying EJBs into, 443-61
best practices for EJB deployment, 448-51
deploying EJBs to WebSphere, 451-59
exporting EJBs from VisualAge for Java, 444-48
final changes, 459-61
deploying EJBs to, 451-59
JDBC connection pooling, 405-8
Naming Service, 313-14
page designer, 205-15
persistent session storage, 150-52
and VAJ, 362
data type mappings for, 361-62
WebSphere 3.5 session support, configuring, 153-59
Cookies section, 153-56
Enable section, 153
WebSphere Application Server, Second Edition (WASAE)
architecture, 96-98
availability of, 95
exporting CreateEmployeeServlet to, 104-5
using IBM, 95-115
WebSphere architecture, IBM, 22
WebSphere components, definitions of, 98-99
WebSphere domain, example of, 97-98
WebSphere for Java, CMP (container-managed persistence) in, 328-29
WebSphere-specific transaction settings, 351
WebSphere Studio
deploying files from, 453-54
installing, 118-24
and Page Designer, 207-15
rationale for, 117-18
saves workbench elements and properties, 124
starting, 118-24
using IBM, 117-39
workbenches, 119-20
WebSphere Test Environment 3.5 features, adding IBM, 68, 70
WebSphere Test Environment Control Center window, 70-71
WebSphere Test Environment (WTE), 49, 65-74, 95, 215, 226
installing, 67-70
loading case study into, 226-34
Windows
Breakpoint configuration, 305-6
EJB Lookup, 300, 302
EJB server configuration, 297-98
EJB test client opened to HelloWebSphere, 301, 303
table mapping, 361-62
WebSphere Test Environment Control Center, 70-71
Wizards
Add JSP Enabler, 220, 222
Creating Application Server, 106
Work, units of, 341
Workbenches, WebSphere Studio's, 119-20
Working in teams, 139
Writing
BMP ejbLoad() methods, 412-13
BMP finder methods, 410-12
ejbCreate() method in BMP Beans, 408-10
ejbStore() methods, 413-15
WS Case Study example code project, adding, 275-76
WTE control center, using, 70-71
WTE (WebSphere Test Environment), 49, 65-74, 95, 215, 226
installing, 67-70
loading case study into, 226-34
X
XML Config, using, 110-12
XML (Extensible Markup Language), 118, 177
compliance, 223
support for taglib and, 222-23
using, 177-79
XP (extreme programming), 238
XSLs (extensible style sheets), 179

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020