-
Book Overview & Buying
-
Table Of Contents
Oracle BAM 11gR1 Handbook
By :
In this section, we will dive into the BAM server components to help you to understand what happens behind the scenes in the following scenarios:
This is the scenario when a user attempts to open a report for the first time.

This diagram depicts the message flow, which can be interpreted as follows:
http://<bam_server_hostname>:<port>/OracleBAM/reportserver/default.jsp?Event=viewReport&ReportDef=58&Buttons=False&ReportParameters=()
In this URL, <bam_server_hostname> is the BAM server hostname, ReportDef is a parameter that specifies the report ID, and ReportParameters is an HTTP request parameter that specifies report parameters.
getChangeList() request, and sends it through HTTP POST to Report Server ActiveDataServlet.Why does the client send a separate HTTP request to BAM Report Server after a View is rendered for the first time?
BAM report leverages a push-based mechanism to receive Active Data in real time. After a report is first rendered in a web browser, it has to find out a way to register the View to the Report Server, which maintains persistent connections between the client and BAM Server. Sending the getChangeList() request to ActiveDataServlet creates the persistent connection through which the Active Data changes are pushed.
Up to now, we have mentioned many times that BAM server uses the push-based mechanism to process Active Data. In this section, we will use a diagram to illustrate how Active Data are processed by BAM server components:

As shown in this diagram, Active Data processing message flows are as follows:
ActiveDataServlet that you saw before. ChangeList, and then updates the Views opened in the browser to reflect the changes in real time.
Change the font size
Change margin width
Change background colour