JAVA COMPONENT DEVELOPMENT GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016
|
|
- Amberly Booker
- 5 years ago
- Views:
Transcription
1 JAVA COMPONENT DEVELOPMENT GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016
2 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD, 3D VIA, BIOVIA and NETVIBES are commercial trademarks or registered trademarks of Dassault Systèmes or its subsidiaries in the U.S. and/or other countries. All other trademarks are owned by their respective owners. Use of any Dassault Systèmes or its subsidiaries trademarks is subject to their express written approval. Acknowledgments and References To print photographs or files of computational results (figures and/or data) obtained using BIOVIA software, acknowledge the source in an appropriate format. For example: "Computational results obtained using software programs from Dassault Systèmes BIOVIA. The ab initio calculations were performed with the DMol 3 program, and graphical displays generated with Pipeline Pilot." BIOVIA may grant permission to republish or reprint its copyrighted materials. Requests should be submitted to BIOVIA Support, either through electronic mail to biovia.support@3ds.com, or in writing to: BIOVIA Support 5005 Wateridge Vista Drive, San Diego, CA USA
3 Contents Chapter 1: Java Component Development Overview 1 Who Should Read this Guide 1 Requirements 1 Getting Started with Java Component Development 1 Java Component API 1 Component Interface 2 Supported Objects 2 Additional Information 2 Chapter 2: Creating Java Components 3 Application Package 3 Anatomy of a Java Component 3 Development Requirements 4 Creating a Java Component with Eclipse 4 Creating a Package 4 Creating a Java Project in Eclipse 5 Creating a Project Named "pilotcomponent" 5 Adding the External jar reference to the Build Path 9 Creating a Pilot Component Class 9 Using the Java API to Implement the Component Interface 10 Component Interface 11 Component Categories 11 Saving the Java Code 12 Activating the Package 12 Chapter 3: Testing a Java Component in Pipeline Pilot Client 14 Chapter 4: Adding New Java Components to a Package 16 Saving Components in Package Destinations 16 Chapter 5: Distributing the Package 18 Chapter 6: Debugging a Java Component 19 Writing Additional Properties to the Output 19 Printing Debug Messages 21 Debugging with Eclipse IDE 22 Notes on Debugging 24 Appendices 26 Appendix A: Java VM Environment 26 Appendix B: Using JNI within a Java Component 26 Appendix C: Hash Table Values 26 Creation from a Java Map 27 Values as Java Maps 28 Comment on null values 30 Appendix D: Memory Management 30 Appendix E: Testing 31
4 Chapter 1: Java Component Development Overview The Pipeline Pilot Integration collection includes tools for developing components in the Java programming language for use with protocols. Java is a powerful environment for experienced programmers who need to develop and deliver high-performance capabilities. Java is known for its speed and ability to integrate the capabilities of a pre-existing Java library. If speed is not an issue, it may be easier to use a scripting language such as Perl, Python, or VB. Who Should Read this Guide This guide provides information about how to use the Java component application programming interface (API) to access and modify data objects for developing your own components. It offers the necessary architectural background and technical instructions for creating, testing, and deploying your customized Java components. Requirements To develop components in Java, you need the following: Experience writing code in Java A Java-integrated development environment (IDE), such as Eclipse 3.1 You should also have a basic understanding of how to use Pipeline Pilot Client to design and run protocols Note: This document assumes you are familiar with the Protocol Development Quick Start guide, which explains Component Lifetime Management. Getting Started with Java Component Development The tools available for developing components in Java include: Java-based components, such as Java (on Server) Java API and accompanying API documentation API examples that demonstrate how to design Java components that access the Pipeline Pilot data model to carry out a variety of tasks. A set of template Java Classes to use as a starting point for creating different types of Java components that call the API, such as calculators, manipulators, filters, readers, and writers. This guide includes instructions that walk you through the steps of creating a new component using the Java API, based on the Java (on Server) component that acts as a common "empty vessel" for all Java components. Java Component API The Java Component API provides a convenient way to access and modify the data structures, including the data records that flow through the components, the various parameter settings, and the global properties of the enclosing protocol. Java Component Development Overview Page 1
5 The API is implemented in an object-oriented fashion that reflects the natural syntax and features of the Java programming language. For the API definition, refer to the published Javadocs. Component Interface The Java component interface is com.scitegic.pilot.component. Every Java component implements the following methods, which are detailed in this guide: Component.onInitialize: Executed once before processing the first data record. Component.onProcess: Executed for each data record passed as input or generated by the component. Component.onFinalize: Executed after processing the last data record. The support of this interface is what allows the Java component to plug and play in protocol. Supported Objects The objects implemented by the Java API include: com.scitegic.pilot.datarecord: The data upon which the component operates to implement its function. com.scitegic.pilot.node: An element of the data record and global data hierarchies. com.scitegic.pilot.propertycollection: An ordered set of name/value pairs used to hold the properties assigned to each node and to represent parameter settings. com.scitegic.pilot.property: One of the name/value pairs in a property collection. com.scitegic.pilot.value: A generic value object used to define name/value pairs in a property collection. com.scitegic.pilot.context: Passed to the Component interface methods above, to allow access to component parameters and global properties. Additional Information For more information about the Pipeline Pilot Integration collection and other BIOVIA software products, visit Page 2 Pipeline Pilot Java Component Development Guide
6 Chapter 2: Creating Java Components The following topics are covered: Application Package Anatomy of a Java Component Development Requirements Creating a Java Component with Eclipse Activating the Package Application Package To deploy and run a Java component, you need to work within a named package. A package is a directory structure that holds all files required to deploy an application binaries, component XML, example protocols, example data files, and documentation. All components in Pipeline Pilot are deployed in packages, representing licensed modules. The package approach is particularly important for components that include a separately compiled binary content, such as Java components. IMPORTANT! We recommend that you become familiar with the packaging concept described in the Application Packaging Guide. The "package.conf" file at the top of the package directory structure provides details about how everything is organized in this package and other configuration information. To make a Java component accessible to Pipeline Pilot, define CLASSPATH within java directive in "package.conf", pointing to the location of your classes. <java> CLASSPATH$(package)/ /classes </java> or.jar <java> CLASSPATH$(package)/ /jars/your_component.jar </java> Anatomy of a Java Component When completed, a Java component consists of two parts that reside within a package file structure: A Java class that implements the interface com.scitegic.pilot.component. The jar file (included in the Integration collection) required to build such classes is "<install_ root>/apps/scitegic/integration/bin/lang/java/jars/pilot.jar" An instance of the Java (on Server) component with its JavaClass and Use Package parameters set to refer to the appropriate class and package. This is the XML definition of the interface that is exposed to a protocol designer in the Pipeline Pilot Client. It defines the component parameters, default parameter values, the component icon, and configuration of input and output ports. Creating Java Components Page 3
7 Development Requirements To implement Java components, be sure you have the following resources available: Develop the Java components on a server and write the compiled class files on the same server for testing. We recommend using a dedicated server for developing and debugging Java components. Creating a Java Component with Eclipse This example provides step-by-step instructions on how to create a Java component using Eclipse 3.1 as the Java development environment. IMPORTANT! Before you start, ensure that Eclipse is configured to use Java 5.0 features. From Eclipse, select Window > Preferences > Java > Compiler. Set the Compiler compliance level to "5.0", and enable the flag for Use default compliance settings. To work with this example, use a command window on your server. The example includes the following steps: Creating a package Creating a Java project in Eclipse that implements the Pipeline Pilot component interface and links to the pilot and chemistry jars Implementing a Java class to create a component to change atom element types Activating the package Testing the new Java component Creating a Package 1. In a command prompt window, change directories to "<install_root>/bin" (or "linux_bin" on Linux). 2. Use the "pkgutil -n" command to create a package for product "coolstuff" by company "acme". The command line below will pre-configure the new package with a template file structure for java component development. pkgutil n acme/coolstuff -directive xml directive java Under the new "<install_root>/apps/acme/coolstuff" folder, an appropriate directory structure is created with a specific folder to hold the Java classes and a folder for new components. A "package.conf" file is also created in the new package folder to define the component XML subfolder and to define the package folder location for inclusion in a runtime Java CLASSPATH. This line is initially commented out; uncomment it and fill in the correct jar file name when you have a jar file ready to be used. These package items are located as follows: "<install_root>/apps/acme/coolstuff/bin/lang/java/jars" "<install_root >/apps/acme/coolstuff/xml/components" "<install_root >/apps/acme/coolstuff/package.conf" Page 4 Pipeline Pilot Java Component Development Guide
8 Contents of the package configuration file "package.conf" Creating a Java Project in Eclipse This task involves the following: 1. Creating a project named "pilotcomponent". The source folder is named "pilotcomponent/coolstuff_src" and is linked to the folder "<install_ root>/apps/acme/coolstuff/src/lang/java". For this example we will work with source code within the package file structure, for the sake of simplicity. The default output folder is named "pilotcomponent/coolstuff_build" and is linked to "<install_ root>/apps/acme/coolstuff/bin/lang/java/jars". 2. Adding a reference to the external jar "<install_ root>/apps/scitegic/integration/bin/lang/java/jars/pilot.jar" to the build path. 3. Creating a class com.acme.coolstuff.elementchanger that implements com.scitegic.pilot.component. 4. Adding the Java Component API methods to the class to implement a component to change atom element types. Creating a Project Named "pilotcomponent" To create a project named "pilotcomponent": 1. Start Eclipse and select File > New > Project. The New Java Project dialog opens. 2. Select Java Project, and click Next. 3. At the next dialog, do the following: In Project name, enter "pilotcomponent". Select Create new project in workspace. Select Create separate source and output folders. Click Next. Creating Java Components Page 5
9 4. From the Source tab, select Link Additional Source to Project. Java build settings for pilotcomponent 5. Set up the additional source by doing the following: Click Browse and select the folder "<install_root>/apps/acme/coolstuff/src/lang/java". In Folder name, type "coolstuff_src" and click OK. Set the output folder for the classes. Click Browse. Page 6 Pipeline Pilot Java Component Development Guide
10 Java settings for coolstuff_src Creating Java Components Page 7
11 6. Select the top folder "pilotcomponent" and click Create New Folder. Folder Selection dialog Create New Folder option 7. Click Advanced. It s necessary to create an eclipse folder for the output, which is a link to the file system folder "<install_root>/apps/acme/coolstuff/bin/lang/java/jars". Select Link to folder in the file system. Click Browse and select the folder "<install_root>/apps/acme/coolstuff/bin/lang/java/jars". In Folder name, type "coolstuff_build" and click OK. Select the newly defined coolstuff_build folder and then click OK. You return to the New Java Project window. Page 8 Pipeline Pilot Java Component Development Guide
12 Adding the External jar reference to the Build Path 1. From the Libraries tab, select Add External JARs. 2. Add the JAR file "<install_root>/apps/scitegic/integration/bin/lang/java/jars/pilot.jar". Java settings for coolstuff_build 3. Click Finish. A new project, pilotcomponent, is displayed in the Package Explorer window in Eclipse. 4. If Eclipse prompts you to switch to Java Perspective, select Yes. 5. Remove the folders "bin" and "src" (created by default under pilotcomponent). These folders are not needed. Creating a Pilot Component Class 1. From the Package Explorer window in Eclipse, select the pilotcomponent package. 2. Right-click the folder "coolstuff_src" and select New > Class. 3. Ensure that the Source folder displays the value "pilotcomponent/coolstuff_src". Creating Java Components Page 9
13 4. In the Package field, type "com.acme.coolstuff". 5. In the Name field, type "ElementChanger". 6. To add the interface com.scitegic.pilot.component to the class, click Add. 7. Click Finish. New pilot component class Using the Java API to Implement the Component Interface You now have a class that implements the interface com.scitegic.pilot.component (oninitialize, onprocess and onfinalize methods). Now you need to bulk up the code and add the Java API methods to the class, implementing the behavior that you want. Note: To write Java code that works with the component parameters and data records (and global properties if necessary), refer to the Java API documentation. Page 10 Pipeline Pilot Java Component Development Guide
14 Component Interface The three interface methods to populate are: Component.onInitialize(): Invoked once before any data records arrive. Receives one argument, a com.scitegic.pilot.context object. Must return one of these Component.State values: ReadyForInputData, DoneProcessingData, ReadyForNewData, or ReadyForInputThenNewData. Component.onProcess(): Called once per data record. Receives two arguments (a com.scitegic.pilot.context object and a com.scitegic.pilot.datarecord object) and returns a Component.State value that indicates the component s state after processing the data. Component.onFinalize(): Called when no more data records are available. Receives one argument, a com.scitegic.pilot.context object. Component Categories Different categories of component behavior can be defined (a reader, calculator, manipulator, etc.) based on the component state returned by the oninitialize and onprocess methods. With a few simple states, you can define a wide range of component behaviors. The list below names each of the available component states (the values of the enum com.scitegic.pilot.component.state) and explains their meaning: DoneProcessingData: The component s task is complete. The component requests that the framework does not invoke its Process event again. ReadyForInputData: The component requests that the framework invoke its Process event with any data record that arrives at its input port. ReadyForNewData: The component requests that the framework repeatedly invoke its Process event with a new, empty data record as long as this component state is in force. ReadyForInputThenNewData: The component requests that the framework invoke its Process event with any data record that arrives at its input port. When there are no more input records to process, the framework should repeatedly pass to the component a new, empty data record as long as this component state is in force. Below are some broad categories of components and how they make use of component state. Component Category Calculator Filter Reader or Generator Writer Aggregator Management of Component State Component state is always set to "ReadyForInputData" Component state is always set to "ReadyForInputData" Component state is set to "ReadyForNewData". When the operation is complete, the state is set to "DoneProcessingData". Component state is set to "ReadyForInputData". If a maximum output limit is reached, the state is changed to "DoneProcessingData". Component state is set to "ReadyForInputThenNewData". For each input data record, the component caches the necessary data. When there is no further data on the input port and a new data record is processed, the component starts to output records of aggregated data. Creating Java Components Page 11
15 Saving the Java Code To save the class, enter CTRL-S. Eclipse compiles the code automatically, creating the output in "<install_ root>/apps/acme/coolstuff/bin/lang/java/jars". Eclipse editor Activating the Package The "package.conf" file contains the classpath and library information needed to run the Java component. The "pkgutil n" command with the java directive option generates a "package.conf" file Page 12 Pipeline Pilot Java Component Development Guide
16 that already includes a sample classpath for the components which references the output jars directory, so simply ensure you remove the line comment marker and change the name of the jar file. To active the pacmanagement of Component Statekage: 1. In a command prompt window, change directories to "<install_root>/bin" ("linux_bin" on Linux). 2. Use pkgutil on the command line to activate the "acme/coolstuff" package: pkgutil -i acme/coolstuff Notes: On Linux, first source "ppvars.sh" to set up the environment for loading the binaries ("ppvars.sh"). For details on the pkgutil command, see the Application Packaging Guide. Creating Java Components Page 13
17 Chapter 3: Testing a Java Component in Pipeline Pilot Client 1. In Pipeline Pilot Client, add the Java (on Server) component to a new blank workspace and fill in the parameter values as follows: Parameter Value Notes JavaClass com.acme.coolstuff.elementchanger This is the class you created and built in Eclipse. Use Package acme/coolstuff This is how the component knows what CLASSPATH to use; it gets it from the package's "package.conf" file. This is an array type parameter, so more than one package name can be specified. 2. Parameters required by your Java code must now be added to the component itself: Right-click the component and select Edit. The Edit dialog opens. Use the Interface tab to add new parameters. Click Add Parameter. The Define Parameter dialog opens. Use the Parameter tab to define a parameter name and type. It is good practice to author brief information for each new parameter. Enter the text in the Parameter Help field. You can also set the Required to run protocol flag, if needed. Testing a Java Component in Pipeline Pilot Client Page 14
18 Create new parameters for a component The Parameters tab in the lower-right corner of the Pipeline Pilot Client window exposes your new parameters. From here, you can set values for them before running the protocol. In the example below, the component author added two new parameters (ToElement and ChangeElement) and set their values. New parameters exposed in Parameters tab 3. To test out the component, add other components that flow and view the data when you run the protocol. 4. Run the protocol and see if the behavior is as expected. Page 15 Pipeline Pilot Java Component Development Guide
19 Chapter 4: Adding New Java Components to a Package Before saving a new Java component to its package, complete your component interface to fine-tune its design. To fine-tune your design: 1. In the Pipeline Pilot Client, edit the caption displayed beneath the component icon. Assign meaningful information that conveys what the component is designed to do when used in a protocol. 2. Define the icon, ports and help text to use with your component. Right-click the component and select Edit. The Edit dialog opens. To assign an icon, click the Ports and Icon tab, and select an appropriate icon from the list. The drop-down list displays the icon types you can select and provides a description of its purpose. An enlarged preview of the icon is also displayed on the right. From Input Port, Output Port Pass, and Output Port Fail, set the appropriate port configuration for the function and design of your component. To define help text, click the Help tab. In Summary, enter brief text to use as the flyover help. In Description, enter more details about how to use the component. Your help should describe the component s purpose (what it does and how it can be used). Component-level help provides detailed information about what the component does and how it can be used. Details for setting individual parameters are provided by parameter-level help. Saving Components in Package Destinations Configuring the interface of a component setting parameters, adding or removing ports, adding or removing parameters does not immediately create a new component or establish ownership of the new configuration. A copy of the component created after you save the component. When you save a copy, a new global identifier (GUID) is assigned and registered as a separate element of the protocol database (XMLDB). To create a copy of your Java component that is distinct from the generic Java (on Server) component and is bundled with the underlying Java class: 1. Save the component to your "User Name" tab, assigning it an appropriate name. This is the name it will be known as from now on, so it should be descriptive and as unique as you can make it without being too verbose. Consider that the final location of the component in the Component hierarchy will provide information on the component s type. For example, if it resides in a folder named "Calculators", it is not necessary to repeat the fact that it is a calculator component in the component name. See Component Development Guide. Note: Be sure to save only the component and not the entire protocol. To save a component, right-click the component icon and select Save. 2. Prepare a location in your package to store the Component XML definition. This is within the XML directory (refer back to the <xml> directive in the "package.conf" file). The folder structure that you create determines where the component is exposed in the Components tab in the Explorer hierarchy. For correct tab placement, create a folder named "xml/components", and then build an appropriate folder structure with subfolder names (e.g., "xml/components/coolstuff/manipulators"). Adding New Java Components to a Package Page 16
20 3. To store the XML file in the desired location within your package, export the component from your "User Name" tab. Right-click the component icon in the Explorer window, select Export, and save it to the appropriate path. 4. Delete the component from your "User Name" tab. You do not need it anymore since the component is now a packaged item. Note: It is necessary to export the component (in addition to saving it), to ensure that the component is assigned a unique GUID (global identifier). A simple export of the Java (on Server) component would result in a component with the same GUID as the original Java (on Server) component; which would cause confusion for future upgrades and would not let you track and manage the component effectively. 5. Insert the package component into the XMLDB by reactivating the package. pkgutil -r acme/coolstuff 6. Refresh the Explorer tab to check that the component is now installed where you expect it to be exposed in the Component tab folder hierarchy. 7. Build an example protocol to show the use of the component and store this in your package in the same way. In the case of Protocols, export the protocol XML to a suitable location within the "xml/protocols" folder. Tip: You can add multiple components and example protocols to the package in this way. Page 17 Pipeline Pilot Java Component Development Guide
21 Chapter 5: Distributing the Package It is advantageous to have a package that includes your binaries, components, documentation, and examples. It is easy to compress it in ZIP format and reinstall it on another server. To distribute the package for installation: Place the folder in the same location under the "<install_root>/apps" folder and then activate the package with the pkgutil commands (which should exist on each server). This installs the components and example protocols, and adds your documents and data files to the server infrastructure, exposing it to end users and making it available in the appropriate locations. Distributing the Package Page 18
22 Chapter 6: Debugging a Java Component Various options are available for debugging components, including: Writing additional properties to the component output Using add-in debug messages Connecting with a debugger This chapter takes a closer look at debugging Java components using the Element Changer component. Writing Additional Properties to the Output The Element Changer component writes out the extra "NumAtomsChanged" property. However, it is useful to write out the indexes of each replaced atom to highlight them in the output. This can help for debugging issues with the algorithm. To output the index value of each affected atom: 1. Access your ElementChanger.java source file and make the following additions: 2. Compile your source code. 3. In the Pipeline Pilot Client, update the ChangeElement parameter value from "Cl" to "C" and ToElement from "F" to "S" (to ensure that the component picks up new values). Debugging a Java Component Page 19
23 Element Changer component parameters 4. Add the Highlight Atoms component between the Element Changer and the HTML Molecular Table Viewer, and split the SD Reader output so that two pipes enter the viewer like this: Protocol with newly added Highlight Atoms component 5. Set the component's PropertyName parameter to "ReplacedAtoms" (so your new ReplacedAtoms property is used to select atoms for highlighting), and set Highlight Color to "Green": Highlight Atoms component parameters 6. Run the newly updated protocol. The output should look something like this: Protocol output. The top row in the HTML output shows the original input molecule and the second row shows the changes made by our Element Changer component. Tip: Adding extra parameter values is useful when you need to re-use additional parameters downstream. You can also output debug messages that are only exposed in the Debug Messages console. Page 20 Pipeline Pilot Java Component Development Guide
24 Printing Debug Messages Most Java developers are familiar with debugging by System.out.println() statements. You can print debug messages from Java components directly to Pipeline Pilot. To print debug messages: 1. In the Pipeline Pilot Client, select View > Debug Windows > Debug Messages, and ensure that the Debug Messages option is selected. The debug messages are printed in the Debug Messages window. 2. Return to your ElementChanger.java source file and make the following additions: 3. Compile your source code. 4. To run the original protocols in debug mode in Pipeline Pilot Client, select Tools > Run Protocol with Debugging. 5. When the protocol job runs, the Debug Messages window should display debugging messages like the following: Debugging messages for Java components in Pipeline Pilot Tip: Most debugging problems can be solved with these simple techniques. Occasionally, you might need a full debugger, so the following section explains how to attach a debugger to your component. Debugging a Java Component Page 21
25 Debugging with Eclipse IDE Pipeline Pilot is a multi-process system. Each protocol job executes in a separate process and loads a new JVM. This makes it easy to attach a debugger to your Java components. Note: The following script assumes you are using Eclipse IDE 3.1 or later with the Java perspective open. IMPORTANT! Always develop, test, and debug Java plug-in components on a separate development server. Do not change the JVM settings on a production server. To debug Java components in Eclipse: 1. Open the Element Changer protocol. 2. In Eclipse, select Run > Open Debug. The Debug dialog opens. 3. From the list on the left, right-click Remote Java Application and click New. Debug dialog for Java applications 4. Specify the name of your debug configuration (for example, "pilotcomponent") and browse to the project you want to debug. Page 22 Pipeline Pilot Java Component Development Guide
26 Debug configuration 5. Leave the rest of the settings set to Eclipse's defaults (localhost, 8000) and click Close. 6. Open "$(install_root)\apps\scitegic\core\xml\objects\javaenvironement.xml". Comment out the first "sci:proplist" element, and un-comment the second one, which defines the debug setup. (For more details on the JVM settings, see Appendix A: Java VM Environment.) JavaEnvironement.xml 7. To have a running protocol pause when Java is loaded and wait for you to attach the debugger, change "suspend=n" to "suspend=y". If you are the only person running protocols, this is recommended, as it means you do not have to put a pause construct in your code. 8. In the Pipeline Pilot Client, run the Element Changer protocol (or any protocol containing at least one Java (on Server) component). This starts the Java VM inside the protocol job process. 9. If you set "suspend=y", run the target protocol to debug. Debugging a Java Component Page 23
27 10. In Eclipse, toggle a breakpoint somewhere in the onprocess method body of the ElementChanger.java source file or anywhere in the file to debug. 11. In Eclipse, select Debug <your debug configuration> where "<your debug configuration>" is the name you supplied above (step 4). In this example, use "pilotcomponent" as your configuration name. This attaches the debugger to the running Java VM. If you select "suspend=y", then the debugger should break in the onprocess method and open the Eclipse debug perspective. It should look something like this: Eclipse debug perspective IMPORTANT! Make sure the first line in your component Classpath directory is an open "classes" directory, not a jar directory. This way, you will not have to rebuild and deploy your jars every time you make a code change. Notes on Debugging The process, "scisvr.exe", runs in the background for processes pools, scheduled tasks, and background tasks that keep the server warm. If you configure the "JavaEnvironment.xml" file to use a debug port (such as port 8000), a different process might use the debug port before you launch your protocol for debugging. If you see either of these conditions: "No Server Process" error displays in the Pipeline Pilot Client status bar The Java debugger attaches but does not stop at your breakpoints Page 24 Pipeline Pilot Java Component Development Guide
28 Disable process pooling and warm-up tasks in the Pipeline Pilot Admin Portal: 1. Log onto the Admin Portal. 2. Go to Jobs > Settings. 3. Set Maximum Number of Persistent Daemons per Job Pool to "0". 4. Set Job Readiness Refresh Rate (seconds) "0". Save the job settings configuration. You do not need to re-start the Apache web server. All processes share one configuration, so changing the port in "JavaEnvironment.xml" does not prevent the issue. Debugging a Java Component Page 25
29 Appendices Appendix A: Java VM Environment The file "<install_root>/apps/scitegic/core/xml/objects/javaenvironment.xml" controls the JVM than runs within a protocol. The JVM is a singleton per running protocol. These settings are universal on your server. Therefore use care when developing on a production server. You can adjust the following settings: Setting JVMType Description Windows only: Select client or server JVM. The client JVM loads faster and is best suited for quick running protocols. JVMArgs Parameters that are passed to the JVM when it is loaded; useful for adjusting memory size, debugging, and profiling Java code. For example: <sci:mpropval name="jvmargs" type="stringtype"> <sci:value>-xmx256m</sci:value> <sci:value>-xss2m</sci:value> </sci:mpropval> Appendix B: Using JNI within a Java Component If a Java component needs to load and use a native library, Pipeline Pilot needs to know where to find it. To make a native library accessible to Pipeline Pilot, define a nested jni directive within java directive in "package.conf". Within the jni directive, define CLASSPATH key so it points to the Java class file or jar file that loads the native library, and LIBRARYPATH key so it identifies the location of the native library. <java> CLASSPATH $(package)/ /jars/your_component.jar <jni> CLASSPATH $(package)/ /jars/jni_wrapper.jar LIBRARYPATH $(package)/ /libs </jni> </java> CLASSPATH and LIBRARYPATH keys within the jni directive are used to initialize the JVM. Java classes pointed by CLASSPATH within the jni directive are loaded by the system class loader, whereas Java classes pointed by CLASSPATH within the parent java directive are loaded by a child class loader. This implies that classes defined within the jni directive cannot use classes from the java directive. Hence, it is recommended that classes within the jni directive contain only native method declarations and the code to load native libraries. Appendix C: Hash Table Values Hash table values are exposed in Java via a Value object. Appendices Page 26
30 Creation from a Java Map An object implementing the Java Map interface can be used to define the value of a property. At the time of definition, a copy of the Map is made into a native hash table value contained by a property on the property collection. Native Java data types are reinterpreted into native Pipeline Pilot value types. For example, we can create a HashMap in Java, storing entries using a number of different Java native types. Assigning that Map to a property causes the creation of a HashTableValue with the correct data types: public Component.State onprocess(context context, DataRecord data) Exception { PropertyCollection props = data.getproperties(); HashMap map = new HashMap(); map.put("a", false); map.put("b", 10); map.put("c", 11.11); map.put("d", "DD"); boolean[] e = {false, true}; map.put("e", e); int[] f = {11, 12}; map.put("f", f); double[] g = {11.11, 12.34}; map.put("g", g); String[] i = {"a","b"}; map.put("i", i); props.define("h", map); return Component.State.ReadyForInputData; } Viewing the results in the Data Record Tree Viewer: throws You could now inspect the created HashTableValue downstream to confirm that the item types are indeed as expected from the inputs. (Note that both the simple data types (Boolean, int, double, and String) are supported, as are arrays of those types. To support this flexible use of Object, the Java PropertyCollection "define" method has been extended to accept a generic Object, so you can call "define" with a native Java data type (Boolean, String, String[], Map, etc) typed as an Object, and it will define the appropriate Value type.) Use the HashTableValue "H" as the input object for some of the examples below. Page 27 Pipeline Pilot (Undefined variable: ProductVariables.Product Version) Java Component Development Guide
31 Values as Java Maps A Value created from a property containing a hash table value can be cast to a Java Map, and manipulated with standard Java commands as a native Java object. Note that the Java hash table object is a copy of the HashTableValue you can make changes to it, but it does not change the original Pipeline Pilot object. You will need to use a "define" or "setvalue" call to transfer any of your changes back to Pipeline Pilot. This is analogous to how other Value types are exposed in Java changing them does not change the original value. Since a Value created from a HashTableValue can be cast to the Java Map interface, you can call all the methods of a native Java Map on such a Value. For example, you can call the Map "keyset()" method to iterate over all the keys in the hash table "H" we created in the previous example: public Component.State onprocess(context context, DataRecord data) throws Exception { PropertyCollection props = data.getproperties(); Property prop = props.getbyname("h"); Value hashval = prop.getvalue(); // If the value is a HashTable type, then the return object // from get() can be cast to a Map if (hashval.gettype()!= Value.Type.HashTable) { throw new Exception( Expected a HashTable ); } Map<Object, Object> valmap = (Map<Object, Object>)hashval.get (Value.Type.HashTable); Set keys = valmap.keyset(); Iterator it = keys.iterator(); int count = 1; while (it.hasnext()) { String key = it.next().tostring(); String name = "KEY"; name = name.concat(integer.tostring(count)); props.define(name, key); count += 1; } return Component.State.ReadyForInputData; } The results viewed in the Data Record Tree Viewer looks like: Appendices Page 28
32 Similarly, you could call "entryset()" to iterate over all the entries: public Component.State onprocess(context context, DataRecord data) throws Exception { PropertyCollection props = data.getproperties(); Property prop = props.getbyname("h"); Value hashval = prop.getvalue(); // If the value is a HashTable type, then the return object // from get() can be cast to a Map if (hashval.gettype()!= Value.Type.HashTable) { throw new Exception( Expected a HashTable ); } Map<Object, Object> valmap = (Map<Object, Object>)hashval.get (Value.Type.HashTable); Iterator it = valmap.entryset().iterator(); int count = 0; while (it.hasnext()) { Map.Entry entry = (Map.Entry)it.next(); Object key = entry.getkey(); Object item = entry.getvalue(); } } count += 1; props.define("key" + Integer.toString(count), key); props.define("item" + Integer.toString(count), item); return Component.State.ReadyForInputData; The output looks like: Page 29 Pipeline Pilot (Undefined variable: ProductVariables.Product Version) Java Component Development Guide
33 Both of these examples demonstrate how you can test whether a given value "val" contains a hash table. This is done by testing the return value of gettype(): If (val.gettype() == Value.Type.HashTableValue) { // (perform hash table action on val ) //... } Comment on null values Null values are allowed for either the key or item, but you should be careful in the definition of some of the Map methods, a 'null' return means the entry was not found. If you store nulls in a hash table, you'll have to test for existence of the property using "containskey()" rather than simply testing whether the Value returned by "findkeyitem()" is null. Appendix D: Memory Management By default, Pipeline Pilot manages the memory associated with DataRecords and Nodes in the majority of situations. This includes: Appendices Page 30
34 Existing DataRecords and their Nodes passed in to the onprocess Method New DataRecords passed into the onprocess and when the component has the ReadyForNewData or ReadyForInputThenNewData state You can also create new Nodes or DataRecords within your component by using the instance methods createnode() and createdatarecord() on the Context. You can also clone Nodes using the clone () method on the Node. Note: It is best practice is to relinquish the native memory associated with the returned object as soon as possible by calling the.relinquish() method on the instance. The common places to relinquish memory are: In the oninitialize or onprocess method in which you created the Node or DataRecord if it is only required for the duration of that method. In the onfinalize method once the component has finished its work. Note: The NodeCache class is available if you need to manage a collection of Nodes. There is no need to use a ProtocolShutdownListener registered with the Context to relinquish memory as the framework automatically cleans up memory when the protocol finishes. What happens if I forget to call relinquish? The framework will clean-up at the end of the run. If the protocol is big or memory intensive, this can become a problem, thus it is best practice to use relinquish() within the narrowest scope possible. What happens if I call relinquish on an object I didn't create? The object will continue to exist until the framework releases it. What happens if I cache Nodes? You should not cache nodes yourself. Nodes, Data Records, Property Collections, Properties, and Values are all pointers to native memory owned by the framework. These objects use reference counting and can be freed without your notification unless your code created them. If you need to hold onto Nodes or data for a longer time, either copy it to your memory or use NodeCache to have the framework cache the data. Appendix E: Testing Testing your Java components is best achieved with two complimentary approaches: 1. Test the component using Regressions. 2. Test the logic within your component using JUnit (or Regressions). This approach allows you to take advantage of the testing tools built into Java IDEs while you are developing your logic, but also ensure that your component is going to function correctly in real world protocols across different versions of Pipeline Pilot and Pipeline Pilot. To ease testing, it is recommended that you architect your components to separate the bulk of your logic from the component wrapper needed to interact with Pipeline Pilot. Your classes implementing the logic should know nothing about Pipeline Pilot, but expose an API that can be used by the component wrapper. For example, if your component looks up location details from a zip code, write a class like this: package com.acme.coolstuff; public class Location { public Location(String zipcode) {... Page 31 Pipeline Pilot (Undefined variable: ProductVariables.Product Version) Java Component Development Guide
35 } } public String getcity() {... } public String getstate() {... } This class does not import any com.scitegic.pilot.* classes, which makes it easy to test using standard Java unit testing frameworks such as JUnit. To expose the functionality of the Location class as a component it needs to be wrapped in a class that implements the Component. This is relatively simple with the class extracting the zip code from the DataRecord, creating an instance of the Location class and adding two new properties back onto the DataRecord. To integration test this wrapper class, use a regression (see Component Development Regression Test Guide.) Appendices Page 32
DEVELOPER GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016
DEVELOPER GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA,
More informationPERL COMPONENT DEVELOPMENT GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016
PERL COMPONENT DEVELOPMENT GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS,
More informationINSTALL GUIDE BIOVIA INSIGHT 2.6
INSTALL GUIDE BIOVIA INSIGHT 2.6 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD,
More informationQUICK START GUIDE PROTOCOL DEVELOPMENT INTEGRATION COLLECTION 2016
QUICK START GUIDE PROTOCOL DEVELOPMENT INTEGRATION COLLECTION 2016 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA,
More informationINSTALL GUIDE BIOVIA INSIGHT 2016
INSTALL GUIDE BIOVIA INSIGHT 2016 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD,
More informationGETTING STARTED WITH INSIGHT PLUGINS GUIDE BIOVIA INSIGHT 2018
GETTING STARTED WITH INSIGHT PLUGINS GUIDE BIOVIA INSIGHT 2018 Copyright Notice 2017 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA,
More informationCLIENT SYSTEM REQUIREMENTS NOTEBOOK 2018
CLIENT SYSTEM REQUIREMENTS NOTEBOOK 2018 Copyright Notice 2017 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA,
More informationDATABASE INTEGRATION GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016
DATABASE INTEGRATION GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA,
More informationSequence Provider DELMIA Apriso 2018 Implementation Guide
Sequence Provider DELMIA Apriso 2018 Implementation Guide 2017 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD, 3D
More informationIsight Component Development 5.9
Isight Component Development 5.9 About this Course Course objectives Upon completion of this course you will be able to: Understand component requirements Develop component packages for Isight Targeted
More informationPROTOCOL DEVELOPMENT Quick Start Guide
PROTOCOL DEVELOPMENT Quick Start Guide Copyright Notice Copyright 2011 Accelrys Software Inc. All rights reserved. This product (software and/or documentation) is furnished under a License Agreement and
More informationManufacturing Process Intelligence DELMIA Apriso 2017 Installation Guide
Manufacturing Process Intelligence DELMIA Apriso 2017 Installation Guide 2016 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA,
More informationFlat File Decoding DELMIA Apriso 2017 Technical Guide
Flat File Decoding DELMIA Apriso 2017 Technical Guide 2016 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD, 3D VIA,
More informationDEVELOPER GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016
DEVELOPER GUIDE PIPELINE PILOT INTEGRATION COLLECTION 2016 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA,
More informationCHAPTER 6. Java Project Configuration
CHAPTER 6 Java Project Configuration Eclipse includes features such as Content Assist and code templates that enhance rapid development and others that accelerate your navigation and learning of unfamiliar
More informationADMINISTRATION GUIDE BIOVIA QUERY SERVICE 2018
ADMINISTRATION GUIDE BIOVIA QUERY SERVICE 2018 Copyright Notice 2017 Dassault Systèmes. All rights reserved. 3DEXPERIENCE, the Compass icon and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA,
More informationAt the shell prompt, enter idlde
IDL Workbench Quick Reference The IDL Workbench is IDL s graphical user interface and integrated development environment. The IDL Workbench is based on the Eclipse framework; if you are already familiar
More informationFlexParts DELMIA Apriso 2018 Implementation Guide
FlexParts DELMIA Apriso 2018 Implementation Guide 2017 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD, 3D VIA, BIOVIA,
More informationMEDIA COMPUTATION DRJAVA. Lecture 11.3 November 7, 2008
MEDIA COMPUTATION DRJAVA Lecture 11.3 November 7, 2008 LEARNING GOALS Understand at practical level Where to get DrJava How to start DrJava Dr Java features How to add items to the classpath for DrJava
More informationInfor LN Studio Application Development Guide
Infor LN Studio Application Development Guide Copyright 2016 Infor Important Notices The material contained in this publication (including any supplementary information) constitutes and contains confidential
More informationJust Enough Eclipse What is Eclipse(TM)? Why is it important? What is this tutorial about?
Just Enough Eclipse What is Eclipse(TM)? Eclipse is a kind of universal tool platform that provides a feature-rich development environment. It is particularly useful for providing the developer with an
More informationEnterprise Architect. User Guide Series. Profiling. Author: Sparx Systems. Date: 10/05/2018. Version: 1.0 CREATED WITH
Enterprise Architect User Guide Series Profiling Author: Sparx Systems Date: 10/05/2018 Version: 1.0 CREATED WITH Table of Contents Profiling 3 System Requirements 8 Getting Started 9 Call Graph 11 Stack
More informationEnterprise Architect. User Guide Series. Profiling
Enterprise Architect User Guide Series Profiling Investigating application performance? The Sparx Systems Enterprise Architect Profiler finds the actions and their functions that are consuming the application,
More informationActiveSpaces Transactions. Quick Start Guide. Software Release Published May 25, 2015
ActiveSpaces Transactions Quick Start Guide Software Release 2.5.0 Published May 25, 2015 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED
More informationIsight Component Development
Lecture 1 Introduction Workshop 0 Workshop Preliminaries Lecture 2 Basic Component Anatomy Workshop 1 Building a GUI Workshop 2 Executing External Source Code Lecture 3 Building and Testing Components
More informationDatabase Management (Functional) DELMIA Apriso 2018 Implementation Guide
Database Management (Functional) DELMIA Apriso 2018 Implementation Guide 2017 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA,
More informationOrgnazition of This Part
Orgnazition of This Part Table of Contents Tutorial: Organization of This Part...1 Lesson 1: Starting JReport Enterprise Server and Viewing Reports...3 Introduction...3 Installing JReport Enterprise Server...3
More informationEMC Documentum Composer
EMC Documentum Composer Version 6.5 SP2 User Guide P/N 300-009-462 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright 2008 2009 EMC Corporation. All
More informationIntroduction to Computation and Problem Solving
Class 3: The Eclipse IDE Introduction to Computation and Problem Solving Prof. Steven R. Lerman and Dr. V. Judson Harward What is an IDE? An integrated development environment (IDE) is an environment in
More information1.00 Lecture 2. What s an IDE?
1.00 Lecture 2 Interactive Development Environment: Eclipse Reading for next time: Big Java: sections 3.1-3.9 (Pretend the method is main() in each example) What s an IDE? An integrated development environment
More information21 CFR Part 11 Compliance DELMIA Apriso 2018 Implementation Guide
21 CFR Part 11 Compliance DELMIA Apriso 2018 Implementation Guide 2017 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD,
More informationNSIGHT ECLIPSE EDITION
NSIGHT ECLIPSE EDITION DG-06450-001 _v7.0 March 2015 Getting Started Guide TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. About...1 Chapter 2. New and Noteworthy... 2 2.1. New in 7.0... 2 2.2. New
More informationJava Programming with Eclipse
One Introduction to Java 2 Usage of Java 3 Structure of Java 4 Flexibility of Java Programming 5 Using the Eclipse Software 6 Two Running Java in Eclipse 7 Introduction 8 Using Eclipse 9 Workspace Launcher
More informationSYMYX NOTEBOOK BY ACCELRYS 6.7. Deployment of Update 2
SYMYX NOTEBOOK BY ACCELRYS 6.7 Deployment of Update 2 LAST UPDATED: JAN. 4, 2013 Copyright Notice Copyright 2013 Accelrys Software Inc. All rights reserved. This product (software and/or documentation)
More informationJava Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1
COMP 210: Object-Oriented Programming Lecture Notes 1 Java Program Structure and Eclipse Robert Utterback In these notes we talk about the basic structure of Java-based OOP programs and how to setup and
More informationTeiid Designer User Guide 7.5.0
Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata
More informationElectrical System Functional Definition
Electrical System Functional Definition Preface What's New? Getting Started Basic Tasks Advanced Tasks Workbench Description Customizing Glossary Index Dassault Systèmes 1994-2000. All rights reserved.
More informationDrools Tools Reference Guide. Version: CR1
Drools Tools Reference Guide Version: 5.0.0.CR1 1. Introduction... 1 1.1. What is Drools?... 1 1.2. Drools Tools Key Features... 1 1.3. Other relevant resources on the topic... 2 2. Creating a New Drools
More informationEMC Documentum Composer
EMC Documentum Composer Version 6.0 SP1.5 User Guide P/N 300 005 253 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All
More informationIntroduction to Eclipse
Introduction to Eclipse Ed Gehringer Using (with permission) slides developed by Dwight Deugo (dwight@espirity.com) Nesa Matic (nesa@espirity.com( nesa@espirity.com) Sreekanth Konireddygari (IBM Corp.)
More information3 Getting Started with Objects
3 Getting Started with Objects If you are an experienced IDE user, you may be able to do this tutorial without having done the previous tutorial, Getting Started. However, at some point you should read
More informationENOVIA Studio Developer Edition
ENOVIA Studio Developer Edition Product overview ENOVIA Studio Developer Edition provides software code implementation and quality engineering capabilities to more rapidly develop custom applications for
More informationGetting Started with Web Services
Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be
More informationWowza IDE 2. User's Guide
Wowza IDE 2 User's Guide Wowza IDE 2: User's Guide Copyright 2006 2013 Wowza Media Systems, LLC. http://www.wowza.com/ Third-Party Information This document contains links to third-party websites that
More informationIndex. Symbols. /**, symbol, 73 >> symbol, 21
17_Carlson_Index_Ads.qxd 1/12/05 1:14 PM Page 281 Index Symbols /**, 73 @ symbol, 73 >> symbol, 21 A Add JARs option, 89 additem() method, 65 agile development, 14 team ownership, 225-226 Agile Manifesto,
More informationCreating a new CDC policy using the Database Administration Console
Creating a new CDC policy using the Database Administration Console When you start Progress Developer Studio for OpenEdge for the first time, you need to specify a workspace location. A workspace is a
More informationModule 4: Working with MPI
Module 4: Working with MPI Objective Learn how to develop, build and launch a parallel (MPI) program on a remote parallel machine Contents Remote project setup Building with Makefiles MPI assistance features
More informationIBM Rational Rhapsody Gateway Add On. User Guide
User Guide Rhapsody IBM Rational Rhapsody Gateway Add On User Guide License Agreement No part of this publication may be reproduced, transmitted, stored in a retrieval system, nor translated into any
More informationForm into function. Getting prepared. Tutorial. Paul Jasper
Tutorial Paul Jasper TABLE OF CONTENTS 1 Getting prepared 2 Adding a button to the form design 2 Making the button add tasks 3 Sending the XML data 4 Tidying up 5 Next time In the first episode, I showed
More informationUsing Command Modeler
CHAPTER 5 Command Modeler provides an infrastructure for generating and validating device-independent CLI models. Developers can use the generated device independent CLI models to generate device-specific
More informationNSIGHT ECLIPSE EDITION
NSIGHT ECLIPSE EDITION DG-06450-001 _v8.0 September 2016 Getting Started Guide TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. About...1 Chapter 2. New and Noteworthy... 2 2.1. New in 7.5... 2 2.2.
More informationManage and Generate Reports
Report Manager, page 1 Generate Reports, page 3 Trust Self-Signed Certificate for Live Data Reports, page 4 Report Viewer, page 4 Save an Existing Stock Report, page 7 Import Reports, page 7 Export Reports,
More informationTeamcenter 11.1 Systems Engineering and Requirements Management
SIEMENS Teamcenter 11.1 Systems Engineering and Requirements Management Systems Architect/ Requirements Management Project Administrator's Manual REQ00002 U REQ00002 U Project Administrator's Manual 3
More informationWFCE - Build and deployment. WFCE - Deployment to Installed Polarion. WFCE - Execution from Workspace. WFCE - Configuration.
Workflow function and condition Example WFCE - Introduction 1 WFCE - Java API Workspace preparation 1 WFCE - Creating project plugin 1 WFCE - Build and deployment 2 WFCE - Deployment to Installed Polarion
More informationUsing Eclipse for Java. Using Eclipse for Java 1 / 1
Using Eclipse for Java Using Eclipse for Java 1 / 1 Using Eclipse IDE for Java Development Download the latest version of Eclipse (Eclipse for Java Developers or the Standard version) from the website:
More informationPerceptive Connect Runtime
Perceptive Connect Runtime Installation and Setup Guide Version: 1.0.x Compatible with ImageNow: Version 6.7.x or higher Written by: Product Knowledge, R&D Date: August 2016 2015 Perceptive Software. All
More informationFX SERIES. Programmer s Guide. Embedded SDK. MN000540A01 Rev. A
FX SERIES Embedded SDK Programmer s Guide MN000540A01 Rev. A Table of Contents About This Guide Introduction...4 Chapter Descriptions... 4 Notational Conventions...5 Related Documents and Software...5
More informationMobile Application Workbench. SAP Mobile Platform 3.0 SP02
SAP Mobile Platform 3.0 SP02 DOCUMENT ID: DC-01-0302-01 LAST REVISED: January 2014 Copyright 2014 by SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced
More informationCS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM
CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM Objectives Defining a wellformed method to check class invariants Using assert statements to check preconditions,
More informationGetting Started with Eclipse/Java
Getting Started with Eclipse/Java Overview The Java programming language is based on the Java Virtual Machine. This is a piece of software that Java source code is run through to produce executables. The
More informationElectrical System Functional Definition
Electrical System Functional Definition Overview Conventions What's New? Getting Started Creating a New System Creating Equipment Creating Connectors Creating a Signal Connecting Saving Your System User
More informationAudit Trail DELMIA Apriso 2018 Technical Guide
Audit Trail DELMIA Apriso 2018 Technical Guide 2017 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD, 3D VIA, BIOVIA,
More informationEclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang
Eclipse Tutorial For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Getting Started with Eclipse Choosing a Perspective Creating a Project Creating a Java
More informationWPS Workbench. user guide. "To help guide you through using the WPS user interface (Workbench) to create, edit and run programs"
WPS Workbench user guide "To help guide you through using the WPS user interface (Workbench) to create, edit and run programs" Version: 3.1.7 Copyright 2002-2018 World Programming Limited www.worldprogramming.com
More informationCOMP 110/401 APPENDIX: INSTALLING AND USING ECLIPSE. Instructor: Prasun Dewan (FB 150,
COMP 110/401 APPENDIX: INSTALLING AND USING ECLIPSE Instructor: Prasun Dewan (FB 150, dewan@unc.edu) SCOPE: BASICS AND BEYOND Basic use: CS 1 Beyond basic use: CS2 2 DOWNLOAD FROM WWW.ECLIPSE.ORG Get the
More informationLab Android Development Environment
Lab Android Development Environment Setting up the ADT, Creating, Running and Debugging Your First Application Objectives: Familiarize yourself with the Android Development Environment Important Note:
More informationSetting Up Resources in VMware Identity Manager (SaaS) Modified 15 SEP 2017 VMware Identity Manager
Setting Up Resources in VMware Identity Manager (SaaS) Modified 15 SEP 2017 VMware Identity Manager Setting Up Resources in VMware Identity Manager (SaaS) You can find the most up-to-date technical documentation
More informationA Tutorial on using Code::Blocks with Catalina 3.0.3
A Tutorial on using Code::Blocks with Catalina 3.0.3 BASIC CONCEPTS...2 PREREQUISITES...2 INSTALLING AND CONFIGURING CODE::BLOCKS...3 STEP 1 EXTRACT THE COMPONENTS...3 STEP 2 INSTALL CODE::BLOCKS...3 Windows
More informationCONFIGURED IP MANAGEMENT OBJECTIVE
CONFIGURED IP MANAGEMENT OBJECTIVE Configured IP Management provides engineers with full control and thorough traceability of modifications made with 3DEXPERIENCE applications for designing and simulating
More informationNSIGHT ECLIPSE EDITION
NSIGHT ECLIPSE EDITION DG-06450-001 _v5.0 October 2012 Getting Started Guide TABLE OF CONTENTS Chapter 1. Introduction...1 1.1 About...1 Chapter 2. Using... 2 2.1 Installing... 2 2.1.1 Installing CUDA
More informationSAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803
SAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803 Table of Contents MACHINE LEARNING AND PREDICTIVE ANALYTICS... 3 Model Trained with R and Exported as PMML...
More informationGetting Started with Web Services
Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be
More informationZend Studio 3.0. Quick Start Guide
Zend Studio 3.0 This walks you through the Zend Studio 3.0 major features, helping you to get a general knowledge on the most important capabilities of the application. A more complete Information Center
More informationINSTALLATION AND CONFIGURATION GUIDE R SOFTWARE for PIPELINE PILOT 2016
INSTALLATION AND CONFIGURATION GUIDE R SOFTWARE for PIPELINE PILOT 2016 R Software: Installation and Configuration Guide Page 1 Copyright Notice 2015 Dassault Systèmes. All rights reserved. 3DEXPERIENCE,
More informationAppDev StudioTM 3.2 SAS. Migration Guide
SAS Migration Guide AppDev StudioTM 3.2 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS AppDev TM Studio 3.2: Migration Guide. Cary, NC: SAS Institute Inc.
More information[ Getting Started with Analyzer, Interactive Reports, and Dashboards ] ]
Version 5.3 [ Getting Started with Analyzer, Interactive Reports, and Dashboards ] ] https://help.pentaho.com/draft_content/version_5.3 1/30 Copyright Page This document supports Pentaho Business Analytics
More informationSE - Deployment to Installed Polarion. SE - Execution from Workspace. SE - Configuration.
Servlet Example SE - Introduction 1 SE - Java API Workspace preparation 1 SE - Import of the example 1 SE - Hints to develop your own plug-in 1 SE - Deployment to Installed Polarion 4 SE - Execution from
More informationDocument Management System GUI. v6.0 User Guide
Document Management System GUI v6.0 User Guide Copyright Copyright HelpSystems, LLC. All rights reserved. www.helpsystems.com US: +1 952-933-0609 Outside the U.S.: +44 (0) 870 120 3148 IBM, AS/400, OS/400,
More informationSAS Model Manager 2.3
SAS Model Manager 2.3 Administrator's Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2010. SAS Model Manager 2.3: Administrator's Guide. Cary,
More informationMarthon User Guide. Page 1 Copyright The Marathon developers. All rights reserved.
1. Overview Marathon is a general purpose tool for both running and authoring acceptance tests geared at the applications developed using Java and Swing. Included with marathon is a rich suite of components
More informationGetting Started with Cisco UCS Director Open Automation
Getting Started with Cisco UCS Director Open Automation Cisco UCS Director Open Automation, page 1 Upgrading Your Connector to the Current Release, page 5 Modules, page 5 Cisco UCS Director Open Automation
More informationCSCI 201 Lab 1 Environment Setup
CSCI 201 Lab 1 Environment Setup "The journey of a thousand miles begins with one step." - Lao Tzu Introduction This lab document will go over the steps to install and set up Eclipse, which is a Java integrated
More informationContent Module. ActiveModeler Avantage. Managing Enterprise Documentation. Version 1.2, 6 May KAISHA-Tec What does the Content Module do?
ActiveModeler Avantage Managing Enterprise Documentation Content Module User Guide Version 1.2, 6 May 2009 ActiveModeler, ActiveFlow and ActiveModeler Avantage are registered trademarks of KAISHA-Tec Co.
More informationIBM EXAM QUESTIONS & ANSWERS
IBM 000-842 EXAM QUESTIONS & ANSWERS Number: 000-842 Passing Score: 800 Time Limit: 120 min File Version: 55.5 http://www.gratisexam.com/ IBM 000-842 EXAM QUESTIONS & ANSWERS Exam Name: Rational Functional
More informationIBM Rational Rhapsody Gateway Add On. User Manual
User Manual Rhapsody IBM Rational Rhapsody Gateway Add On User Manual License Agreement No part of this publication may be reproduced, transmitted, stored in a retrieval system, nor translated into any
More informationAuthor : Gayle Clark, Business Solutions Analyst, Spescom Software Ltd. Approved by : Ewen Roberts, Software Developer Spescom Software Inc.
SPESCOM SOFTWARE User Guide eb Layout Editor User Guide Document Number : SAN03810 Rev 0.2 Release Date : 15 December 2006 Document Status : Not Approved Author : Gayle Clark, Business Solutions Analyst,
More informationi2b2 Workbench Developer s Guide: Eclipse Neon & i2b2 Source Code
i2b2 Workbench Developer s Guide: Eclipse Neon & i2b2 Source Code About this guide Informatics for Integrating Biology and the Bedside (i2b2) began as one of the sponsored initiatives of the NIH Roadmap
More informationwith TestComplete 12 Desktop, Web, and Mobile Testing Tutorials
with TestComplete 12 Desktop, Web, and Mobile Testing Tutorials 2 About the Tutorial With TestComplete, you can test applications of three major types: desktop, web and mobile: Desktop applications - these
More informationLab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio
ECE2049 Embedded Computing in Engineering Design Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab, you will be introduced to the Code Composer Studio
More informationVersion: Copyright World Programming Limited
Version: 3.0.7.0.650 Copyright 2002-2017 World Programming Limited www.teamwpc.co.uk Contents Introduction... 5 About This Guide... 5 About WPS...5 Users of SAS Software...6 Getting Started... 8 Workbench
More informationSetting Up the Development Environment
CHAPTER 5 Setting Up the Development Environment This chapter tells you how to prepare your development environment for building a ZK Ajax web application. You should follow these steps to set up an environment
More informationSQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server
Chapter 3 SQL Server Management Studio In This Chapter c Introduction to SQL Server Management Studio c Using SQL Server Management Studio with the Database Engine c Authoring Activities Using SQL Server
More informationThe Intel VTune Performance Analyzer: Insights into Converting a GUI from Windows* to Eclipse*
The Intel VTune Performance Analyzer: Insights into Converting a GUI from Windows* to Eclipse* Aaron Levinson Intel Corporation Copyright 2004, Intel Corporation. All rights reserved. Intel, VTune and
More informationUser Scripting April 14, 2018
April 14, 2018 Copyright 2013, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and
More informationUsing Eclipse Europa - A Tutorial
Abstract Lars Vogel Version 0.7 Copyright 2007 Lars Vogel 26.10.2007 Eclipse is a powerful, extensible IDE for building general purpose applications. One of the main applications
More informationTECHILA DISTRIBUTED COMPUTING ENGINE BUNDLE GUIDE
ENGINE BUNDLE GUIDE 28 NOVEMBER 2016 2/82 28 NOVEMBER 2016 Disclaimer Techila Technologies Ltd. disclaims any and all warranties, express, implied or statutory regarding this document or the use of thereof
More informationBusiness Insight Authoring
Business Insight Authoring Getting Started Guide ImageNow Version: 6.7.x Written by: Product Documentation, R&D Date: August 2016 2014 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact,
More informationCS520 Setting Up the Programming Environment for Windows Suresh Kalathur. For Windows users, download the Java8 SDK as shown below.
CS520 Setting Up the Programming Environment for Windows Suresh Kalathur 1. Java8 SDK Java8 SDK (Windows Users) For Windows users, download the Java8 SDK as shown below. The Java Development Kit (JDK)
More informationEMC Documentum Composer
EMC Documentum Composer Version 6 SP1 User Guide P/N 300 005 253 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
More informationHPE Security Fortify Plugins for Eclipse
HPE Security Fortify Plugins for Eclipse Software Version: 17.20 Installation and Usage Guide Document Release Date: November 2017 Software Release Date: November 2017 Legal Notices Warranty The only warranties
More information