Ana içeriğe geç

5.1. Jasper Report#

Uygulamalara Jasper Report üzerinden raporlama yeteneği sağlayan uygulamadır.

Yetenekler#

  • Senkron rapor çıktıları oluşturulmasını sağlar.
  • Asenkron rapor çıktıları oluşturulmasını sağlar.

İstek Yaşam Döngüsü(Request Lifecycle)#

Report instance senkron ve asenkron iş akışlarına sahiptir.

hvl-jasper-report-server için dış uygulama olarak cache için redis ve güvenlik için security instances kullanır.

SECURITY_ENABLED: 'false' olarak işaretlendiğinde akışta client ilk istekleri için token doğrulaması yapılmaz.

CACHE_TYPE: 'simple' olarak ayarlandığında her bir instance inmemory cache kullanımına geçer ve redis bağlantısı aramaz.

Senkron Rapor İsteği (Sync Report Request)#

  1. İstemci rapor isteğinde bulunur.
  2. Güvenlik aktif ise token doğrulaması yapılır.
  3. Cache aktif ise veri cache üzerinden sağlanır.
  4. İstemcinin talep ettiği rapor TIBCO Jasper Server üzerinden alınır.
  5. İstemci isteğine dönüş yapılır.

Asenkron Rapor İsteği (Async Report Request)#

  1. İstemci rapor isteğinde bulunur.
  2. Güvenlik aktif ise token doğrulaması yapılır.
  3. İstemcinin rapor talebi RDMS üzerine kayıt edilir.
  4. hvl-jasper-report-server uygulaması ile birlikte çalışmaya başlayan Quartz Scheduler belirlenen zaman aralığı ile rapor durum kontrolü yapılmasını tetikleyen event gönderir.
  5. hvl-jasper-report-server bu eventi dinleyerek raporun durumunu TIBCO Jasper Server üzerinden kontrol etmektedir.
  6. hvl-jasper-report-server rapor hazır durumunu kafka üzerinde bir kuyruğa event(readyReports) olarak gönderir.
  7. hvl-jasper-report-server hazır olan raporu tibco üzerinden okuyup, file-system support kullanarak belirlenen sisteme yazar
  8. hvl-jasper-report-server rapor tamamlandı durumunu kafka üzerinde bir kuyruğa(finishedReports) event olarak gönderir.
  9. Bu işlemlerin ardından istemci kafka üzerinde raporun sonlanma durumunun yazıldığı kuyruğu dinler. Rapor sonlandığında iş mantığı doğrultusunda raporun çıktısını senkron olarak talep edebilir.

hvl-jasper-report-server async işlemleri için güvenlik katmanında async-token-provider kullanmaktadır.