Glossary

1.2.30 Reporting Service

 a reporting server is a centralized, server-based application that creates, manages, and delivers various reports. In this chapter we will cover the installation of BIRT (Businness Intelligence Reporting Tool)


1. Install prerequisites

bash console


sudo apt install -y tomcat10 default-jdk curl

```

### 2. Download BIRT 4.23.0 runtime
Download manually from browser (wget redirects to HTML):
```
https://download.eclipse.org/birt/updates/release/4.23.0/downloads/

Save the zip to /home/sis/Downloads/birt-runtime-4.23.0-*.zip



3. Download JDBC driver for SQL Server


bash console

wget "https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/12.6.1.jre11/mssql-jdbc-12.6.1.jre11.jar" \
 -O mssql-jdbc.jar



4. Download Jakarta migration tool


bash console


wget "https://repo1.maven.org/maven2/org/apache/tomcat/jakartaee-migration/1.0.8/jakartaee-migration-1.0.8-shaded.jar" \

  -O jakartaee-migration.jar



5. Migrate javax → jakarta and repackage as WAR


bash console

# Run migration
java -jar jakartaee-migration.jar \
~/Downloads/birt-runtime-4.23.0-*.zip \
~/birt-jakarta.war

# Extract only the WebViewerExample webapp folder
mkdir -p ~/birt-war-tmp
unzip -q ~/birt-jakarta.war "WebViewerExample/*" -d ~/birt-war-tmp/
mv ~/birt-war-tmp/WebViewerExample/* ~/birt-war-tmp/
rmdir ~/birt-war-tmp/WebViewerExample

# Verify structure — must show WEB-INF, webcontent, report, etc.
ls ~/birt-war-tmp/

# Add JDBC driver
cp ~/mssql-jdbc.jar ~/birt-war-tmp/WEB-INF/lib/

# Repackage as WAR
jar cf ~/birt-final.war -C ~/birt-war-tmp .



6. Deploy to Tomcat


bash console


sudo systemctl stop tomcat10
sudo rm -rf /var/lib/tomcat10/webapps/birt /var/lib/tomcat10/webapps/birt.war
sudo cp ~/birt-final.war /var/lib/tomcat10/webapps/birt.war
sudo systemctl start tomcat10
sleep 20




7. VerifY


bash console


curl -s "http://localhost:8080/birt/output?__report=example_simple.rptdesign&__format=html" \

  -o /tmp/test.html
echo "Size: $(ls -lh /tmp/test.html | awk '{print $5}')"
# Should be ~55K with no errors
note: BIRT reports must be of the same version of the BIRT server