and display the rows of data (opening connection, fetching through each row, moving data items from record
into local variables, moving from local variables into subform fields, etc., etc.).
I figure there has to be a better approach given all the tools and products adobe has. I have spent several days examining lots of manuals from various adobe products, but I haven't found a clear answer. What technology is best at Having a repository of pre-formed reports that can be called-up via a web browser, connecting to an
Oracle database back-end. The data for the reports will vary based upon the users application login_id, and
report requested, but the only direct connection to the database needs to remain behind the data center's firewall. (ie. link between database server and webserver and/or report server).
Your best bet is Adobe LiveCycle ES. It is an entire set of J2EE server-based products for PDF generation and manipulation. As you have noticed, the DB connection from the form is not really an "Enterprise-worthy" solution. In your case, I would envision the following solution:
- Design a form to display all of the data (sounds like you have already done this)
- Design an XML schema to store the data. This schema should be bound to your form
- Implement one or more "workflows" or "process orchestrations" in LiveCycle ES. You would most likely have one for each separate report. The process orchestration would have some "inputs" (the user's login_id) and "outputs" (the generated report). LiveCycle ES could take the login_id, perform the necessary query against the Oracle database, repackage the data as XML, and merge this data into the PDF form. The PDF form would then be returned from this process as an output.
- The process orchestration could then be initiated in a couple of ways from your web application. If it is implemented in .NET, you could invoke it as a SOAP web service call. If your application is written in Java, it could be invoked as a Java or SOAP web service.
I know this is a brief synopsis, but hopefully it gives you a good idea of what LiveCycle can do.
The LiveCycle component that connects to a database is available as part of the foundation layer of LiveCycle. This means you get that functionality if you purchase any one of the LiveCycle Solution Components (Forms, Output, PDF Generator, Process Management, Reader Extensions, Rights Management). You get quite a bit of functionality with the foundation layer, including "connectors" for LDAP, Email, FTP, EJB, JMS, and Web Services.