+ All Categories
Home > Documents > Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the...

Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the...

Date post: 08-May-2020
Category:
Upload: others
View: 15 times
Download: 0 times
Share this document with a friend
16
Enterprise Java Development on a Budget: Leveraging Java Open Source Technologies BRIAN SAM-BODDEN AND CHRISTOPHER JUDD APress Media, LLC
Transcript
Page 1: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Enterprise Java Development on a Budget:

Leveraging Java Open Source Technologies

BRIAN SAM-BODDEN AND CHRISTOPHER JUDD

APress Media, LLC

Page 2: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Enterprise Dava Development on a Budget: Leveraging Dava Open Source Technologies Copyright © 2004 by Brian Sam-Bodden and Christopher Judd Originally published by Apress in 2004

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN 978-1-59059-125-3 ISBN 978-1-4302-0682-8 (eBook) DOI 10.1007/978-1-4302-0682-8

Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Technical Reviewer: Jeff Linwood Editorial Board: Steve Anglin, Dan Appleman, Gary Cornell, James Cox, Tony Davis, John Franklin, Chris Mills, Steve Rycroft, Dominic Shakeshaft, Julian Skinner, Jim Sumser, Karen Watterson, Gavin Wray, John Zukowski Project Manager: Sofia Marchant Copy Manager: Nicole LeClerc Copy Editor: Mark Nigara Production Manager: Kari Brooks Production Editor: Janet Vail Compositor: Susan Glinert Proofreader: Linda Seifert Indexer: Rebecca Plunkett Artist: Kinetic Publishing Services, LLC Cover Designer: Kurt Krames Manufacturing Manager: Tom Debolski In the United States: phone 1-800-SPRINGER, e-mail [email protected], or visit http://wvyiw.springer-ny.com. Outside the United States: fax +49 6221 345229, e-mail [email protected], or visit http://www.springer.de. For information on translations, please contact Apress direcdy at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail inf o@apress. com, or visit http://www.apress.com. The information in this book is distributed on an "as is" basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused direcdy or indirectiy by the information contained in this work. The source code for this book is available to readers at http: //www. apress. com in the Downloads section.

ii

Enterprise Java Development on a Budget: Leveraging Java Open Source Technologies Copyright © 2004 by Brian Sam-Bodden and Christopher Judd Originally published by Apress in 2004

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.

ISBN 978-1-59059-125-3 ISBN 978-1-4302-0682-8 (eBook) DOl 10.1007/978-1-4302-0682-8

Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.

Technical Reviewer: Jeff linwood

Editorial Board: Steve Anglin, Dan Appleman, Gary Cornell, James Cox, Tony Davis, John Franklin, Chris Mills, Steve Rycroft, Dominic Shakeshaft, Julian Skinner, Jim Sumser, Karen Watterson, Gavin Wray, John Zukowski

Project Manager: Sofia Marchant

Copy Manager: Nicole leClerc

Copy Editor: Mark Nigara

Production Manager: Karl Brooks

Production Editor: Janet Vail

Compositor: Susan Glinert

Proofreader: linda Seifert

Indexer: Rebecca Plunkett

Artist: Kinetic Publishing Services, LLC

Cover Designer: Kurt Krames

Manufacturing Manager: Tom Debolski

In the United States: phone I-BOO-SPRINGER, e-mail [email protected]. or visit http://www.springer-ny.com. Outside the United States: fax +49 6221 345229, e-mail [email protected],orvisn http://www.springer.de.

For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail [email protected], or visit http://www.apress.com.

The information in this book is distributed on an "as isn basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work.

The source code for this book is available to readers at http://www.apress.comin the Downloads section.

Page 3: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

To the memory of my father Gilberto, To the courage of my mother Arlene,

To the love of my sisters Karen and Krystel, To my tlTia" Donna,

To my wife and best friend Anne, And to my baby boy Michael.

-Brian

To my supportive wife and best friend Sue, To all the individuals and organizations who have contributed

their time, talents, and treasures to Open Source, And to my Heavenly Father for all the blessings

he has bestowed upon me. -Chris

Page 4: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Contents at a Glance

Foreword .................................................................................................................. xi

About the Authors ............................................................................................. xiii

About the Technical Reviewer ....................................................................... xv

Acknowledgments ................................................................................................ xvii

Preface .................................................................................................................. xix

Chapter 1. The Open Source and Java Synergy ................................. 1

Chapter 2 Design with ArgoUML ........................................................... 27

Chapter 3 Development and Build System with Ant .................... 79

