Book Image

Oracle BAM 11gR1 Handbook

By : Pete Wang
Book Image

Oracle BAM 11gR1 Handbook

By: Pete Wang

Overview of this book

An integral component of Oracle SOA and BPM Suite, Oracle BAM (Business Activity Monitoring) ultimately empowers business executives to react quickly to changing business situations. BAM enables business service and process monitoring through real-time data streaming and operational reports, and this book helps you to take advantage of this vital tool with best practice guidance for building a BAM project."Oracle BAM 11gR1 Handbook" is an essential companion for advancing your BAM knowledge, with troubleshooting and performance tuning tips to guide you in building BAM applications. The book uses step-by-step instructions alongside a real world demo project to steer you through the pitfalls of report and application development. Packed with best practices, you'll learn about BAM migration, HA configuration and much more."Oracle BAM 11gR1 Handbook" comprises a myriad of best practices for building real-time operational dashboards, reports and alerts. The book dives straight into the architecture of Oracle BAM 11g, before moving swiftly onto concepts like managing BAM server securities, populating Data Objects and performing load testing. Later on you'll also learn about BAM migration and building an ADF-based report, plus much more that you won't want to miss. For focusing in on best practices for this integral tool within Oracle SOA and BPM Suite, "Oracle BAM 11gR1 Handbook" is the perfect guide for the job.
Table of Contents (18 chapters)
Oracle BAM 11gR1 Handbook
Credits
Foreword
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface

BAM 11gR1 architecture


In this section, we will introduce a BAM11gR1 high level architecture, and the overview of its components.

Architecture overview

BAM server is a Java EE application deployed to Weblogic Server. As shown in the following diagram, BAM server contains the following components:

  • Active Data Cache

  • Messaging Framework

  • Enterprise Messaging Sources (EMS)

  • Report Cache

  • Report Server

  • Event Engine

  • BAM Web Applications

  • BAM Web Services

Among them, Active Data Cache, Report Cache, and Report Server are the major components that are responsible for static and dynamic report rendering.

BAM server components

In this section, you will see an overview of BAM server components, what these server components are, and what services they provide.

Active Data Cache

Oracle BAM Active Data Cache (ADC) is the key BAM server component and is a high-performance, persistent, and memory-based storage system, designed to support data model management and Active Data processing.

Active Data Cache is the component that receives continuous data streams from various data sources, such as BPEL processes, SOA composites, JMS queues or topics, databases, enterprise information systems, legacy applications, and so on. It also provides the following services, which are explained as follows:

  • Persistence

  • Maintaining BAM artifacts

  • Managing data models

  • Processing Active Data

Persistence

Continuous data streams received by BAM are converted to the corresponding data models, which are persistent in the backend repository. BAM 11gR1 supports Oracle, DB2, and Microsoft SQL server as the repository. The repository is created using Repository Creation Utility (RCU) . The usage of RCU is out of the scope of this book, and you can find more information about RCU in the Oracle Fusion Middleware Repository Creation Utility User's Guide 11g Release 1 (11.1.1). Note that documentation link varies on different releases. On 11.1.1.6 release, this document can be accessed at the following URL:

http://docs.oracle.com/cd/E23943_01/doc.1111/e14259/toc.htm.

Maintaining BAM artifacts

BAM artifacts are the metadata stored in the repository. Examples of BAM artifacts are Data Objects, reports, users, and roles.

Oracle BAM schema contains a list of tables starting with SysIter, which represent system tables storing the metadata. For example, the SysIterReport table stores Report metadata, such as report definition, the created date, last modified date, and so on.

BAM artifacts are internal concepts and definitions, and it is not recommended to modify these artifacts by directly manipulating system tables. The preferred way of maintaining BAM artifacts is through the appropriate GUI tools provided by BAM.

Managing data models

BAM ADC provides methods for creating, modifying, and deleting BAM Data Objects. It also provides APIs to insert, update, upsert, and delete data into Data Objects.

