FAQ

What is and what is not JEDI?

Here is a correct definition of what JEDI is:

"Jedi is an enterprise application providing a common service to produce data driven documents"

For example you can instruct JEDI to return a PDF containing the list of all customers whose birth country is Italy retrieving desired data from the enterprise database.

  • JEDI is not a "Document Management System" (JEDI produces documents on the fly and does not store them)
  • JEDI is not a web service publishing tool
  • JEDI is not a "Content Management System" (there is no document versioning or workflow support)
  • JEDI does not currently provide profiling support: each managed document can be invoked by authorized users (in next versions we will add roles based filtering)
  • JEDI is an engine to produce data driven documents on the fly that can be presented to the end-user in the browser, inside rich client application or stored through batch processing
  • JEDI is perfect to create reports: PDF, RTF and Excel formats are extensively used to show business data to the end-user
  • JEDI is a service in an enterprise architecture (it is easy to set up, to invoke, and can return java streams, that are useful for large docs)
  • JEDI is extensible: existing abstract classes can be extended creating several database connectors (JEDI comes just with Oracle connector), additional XML source types and output format types
  • JEDI is open source, written in java and based on open components

Top

Can I setup a managed document that does not perform any transformation on the XML source?

Sometimes may be usefull to return the XML Source just as it is (e.g. if you want to use the same XML Source in several managed documens you can make them using as source a JEDI managed document returning just its XML source).
It's not allowed to set the XSL attribute to null, but you can setup an identical transformation


    <xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="node()|@*">
          <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
          </xsl:copy>
        </xsl:template>
    </xsl:stylesheet>
                

We have added the identical transformation as a reusable transformer in the default JEDI installation.

Top

What is the license of JEDI - Java Enhanced Data Interface?

JEDI is released under the GPL3 license.

Top

How can I test my managed documents?

The simplest answer is just invoke your document in a browser sending parameter in the querystring.
This method can be a bit tricky so we have added a testing page to the admin interface module that can be found at the address

http://<servername>:<port>/jedi/document/documentTest.faces

Top

How can I run JEDI?

JEDI application must be installed on a Java Application Server and makes use of a database both for configuration and data extraction.
Refer to the Getting Started page for installation instructions.
After the installation you must configure your own managed documents and invoke them passing the required parameters; for example opening in a browser an URL like this:

http://<servername>:<port>/jedi/document.jedi?id=26&valString=251&valString=Rossi

Top

JEDI comes just with Oracle XML sources, how can I make it working with my non Oracle DBMS?

JEDI comes with two Oracle ralated XML source types: "Oracle XMLTYPE from procedure" and "Oracle Result Set from procedure".
We created this DBMS specific source types because the JDBC driver does not provide general methods to handle XMLTYPE and output parameters of type cursor.
In order to use your non Oracle DMBS you should configure additional XML Source types in XMLSOURCETYPE table on JEDI_DB schema providing in the column READERCLASSNAME your own classes extending the abstract classes AbstractXMLStoredProcedure and AbstractXMLResultSetStoredProcedure.

Top

How can I handle additional output format types?

To add the support for additional output format types you should configure them in FORMATTYPE table on JEDI_DB schema providing in the column TRANSFORMERCLASSNAME the full name of a class that extends the jedi class AbstractTransformer or alternatively implements the JEDI interface XMLTransformer.
In both cases you must implement a method with the following signature:


    ByteArrayOutputStream run(String xsl,String xml) throws Exception;
                

This method will contain the business logic to create the JEDI document (i.e. the returning ByteArrayOutputStream) starting from XML business data (i.e. input parameter xml) and the configured XSL transformation (i.e. input parameter xsl).

Top

Which kind of XSL should I set up in order to get an Excel output format?

In order to create Excel documents JEDI uses Apache POI library.
We have created a custom parser that translate XML attributes in POI instructions.
The XML file submitted to the parser should be valid when verified against the following schema:

excel.xsd

So your XSL should be written so that the resulting XML respect the schema.
You can refer to the Demo page to find a working example.

Top

How fresh is this page?

Page content was updated on 18/09/2013