Dedication | p. xix |
Acknowledgments | p. xxi |
Introduction | p. xxiii |
JavaBeans Component Technology Overview | p. 1 |
The Need for Component Technology | p. 3 |
Introduction | p. 4 |
The Road to Components | p. 5 |
What is a Component? | p. 6 |
The Component Programming Model | p. 9 |
Connection-Oriented Programming Model | p. 9 |
Component Framework | p. 12 |
The Big Three | p. 13 |
Component Object Model | p. 14 |
Compound Document and COM | p. 14 |
The COM Object | p. 16 |
Object Reuse | p. 18 |
The Name Service | p. 20 |
Component Manager | p. 20 |
Distributed COM | p. 21 |
CORBA | p. 22 |
JavaBean | p. 23 |
Summary | p. 24 |
JavaBeans Architecture | p. 25 |
Introduction | p. 26 |
Basic JavaBean Concepts | p. 26 |
Persistence | p. 26 |
Properties | p. 28 |
Events | p. 30 |
Customization | p. 31 |
Packaging | p. 32 |
Can All Java Classes be JavaBeans? | p. 33 |
New Features in JavaBean Component Model | p. 34 |
Summary | p. 34 |
JavaBeans Framework | p. 35 |
Introduction | p. 36 |
Java Virtual Machine (JVM) | p. 37 |
Java Dynamic Management Kit | p. 38 |
Java Embedded Server | p. 40 |
ServiceSpace Framework | p. 40 |
JES Core Services | p. 41 |
Jini | p. 42 |
What is Jini? | p. 42 |
Infrastructure | p. 43 |
Programming Model | p. 44 |
Services | p. 46 |
InfoBus | p. 47 |
InfoBus Overview | p. 48 |
Infobus Data Items | p. 49 |
JavaBeans Activation Framework | p. 50 |
JAF Architecture | p. 50 |
JAF-Aware Beans | p. 51 |
Relationships Among the Frameworks | p. 52 |
Summary | p. 53 |
Enterprise JavaBeans | p. 55 |
Introduction | p. 56 |
The Evolution of Internet Applications | p. 56 |
The Beginning--Client/Server | p. 56 |
Three-tier Application | p. 57 |
Transaction Processing Monitor | p. 58 |
Middleware | p. 59 |
Application Server | p. 59 |
Enterprise JavaBeans | p. 60 |
Enterprise JavaBeans Fundamentals | p. 62 |
How EJB Works | p. 63 |
Home Interface | p. 66 |
The Container | p. 67 |
Development and Deployment Workflow | p. 68 |
Enterprise Bean Provider and Application Assembler | p. 68 |
Deployer and System Administrator | p. 69 |
Container Provider and Application Server Provider | p. 69 |
Session Bean | p. 70 |
Introduction | p. 70 |
Passivation and Activation | p. 70 |
The Contract Between the Session Bean and the Container | p. 71 |
Entity Bean | p. 71 |
Introduction | p. 71 |
Home Interface | p. 72 |
Life Cycle | p. 73 |
Persistence | p. 74 |
The Contract Between the Entity Bean and the Container | p. 75 |
Summary | p. 76 |
Developing JavaBeans | p. 77 |
Using Java Studio | p. 79 |
Introduction | p. 80 |
Installing Java Studio | p. 80 |
Using Java Studio | p. 81 |
Design Considerations | p. 81 |
Integrating JavaBean Components into Java Studio | p. 85 |
Creating Design Time Information | p. 90 |
Compile VJBooleanButtonVJComponentInfo.java. | p. 94 |
Importing and Using the Simple Boolean Switch Component | p. 95 |
Summary | p. 96 |
Java and Electronic Mail | p. 97 |
JavaMail Architecture | p. 98 |
Major JavaMail API Components | p. 99 |
The Message Class | p. 99 |
Storage and Retrieval of Messages | p. 100 |
Message Composition and Transport | p. 100 |
Session Class | p. 100 |
JavaMail Event Model | p. 100 |
Sending an Email | p. 100 |
Sending a Simple Message | p. 101 |
Sending a Multi-part Message | p. 104 |
Building an Email Bean for Sending Text-Based Email Messages | p. 106 |
Receiving an Email | p. 113 |
Building an Email Bean for Reading Text-Based Email Messages | p. 120 |
Summary | p. 130 |
Java Database Connectivity | p. 131 |
Introduction to the Java Database Connectivity | p. 132 |
JDBC and Open DataBase Connectivity | p. 132 |
The JDBC Framework | p. 133 |
JDBC Driver Types | p. 134 |
Installing Personal Oracle | p. 134 |
Creating a Table | p. 136 |
Entering Data Into a Table | p. 142 |
Getting Data From a Table | p. 145 |
Performing a Meta-Data Query | p. 149 |
Developing a JDBC Bean | p. 153 |
Summary | p. 161 |
Lightweight Directory Access Protocol | p. 163 |
Introduction to LDAP | p. 164 |
What is LDAP? | p. 164 |
The Need for LDAP Model | p. 164 |
How Information is Organized in LDAP | p. 165 |
Entry and Object Classes | p. 166 |
The LDAP Architecture | p. 167 |
Objects LDAP Describes | p. 167 |
Introduction to LDAP API | p. 168 |
Introduction to Netscape LDAP Java API | p. 168 |
Overview of Netscape LDAP Classes | p. 168 |
Searching Netscape LDAP Server | p. 169 |
Extracting the Search Results | p. 173 |
Putting it All Together for Search | p. 173 |
Update Netscape LDAP Server | p. 175 |
Dealing With Referrals | p. 176 |
Put it All Together for Update | p. 177 |
Netscape LDAP Server | p. 179 |
Developing LDAP Bean | p. 181 |
LDAPUtility | p. 181 |
LDAPBean | p. 186 |
Summary | p. 195 |
Java Naming and Directory Interface | p. 197 |
Introduction to JNDI | p. 198 |
JNDI and Naming Service | p. 199 |
Advantages and Disadvantages of JNDI | p. 200 |
JNDI API | p. 201 |
Initial Context | p. 202 |
Searching the LDAP Server | p. 203 |
Put it Together for Search | p. 205 |
Updating LDAP Server | p. 207 |
Put it Together for Update | p. 208 |
JNDI Bean for LDAP | p. 211 |
JNDI and COSNaming | p. 220 |
JNDI API for COSNaming | p. 221 |
Put it Together for JNDI and COSNaming | p. 222 |
Summary | p. 225 |
Servlet | p. 227 |
Servlet Architecture | p. 228 |
Which Servers Support Servlets? | p. 230 |
The Servlet Lifecycle | p. 230 |
Advantages of Servlets | p. 231 |
Java Web Server | p. 231 |
Downloading and Installing Java Web Server | p. 231 |
Running the Java Web Server | p. 232 |
Developing and Testing a Simple Servlet | p. 232 |
Coding the Simple Servlet | p. 233 |
Testing a Simple Servlet | p. 236 |
Servlet Beans | p. 237 |
Servlet Bean: an Example | p. 238 |
Testing HelloWorldBean Servlet | p. 240 |
Beans in Servlet | p. 241 |
Beans and Servlet: an Example | p. 242 |
Beans for Enterprise Applications | p. 245 |
Bean for Generating HTML Files | p. 245 |
Code for the Sample HtmlGenerator Bean | p. 246 |
Summary | p. 250 |
Internet Security | p. 251 |
Security Technology Overview | p. 252 |
The Need for Security | p. 252 |
What is Security? | p. 252 |
Introduction to Cryptographic Algorithms | p. 254 |
Symmetric Key Algorithms | p. 254 |
The Drawback of Symmetric Key Algorithms | p. 256 |
Message Digest | p. 257 |
Digital Signature | p. 258 |
Digital Certificates | p. 260 |
Certificate Chaining | p. 261 |
Secure Socket Layer | p. 262 |
Acquiring a Certificate for the Java Web Server | p. 262 |
Example: Acquiring a Server Certificate from Verisign | p. 264 |
Enabling SSL on the Java Web Server | p. 266 |
Internet Security Bean | p. 267 |
The X.509 Certificate | p. 267 |
Obtaining the Client Certificate from a Servlet | p. 270 |
The PrintClientCertChain Servlet | p. 271 |
Test the Servlet | p. 274 |
Internet Security Bean | p. 276 |
Extract the CN From the Certificate | p. 276 |
Summary | p. 279 |
Common Object Request Broker Architecture | p. 281 |
Problems Solved by CORBA | p. 282 |
Traditional Client/Server Programming | p. 282 |
CORBA | p. 284 |
CORBA Architecture | p. 285 |
ORB Architecture | p. 286 |
Object Service Example: Naming Service | p. 290 |
CORBA Programming Tutorial | p. 291 |
Run the Programs | p. 300 |
CORBA Bean Utilizing JDBC | p. 301 |
Summary | p. 306 |
Developing Enterprise JavaBean | p. 307 |
Introduction | p. 308 |
Downloading and Installing EJBHome Server | p. 308 |
Developing the Privilege EJB | p. 309 |
The Remote Interface | p. 309 |
The Home Interface | p. 310 |
Developing the Enterprise Bean Component | p. 311 |
The Primary Key Class | p. 313 |
Developing a Client to Test Privilege EJB | p. 315 |
Testing the Privilege EJB | p. 317 |
Developing ProjectTracker EJB | p. 318 |
The Remote Interface | p. 318 |
The Home Interface | p. 319 |
The Enterprise Bean Component | p. 319 |
The Primary Key Class | p. 320 |
Creating a Client to Test the Privilege EJB | p. 321 |
Summary | p. 322 |
Developing Applications Using JavaBeans | p. 323 |
Enterprise Internet Applications | p. 325 |
Introduction | p. 326 |
Intranet | p. 326 |
Consumer Electronic Commerce | p. 328 |
Credit Card Transactions | p. 328 |
Secure Consumer Electronic Commerce Systems | p. 329 |
Other Chores | p. 331 |
Extranet and Business-to-Business Electronic Commerce | p. 331 |
The Wal-Mart Story | p. 332 |
Electronic Data Interchange | p. 332 |
Doing Business on the Internet | p. 333 |
Why Java? | p. 333 |
Arguments Against Java | p. 334 |
Arguments for Java | p. 334 |
Summary | p. 335 |
Email Application | p. 337 |
Developing an Email Client to Send Email Messages | p. 338 |
Converting SendEmailBean to VJSendEmail | p. 338 |
Developing an Info Class for the Component | p. 341 |
Developing Email Client to Send Text Messages | p. 343 |
Developing an Email Client to Show Email Messages | p. 346 |
Converting ShowMessageBean to VJShowEmail | p. 346 |
Developing an Email Client to Receive Text Messages | p. 351 |
Adding Print Capability to the Application | p. 355 |
Summary | p. 357 |
Internet Chat Application | p. 359 |
Design Considerations | p. 360 |
Logging In | p. 361 |
ChatServlet | p. 365 |
Running the Application | p. 368 |
Summary | p. 369 |
E-Commerce Application | p. 371 |
Groundwork for the Application | p. 372 |
Developing Servlets for the E-Commerce Application | p. 374 |
Developing the CorbaServlet | p. 376 |
Developing the E-Commerce Servlet | p. 384 |
Running the Application | p. 387 |
Summary | p. 390 |
Project Tracking System | p. 391 |
Creating Users in a Database | p. 392 |
Creating Entries Using EJB via Servlets | p. 395 |
Running the Sample to Create Users | p. 397 |
Viewing the Project Information | p. 399 |
Servlet for Viewing Project Information | p. 400 |
Running the Project Tracking System Application | p. 409 |
Summary | p. 411 |
Employee Tracking System | p. 413 |
Developing a Servlet for Tracking Employee Information | p. 414 |
Developing a Servlet Using LDAPBean | p. 414 |
Running the Employee Tracking System Application | p. 423 |
Developing a Servlet Using JNDIBean | p. 425 |
Running the Application | p. 426 |
Developing a Servlet for Modifying Employee Information | p. 426 |
Logging In | p. 426 |
Running the Application | p. 436 |
Summary | p. 437 |
Appendixes | p. 439 |
A Sample on Infobus | p. 441 |
Introduction | p. 442 |
Implementing InfoBus | p. 442 |
Data Producer | p. 442 |
Data Consumer | p. 446 |
Testing the Bus | p. 448 |
Summary | p. 449 |
Useful Tips | p. 451 |
Introduction | p. 452 |
String Buffer | p. 452 |
Utility Class | p. 453 |
Setting Icons for Java Studio Components | p. 453 |
Separate Business Logic and Presentation Logic in Servlets | p. 454 |
Putting all JAR Files Together | p. 454 |
Tools Usage | p. 455 |
Introduction | p. 456 |
JAR Utility | p. 456 |
Using Serialver for Bean Versioning | p. 457 |
Using EJBSamples with HomeBase Server | p. 459 |
Introduction | p. 460 |
Installing and Setting up HomeBase | p. 460 |
Using our samples with HomeBase | p. 460 |
Testing the Privilege EJB | p. 462 |
Generating Container classes for the ProjectTracker EJB | p. 462 |
Testing the ProjectTracker EJB | p. 464 |
Index | p. 465 |
Table of Contents provided by Syndetics. All Rights Reserved. |