Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

Introduction

Introduction

Professional Oracle WebLogic Server is different from other books about WebLogic Server and Java EE technologies.

First, it is an advanced-level book designed to complement the Oracle online documentation and other introductory books on Java EE and WebLogic Server technologies, providing intermediate- to advancedlevel developers, architects, and administrators with in-depth coverage of key Java EE development and deployment topics. We skip the basic material, avoid duplicating basic references or information easily obtained elsewhere, and focus on information and techniques not available anywhere else. Written by a team of Oracle insiders and experts in the development of enterprise-class Java EE applications, this book starts where other books and references stop.

Second, this is a book with an opinion. Rather than simply articulating the options available to solve a given problem and leaving it up to you to decide, we share our thought process and give you concrete recommendations and best practices for use in your own application-development and administration efforts. Different design solutions, architectures, construction techniques, deployment options, and management techniques are presented and explained — but we do not stop there. We go on and explain the benefits of a given alternative and when to use it. We want you to understand not just how things can be done, but also how they should be done.

Finally, the primary example application built and described in these pages is a realistic, complex application that highlights many of the features of Java EE technologies in general and Oracle WebLogic Server 11g in particular. The example application leverages key technologies such as JSP, Spring MVC, EJB 3.0, JPA, JMS, and Web Services to demonstrate their use, and the text walks you through each decision made during the design, development, and deployment of the application to assist you in making similar decisions in your own efforts.

Who This Book Is For

Professional Oracle WebLogic Server is not intended to be a primer or introductory book on Java EE technologies or the WebLogic Server environment. Written as an advanced-level book with minimal coverage of basic concepts, this book is for experienced developers and WebLogic Server administrators looking to take their knowledge of these technologies to the next level.

What This Book Covers

This book is focused on Java EE development, deployment, and administration using the latest release of Oracle WebLogic Server, 11g. Many of the technologies, frameworks, deployment techniques, and management tools described in the book require this version of WebLogic Server and the latest versions of the Java EE environment and various libraries and frameworks. The primary example application built in the book, bigrez.com, also requires WebLogic Server 11g.

That said, the authors do not subscribe to the newer-is-always-better school of technology. Where it makes sense, tried-and-true versions of Java EE frameworks and libraries are used in the examples if these choices meet our requirements and get the job done.

The following is a partial list of the technologies and frameworks described, compared, and used (or not used) in this book and its examples:

  • EJB 3.0, JPA, OpenJPA, Kodo, TopLink

  • Java 6, Spring 2.5 MVC, Jakarta Struts 1.2, JSP 2.0, Tiles 2.0

  • JMS 1.1, SOAP 1.1, JAX-WS 2.1

  • JAAS, SAML 1.1 and 2.0, XACML, SSL, TLS 1.0, JSSE

  • JMX, SNMP, WLST, WLDF

How This Book Is Structured

Professional Oracle WebLogic Server is organized around three key themes:

  • Walking you through the design, construction, and deployment of a realistic example application.

  • Discussing advanced topics and best practices in areas such as security, administration, performance tuning, and configuration of WebLogic Server environments.

  • Providing you with best practices for developing, deploying, and managing your own WebLogic Server applications.

The first 10 chapters focus on the first theme, and the next 5 target the second theme; best practices are a focus throughout the entire book. Here is a brief description of each chapter to help you understand the scope and organization of the book:

Chapter 1 reviews key web application concepts and technologies and then discusses advanced topics such as JSTL, the expression language, custom tags, and servlet filtering.

Chapter 2 examines the presentation-tier requirements that drive web application architectures, compares three different candidate architectures, and makes specific recommendations to help you choose an appropriate architecture for your WebLogic Server application.

Chapter 3 details the design of the presentation tier of a fairly large and complex Java EE application. Topics include alternative page assembly techniques, business-tier interfaces, and the requirements of the example application that led to the chosen design.

Chapter 4 walks through the construction of the Spring MVC – and JSP-based example web application. Construction techniques unique to WebLogic Server are emphasized along with the components and techniques resulting from the choice of presentation approach, web application architecture, and business-tier interaction techniques.

Chapter 5 discusses the steps required to package and deploy a WebLogic Server web application with an emphasis on WebLogic Server–specific techniques and best practices.

Chapter 6 examines options and best practices for implementing Enterprise JavaBeans (EJB) and related persistence technologies in WebLogic Server 11g. After a brief review of EJB technology, the focus turns to the JPA persistence specification and the OpenJPA and Kodo implementations. The final half of the chapter then discusses key EJB-related features in WebLogic Server 11g and explains how best to leverage them in your development efforts.

Chapter 7 walks through the design and construction of the business tier of the example application started in Chapters 14, highlighting key concepts and best practices. Candidate businesstier architectures are first identified and examined in light of a representative set of business-tier requirements. Next, the techniques required to implement the chosen EJB architecture are covered in detail to highlight implementation details and best practices. Finally, the chosen JPA implementation (Kodo) is swapped out in favor of an alternative implementation (TopLink) to show the ease with which this can be done.

Chapter 8 discusses the steps required to package and deploy WebLogic Server enterprise applications. The basic structures of EJB modules and enterprise applications are reviewed, techniques for packaging JPA persistent units are discussed, Ant-based build processes are presented, options for packaging enterprise applications are compared, and deployment techniques for WebLogic Server development environments are examined.

Chapter 9 reviews web services technology, describes WebLogic Server 11g support for web services, and presents key best practices related to web services. Example web services are created using WebLogic Server utilities, advanced web services features in WebLogic Server are discussed, and a web service is built to interface with the primary example program in the book.

