12.1 Reporting
Of the tools that business analysts and
executives need, reports are the least glamorous but the most often
accessed. Analysts sometimes prefer to avoid reporting software if
that software requires help from the IT staff, especially if the
process of creating and deploying the reports is more time-consuming
and less flexible than manipulating the data directly would be. On
the other hand, prebuilt reports often appeal to executives because
they require no special IT skills or knowledge to view them. As
web-based report generation has become commonplace, the distribution
of such reports within an organization has been greatly improved.
Users now need be familiar with only a browser.The OracleAS Reports
Services components in Oracle Application Server include the
following:Oracle AS Reports Servlet running in OC4J
The OracleAS
Reports Servlet acts as the intermediary between the Oracle HTTP
Server and the OracleAS Reports Server.
OracleAS Reports Server
The OracleAS Reports Server processes client requests
and forwards them to a Reports Engine.
Reports Engine
The Reports
Engine actually fetches requested data from data sources, formats the
reports, and notifies the OracleAS Reports Server when jobs are
complete.
Multiple Reports Engines can be associated with a Reports Server
instance, and you can have more than one server if you need them for
load balancing and availability.Reports can leverage multiple data sources; these include the Oracle
database via SQL or PL/SQL, the Oracle Database OLAP Option, Oracle
Express, XML, JDBC, and text sources. For example, a report might be
generated using SQL queries that leverage analytics in the Oracle
database (inverse percentile, hypothetical ranking, etc.). You can
also leverage data sources not supported out-of-the-box by
programming to a Java API called the Pluggable Data
Source (PDS) API.
12.1.1 Report Generation and Deployment
Oracle Reports has a wizard-based frontend called Oracle Reports
Developer that can build reports. Oracle Reports Developer is part of
the Oracle Developer Suite. The reports created with Oracle Reports
Developer can be deployed to the Web using OracleAS Reports Services
support in Oracle Application Server.Developers can use the Oracle Reports wizards to step through the
process of defining Reports structures, sources of data, break
groups, and summaries. A page frame model enables a variety of
formats. A Live Previewer displays report layout
and a page of data after the initial format selection. The product
provides re-entrant wizards to allow further modifications. Available
formats include tables, matrixes, grouped reports, graphs, and
combinations.You can add graphs to reports through a graphing
wizard that features more than 50 different graph types. The graphs
in Oracle's tools are built as
"Presentation" Java Beans that
enables common graph types among each Oracle business intelligence
tool. The major supported graph categories include the following:BarHorizontal barPieLineAreaCombinationScatter/bubbleStockCircularParetoThree-dimensional
Figure 12-1 shows a typical report generated by
Oracle Reports with an associated graph.Reports deployed for web use can be specified at runtime to be output
in a variety of formats, such as PDF, plain text, HTML, HTML
extension, or Cascading Style Sheets (HTMLCSS). By default, PDF
output from Oracle Reports is compressed.
Figure 12-1. Oracle Reports' typical report with associated graph

printing, such as RTF or PostScript, or in data-oriented formats such
as XML or delimited text. Multi-byte character support exists for
HTML, PostScript, and PDF.You can use JSP-based Web Source Reports to create highly
customizable and flexible tagged output formats such as HTML and XML.
Using JSPs offers a number of advantages, including:Separation of static and dynamic contentSupport for scripting and tagsReuse of components and tagsCompilation for permanent execution enabling excellent performance
JSP-based web reports can be created from within Oracle JDeveloper.
Version control during the development of reports and impact analysis
is provided via the Software Configuration Manager in the
Oracle Developer Suite.You can direct a report to a number of different
destinationsfor example, to
files, WebDAV URLs, printers, email destinations, and FTP
destinations. You can use an XML distribution file to name the report
destinations. Other report destinations can be created using the
Pluggable Destination Java API for
Report Engines.You can also deploy reports of any format to OracleAS
Portal. The JSP capabilities in
Oracle Reports enable deployment as HTML if you decide to use them as
portlets. This capability allows you to publish web-based reports
with dynamic access to data as it is changed in the database.
Web-based reports can include predefined
drill-down capabilities, which allow a business analyst to ask for
more detail about a particular portion of a report. PL/SQL is used as
the procedural language in Oracle Reports, but a Java bridge enables
the import of Java classes.Oracle Reports supports advanced
security features such as OracleAS
Single Sign-On (which uses the Oracle Internet Directory) and
fine-grained access control. These features ensure that only analysts
with proper access rights can see specific reports. The reports
themselves can be created in various customized forms for users or
groups of users. These can be created using customization files that
have XML tags to apply against the specific report version.Some businesses may want to use a single report as a distribution
source for different reports, which can lower overall overhead for
the combined set of reports. This technique, known as
bursting, allows a report to be split up based
on reporting groups (such as departments) within the report. For
example, you may want to split a report into separate files (such as
PDF files) and distribute specific department information to those
departments via email.In some cases, you may want to generate reports in reaction to
specific business events. Oracle Reports provides an
Event-Driven Publishing API
that's available as a PL/SQL package. Report
"jobs" are submitted via HTTP.
Reports in these jobs are then published when triggered by specific
database events or by Oracle's AQ query mechanism.
The Web Services interface to
the OracleAS Reports Server in Oracle Application Server
10g also enables integration into Java
applications.