Enterprise class SOA platform architecture - IBM Cognos

This delivers a broad range of business intelligence capabilities on an open, enterprise class platform. All capabilities including viewing, creating and administering dashboards, reports, analysis, scorecards, and events are accessed through web interfaces.

The IBM Cognos Platform delivers the capabilities to manage business intelligence applications with centralized, web-based administration that provides a complete view of system activity as well as system metrics and thresholds so that organizations can resolve potential issues before there is a business impact.The IBM Cognos Platform is built on a web-based service-oriented-architecture (SOA ) that is designed for scalability, availability, and openness. This n-tiered architecture is made up of three server tiers:

  • The web tier
  • The application tier
  • The data tier

The tiers are based on business function and can be separated by network firewalls.

Reliability and scalability were key considerations when designing the IBM Cognos Platform. Services in the application tier operate on a peer-to peer basis, which means that no service is more important and that there are loose service linkages. Any service of the same type, on any machine in an IBM Cognos Platform configuration, can satisfy an incoming request, which results in complete fault tolerance. The dispatching(or routing)of requests is done in an optimal way, with automatic load balancing built into the system.

The IBM Cognos Platform provides optimized access to all data sources, including relational data sources and online analytical processing(OLAP), with a single query service. In addition, this query service understands and takes advantage of the data source strength by using a combination of open standards such as SQL99, native SQL, and native MDX to optimize data retrieval for all these different data providers. The IBM Cognos BI user interfaces are accessed through the web tier.

Typical tiered deployment of the IBM Cognos Platform

Typical tiered deployment of the IBM Cognos Platform

IBM Cognos Platform server roles

To ensure optimal performance, IBM Cognos Platform services are normally grouped together to fulfill certain roles within a distributed deployment for business intelligence applications. These server roles also define the tier within the architecture that an IBM Cognos BI server uses.

Web tier: The IBM Cognos Gateway

The web tier provides user session connectivity to IBM Cognos BI applications. The IBM Cognos components that fulfill this role are referred to as theIBMCognos Gateway.The IBM Cognos Gateway component manages all web communication for the IBM Cognos Platform. The workload on the IBM Cognos Gateway server requires minimal processing resources. For high availability or scalability requirements, you can deploy multiple redundant gateways along with an external HTTP load-balancing router.

Application tier: Server components

The application tier for the IBM Cognos Platform is made up of three main server components:

  • IBM Cognos Dispatcher
  • IBM Cognos Report Server
  • IBM Cognos Content Manager

Application tier servers are composed of a collection of loosely-coupled Java™and C++ services.

IBM Cognos Dispatcher

IBM Cognos Dispatcher performs the load balancing of requests at the application tier. The IBM Cognos Dispatcher component is a lightweight Java servlet that manages(and provides communication between)application services. At startup, each IBM Cognos Dispatcher registers locally available services with the IBM Cognos Content Manager. During the normal operation of IBM Cognos BI services, requests are load balanced across all available services using a configurable, weighted round-robin algorithm to distribute requests. You can tune the performance of IBM Cognos Platform by defining how IBM Cognos Dispatcher handles requests and manages services. Threads within IBM Cognos Platform are managed by the type of traffic that they handle, which is referred to as high and low affinity. Affinity relates to the report service process that handled the original user request when multiple interactions need to occur to satisfy the request.

High-affinity connections are used to process absolute and high-affinity requests from the report services. Low-affinity connections are used to process low-affinity requests. A high affinity request is a transaction that can gain a performance benefit from a previously processed request by accessing cache. It can be processed on any service, but resource consumption is minimized if the request is routed back to the report service process that was used to execute the original process. A low affinity request operates just as efficiently on any service. You can manage the number of threads per IBM Cognos BI reporting service process through the IBM Cognos Platform administration console by setting the number of high- and low-affinity connections.

IBM Cognos Report Server

The main service that is responsible for application-tier processing is the report or query service(often referred to as the BIBus processes). IBM Cognos Dispatcher starts IBM Cognos Report Server processes dynamically as needed to handle the request load. An administrator can specify the maximum number of processes that these services can start, as well as the minimum number of processes that should be running at non-peak times. Configure the number of processes for IBM Cognos Report Server based on the available processor capacity. In general, IBM Cognos BI reporting service performance is closely tied to processor clock speed and throughput capabilities.