Chapter 10 presents information and best practices related to the WebLogic Server JMS implementation. Topics include JMS clustering and high availability, the various JMS client options, WebLogic JMS provider configuration, JMS application design considerations, building applications that leverage WebLogic JMS, and integrating with external JMS providers.

Chapter 11 covers important topics related to WebLogic Server security, including the WebLogic Server Security Service, the WebLogic Security Framework and its built-in providers, integrating with external authentication providers, setting up secure client-server and server-to-server communication, managing application security, and configuring WebLogic Server for single sign-on.

Chapter 12 focuses on WebLogic Server administration and the architecture of the WebLogic Server product. This is not a users' guide to the administration console, but rather an in-depth look at the internal architecture of WebLogic Server, a discussion of important administrative concepts such as server health states and network channels, and a thorough treatment of the configuration, monitoring, and management of WebLogic Server and WebLogic Server–based applications.

Chapter 13 presents best practices for delivering and troubleshooting scalable high-performance systems. It includes a discussion of core principles and strategies for scalable Java EE systems, a collection of important design patterns and best practices that affect performance and scalability, and steps and techniques you can use to improve performance and solve scalability issues in your systems.

Chapter 14 rounds out the discussion of development-related best practices with recommendations in key areas related to the development environment. Topics include development environment hardware and software, proper installation of WebLogic Server in the development environment, organizing your project directory structure, establishing a build process, choosing appropriate development tools, and creating a unit testing infrastructure for your project.

Chapter 15 discusses strategies and best practices for deploying WebLogic Server applications in a production environment, focusing on production deployment strategies, global traffic management solutions, and production security best practices.

What You Need to Use This Book

The examples and best practices in this book are based on Oracle's WebLogic Server 11g application server, available from the Oracle download site at http://otn.oracle.com/. Download and install this product if you plan to build and deploy any of the example applications.

The WebLogic Server 11g installer includes a version of Eclipse suitable for viewing and editing the example code. Alternatively, you may prefer to use Oracle JDeveloper 11g, or another Java development tool. Chapter 14 contains full details about how to install and configure Eclipse and JDeveloper.

Finally, the main example program in this book assumes that you have a copy of the Oracle RDBMS available in your environment. We used the full Oracle Database 10g. Oracle Database 11g, or the 10g Express Edition (also known as Oracle XE) should also work fine. See the Oracle download site at http://otn.oracle.com/database for a trial copy of the database software.

Source Code

As you work through the examples in this book, you may choose either to type in all the code manually or to use the source code files that accompany the book. All of the source code used in this book is available for download at www.wrox.com. Once at the site, simply locate the book's title (either by using the Search box or by using one of the title lists) and click the Download Code link on the book's detail page to obtain all the source code for the book.

Because many books have similar titles, you may find it easiest to search by ISBN; this book's ISBN is 978-0-470-48430-2.

Once you download the code, just decompress it with your favorite compression tool. Alternately, you can go to the main Wrox code download page at www.wrox.com/dynamic/books/download.aspx to see the code available for this book and all other Wrox books.

Errata

We make every effort to ensure that there are no errors in the text or in the code. However, no one is perfect, and mistakes do occur. If you find an error in one of our books, like a spelling mistake or faulty piece of code, we would be very grateful for your feedback. By sending in errata you may save another reader hours of frustration and at the same time you will be helping us provide even higher quality information.

To find the errata page for this book, go to www.wrox.com and locate the title using the Search box or one of the title lists. Then, on the book details page, click the Book Errata link. On this page you can view all errata that has been submitted for this book and posted by Wrox editors. A complete book list including links to each book's errata is also available at www.wrox.com/misc-pages/booklist.shtml.

If you don't spot "your" error on the Book Errata page, go to www.wrox.com/contact/techsupport. shtml and complete the form there to send us the error you have found. We'll check the information and, if appropriate, post a message to the book's errata page and fix the problem in subsequent editions of the book.

Online Appendix

Within the text of this book, the authors occasionally refer you to online information available at sites like http://otn.oracle.com/ and http://java.sun.com/ to supplement the discussions within this book. The authors found that in many cases the desired reference URLs were both long — making them nearly impossible to type accurately — and had a tendency to change over time as documentation was modified and expanded. For this reason, actual addresses for additional reference material are not included in this text. Instead, an online Appendix available at www.wrox.com/ compiles and organizes all referenced URLs by chapter. The text itself refers to these links by number, e.g., Link 3-1. If you are interested in locating and reading online reference information mentioned in the text, download the online Appendix from www.wrox.com/ and use the addresses found therein.

p2p.wrox.com

For author and peer discussion, join the P2P forums at p2p.wrox.com. The forums are a web-based system for you to post messages relating to Wrox books and related technologies and interact with other readers and technology users. The forums offer a subscription feature to e-mail you topics of interest of your choosing when new posts are made to the forums. Wrox authors, editors, other industry experts, and your fellow readers are present on these forums.

At http://p2p.wrox.com you will find a number of different forums that will help you not only as you read this book, but also as you develop your own applications. To join the forums, just follow these steps:

  1. Go to p2p.wrox.com and click the Register link.

  2. Read the terms of use and click Agree.

  3. Complete the required information to join as well as any optional information you wish to provide and click Submit.

  4. You will receive an e-mail with information describing how to verify your account and complete the joining process.

You can read messages in the forums without joining P2P but in order to post your own messages, you must join.

Once you join, you can post new messages and respond to messages other users post. You can read messages at any time on the Web. If you would like to have new messages from a particular forum e-mailed to you, click the Subscribe to this Forum icon by the forum name in the forum listing.

For more information about how to use the Wrox P2P, be sure to read the P2P FAQs for answers to questions about how the forum software works as well as many common questions specific to P2P and Wrox books. To read the FAQs, click the FAQ link on any P2P page.