Chapter 4 Testing ................................................................................... 125

Chapter 5 Business Tier with JBoss .............................................. 149

Chapter 6 Data Storage Options ....................................................... 265

Chapter 7 Object-Relational Mapping ............................................ 333

Chapter 8 MVC Frameworks and the PresePntation Tier ......... 407

Chapter 9 Web Services and Mobile Clients ............................... 449

Chapter 1.0 Rich Clients with the SWT and JFace ...................... 481

Appendix A Open Source Catalog ......................................................... 561

Appendix B CVS Primer ............................................................................. 565

Index ...................................................................................................................... 579

v

Page 5: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Contents

Foreword ............................................................................................................... xi

·About the Authors ..................................................................................... xiii

About the Technical Reviewer ........................................................... xv

Acknowledgments .......................................................................................... xvii

Preface ............................................................................................................... xix

Chapter 1 The Open Source and Java Synergy .................... 1

Official Open Source Definition ................................................................. 2 Open Source Licenses ......................................................................................... 3 Advantages and Disadvantages of Open Source ....................................... 6 Contributing to Open Source .......................................................................... 9 Strategic Uses of Open Source ..................................................................... 9 Useful Open Source-Related Resources .................................................... 11 Case Study ............................................................................................................. 12 Technology Conference Management System

Case Study Background .............................................................................. 13 Open Issues and Assumptions ........................................................................ 23 Summary ................................................................................................................... 25

Chapter 2 Design with ArgoUML ................................................... 27

Object-Oriented Analysis and Design Overview ................................... 28 The Unified Modeling Lllnguage ................................................................... 31 Code Generation and Round- Trip Engineering ....................................... 37 Methodologies, Processes, and the UML .................................................. 37 Design Roadmap .................................................................................................... 40 ArgoUML ................................................................................................................... 42 Case Study: Modeling the TCMS with ArgoUML ....................................... 53 Best Practices .................................................................................................... 76 Summary ................................................................................................................... 77

vii

Page 6: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Contents

Chapter 3 Development and Build System with Ant ................................................................................ 79

The Build Process .............................................................................................. 80 Continuous Integration ................................................................................... 82 Automating the Build Process with Apache's Ant .............................. 83 Case Study: Building the Technology Conference

Management System with Ant ................................................................. 103 Conclusions ......................................................................................................... 124

Chapter 4 Testing ................................................................................ 125

Testing Best Practices ................................................................................. 125 JUnit Principles .............................................................................................. 127 JUnit Extensions .............................................................................................. 138 Conclusions ......................................................................................................... 148

Chapter 5 Business Tier with JBoss ..................................... 149

J2EE: A Different Development Paradigm .............................................. 150 Considerations for the Business Tier .................................................. 153 JBoss: The Open Source Choice for the Business Tier .................. 162 Case Study: Technology Conference Management System

Business Tier on JBoss .......................................................................... 171 Summary .................................................................................................................. 264

Chapter 6 Data Storage Options ............................................... 265

Choosing Between Object and Relational Databases ........................ 268 Relational Database Choices ...................................................................... 271 Pure Java Databases ....................................................................................... 273 Java Object-Oriented Database Management System .......................... 284 Other Data-Storage Technologies ............................................................. 330 Conclusion ........................................................................................................... 332

Chapter 7 Object-Relational Mapping .................................. 333

The Object-Relational Impedance Mismatch .......................................... 334 Object-Relational Mapping .......................................................................... 335

Apache DB Project's Object Relational Bridge ................................. 339 Hibernate ............................................................................................................. 381 Conclusions ......................................................................................................... 404

viii

Page 7: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Contents

Chapter 8 MVC Frameworks and the PresePntation Tier .................................................... 407

Model-View-Controller Frameworks ........................................................... 408 Struts Overview ................................................................................................ 409 Tiles ...................................................................................................................... 417 Struts .................................................................................................................... 424

Conclusion ........................................................................................................... 447

Chapter 9 Web Services and Mobile Clients .................. 449

Web Services and Axis ................................................................................... 449

Producing Services ......................................................................................... 453

Consuming Services ......................................................................................... 463

Mobile Consumer ................................................................................................ 465 Conclusion ........................................................................................................... 480

Chapter 10 Rich Clients with the SWT and JFace ........ 481

Java on the Desktop ....................................................................................... 482

The Eclipse User Interface Frameworks ................................................ 484 SWT Primer ........................................................................................................... 488 JFace Primer ...................................................................................................... 502 Case Study: TCMS Admin System ................................................................. 509 Conclusions ......................................................................................................... 559