The number of processors in a server and their clock rates are the two primary factors to consider when planning for additional IBM Cognos Report Server hardware capacity. For example, you generally configure a server with four available processors to use more report service processes than a server with only two available processors. Similarly, given two servers with an equal number of processors, configure the server with a significantly faster processor clock rate to have more report and report-service processes. When configuring the IBM Cognos Platform server environment, you must set a Java heap size. The IBM Cognos BI reporting and query service is made up of two underlying components:

  • The Java servlet-based IBM Cognos Dispatcher services
  • Report services that are launched using the Java Native Interface (JNI)

Set the Java virtual machine (JVM) heap-size allocation for IBM Cognos Platform so that Java memory is only as large as is necessary to accommodate the processing requirements of the Java based services. This setting ensures that as much memory as possible is available to the IBM Cognos Report Service, which is not Java. You can determine the optimal Java heap size using Java garbage collection statistics.

IBM Cognos Content Manager

IBM Cognos Content Manager is the IBM Cognos Platform service that manages the storage of the following customer application data:

  • Security settings and configurations
  • Server configuration settings
  • Packages
  • Dashboards
  • Metrics
  • Report specifications
  • Report output

You use IBM Cognos Content Manager to publish models, retrieve or store report specifications, handle scheduling information and manage the IBM Cognos security name space. IBM Cognos Content Manager maintains information in a relational database that is referred to as the content store database.

A minimum of one IBM Cognos Content Manager service is required for each IBM Cognos Platform implementation.Content Manager performance can benefit from the availability of high-speed RAM resources and typically requires one processor for every four processors that are allocated for IBM Cognos Report Server processing.

IBM Cognos BI data-source performance considerations
Query performance is typically bound to the performance of the server that hosts the data source for IBM Cognos BI. IBM Cognos BI can access many data sources, including relational and OLAP sources. Relational data sources that are tuned to meet the access requirements of the business community naturally perform better than those that are not. An experienced database administrator should monitor and tune relational database- management systems (RDBMS) to achieve optimum database performance.

IBM Cognos BI deployment options
The prior step to creating a proper IBM Cognos BI environment begins with a successful installation. Use the IBM Cognos BI Installation and Configuration Guide for complete information about the installation and initial configuration process.For detailed information about IBM Cognos Platform architecture and server deployment options, refer to the IBM Cognos BI Architecture and Deployment Guide. Server components within all three tiers can scale easily, either horizontally orvertically, to meet a variety of business intelligence processing requirements. At the web tier, the IBM Cognos Gateway system requirements are lightweight and can, therefore, handle large user loads with fewer system resources than other server tiers in the IBM Cognos Platform architecture. You can also deploy multiple IBM Cognos Gateway instances to meet requirements for additional userload, server availability, or other service level agreements (SLAs).

At the application tier, both the IBM Cognos Report Server and IBM Cognos Content Manager components can scale to meet application-processing requirements. You can deploy multiple IBM Cognos Content Manager instances. One instance actively process requests while the other instances remain instandby mode to provide high availability. IBM Cognos Content Manager server hardware can also scale vertically to provide increased throughput. IBM Cognos Report Server performs the heavy lifting within an IBM Cognos BI server deployment. You can deploy multiple IBM Cognos Report Server instances to meet the processing requirements of large applications and user populations. IBM Cognos Report Server performance is tied to overall system performance and, therefore, can be affected by processor clock speed and I/O performance.

General guidelines
In general, decisions regarding the best methods for deploying IBM Cognos BI are driven by application complexity, throughput requirements, user concurrency, and systems management requirements such as availability and security. Deployment options and recommendations include:

  • Use one server and operating system instance with a single or multiple IBM Cognos Platform instances, the IBM Cognos Report Server, and IBM Cognos Content Manager are implemented in one or more WebSphere Application Server profiles or JVM instances.
  • Configure one physical server or virtualization platform guest instance per IBM Cognos Platform application tier server instance.
  • Use separate servers for the RDBMS that is hosting the content store database, relational data sources, and OLAP data source.
  • Do not over-subscribe CPU resources with IBM Cognos BI implementations, for example using a configuration in which the total number of processors that are allocated among the virtual guest servers instances for the IBM Cognos Platform exceed the number of physical CPUs that are available on the physical server or LPAR, with the exception of IBM System deployments that have sufficient available resources.
  • Generally, use 2 GB RAM per CPU with IBM Cognos Content Manager and IBM Cognos Report Server instances.
  • Use IBM Cognos Report Server with two BIBus processes per processor and five threads per process(four low affinity and one high affinity).

IBM Cognos BI services
This introduces the various services offered by IBM Cognos BI.

