Cognos Web Services Business Intelligence SOA SOA (Service Oriented Architecture) The SOA approach involves seven key principles: -- Coarse -grained -- Platform neutral -- Location transparent -- Peer-to-peer -- Loosely coupled -- Interface-based -- Open and Standard Based SOA SOA is the foundation for the Cognos 8 BI platform instead of the client-server approach or the web services wrappers to provide a more effective enterprise BI solution. SOA is more efficient, reliable and agile compare with the client-server approach and the wrapper approach. Cognos Web Services Services communicate using the BI Bus API. For each service, there are two corresponding Java interface definitions: -- <service>_Service -- <service>_Port Implementation and usage: -- <service>_ServiceLocator: acquire the port information for the associated service. -- <service>Stub: to access the functionality provided by the service. Sample Code: Access and Read a Report from Cognos Content Store To add jars from Cognos installation directory: -- specify directory of jars in your CLASSPATH -- IDE (Elipse): add jars to the project Add Jars in Elipse IDE Right click in the Package Explorer, select ‘Build Path’, then ‘Configure Build Path’ to add the jar files if they are not in there. RunMultiQuery.java Java application retrieves multiple query definitions from a report specification, execute the query and print out the XML formatted report to the output or write the output in a single file. Take 1 argument: -- search path of the report (see slide 8) Set parameter(s) required for this report: Value for the parameter Name of the parameter RunMultiQuery.java Open the properties for the object, then click on View the search path, ID and URL Copy the Search path and feed it to RunMultiQuery.java RunMultiQuery.java Output – xml formatted report Pass a Date Range – PassDateRange.java Use Cognos specially defined class – BoundRangeParmValueItem for date ranges which use one parameter takes one start date and one end date as in Audit reports. SaveReportAndExtractOutput.java Access a archived XML report in the content store and read its content or save it to a local directory. Take 3 Arguments: -- search path of the report (see slide 8) -- path of local directory if that is desired -- name of the report