This is a very important feature provided by ADC, and you will learn how to manage data models in the next chapter.

Note

APIs used to manage data models are exposed by Session EJB, called BamServerBean. These APIs are used internally by BAM web applications, such as Architect, other BAM server components, and BAM sensors and adapters. When attempting to feed live data into BAM, data is passed through existing channels, such as BAM adapter, BAM web service interface, ODI, or Enterprise Message Sources, which in turn call BamServerBean APIs.

Processing Active Data

Handling Active Data is the key capability of BAM ADC. As you saw earlier, Active Data represents the changes to the Snapshot of the ViewSet.

Processing Active Data is complex, and you will learn more about it in the following chapters.

Messaging framework

Messaging framework is a common messaging layer that provides producing and consuming message services, which are used by other BAM server components.

As shown in the architecture diagram, the Messaging Framework provides a messaging backbone that allows different server components to communicate with each other in an asynchronous way. For example, when Active Data are pushed from ADC to other components, it will be sent to an internal queue through the Messaging Framework.

While understanding this concept will help you troubleshoot messaging related issues, you will not directly use Messaging Framework APIs when building your BAM applications. You will learn more about the Messaging Framework in Chapter 3,Populating Data Objects with Real-time Data.

Enterprise Message Sources

Enterprise Message Sources (EMS) provides direct Java Message Service (JMS) connectivity to Oracle BAM server, by mapping messages directly to Oracle BAM Data Objects. Oracle BAM server can read data directly from any JMS-based message queue or topic through the Messaging Framework.

EMS allows mapping from an XML message directly to a Data Object on Oracle BAM server, however, you may use XSL transformations before the data is inserted, updated, upserted, or deleted into the Data Object. Each EMS consumes messages from a specific JMS topic or a queue, and the information is delivered into a Data Object in Oracle BAM ADC.

The Oracle BAM Architect web application is used to configure EMS definitions. You will learn more about EMS in Chapter 3.

Report Cache

Oracle BAM Report Cache off-loads the burden of maintaining the ViewSet Snapshot in memory from Oracle BAM Active Data Cache. Report Cache opens ViewSets, and caches the Snapshot and the ChangeList before sending it to the Report Server. This allows for random access into the Snapshot, and recovery from losing Internet connectivity.

Report Cache also allows for the Oracle BAM Report Server to be stateless.

Event Engine

The Event Engine monitors complex data conditions, and implements user-defined rules. The Event Engine continuously monitors the information in the ADC for certain conditions, and executes the related actions defined in associated rules. It takes a variety of actions in response to those changes, including notifying the appropriate user with an alert and/or report(s).

Report Server

Oracle BAM Report Server renders static and active reports. It also manages persistent connections between the web browser clients and BAM server.

Oracle BAM Report Server applies the report definitions to the data sets retrieved from the Oracle BAM Report Cache for presentation in a browser. It manages information paging for viewing and printing reports.

BAM web applications

Oracle BAM web applications are a set of web-based interfaces for building and managing data models, creating Views and reports, viewing reports, and performing administrative tasks. The BAM web applications include the following:

  • Start page: A GUI tool that provides a login screen and single access point to Oracle web applications

  • Active viewer: A GUI tool for browsing and viewing reports

  • Active studio: A GUI tool for designing reports and alerts

  • Architect: A GUI tool for managing Data Objects, enterprise messaging sources, external data sources, and alerts

  • Administrator: A GUI tool for viewing users and roles

Note

From the perspective of the user's experience, BAM 11g web applications remain the same as those of BAM 10g, except for the Administrator web application, in which you can only view BAM users and roles in BAM 11gR1. The reason is that BAM 11gR1 dedicates the user management to the WebLogic server console, and the role management to Oracle enterprise manager fusion middleware control. Thus, the Administrator web application only provides a read-only view of the existing users and roles. You will learn more about BAM Securities in Chapter 6,Managing BAM Securities.