The first chapter provides a quick tour of WebLogic Server. It offers an overview of the J2EE and other enterprise features supported by WebLogic. We explore the fundamental WebLogic resources such as domains, servers, and clusters. We also look at essential administration tasks such as starting and stopping the server. The remaining chapters in the book can be grouped into three categories: those that deal with J2EE, those that deal with WebLogic management, and finally, those that focus on WebLogic’s own enterprise APIs.
The first part of the book examines WebLogic’s rich support for the various J2EE services. WebLogic is a fully compliant J2EE application server, and it provides a mature environment for building robust, server-side, component-based applications.
Chapter 2 and Chapter 3 give in-depth coverage of how to build web applications on WebLogic. We examine how to configure servlets and JSP pages on WebLogic Server. We look at how to incorporate custom JSP tags and filters into your web applications, and we explain how to package and deploy your web applications on WebLogic. We also learn about WebLogic-specific custom tags and filters, and how to create tag libraries from prebuilt EJBs. We look at how to configure the behavior of the servlet engine (web container) using the XML deployment descriptors for a web application. We discuss how WebLogic manages server-side HTTP sessions in a clustered environment, how to restrict access to specific web resources, and how to use commercial web servers to proxy requests to WebLogic Server. Moreover, we explore the many ways WebLogic lets you configure its HTTP server.
Chapter 4 explains how resources are published over WebLogic’s JNDI service. We examine how WebLogic’s JNDI operates in a clustered environment. Later, we look at how to build RMI applications, and explore the various optimizations intrinsic to WebLogic’s RMI. Finally, we learn how RMI objects can be accessible to both T3 and IIOP clients. Chapter 5 looks at WebLogic’s support for JDBC connection pools and how data sources enable you to access these pools. Chapter 6 examines the use of distributed transactions in WebLogic. Chapter 7 looks at how to use JCA-compliant resource adapters to enable WebLogic applications to connect to proprietary enterprise stores. Chapter 8 provides an in-depth look at creating JMS applications and using WebLogic-specific features such as quotas, flow control, timed delivery options, XML-formatted messages, and bridging with other JMS providers. Chapter 9 succinctly covers how to configure JavaMail on WebLogic, thereby allowing deployed applications to send and receive electronic mail.
The next two chapters investigate WebLogic’s support for Enterprise JavaBeans© (EJBs). In Chapter 10, we learn about the various EJB types and how to package and deploy EJB components. We also describe the behavior of WebLogic’s EJB container and the various ways you can influence the runtime behavior of your EJBs. We demonstrate how you can adjust the size of the free pool of EJBs and the in-memory EJB cache. We also look at the various optimizations for EJBs, such as network and transactional collocation, optimistic concurrency strategy, and read-only entity beans that can rely on a multicast invalidation framework. Most importantly, we explore how WebLogic incorporates load-balancing and failover support for EJBs deployed in a clustered environment.
Chapter 11 explains how to create container-managed persistence (CMP) entity beans, while concurrently introducing the features of WebLogic’s CMP engine. Later, we look at how to implement container-managed relationships (CMR) between entity beans. We also examine the EJB-Query Language (EJB QL) syntax, and learn about the WebLogic-specific extensions to EJB QL.
The middle portion of the book examines the post-development aspects of WebLogic applications. We look at how to package and deploy your applications, configure and optimize the runtime WebLogic environment, and deal with security issues. Chapter 12 explains how to package J2EE applications using available WebLogic tools. We also learn about WebLogic’s classloader hierarchy and its impact on your deployment. Finally, we discuss the new two-phase deployment strategy in WebLogic Server, and the usefulness of application staging. Chapter 13 looks at how to manage the different resources and services that live in a WebLogic domain spread across multiple machines. It also covers monitoring the health of servers in the domain, configuring network resources, and planning for additional capacity.
Chapter 14 provides an understanding of WebLogic’s support for clustering, with a strong emphasis on its load-balancing and failover capabilities. It examines how various J2EE resources behave in a clustered environment. It also analyzes the performance and design implications of adopting different clustered solutions for your application’s architecture. Chapter 15 explains the implications of tuning various performance-related configuration settings, and how to improve the performance of the JVM, the applications deployed to WebLogic, and the server itself. Chapter 16 provides all the details necessary to configure WebLogic’s SSL support, and create your own programs that use WebLogic’s SSL support. Chapter 17 explores the many services implemented under the hood of WebLogic’s default security realm. It explains the behavior of WebLogic’s security providers, its authentication framework, and declarative security for various J2EE components.
In the last section of the book, we examine important enterprise WebLogic services that would attract many more developers and administrators. Chapter 18 looks at WebLogic’s support for XML, including XML Registries, application-scoped XML parsers, event-driven parsing using the Streaming API, and other miscellaneous extensions. Chapter 19 describes how to create WebLogic web services over existing J2EE components. It explains how you can build JAX-RPC clients that interact with deployed web services, generate the necessary support for custom types, and set up a chain of handlers that can intercept SOAP request messages and SOAP response messages. It also describes how you can secure WebLogic web services and write clients that can invoke these protected web services. Finally, it explains how to publish and then inquire about web services advertised over the local UDDI registry.
Chapter 20 provides an overview of WebLogic’s JMX services and how you can use managed beans (MBeans) to programmatically administer and/or monitor WebLogic resources. Chapter 21 covers WebLogic’s support for internationalization and logging. Chapter 22 looks at how administrators can integrate WebLogic into an SNMP-compliant management infrastructure. It provides an overview of the SNMP agent model and how you can implement an SNMP view of the WebLogic Server.