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
  • PrintPrint
Share this Page URL
Help

Introduction

Introduction

Service-Oriented Architecture is one of the major trends of our time in enterprise and IT architecture. The promise of business agility, lower costs, and improved quality of operations that SOA presents to business, based on concepts such as loose coupling, reuse, encapsulation, and interoperability, attracts many organizations. Complemented with Business Process Management (BPM) and Event-Driven Architecture (EDA), SOA can add real and sustained business value to enterprises.

Adopting SOA in an organization is a serious challenge that will require major efforts at various levels, from business to IT infrastructure. Crucial to the success of SOA adoption are sometimes intangible elements, including mindset, collaboration across departments and lines of business, communication, process orientation, and business analysis—in terms of interfaces and contracts, with focus on reuse and loose coupling and the implementation of proper governance.

When it comes to the actual implementation of the services and components that have been analyzed and designed, there is a need for an SOA platform—a run-time infrastructure that executes the applications and processes, handles service calls, and provides facilities around security, exception handling, and management. Enter Oracle SOA Suite 11g.

SOA Suite 11g is one of the key components in Oracle Fusion Middleware, a prominent platform to create and run agile and intelligent business applications and to maximize IT efficiency by exploiting modern hardware and software architectures.

This book explains what SOA Suite 11g is, how it can be installed and configured, and how its many components can be used to develop, deploy, and manage service-oriented artifacts. It also discusses how SOA Suite interacts with other products in Oracle FMW.

About This Book

The book is primarily targeted at software developers. Ideally the reader has some knowledge of XML, SQL, and Java and perhaps PL/SQL, but these are not required to benefit from most of the book’s content. Readers with administrative responsibilities will find a lot of material supporting them in these tasks. Testers and (technical) architects will also learn a lot from large sections in this book. IT management staff and business analysts will mainly benefit from Part I; if they have a technical background, then Part II and Part III will prove worthwhile as well.

The book is organized in five parts. Part I introduces the concepts that make up Service-Oriented Architecture and describes the history of Web Services and SOA-related standards and technology. It concludes with the installation of SOA Suite 11g and the creation and deployment of the HelloWorld equivalent in SOA applications.

Part II discusses the development of SOA composite applications using the core service components—BPMN, BPEL, Mediator, Business Rule, Spring Context, and Human Task—and the technology adapters—File System, Database, JMS, and EJB. It also introduces the Oracle Service Bus, the platform to implement the enterprise service bus that connects departments and external partners.

Part III addresses administration and management activities. It focuses on security, deployment, and lifecycle management, management of composites and composite instances, and dealing with changes. Governance is the final large topic in this part of the book.

Part IV is called “Beyond the Basics.” It introduces two products that are closely related to the SOA Suite core run time, but provide functionality that is usually considered nonessential and more advanced. These products are Oracle Complex Event Processor and Oracle Business Activity Monitor. This part also discusses the integration between SOA Suite and the Application Development Framework (ADF). The last chapter looks at the application of SOA concepts to user interfaces and also presents the case of SOA in SaaS (Software as a Service)—style applications and cloud-based infrastructures.

Part V contains a number of appendixes with background information on migration, fundamental XML technologies, detailed configuration of the SOA Suite run-time environment, and its APIs and extension points. Note that three of these appendices are provided online rather than in the printed book.

St. Matthews Hospital Center

Implementing SOA is meaningless without a tangible business context. Services address business requirements, as do composite applications. To illustrate SOA and Oracle SOA Suite, this book uses the case of a made-up hospital, called St. Matthews, that’s located in California—although it has a surprising number of Dutch traits as well.

This hospital represents a series of business challenges that are found in organizations across industries and countries. It has interactions with external parties (including customers and business partners), strives to create more efficient business processes across departments that combine automated actions and manual tasks, needs to implement security, continually faces changing requirements with ever shorter times-to-market, and hopes to gain more real-time insight into the current state of affairs.

Many of the solutions discussed in this book for St. Matthews set useful examples for similar requirements in other organizations. And at the very least, St. Matthews provides a context that most readers from many different countries will be able to relate to.

How to Use This Book

The book you are holding is not intended as a reference manual that is easily used to look up specific details on an operation or feature in the SOA Suite.

This book is primarily a guide that invites you to come along and explore the SOA Suite. It introduces concepts and real-life requirements, using the imaginary St. Matthews Hospital as the concrete example. It describes the functionality and features in particular components in the SOA Suite and applies them to actual business challenges. Through step-by-step cases that go beyond the archetypical Hello World and introductory order-processing examples, it demonstrates the application of product features, provides hints and tips for using them, and suggests best practices.

