Home
Analytics
BIRT Connections and Security
RioVic
I downloaded the eclipse BIRT report designer for my developers (mainly because we do all of our development in Eclipse).
On the server side, I decide to splurge on the Actuate BIRT Viewer to speed up the process.
Both are installed and working, that is to say I can view the example apps in each.
What is a mystery to me here is how do I securely make the connection to "real" data, that is, my database! Logic would tell me that there needs to be some kind of "connection string" on the server side to open up my MS-SQL 2005 database, which could then be used by the reports. Also possible but much less desirable, I would give each developer a password connection to the database and have that embedded in each report.
Which is it? Where is the connection object located and what is it called? How do I maintain security with the Actuate/BIRT stack? Am I missing something obvious?
Find more posts tagged with
Comments
bhanley
BIRT connects to a Database in the same manner any application would. You specify a set of connection criteria in the designer when the Developers design the report. You can make these values fairly abstract and nimble by parametrizeing them with respect to the individual report. Check here for more detail:<br />
<br />
<a class='bbc_url' href='
http://www.birt-exchange.org/wiki/BIRT:Data_Access/'>BIRT
: Data Access - BIRT Wiki - BIRT Exchange</a><br />
<br />
<a class='bbc_url' href='
http://www.birt-exchange.org/wiki/BIRT:Report_Parameters/#Q:__Can_I_Bind_my_Data_Source_Connection_Properties_to_Parameters.3F'>BIRT
: Report Parameters & Data Access - BIRT Wiki - BIRT Exchange</a>
Virgil Dodson
Hi RioVic, There are several ways to maintain the connections to your databases. I’ll assume you are working with a JDBC connection to your MS SQL Server database for now and move from most local connection to most abstract.
1. Within the BIRT designer, a developer can create a new Data Source and create a static connection by pointing at the MS SQL Server JDBC drivers (JAR files) and knowing the connection URL, username and password.
2. The connection strings, username, and password can be externalized using an expression in the property binding tab of the Data Source. This means you can user parameters to control the connection (like changing from dev to production servers)
3. Since you will likely create multiple reports from the same Data Source, the Data Source can be saved in a report library so that only one person has to create and maintain it but it can be used on multiple reports.
4. If you are sharing your MS SQL Server connection using a JNDI connection pooling in your application server container, then you can specify that JNDI name on your Data Source and that connection will be used instead of create a new one.
I don’t know which Actuate product you are using, but if you are using iServer Express or Enterprise, then there is another level of data connectivity using Information Objects. Information Objects is a meta data layer allowing you to create and maintain connections and data access on the server and simply expose these Information Objects to the BIRT Report Designers or BIRT Report Studio (ad-hoc web based designer). No one really has to understand the underlying data structure and is presented with friendly named fields in a logical hierarchy.
Since you mentioned security too, and if you are using iServer and iServer Express, then you might look into Page Level Security option that comes with Actuate BIRT Designer. This allows you to assign privileges to reports or parts of reports based on users or roles.