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