Studio Customization Toolkit Overview

To build a client application, use the classes in eMatrixAppletXML.jar. Additionally, if you use the ENOVIA Live Collaboration Server without an application server and want to build client-only applications (an application with no servlets or JSPs), you can use eMatrixServletRMI.jar.

In the case of the ENOVIA Live Collaboration Server, this is sometimes referred to as "talking directly to RMI." You can compile this kind of code against either the eMatrixServletRMI.jar, or eMatrixAppletXML.jar. (A servlet-enabled Web or application server is required to run servlets and JSPs.)

C++ classes (eMatrixMQL) are also included when you install the ENOVIA Studio Customization Toolkit. The eMatrixMQL.h file provides the C++ programmer with the same functionality as the Java Client package provides to the Java programmer.

The following topics are discussed:

Signing Jar Files

When referencing FcsClient.jar or any other signed jar file, you must use the supplied certificate.

These certificates are in this directory:

$ENOVIA_INSTALL/etc/certs

To sign a jar, JARNAME.jar for the FcsClient.jar (as an example), issue this command:

jarsigner -signedjar FcsClient.jar -keystore $ENOVIA_INSTALL/
etc/certs/releng.pk12 -storetype pkcs12 JARNAME.jar

To verify that the jar is correctly signed:

jarsigner -verify -keystore $ENOVIA_INSTALL/etc/certs 
releng.pk12 -storetype pkcs12 -storepass releng -verbose 
JARNAME.jar 

Overview of Building Java Applets

The ENOVIA Studio Customization Toolkit includes sample code that you can use to build your own applications. You need to identify the Java class packages you want to use, link the specific classes into your own classes, and invoke the applet from an HTML page.

Throughout the section that describes the applet ENOVIA Studio Customization Toolkit, the terms application and applet are used. The following explains the difference between the two terms:


  • Applications are not run within a Web browser. They do have access to the file system on the machine on which they are running. For example, you can use the Java Class packages to build Java applications, which are run just like any other desktop application.
  • Applets are run within a Web browser. Applets cannot do anything to the local machine on which they are running (reading, writing or deleting files, for example) unless the applet code is signed with an unforgeable digital ID. Further, a user must give permission for an applet to perform any tasks outside the browser.

For a review of digitally signing a Java applet's files, see the home page (http://www.suitable.com/docs/signing.html) of Daniel T. Griscom (griscom@suitable.com).

ENOVIA Live Collaboration Java Class Packages

ENOVIA Live Collaboration .jar files include a set of Java class packages that you can use to build applications. The .jar files include other packages used at runtime but are not used to build and should not be called directly. These packages are not listed here and are not included in the Javadocs.

eMatrixServlet and eMatrixApplet Jar File Packages

This section lists the jar file packages in eMatrixServlet and eMatrixApplet.


  • db Package . The db package consists of Java classes that implement and access ENOVIA Live Collaboration database objects. Database objects can be categorized as:
    • Administrative objects: attribute, form, format, group, page, person, policy, program, relationship, report, resource, role, and type objects.
    • Personal visual objects: query, set, cue, view, filter, toolset, and table objects.
    • Instance objects: business objects and relationships.
  • Resource Package . The Resource package contains classes representing .gif images used in the ENOVIA Live Collaboration. The full source code for this Package is provided as part of the ENOVIA Studio Customization Toolkit.
  • VUI Package . The VUI package provides Java binding for user interface components.
  • Util Package . The Util package provides Java binding for utility functions.
  • ENOVIA Live Collaboration Servlet Package . The Servlet package contains the ENOVIA Live Collaboration servlets.

eMatrixAppletXML Packages

This section lists the jar file packages in eMatrixAppletXML.


  • Client Package . The Client Package provides Java binding of client functions that communicate with the ENOVIA Live Collaboration Server.
  • Common Package . The Common Package consists of Java classes that implement common dialogs such as choosers. The full source code for this Package (including Class code and Method code) is provided as part of the ENOVIA Studio Customization Toolkit.
  • ENOVIA Live Collaboration Package . The ENOVIA Live Collaboration Package consists of Java classes that implement application dialogs. The full source code for this package is provided as part of the ENOVIA Studio Customization Toolkit.

Source Code Provided

The ENOVIA Studio Customization Toolkit provides source code for the packages listed in this section.


  • The Resource Package . Code is provided for .gif images that are included in various elements of the ENOVIA application user interface, such as images that make up buttons and icons and images that go on toolbar buttons.
  • The VUI Package. Code is provided that implements Java binding for generic user interface components, including viewers, buttons, menus, icons, and toolbars.
  • The Util Package. Code is provided for various utility functions, such as error message and problem reporting, searching, listing, and so on.

  • The Common Package. Code is provided that implements common dialogs such as choosers and pattern windows: vault chooser, user chooser, type chooser, select pattern windows, and so on.
  • ENOVIA Live Collaboration Package. . Code is provided that implements the Matrix Web Navigator. This applet can start the main application dialogs such as the flat browser, star browser, indented browser, state browser, basics, attributes, session context, find, formats, open set, and so on.
  • Applet Package . Code samples are included for eight applets. Each one implements an eMatrixwindow within an HTML page, with the ENOVIA Business Process Services interface hidden from the user. For each applet, the classes, Java code, and an HTML page are provided. Applets are included to implement the following:
    • Attribute Dialog
    • Basics Dialog
    • FlatQuery
    • FlatSet
    • Formats Dialog
    • GetAttributes
    • Indented Browser
    • SimpleFind
    • Star Browser
    • State Browser
    • StatesPopup
    Source code for Matrix Web Navigator is also included as a sample. Parts of its code are used throughout this guide as examples to demonstrate the key features of these packages and how you can use them to build applications.
  • MQL Package. This applet displays an MQL screen in a Web page. Any valid MQL command may be executed, including those that update the database, such as create, approve or promote. When commands that involve external resources are executed, those resources exist on the ENOVIA Live Collaboration Server, not the client where invoked. For example, the MQL command:
    print bus Assembly "MTC 12345" A select description current dump 
    "|" output 12345.txt

    will create the text file on the ENOVIA Live Collaboration Server host machine in the ENOVIA Live Collaboration Server's directory, not on the machine running the applet. Similarly, external program files must reside on this host in this directory if they are to be executed from the MQL applet.