Appendix A Open Source Catalog ................................................. 561

Appendix B CVS Primer ........................................................................ 565

CVS Architecture .............................................................................................. 565 CVS Concepts ...................................................................................................... 567 CVS Commands ...................................................................................................... 567

CVS Clients ......................................................................................................... 569

Conclusion ........................................................................................................... 576

Further Reading ................................................................................................ 577

Index ................................................................................................................... 579

ix

Page 8: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Foreword

J2EE DEVELOPMENT IS HARD. I've been developing with Java for the past six years, and there are areas of the enormous API that I haven't touched. J2EE covers security,

distributed transactions, persistence, messaging, web services, interoperability, and much, much more. Enterprise Java development doesn't mean coding only

with this API, but rather involves the entire suite of Java editions. J2EE layers on top of the standard edition (J2SE). And to make your head spin even further, J2ME

entered the rapidly growing mobile world.

To exacerbate matters, our industry still reels from the great .com shakeout.

Like many of you, I experience.d the joy of being dot bombed ... twice. We rise from

the ashes to contend with more complexity and fewer resources than ever. Our

teams are smaller and budgets are tighter. Failure is not an option. Do not despair,

however.

In fact, times have never been better! Smaller teams allow us to act and react more

quickly. Attention to fiscal responsibility means that we focus on client satisfaction and quality workmanship. From our need to simplify, the agile methodologies

speak to us at an instinctive level. "The hard and stiff will be broken. The soft and

supple will prevail." 1 We create software. As such, it is malleable. Refactoring keeps code clean as requirements change. As code evolves, keeping top-notch quality demands that we test. Testing addresses complexity, partly. We can focus on a

single unit at a time, test it thoroughly, and build upon it with confidence. Kent Beck said, '~y program feature without an automated test simply doesn't

exist," which speaks to the importance of confidence and another facet, automation.2

Repetitive tasks are vital, such as a heart beating. Such repetitive tasks, though,

should be effortless. The failure of such tasks elicits grave concern. Effortless, yet unmistakably vital-otherwise the complexity would overwhelm us and suffocate

our projects. Open Source factors into both the testing and automation realms of Java

development. JUnit and Ant are the de facto standards, and are built into all modem

development environments. These projects, and the others discussed in this book such as Struts, Hibernate, and XDoclet represent more than just free software to

use. Communities are thriving around these projects, and you benefit from the

collective contributions of individuals around the world. Besides addressing the

problems of a limited budget, Open Source addresses the complexity and quality

1. Tao Te Ching.

2. Beck, Kent. Extreme Programming Explained: Embrace Change (Addison-Wesley, 1999) p. 57.

xi

Page 9: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Foreword

xii

issues from several angles. Common problems generally have open source alter­natives; avoid the reinvention of the wheel and concentrate on adding business value, not plumbing. Many Open Source projects have comprehensive test suites, thereby relieving you of reliability concerns. And when the inevitable bug appears in an Open Source library, or a need for enhancement, robust test suites make opening the hood a real joy. Thne in to the mailing lists, and other avenues of collaboration including wilds and blogs, of the Open Source projects you leverage. It's common­place that questions are answered within minutes, putting to shame most commercial support contracts.

All of this philosophizing leaves us wondering what to do next. We have real work to do, and real deadlines to meet Deriving from a Greek word meaning "to do," pragmatic is what we must be. As pragmatic programmers, books are a fundamental part of our craft. The book you're holding contains many gems of wisdom gleaned from hard work. There's no substitute for experience, but it would be foolish not to learn from the experiences of others. I prefer practical examples and the voice of experience on technical topics, and this book provides both. Chris and Brian have made one oflife's greatest sacrifices, the authoring of a book. I commend them for their effort, and applaud them for the qUality.

-Erik Hatcher Coauthor of lava Development with Ant (Manning 2003) and Lucene in Action (forthcoming from Manning 2004) Member, Apache Software Foundation Committer, Ant, XDoclet, Lucene, and Tapestry

Page 10: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

About the Authors