Most is gained from this book by not only browsing and reading it but by also getting your feet wet by following along with the hands-on instructions in the book and the online chapter complements. By having your hands do what your eyes are reading and your brain is processing, you will have a multichannel learning experience that delivers the most thorough and lasting results.

The main case in the book is the patient appointment process in which appointments with doctors and other staff at St. Matthews Hospital are requested, approved by insurance companies, scheduled, cancelled or kept, billed for, and reported on. The case is built up throughout the book, each chapter leveraging the work done in the previous chapters. Even though you can read individual chapters, be aware that they will often refer to decisions made in earlier chapters or implementations created in a previous stage.

There is more to this book than meets the eye. In addition to the printed volume you are currently holding (or reading on your electronic device), there are many online resources that accompany this book: the book’s wiki, the online chapter complements, and the online appendices.

Wiki

An area inside the Oracle Wiki has been prepared for this book (see Figure 1). Organized per part and per page, the wiki holds many (references to) resources, such as relevant sections in the Oracle documentation for the SOA Suite and other components in Fusion Middleware, links to the OTN forums and download pages, articles on blogs and websites that further illustrate or complement the subjects discussed in the chapter, downloadable source code for the cases in the chapter, a link to the online chapter complement, and errata. The wiki is expected to be a dynamic environment, with new resources being added as time goes by, including news on software releases, new articles and showcases, information on relevant events, and discussion threads.

The wiki for this book is located at http://wiki.oracle.com/page/Oracle+11g+SOA+Suite+Handbook.

Online Chapter Complements

There is only so much detail you can include in the 800-or-so pages available in this book. I have been struggling at times to find the right balance in the level of detail, the number of screenshots, and the scope of the topics given the physical limits of the book. I finally found the solution via online chapter complements: Most of the chapters in this book are accompanied by an online complement that provides more detailed step-by-step instructions, an abundance of screenshots, additional background information, and practical tips. Some cases are only briefly introduced in the book and worked out in detail in the complement.

Figure 1. The wiki for SOA Suite 11g Handbook with references to online resources


You will find the online chapter complements as PDF documents organized per chapter on the website http://groups.google.com/group/the-oracle-soa-suite-11g-handbook-/web.

Online Appendixes

In addition to the 21 chapters and one appendix in the book you have before you right now, there are three more appendices available online. Furthermore, an extended version of the appendix in the book has been published online as well (as Appendix A). The information in these appendices is not considered essential to every reader, but can be useful in specific conditions nevertheless. You will find these online appendices from this URL: http://groups.google.com/group/the-oracle-soa-suite-11g-handbook-/web.

Appendix A: Migration from SOA Suite 10g to 11g

Appendix A describes the aspects and approaches for migrating from SOA Suite 10g to 11g. The online complement for this appendix discusses several detailed scenarios for specific components and artifacts that may not be relevant in all situations. Among the topics discussed in this online extension are:

  • Domain Value Maps

  • Custom XPath and XSLT functions

  • Advanced BPEL characteristics, fault policies, unit test suites

  • Oracle Web Services Manager (OWSM)

  • Technology adapters (WebService, JMS, AQ, and Database)

Appendix B: XML Fundamentals

Chapter 4 contains a high-level introduction of the standards and technologies that form the foundation of the SOA Suite: XML and XSD, WSDL, and SOAP. For many readers, that overview will serve as a refresher for what they already have internalized. For others who may not have had as much exposure to Web Service technologies, it may not nearly be enough to feel comfortable around some of the discussions in the book. Appendix B provides more background and details on the fundamentals of XML, XSD, XPath, and XSLT. Furthermore, it provides links to more extensive resources.

Appendix C: Preparation and Configuration of the SOA Suite Infrastructure

Chapter 3 provides brief instructions on the installation and initial configuration of the SOA Suite. The online chapter complements for this and several other chapters contain or refer to additional instructions for configuration of the SOA Suite, the technology adapters, and some additional components such as a local e-mail server. This appendix gives detailed instructions for the configuration steps required on top of the default installation of the products to carry out all the hands-on examples described in the book.

Appendix D: SOA Suite Run-time APIs, Hooks, and Extension Points

Chapter 12 discusses how Java can be used to implement functionality inside composite applications and how SOA applications can be accessed from within Java programs. This appendix discusses the interaction from Java as well as PL/SQL with the run-time APIs of the SOA Suite itself—for example, for reporting on running and archived instances and performing administrative tasks upon them, for publishing events to the Event Delivery Network, or to leverage APIs in the workflow service and the User Messaging Service. It also describes how we can extend the functionality of the SOA Suite run-time engine by registering custom XPath functions that can add functionality to BPEL, Mediator, and Human Workflow actions.