Agent service
The agent service is responsible for running agents. This service runs the conditions and creates and stores the generated event list. The service determines which tasks to execute and forwards those tasks to the monitor service for execution. In addition to running agents, the agent service also runs two other types of specialized tasks:

  • Stored procedures using IBM Cognos Report Server
  • Web service tasks

Annotation service
The annotation service enables the addition of commentary to reports using IBM Cognos Business Insight. These comments persist throughout different versions of the report.

Batch report service
The batch report service manages background requests to run reports and provides output on behalf of the monitor service.

Content manager service
The content manager service interacts with the content store. It performs object manipulation functions such as add, query, delete, update, move, and copy. It also handles the content store management functions, such as import and export.

Content manager cache service
The cache service enhances the overall system performance and IBM Cognos Content Manager scalability by caching frequent query results in each dispatcher.

Data movement service
The data movement service manages the execution of data movement tasks in Cognos BI.Data movement tasks, such as Builds and Job Streams, are created in the IBM Cognos Data Manager Designer and are published to IBM Cognos BI.

Delivery service
As the name implies, the delivery service delivers content. Email, news items, and report output that is written to the file system are examples of content that is handled by the delivery service. Part of this service is a persistent email queue that is in place to guarantee that the items are forwarded to the configured SMTP server.

Event management service
The event management service is the service that handles scheduling. Part of the scheduling aspect is the control over cancelling, suspending, and releasing scheduled tasks. For tasks that are already entered the queue, requests to cancel, release, or suspend are forwarded from the event management service to the monitor service. The information found as part of the Upcoming Activities task in the IBM Cognos administration console is also provided by the event management service.

Graphics service
The graphics service produces graphics on behalf of the report service. Graphics can be generated in the following formats:

  • Raster
  • Vector
  • Microsoft Excel XML
  • Portable Document Format (PDF)

Human task service
The human task service enables the creation and management of human tasks. A human task such as report approval can be assigned to individuals or groups on an ad hoc basis or by any of the other services.

Index data service
The index data service provides basic full-text functions for storage and retrieval of terms and indexed summary documents.

Index search service
The index search services provides search and drill-through functions, including lists of aliases and examples.

Index update service
The index update service provides write, update, delete, and administration functions.

Job service
Before jobs can be executed, they must first be prepared, meaning that the steps of a job must be analyzed for issues such as circular dependencies in nested jobs and resolution for run options that are part of the jobs. The job service completes these tasks and then sends the job to the monitor service for execution.

Log service
The log service creates log entries that are received from the dispatcher and other services. The log service is called regardless of which logging output is specified (for example database,file, remote log server,and so forth).

Metadata service
The metadata service provides support for data lineage information that is displayed in Cognos Viewer, IBM Cognos Report Studio, IBM Cognos Query Studio, and IBM Cognos Analysis Studio. Lineage information includes information such as data source and calculation expressions.

Metric studio service
The metric studio service provides the IBM Cognos Metric Studio user interface for the purposes of monitoring and entering performance information.

Migration service
The migration service manages the migration

Monitor service
The monitor service handles all of the requests set to run in the background, including scheduled tasks,reports that are set to run and then email the results, and jobs. Because the monitor service can receive more requests than can be executed, it also queues requests and waits for resources to become available for the required service. When a service indicates that there is sufficient bandwidth, the monitor service then forwards the task to the appropriate service for execution. Because the monitor service handles all of the background tasks, writing history information about the individual task executions is the responsibility of the monitor service. The exceptions to this process are the history details for deployment and IBM Cognos Search indexing tasks, which are written directly to the content store using the IBM Cognos Content Manager component. The information found as part of the Current Activities task in the administration console is also provided by the monitor service.

Presentation service
The presentation service provides the display, navigation, and administration capabilities in IBM Cognos Connection. It also receives generic XML responses from other services and transforms them into output format, such as HTML or PDF. Another function of the presentation service is to send the saved content when a request to view saved output is made. If a request to execute the report is made from inside of Cognos Viewer, the request is handled by the report service.

Query service
The query service manages Dynamic Query Mode requests and returns the result to the requesting batch or report service.

Report data service
The report data service manages the transfer of report data between IBM Cognos BI and applications that consume report data, such as IBM Cognos Analysis for Excel, IBM Cognos Office Connection, and IBM Cognos Mobile.

Report service
The report service manages interactive report requests to run reports and provides the output for a user in IBM Cognos Business Insight or in one of the IBM Cognos studios.

System service
The system service is used by the dispatcher to obtain application configuration parameters and provides methods for interfacing with locale strings that are supported by the application for support of multiple languages.

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM Cognos Topics