Brian Sam-Bodden has been working with object technologies for the last nine years with a strong emphasis on the Java platform. He holds dual bachelor degrees from Ohio Wesleyan University in computer science and physics. He currently serves as president and chief software architect for Integrallis Software, LLC (http://WiM.integrallis.com). He has worked as an architect, developer, mentor, and trainer for several Fortune 500 companies in industries such as taxes, insurance, retail sciences, telecommunications, distribution, banking, finance, aviation, and scientific data management. As an independent consultant, Brian has promoted the use of Open Source in the industry by educating his clients on the cost benefit and pro­ductivity gains achieved by it. He is a Sun Certified Java programmer, developer, and architect. Brian is a frequent speaker at Java user groups and at conferences throughout the country. You can contact him at bsbodden@integrallis. com.

Christopher Judd is the president and primary consultant for Judd Solutions, LLC (http://www.juddsolutions.com) , and is an international speaker, Open Source evangelist, Central Ohio Java Users Group (http://www . coj ug. org) board member and JBuilder-certified developer and instructor. He has spent the last nine years developing software in the insurance, retail, government, manufacturing, service, and transportation industries. His current focus is consulting, mentoring, and training with Java, J2EE, J2ME, web services, and related technologies. He also holds a bachelor's degree from Ashland University in computer information systems with minors in accounting and finance. You can contact Chris at [email protected].

xiii

Page 11: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

About the Technical Reviewer

Jeff Linwood is a software developer and consultant for the Gossamer Group, LLC in Austin, TX. As a consultant, he has designed and developed J2EE content management solutions for several Fortune 500 companies. Jeff is the coauthor of the book Professional Struts Applications: Building Web Sites with Struts, Object-Relational Bridge, Lucene, and Velocity (Apress 2003), and has written articles for JavaWorld (http://www.javaworld.coml) and Dr. Dobb's]ournal.

xv

Page 12: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Acknowledgments

TIns BOOK HAS BEEN a long time coming and, like an Open Source project, is the labor of many. It would not be in your hands without the kind help of many people.

We wish to extend our gratitude to the hardworking folks at Apress, including Jason Gilmore for getting us started down the path of authorship, our editors John Zukowski, Craig Berry, and Steve Anglin, all of whom contributed to shape the big picture of what this book was to become. A million thanks to the team that molded our technology ramblings into a coherent body of work: our tireless and forgiving project manager Sofia Marchant, our copy editor Mark Nigara, our production editor Janet Vail, and our copy manager Nicole LeClerc. Thanks also to Bobby Harris and Rob Warner, the authors of The Definitive Guide to SWT andlFace (forthcoming from Apress 2004), for their help.

As consultants we're engaged in an endless cycle oflearning and teaching and without the input and opinions of numerous colleagues who have reviewed and engaged in dialogue with us this work would not be what it is. We wish to thank Jeff Linwood, our technical reviewer for sticking with us for what must have seemed like an eternity. We also wish to thank some of the informal reviewers who took time out of their busy lives to comb through our work, including Erik Hatcher, CraigAsplund, Chris Asplund, David Vu, Bret McGee, Matt Arnett, and TIm Hatfield.

While writing this book, we experienced one of the aspects of Open Source that you would never get from a commercial vendor: free help unencumbered from the greed of profit. We wish to thank many of the members of the Open Source com­munity for their assistance, including Per Nyfelt, Leo Mekenkamp, Thomas Mahler, Robert Muir Coup, Armin Waibel, Thomas Dudziak, Klaus Wuestefeld, Michael Glogl, and Aleksey Aristov.

Finally, we want to thank you the reader, for without you this book would be a pointless exercise.

xvii

Page 13: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Preface

lbDAY TIlE JAVA 2 PLATFORM, Enterprise Edition (J2EE) is the most complete and effective platform for enterprise development. J2EE unifies and embodies the knowledge gained from building up-to-date, multitier applications, and provides this knowledge as a standardized set of modular components and services. We believe that J2EE simplifies many aspects of enterprise computing, but it is by no means a simple technology to master. The technology choices, techniques, APIs, and patterns can be overwhelming.

Open Source has had a profound effect on the Java community. As consultants, we know that every new assignment brings new challenges. During our day-to-day work we've found Open Source to be invaluable for simplifying the work of our teams and helping us to concentrate on what really matters.

Enterprise Java Development on a Budget: Leveraging Java Open Source Technologies is a book for Java professionals who look beyond the tools placed in their hands by their employers. It's a book for those trailblazers who time and again tell their colleagues, "I've been playing with this tool. .. and I think this could really make our lives·easier." This book compiles the experiences of two seasoned Java developers and gives the reader a roadmap of best practices and Open Source tools that will support those practices. Open Source is more than just free software; it's a force that's shaping the way we think about software and how software is made. Open Source and Java are a perfect combination to tackle the challenges of enterprise development with an open, extensible, nonproprietary arsenal that reflects the best that the industry has to offer.

What This Book Is About

This book is about Open Source in the world of J2EE development and how it can give you choices to replace or enhance what is commercially available. The book covers tools and projects that encompass many aspects of building an enterprise application, from development and testing to deployment. We focused on delivering real code for real programmers, but wanted to give you a sound foundation on the topics covered as well.

xix

Page 14: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Preface

xx

What This Book Is Not

This book isn't another rehash of online documentation and it doesn't cover every esoteric feature of the tools used. Instead it's an example of how to use Open Source tools in synergy while developing a real application. Only relevant features are covered and whenever there's a topic or feature that we don't cover, we attempt to point you in the right direction so that you can expand your knowledge.

Who Should Read This Book

This book is aimed at moderately experienced Java developers who have an inter­mediate knowledge of J2EE, and who are looking to learn how to maximize their productivity. Additionally, this book offers readers a guide to explore some of the roads less traveled when it comes to enterprise Java development.

Guide for Readers

Like the software covered in this book, the book itself was written in an agile fashion, with many rounds of refactoring involved. One of the consequences of agile devel­opment and XP is that software is no longer built in a linear or waterfall fashion, yet books have to be clearly divided into chapters. We attempted to divide the book into chapters so that each chapter deals with an aspect of the design and development of the application as it relates to a specific tool or the specific framework being used. In areas of the application where there may be implementation choices in terms of which Open Source project to use, we'll show one or more possible paths and explain why, in the context of the application, we chose one tool vs. a similar one. The book is composed of ten chapters.

• Chapter 1: This chapter begins by briefly talking about Open Source and Java and then moves to explain the case study system that you'll be constructing throughout the rest of the book.

• Chapter 2: This chapter covers the UML design tool ArgoUML and intro­duces some of the techniques used to produce the design of the case study application.

• Chapter 3: This chapter sets out to create a solid Ant-based build system that will be used in the rest of the book. This chapter offers "best practices" and a collection of Ant-based tools that can improve your builds.

Page 15: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

• Chapter 4: This chapter offers a concise look at testing in J2EE by introducing JUnit, Cactus, and DBUnit testing.

• Chapter 5: This chapter sets out to build the business tier of the case study application using EJBs on JBoss. This chapter sets the stage for subsequent chapters by showing alternative ways to tackle different tiers of the application.

• Chapter 6: This chapter covers the different choices available to store enter­prise data in J2EE. From relational databases to object-oriented databases, in this chapter you'll learn how to integrate and work with data storage technologies.

• Chapter 7: This chapter covers object-relational mapping tools with OJB and Hibernate and gives you an introduction to the sometimes frustrating task of mapping objects to relational databases.

• Chapter 8: This chapter shows how to use the Struts and Tiles frameworks to create the web tier of the case study application.

• Chapter 9: This chapter delves into web services and how you can produce and consume them in a J2EE application. AJ2ME mobile client is also created to show how you can integrate different channels into a J2EE application.

• Chapter 10: This chapter deals with the creation of a management utility application for the case study application using the SWT IJFace user interface frameworks.

Enterprise Java developers are usually grouped into myriad categories, including architects, presentation tier developers, server-side developers, and data devel­opers to name a few of the commonly used monikers. If you're in management or the tools that you use depend on somebody in management we strongly suggest you read Chapter 1. If you're an architect or a designer, Chapter 2 might give you some techniques that you might not have encountered before. For anybody dealing with the creation or maintenance of a build system, Chapter 3 is a must. For the server-side developer, Chapters 4 and 5 will provide a good foundation. For those involved with data, Chapters 6 and 7 deal with many of the issues you'll encounter. For those wanting to learn about presentation technologies, Chapter 8 provides a good introduction to the Struts framework. For those wanting to explore the world of Web Services as they relate to J2EE, Chapter 9 gives a good introduction to the Axis web services framework. For those looking to build a great-looking adminis­tration interface or rich UI clients, Chapter 10 provides an alternative to Swing andAWT.

Preface

xxi

Page 16: Enterprise Java Development on a Budget: Leveraging Java ...978-1-4302-0682-8/1.pdf · To the memory of my father Gilberto, To the courage of my mother Arlene, To the love of my sisters

Preface

xxii

Companion Website and Contact Information

The official companion website where you can get software, updates, errata, and other materials is http://www.ejdoab.com. We realize that tools evolve rapidly, especially in the Open Source arena, so we'll strive to give you tips and suggestions on this site that will keep you abreast of the major changes in any of the tools used in this book.

We also invite you to inquiry, debate, and discuss your opinions about this and any other topic at the Apress Forums located at http://forums . apress. com/.


Recommended