ADK—a low level Java API into the system ENOVIA Business Process Services—a collection of the defined schema, as well as JPOs and Java Server Pages (JSPs) that can be used with the ADK to write your own applications. ADK :provides documentation, source code, sample files, and wrapper code that may be used as a reference for custom programming The ENOVIA Business Process Services is an extendable object-oriented framework JPO,JSP,Bean,ADK (Bean ?)
Beans currently contain calls to ADK methods (since they were developed before JPOs existed) but most of these calls are isolated in the DomainObject base class. The most used methods in DomainObject are findObjects(), getInfo(), and getRelatedObjects().
ENOVIA software stack JSPs Beans JPOs ADK
The ENOVIA architecture uses a Model View Controller design pattern, where presentation is isolated from business logic. The view portion is defined in the JSPs. The model portion is spread over Beans and JPOs Business logic is accessed through Beans. There is a type Bean for each business type, and Beans for some relationship types. The Part Bean provides services that one would expect to operate on Part objects. JavaServer Pages (JSP) provide a simple programming method to display and dynamically update content on a Web page. JavaServer Pages (JSP) provide a simple programming method to display and dynamically update content on a Web page. JSPs are dynamically compiled and interpreted on the JSP-enabled application server. With Java servlets, you need a pre-compilation step, where you compile the text into bytecode which makes it more compact, faster to download and faster to interpret. Then the bytecode needs to be compiled and deployed. With JSP, the text of the Java code is interpreted and deployed immediately in one step Remote Method Invocation
A Java Program Object (JPO) is just another type of Program object that contains code written in the Java language. Generally, anywhere a Program object can be used, a JPO can be used. JPOs provide the ability to run Java programs natively inside the kernel, without creating a separate process and with a true object-oriented integration feel as opposed to working in MQL. JPOs allow you to write Java programs on top of the ENOVIA Collaboration Platform ADK programming interface and have those programs invoked dynamically. When running inside the ENOVIA Platform Kernel, the programs share the same context and transaction as the thread from which they were launched. In fact, the Java programs are running inside the same Java Virtual Machine (JVM) as the kernel. The JPO emxDomainObject should the be base class for each JPO representing a business object type. The JPO emxDomainRelationship should be the base class for each JPO representing a relationship type. The emxSystem.properties file contains framework properties that apply to all applications, such as searching
eMatrixAppletXML.jar eMatrixRMIServlet.jar
eMatrixServlet and eMatrixApplet Jar File Packages • db Package The db package consists of Java classes that implement and access ENOVIA Collaboration Platform 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. Util Package The Util package provides Java binding for utility functions.
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.