Results 1 to 6 of 6

Thread: Report tool in middleware applicatie - ontwerp vraag

  1. #1

    Report tool in middleware applicatie - ontwerp vraag

    Hallo hallo,

    In de middleware applicatie die ik aan het maken ben, heb ik op de applicatie server functionaliteit ingebouwd om rapporten te kunnen genereren (fastreport pro). Dit werkt op zich allemaal prima alleen vraag ik me af waar ik het beste de export naar diverse bestandsformaten kan laten plaats vinden. Op de server of op de client of beide?

    Het op de server afhandelen heeft als voordeel dat het makkelijker wordt om er een andere (niet Delphi) client aan te hangen. Het nadeel is dat de eindgebruiker soms eerst een preview zal willen zien om er daarna bijvoorbeeld een PDF van te maken wat in een extra call naar de server resulteert. Bij kleine rapporten zoals een factuur is dit misschien niet zo een probleem, maar het kan ook om grotere rapporten gaan.

    Het voordeel van het op de client afhandelen is dat er slechts één keer een prepared report naar de client gestuurd hoeft te worden, ongeacht alle export formaten. Nadeel is dat er meer logica op de client komt te staan (wil ook bepaalde export instellingen e.d. centraal regelen). Het wordt ook noodzakelijk om een client applicatie te hebben met Fastreport.

    Het voordeel van beide is dat ik het beste van twee werelden kan combineren, het nadeel is dat het misschien wat onduidelijker wordt voor de eindgebruiker welke export instellingen van toepassing zijn. En natuurlijk is het ook wat meer werk.

    Wat is wijsheid?

    Bij voorbaat dank!

  2. #2
    Als je een prepared report kan maken en opsturen, kan je die dan niet op de server bewaren terwijl de client z'n preview bekijkt? Of wellicht zelfs meesturen, dus: Prepared report opsturen naar de client, en als de client een specifieke uitvoer wil hebben, stuur je die weer naar de server (of zelfs naar een andere server) om die output te genereren. Dat is wel een extra call, maar wel met maar weinig extra rekenwerk, dus dat is waarschijnlijk niet zo'n probleem. Ik weet niet om wat voor hoeveelheden data het gaat, maar als zo'n prepared report 1 of enkele MB's is, dan is dat toch wel ok?
    1+1=b

  3. #3
    Waarschijnlijk kies ik toch voor de optie om het exporteren op zowel op de server als op (Delphi) clients in te bouwen. Als de eindgebruiker eerst een preview wil, dan kan hij vanuit de preview exporteren en printen. Wil hij geen preview, dan lever ik direct het gevraagde bestand op de achtergrond en informeer de eindgebruiker als het beschikbaar is. Het is wel iets meer werk om het op deze manier te doen omdat ik de export settings ook centraal wil kunnen regelen, maar dat komt denk ik wel goed.

  4. #4
    Het is wel iets meer werk om het op deze manier te doen omdat ik de export settings ook centraal wil kunnen regelen, maar dat komt denk ik wel goed.
    Ik denk dat je ook vrij makkelijk een generiek iets kunt maken wat je meelinkt in de client en in de server. Client heeft dan bv functionaliteit als een preview die je op de server nooit zult gebruiken.

    Je kunt prepared fastreport reports ook opslaan in het eigen formaat. Als je die op de server gemaakt hebt kun je ze met bv de fileservice naar je client halen.

    Ik heb meestal ook een mix. Mijn clients kunnen bijna altijd alles met de fastreport, omdat ik klanten bv de mogelijkheid wil geven hun layouts aan te passen. De layouts zelf staan wel op de server, meestal in een database. Seriematige rapporten, bv een run facturen worden dan op de server aangemaakt en afhankelijk van wat ermee moet gebeuren verder verwerkt.

  5. #5
    @Benno

    Op welke manier haal jij de rapporten van de server? Synchrone request (in een thread), asynchrone request, fileserver of met WIB?

  6. #6
    Als je prepared reports bedoeld, normale requests of de fileservice voor transport. Maar daar staan er nog wel een aantal op de nominatie om verbouwd te worden naar de WIB, om bij langlopende acties niet tegen timeouts op te lopen.

    Maar ik heb vooral om desigs door gebruikers mogelijk te maken de tabellen ook altijd beschikbaar als named queries zodat ik ze op de client kan tonen in bv een grid en ook kan gebruiken in de designer van fastreport. In die gevallen worden de reports dus ook gemaakt op de client.

    De query opties binnen Fastreport zelf gebruik ik niet, omdat dat concept naar mijn mening error by design is. Het haalt ook het hele concept van je database abstractie laag op je server onderuit.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •