Home Server
New Blog Posts: Merging Reports - Part 1 and Part 2

Question About Web Tier

edited January 2004 in Server
Could the Web Tier in RB Server be used in an ISAPI application to generate
RB Archive files which could be streamed back to a client over HTTP? How
difficult would this be?

Thanks,

-Lukas Rathswohl

Comments

  • edited January 2004

    There is an example of adding an XLS export button to the Web Report Viewer.
    This same technique could be used to export a RAF file. See
    RBServer\Demos\WebTier\Custom Viewer. The example contains a ReadMe.doc and
    commented code.




    --
    Nard Moseley
    Digital Metaphors
    http://www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited January 2004
    Many thanks!
  • edited January 2004
    Thanks for the info.

    Another question:
    Is there a way to bypass the web report viewer entirely in your ISAPI
    architecture? I have no need to view the report in a web viewer first.

    Here is the background:
    I have a client application (Win32 exe) that sends an HTTP request to an
    ISAPI dll, which processes the request by generating a RAF file and streams
    it back via HTTP, where it is then displayed in a custom client-side viewer.
    My current ISAPI DLL is a homegrown solution (built using RB Enterprise) and
    I would like to redo it and leverage the robustness of RB Server, without
    having to change my client app too much.

    Regards,

    -Lukas Rathswohl
  • edited January 2004
    Lukas,

    I hope you don't mind me replying, but what's
    wrong with you current solution ?
    IMHO I don't see big advantages in using the
    RB Server architecture for the way you have
    implemented it now. What you could do is
    making a com+ object which is responsible
    for generating the report (in pdf/raf etc. format)
    and let the isapi return it to the client.
    That's the way I do it sometimes and it works perfect.

    greetings,

    Rob Segerink

  • edited January 2004
    Hi Rob,

    The problem is that my solution is not as stable as I would like it to be.
    Every day or so, my web report server gets hung up and I have to unload the
    web. I'm not sure if it's a threading issue or something else.
    Could you perhaps elaborate on your approach a bit more?

    Many thanks,

    -Lukas Rathswohl


  • edited January 2004

    1. Create a custom web content provider that can generate the .raf file.

    2. The content provider will have a content type, such as 'Archive'.

    3. See article below for sending requests to the webtier. You will specify
    the content type as one of the parameters.



    ---------------------------------------------
    Tech Tips: How can I request that the webtier
    execute a specified report?
    ---------------------------------------------


    Question:
    ---------

    Without using the Web ReportExplorer, how can I request that the webtier
    execute a specified report?


    Solution:
    ---------

    The webtier processes requests for web content. These requests consists of

    1. The URL for the webtier

    example: http://127.0.0.1/rbWebPub/report.dll


    2. A parameter specifying the content type.

    example: content=viewer

    {note: content=viewer, is used to request report viewer content.}


    3. Additional parameters that are specific to the content request.

    volume=Report Forms (the volume name)
    Name=Basic\Biolife Table (the full path name to the report)
    frameset=1 (show the framset with the toolbar etc., this is required)


    Use a web browser to access the webtier demo that displays the report
    explorer.

    Notice that when you place the mouse over a report in the report explorer
    that the status bar in IE shows the url plus some params. That is the string
    required to run the report on the web tier.

    Example:
    http://127.0.0.1/rbWebPub/report.dll?content=viewer&volume=Report
    Forms&name=Basic\Biolife Table&framset=1


    So the parameters here are

    content=viewer (type of content is report viewer)
    volume=Report Forms (the volume name)
    Name=Basic\Biolife Table (the full path name to the report)
    frameset=1 (show the framset with the toolbar etc., this is required)








    --
    Nard Moseley
    Digital Metaphors
    http://www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited January 2004
    Hi Lukas,

    well I think I didn't read your question to well.
    It seems that you still want to use the report
    webviewer ? In that case I think you should use
    the solution Nard gave you.
    About the com+ solution, for every report I have
    a report module. Every report can be generated
    by running a specific procedure in the com+ object,
    for example :

    GetSalesReport(aYear, aMonth, aFormat): Variant;

    in the aFormat you specifiy the format in which the
    report should be generated, for example pdf, raf, xls etc.
    The report is returned in a variant to the client. This way
    you can run the reports from many different clients (windows exe,
    isapi web, other com objects...).
    With version 7.x I don't have any problems with threading
    issues.

    greetings,

    Rob Segerink



  • edited January 2004
    Thanks.
    I will experiment with that.
This discussion has been closed.