Corticon Studio: Extensions Guide
|
|
|
- Gary Sharp
- 10 years ago
- Views:
Transcription
1 Corticon Studio: Extensions Guide
2
3 Notices Copyright agreement 2016 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. These materials and all Progress software products are copyrighted and all rights are reserved by Progress Software Corporation. The information in these materials is subject to change without notice, and Progress Software Corporation assumes no responsibility for any errors that may appear therein. The references in these materials to specific platforms supported are subject to change. Business Making Progress, Corticon, DataDirect (and design), DataDirect Cloud, DataDirect Connect, DataDirect Connect64, DataDirect XML Converters, DataDirect XQuery, Deliver More Than Expected, Icenium, Kendo UI, Making Software Work Together, NativeScript, OpenEdge, Powered by Progress, Progress, Progress Software Business Making Progress, Progress Software Developers Network, Rollbase, RulesCloud, RulesWorld, SequeLink, Sitefinity (and Design), SpeedScript, Stylus Studio, TeamPulse, Telerik, Telerik (and Design), Test Studio, and WebSpeed are registered trademarks of Progress Software Corporation or one of its affiliates or subsidiaries in the U.S. and/or other countries. AccelEvent, AppsAlive, AppServer, BravePoint, BusinessEdge, DataDirect Spy, DataDirect SupportLink, Future Proof, High Performance Integration, OpenAccess, ProDataSet, Progress Arcade, Progress Profiles, Progress Results, Progress RFID, Progress Software, ProVision, PSE Pro, SectorAlliance, Sitefinity, SmartBrowser, SmartComponent, SmartDataBrowser, SmartDataObjects, SmartDataView, SmartDialog, SmartFolder, SmartFrame, SmartObjects, SmartPanel, SmartQuery, SmartViewer, SmartWindow, WebClient, and Who Makes Progress are trademarks or service marks of Progress Software Corporation and/or its subsidiaries or affiliates in the U.S. and other countries. Java is a registered trademark of Oracle and/or its affiliates. Any other marks contained herein may be trademarks of their respective owners. Please refer to the Release Notes applicable to the particular Progress product release for any third-party acknowledgements required to be provided in the documentation associated with the Progress product. 3
4 Notices 4
5 Table of Contents Chapter 1: Supported configurations...7 Chapter 2: Overview of Corticon Extensions...9 Chapter 3: Java class conventions...11 Chapter 4: Attribute extended operators...13 Chapter 5: Collection extended operators...15 Chapter 6: Sequence extended operators...19 Chapter 7: Stand-alone extended operators...23 Chapter 8: Service call-out extensions...25 Chapter 9: Service call-out API...27 Chapter 10: Creating an extension plug-in...31 Setting up your development Eclipse IDE...32 Creating your plug-in project...32 Creating the extension locator file...35 Creating an extension class...36 Coding your extension class...38 Updating your plug-in manifest...39 Organizing imports...39 Exporting your plug-in...40 Installing your plug-in...41 Testing your extension...42 Troubleshooting extensions...52 Extension plug-in not resolved by Eclipse...53 Extension locator file not set up correctly...54 Extension classes not implementing marker interfaces
6 Enabling logging to diagnose extensions issues...55 Chapter 11: Documenting your extensions...57 Chapter 12: Precompiling Ruleflows with service call-outs...59 Appendix A: Access to Corticon knowledge resources
7 1 Supported configurations Software Component Certified on Version JDK Eclipse (32-bit and 64-bit) EMF GEF GMF JDK 1.7.0_ RC
8 Chapter 1: Supported configurations 8
9 2 Overview of Corticon Extensions You can extend the set of operators available to your users by writing your own Java classes. Extension Description Example Invocation Attribute Extended Operator Extensions that you invoke against attributes of a given type. For example, you can define an extension that can be invoked against String attributes. Customer.zip.characterAt(2) String Attribute Extended Operator characterat returns a String consisting of the second character of Customer.zip. Collection Extended Operator Extensions that operate on collections. For example, you can define an extension that can be invoked against a collection of String attributes. Order.uni= orditm.sku->uniquecount Collection Extended Operator uniquecount returns a count of the number of unique String values in collection orditem.sku. 9
10 Chapter 2: Overview of Corticon Extensions Extension Sequence Extended Operator Description Extensions that operate on sequences. For example, you can define an extension that can be invoked against a sequence Decimal attributes. Example Invocation Trade.mavg= security.price->sortedby(marketdate) ->mavg(30) Sequence Extended Operator mavg returns the moving average of a sequence of price values in security.price. Stand-Alone Extended Operator Service Call-out Extension Function you can use in any Rulesheet expression. A Stand-Alone extension can take any number of input parameters returns a value. Extensions you can use in a Ruleflow. A Service Call-out is an extension that can directly access and update the universe of rule engine facts via the Service Call-out application programming interfaces. Shape.circumference = SeMath.getCircumference (Shape.radius) Stand-Alone Extension SeMath.getCircumference converts Shape.radius to Shape.circumference. Service Call-out Extension CreditLookup retrieves credit data from a consumer credit agency and updates rule engine facts accordingly. The system forwards the updated facts to Rulesheet AssessRisk for analysis. There are several ways to add your extension classes to the system. The approach you use depends on whether you are using Corticon in the Progress Developer Studio (Eclipse), or the Foundation APIs in a non-eclipse setting. 10
11 3 Java class conventions Your extension classes must conform to certain standards. Although you are free to choose any package and class names for your extensions, your classes must implement special marker interfaces to identify them as containers of extension logic: Interface Name com.corticon.services.extensions. ICcStringExtension ICcDateTimeExtension ICcDecimalExtension ICcIntegerExtension ICcCollectionExtension ICcSequenceExtension Description Identifies your class as a container of String Attribute Extended Operators. Identifies your class as a container of Date, Time and/or DateTime Attribute Extended Operators. Identifies your class as a container of Decimal Attribute Extended Operators. Identifies your class as a container of Integer Attribute Extended Operators. Identifies your class as a container of Collection Extended Operators. Identifies your class as a container of Sequence Extended Operators. 11
12 Chapter 3: Java class conventions Interface Name com.corticon.services.extensions. ICcStandAloneExtension ICcServiceCalloutExtension Description Identifies your class as a container of Stand-Alone Extended Operators Identifies your class as a container of Service Call-out Extensions. These marker interfaces can be found in: Eclipse Usage Scenario Foundation API Location Eclipse plug-in com.corticon.services Corticon_Foundation_API.jar Corticon Studio is installed with source code examples that illustrate the proper implementation for each type of extension. Refer to the source code examples in the Extended Operators and Service Call-outs folders. 12
13 4 Attribute extended operators Attribute Extended Operators apply to specific attribute data types. Consider this example Rulesheet expression: Customer.fullName = Customer.name.trimSpaces Assuming that Customer.name is a String attribute, Attribute Extended Operator trimspaces might perform the "trim" function on the value of attribute name, returning the trimmed value, which the rule engine will assign to Customer.fullname. To create an Attribute Extended Operator, you must code a Java class, and your class must implement the marker interface corresponding to the attribute type. For example, to create a String Attribute Extended Operator, your Java class must implement interface ICcStringExtension. Example: package com.acme.extensions; import com.corticon.services.extensions.iccstringextension; public class S1String implements ICcStringExtension { public static String trimspaces(string astrthis) { if (astrthis == null) { return null; } return astrthis.trim(); } } Attribute Extended Operator methods must be declared public static. 13
14 Chapter 4: Attribute extended operators The first positional parameter will always be a reference to the attribute upon which the function is being performed. In this example, the rules engine will pass the current value of Customer.name to extension method trimspaces as parameter astrthis; thus, astrthis must be declared as type String. An Attribute Extended Operator may accept any number of additional parameters as needed. Consider the following Rulesheet expression: Customer.initial = Customer.name.characterAt(1) In this example, your Java method would return the first character of Customer.name: public static String characterat(string astrthis, BigInteger abiindex) { if (abiindex == null) { return null; } int liindex = abiindex.intvalue() - 1; if (liindex < 0 liindex >= astrthis.length()) { return null; } } return astrthis.substring(liindex, liindex + 1); As always, the first positional parameter astrthis will contain a reference to the String upon which to operate (i.e., a reference to the value of Customer.name). The second parameter will contain the character index (i.e., literal 1). Your extension would return the character at the specified index as a String, and the rules engine will assign Customer.initial the value of your returned String. For Attribute Extended Operators, you must limit your parameter and return types to the following: Java Type java.math.biginteger java.math.bigdecimal java.lang.boolean java.util.date java.lang.string Corticon Type Integer Decimal Boolean Date, Time or DateTime String Note that you may code any number of extension methods in a Java class, and you can supply one or more Java classes; regardless, the system will discover all of your methods via Java reflection. 14
15 5 Collection extended operators Collection Extended Operators process a collection of input attribute values and return a single value. Consider this example expression: ord.asteriskflag = orditem.sku->allcontain( * ) Assuming that asteriskflag is a Boolean attribute and orditem.sku refers to a collection of String attributes, Collection Extended Operator allcontain will return a Boolean value true if all instances of String attribute sku contain an asterisk. 15
16 Chapter 5: Collection extended operators To create a Collection Extended Operator, you must code a Java class, and your class must implement marker interface ICcCollectionExtension. Example: package com.corticon.operations.extended.examples.operators.set1; import java.util.hashset; import com.corticon.services.extensions.icccollectionextension; public class S1Collection implements ICcCollectionExtension { public static Boolean allcontain(string[] astrinputarray, String astrlookfor) { if (astrinputarray == null astrinputarray.length == 0) return null; } } for (String lstrinput : astrinputarray) { if (lstrinput!= null) { if (lstrinput.indexof(astrlookfor) < 0) { return new Boolean(false); } } } return new Boolean(true); Collection Extended Operator methods must be declared public static. In this example, the first positional parameter of method allcontain is an array of String instances. The rules engine will populate this array with the String values in orditem.sku (i.e., the collection upon which the method operates). The example Java method analyzes this array and returns a Boolean value. The rules engine will then assign ord.asteriskflag the Boolean return value. Note that you cannot code Collection Extended Operators for entity instances, nor can you code extensions for Collections or Sequences of entity instances. For example, the following expression is not allowed: orditem->allcontain( * ) In other words, you can only code Collection Extended Operators to process collections of attribute values. When implementing Collection Extended Operators, you must limit your parameter and return types to the following: Java Type java.math.biginteger java.math.bigdecimal java.lang.boolean java.util.date java.lang.string Corticon Type Integer Decimal Boolean Date, Time or DateTime String 16
17 The first positional parameter must be an array of one of these allowable types. 17
18 Chapter 5: Collection extended operators 18
19 6 Sequence extended operators Sequence Extended Operators process a sequence (list) of input attribute values and return a single value. Consider this example expression: Trade.mavg=security.price->sortedBy(marketDate)->mavg(30) Assuming that Trade.mavg is a Decimal attribute, marketdate a Date attribute, and security.price refers to a collection of Decimal attributes, Sequence Extended Operator mavg might return a Decimal value that is the moving average of the first 30 instances of sequence security.price. 19
20 Chapter 6: Sequence extended operators To create a Sequence Extended Operator, you must code a Java class, and your class must implement marker interface ICcSequenceExtension. Example: package com.corticon.operations.extended.examples.operators.set1; import java.math.bigdecimal; import java.math.biginteger; import com.corticon.services.extensions.iccsequenceextension; public class S1Sequence implements ICcSequenceExtension { private static final int DECIMAL_SCALE = 4; public static BigDecimal mavg(bigdecimal[] abdinputarray, BigInteger abielements) { if (abdinputarray == null abielements == null) { return new BigDecimal("0"); } int lielements = abielements.intvalue(); BigDecimal lbdsum = new BigDecimal("0").setScale(DECIMAL_SCALE); int lidenominator = 0; for (int liindex = 0; liindex < abdinputarray.length && liindex < lielements; liindex++) { lbdsum = lbdsum.add(abdinputarray[liindex]); lidenominator++; } BigDecimal lbddenominator = new BigDecimal(String.valueOf(liDenominator)); return lbdsum.divide(lbddenominator, DECIMAL_SCALE, BigDecimal.ROUND_HALF_UP); } } Sequence Extended Operator methods must be declared public static. In this example, the first positional parameter of method mavg is an array of BigDecimal instances. The rules engine will populate this array with the Decimal values in security.price (that is, the sequence upon which the method operates). Note: Collection security.price has been sorted into marketdate sequence via built-in operator sortedby. The example Java method analyzes this array and returns a Decimal value. The rules engine will then assign Trade.mavg the Decimal return value. As with Collection Extended Operators, you cannot code Sequence Extended Operators for entity instances, nor can you code extensions for Collections or Sequences of entity instances. When implementing Sequence Extended Operators, you must limit your parameter and return types to the following: 20
21 Java Type java.math.biginteger java.math.bigdecimal java.lang.boolean java.util.date java.lang.string Corticon Type Integer Decimal Boolean Date, Time or DateTime String The first positional parameter must be an array of one of these allowable types. 21
22 Chapter 6: Sequence extended operators 22
23 7 Stand-alone extended operators Stand-alone extended operators define functions that can be used in Rulesheet expressions. Unlike Attribute Extended Operators, they are not tied to Vocabulary attributes and are not associated with any particular data type. Users invoke Stand-Alone extended operators by explicitly specifying a class name and method name in Rulesheet expressions. 1 Stand Alone extension classes may contain any number of static methods. Consider this expression: Circle.circumference = SeMath.getCircumference(Circle.radius) Assuming Circle.circumference and Circle.radius are both Decimal attributes, Stand-Alone Extended Operator SeMath.getCircumference might convert the radius to circumference, which the rule engine will assign to Circle.circumference. To create Stand Alone Extended Operator, you must code a Java class, and your class must interface ICcStandAloneExtension. Example: package com.corticon.operations.extended.examples.standalone.set1; import java.math.bigdecimal; import com.corticon.services.extensions.iccstandaloneextension; public class SeMath implements ICcStandAloneExtension { public static BigDecimal getcircumference(bigdecimal abdradius) { BigDecimal lbdbigdecimal = abdradius.multiply(new BigDecimal(2.0)); lbdbigdecimal = lbdbigdecimal.multiply(new BigDecimal(Math.PI)); return lbdbigdecimal; } } 23
24 Chapter 7: Stand-alone extended operators Stand-Alone Extended Operator methods must be declared public static. Any number of parameters may be specified. The Rulesheet expression parameter list and return value must match the extension class method signature; otherwise, the Rulesheet expression will be flagged as invalid. In this example, the rules engine will pass the current value of Circle.radius to class com.corticon.operations.extended.examples.standalone.set1.semath method getcircumference as parameter abdradius; thus, abdradius must be declared as type BigDecimal. Similarly to Attribute Extended Operators, you must limit parameter and return types to the following: Java Type java.math.biginteger java.math.bigdecimal java.lang.boolean java.util.date java.lang.string Corticon Type Integer Decimal Boolean Date, Time or DateTime String Note that you may code any number of extension methods in a Java class, and you can supply one or more Java classes; regardless, the system will discover all of your methods via Java reflection. 1 The user specifies the unqualified part of the class name, namely the class name without the package name. 24
25 8 Service call-out extensions Service Call-out Extensions are user-written functions that can be invoked in a Ruleflow. In a Ruleflow, the flow of control moves from Rulesheet to Rulesheet, with all Rulesheets operating on a common pool of facts. This common pool of facts is retained in the rule execution engine's working memory for the duration of the transaction. Connection arrows on the diagram specify the flow of control. Each Rulesheet in the flow may update the fact pool. When you add a Service Call-out to a Ruleflow diagram, you effectively instruct the system to transfer control to your extension class a specific point in the flow.your extension class can directly update the fact pool, and your updated facts are available to subsequent Rulesheets. Consider this example: After the rule engine finishes processing Rulesheet SelectCandidates, it will transfer control to Service Call-out Extension class CreditLookup, method retrievefico. Using the Service Call-out API, class CreditLookup, method retrievefico can create, retrieve, update and remove facts. For example, it might look up a customer's FICO score using an external web service, and update the facts accordingly. When CreditLookup.retrieveFICO finishes, the system will transfer control to the next Rulesheet in the Ruleflow. Downstream Rulesheets (for example, AssessRisks) will evaluate and respond to new facts asserted by your Service Call-out. 25
26 Chapter 8: Service call-out extensions 26
27 9 Service call-out API Your Service Call-outs use an API to retrieve and update facts. The API contains two Java interfaces: Interface Purpose com.corticon.services.dataobject.iccdataobjectmanager Provides access to the entire fact pool. Allows you to create, retrieve and remove entity instances. com.corticon.services.dataobject.iccdataobject Provides access to a single entity instance. Allows you to update the entity instance, including setting attributes and creating and removing associations. These interfaces can be found in: Usage Scenario Eclipse Foundation API Location Eclipse plug-in com.corticon.services Corticon_Foundation_API.jar Your Service Call-out class must implement marker interface ICcServiceCalloutExtension. 27
28 Chapter 9: Service call-out API Example: package com.corticon.operations.extended.examples.servicecallouts; import com.corticon.services.dataobject.iccdataobject; import com.corticon.services.dataobject.iccdataobjectmanager; import com.corticon.services.extensions.iccservicecalloutextension; public class SampleDataService implements ICcServiceCalloutExtension { public static void retrievepersoninfo(iccdataobjectmanager adataobjmgr) { for (ICcDataObject lperson : adataobjmgr.getentitiesbyname("person")) { String lstrname = "Tom"; Boolean lbmarried = new Boolean(true); } } } lperson.setattributevalue("name", lstrname); lperson.setattributevalue("married", lbmarried); Service Call-out methods must be declared public static. The system will recognize your Service Call-out method if the method signature takes one parameter and that parameter is an instance of ICcDataObjectManager. Recognized classes and methods will appear in the Ruleflow Properties View/Service Name drop-down list when a Service Call-out shape is selected in the Ruleflow diagram: Example SampleDataService.resetInfoCounter illustrates how a Service Call-out can use the supplied ICcDataObjectManager to find and update entity instances. ICcDataObjectManager method getentitiesbyname allows you to retrieve a Set of all entity instances with a given name. Each element of the returned Set is an instance of ICcDataObject which offers additional methods to access and update a specific entity instance. The example finds all Person entities then iterates over them to set attributes Person.name and Person.married using generic method ICcDataObject.setAttributeValue. 28
29 The Service Call-out API provides your extension class complete access to the fact pool, allowing you to: Find entities in several ways Read and update entity attributes Create and remove entity instances Create and remove associations Post rule messages Refer to Service Call-out Java source code examples in your Corticon Studio /Samples/Extended Operators folder, and see the API Javadocs for more information. 29
30 Chapter 9: Service call-out API 30
31 10 Creating an extension plug-in You must create an Eclipse plug-in to encapsulate your extensions. The system will automatically recognize an optional plug-in named: com.corticon.eclipse.studio.operations.extended.core You can use your Eclipse IDE to create a plug-in project to develop your extensions and ultimately prepare them for deployment. For details, see the following topics: Setting up your development Eclipse IDE Creating your plug-in project Creating the extension locator file Creating an extension class Coding your extension class Updating your plug-in manifest Organizing imports Exporting your plug-in Installing your plug-in Testing your extension Troubleshooting extensions Extension plug-in not resolved by Eclipse Extension locator file not set up correctly 31
32 Chapter 10: Creating an extension plug-in Extension classes not implementing marker interfaces Enabling logging to diagnose extensions issues Setting up your development Eclipse IDE To develop plug-ins, you must use the Java Development Kit (JDK), not just a Java Runtime Environment (JRE). 1. Download and install a supported JDK from 2. Select Window > Preferences > Java > Installed JREs 3. Navigate to your downloaded JDK and select it as your default JRE. 4. Copy tools.jar from your JDK's /lib directory into /jre/lib/ext so that you can compile and test Rulesheets,. Creating your plug-in project To create a plug-in project: 1. Using the Java Perspective select: Select New > Project > Plug-in Project. 2. Click Next 32
33 Creating your plug-in project 3. Specify the plug-in Project name com.corticon.eclipse.studio.operations.extended.core. 4. Click Next. The Content dialog opens. 33
34 Chapter 10: Creating an extension plug-in 5. In the Content dialog: a) In the Version field, enter a version number for your plug-in. You should specify a version greater than the version of Studio you installed. For example, if you installed Studio Version 5.5.0, you might specify version This should ensure that your plug-in supersedes our example plug-in throughout the 5.5 release. b) In the Name field, enter Extended Operators Core Plug-in. c) In the Provider field, enter your company name. d) Uncheck Generate an activator. e) Uncheck This plug-in will make contributions to the UI. f) Click Finish to close the dialog. 6. When prompted to switch to the Plug-in Development perspective, check Remember my decision, as shown: 34
35 Creating the extension locator file 7. Click Yes. The system switches to Plug-in Development perspective, and then creates a new plug-in project in your workspace. 8. The plug-in manifest file (MANIFEST.MF) opens to let you configure the new plug-in: 9. Close the plug-in manifest editor. (This task will be completed later.) Creating the extension locator file Right click on the /src node in the Package Explorer and select New > File The system will prompt for a new file name. Specify CcExtensionsLocator.lc as shown: 35
36 Chapter 10: Creating an extension plug-in Press Finish to proceed. Creating an extension class Right click on the /src node in the Package Explorer and select New > Package. Specify the package name for your new extension classes: Press Finish to proceed. Right-click on your new package and select New > Class: 36
37 Creating an extension class Enter a name for your new Java class (for example, HelloWorld) and press Finish. The system will create an empty class definition: 37
38 Chapter 10: Creating an extension plug-in Coding your extension class Code your extension class as shown: package com.acme.extended.operators; public class HelloWorld implements ICcStringExtension { public static String gethelloworld(string astrthis) { return "Hello World"; } } Note that Eclipse cannot resolve interface ICcStringExtension: 38
39 Updating your plug-in manifest Updating your plug-in manifest To correct build errors, open MANIFEST.MF located in your new plug-in META-INF directory, and then select the MANIFEST.MF tab and update the manifest as shown in italics below: Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Extended Operators Core Plug-in Bundle-SymbolicName: com.corticon.eclipse.studio.operations.extended.core Bundle-Version: Bundle-Vendor: Your Company Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Require-Bundle: org.eclipse.core.runtime, com.corticon.legacy, com.corticon.services, com.corticon.thirdparty Export-Package:., com.acme.extended.operators Eclipse-RegisterBuddy: com.corticon.legacy These changes will: Ensure that your plug-in has access to interface ICcStringExtension in com.corticon.services Ensure that your locator file CcExtensionLocator.lc and Java package com.acme.extended.operators are visible to the Corticon extensions subsystem Ensure that your plug-in is registered as a "buddy" with com.corticon.legacy to allow the Corticon class loader to find your extensions Click Save to save your manifest changes. Organizing imports Activate the HelloWorld Java editor and press CTRL-SHIFT-O to organize imports. The system will add import com.corticon.services.extensions.iccstringextension allowing your class to build without errors: 39
40 Chapter 10: Creating an extension plug-in Exporting your plug-in Close all open editors, right-click your Project in the Package Explorer view and select: Export > Plug-in Development > Deployable plug-ins and fragments: 40
41 Installing your plug-in Navigate to your preferred output directory, and then click Finish. An installable plug-in is created in your output directory: Installing your plug-in Copy your exported plug-in into the target Eclipse environment /plugins directory. 41
42 Chapter 10: Creating an extension plug-in It is important that you restart your target Eclipse environment with administrator privileges (right-click Corticon Studio in the Start menu, and then choose Run as administrator) whenever you update your plug-in so that the plug-in gets properly installed and registered. It is a good practice to use the clean command line option when you restart Eclipse to force the system to rebuild the bundle cache, ensuring that your changes take effect. Testing your extension Create a Rule Project as a home for your Corticon test assets. Switch to Corticon Designer perspective by selecting: Window > Open Perspective > Other > Corticon Designer, and then click OK. The system rearranges the editors and views as shown: Right-click in the body of the Rule Project Explorer and select New > Rule Project 42
43 Testing your extension Enter HelloWorld in the Project name field and press Finish. The system will create a new Rule Project visible in the Rule Project Explorer: Right-click the HelloWorld project and select New > Rule Vocabulary: 43
44 Chapter 10: Creating an extension plug-in Enter HelloWorld in the File name field and press Finish. The system will create a new Vocabulary: 44
45 Testing your extension In the Vocabulary Editor, right-click the HelloWorld root node and select Add Entity to create a new entity Customer: Right click Customer and select Add Attribute to create String attribute name: 45
46 Chapter 10: Creating an extension plug-in Press Save to save your new Vocabulary. Select the HelloWorld project in the Rule Project Explorer and select New > Rulesheet: Press Next and then select the Vocabulary asset you created in the prior step: 46
47 Testing your extension Press Finish and the system will create a new empty Rulesheet. Update your Rulesheet as shown: Press Save to save your Rulesheet. 47
48 Chapter 10: Creating an extension plug-in Right click on your HelloWorld project and select New > Ruletest. Specify HelloWorld in the File name field: Press Next. Select your Rulesheet HelloWorld.ers as the Test Subject: 48
49 Testing your extension Press Finish and the system will create an empty Ruletest asset. 49
50 Chapter 10: Creating an extension plug-in Drag entity Customer from the Vocabulary view to the Ruletest input tree: 50
51 Testing your extension Important: Double-click Customer[1] name and enter value Test. Select Ruletest > Testsheet > Run Test and you should see the following test results: 51
52 Chapter 10: Creating an extension plug-in If you see Hello World in the output tree, congratulations! Your extensions are working properly. Troubleshooting extensions If your extensions are not properly written or deployed, the system will color Rulesheet expressions red and will display validation messages in the Problems tab: 52
53 Extension plug-in not resolved by Eclipse For Attribute Extended Operators, validation messages will indicate that your method is not a valid call on an attribute. There are several possible causes for this type of error. Extension plug-in not resolved by Eclipse Your plug-in might not be properly started and resolved by Eclipse. One quick way to check this is to select: Help > About Progress Developer Studio > [Installation Details] > [Configuration] 53
54 Chapter 10: Creating an extension plug-in then check the Plug-in Registry to see the status of your extensions plug-in: com.corticon.eclipse.studio.deployment.ui ( _rnnnn-rel-5-5-x) "Deployment UI" [Starting] com.corticon.eclipse.studio.drivers.core ( _rnnnn-rel-5-5-x) "Drivers Core" [Starting] com.corticon.eclipse.studio.drivers.datadirect.core ( _rnnnn-rel-5-5-x) "Drivers DataDirect Core" [Starting] com.corticon.eclipse.studio.extension.core ( _rnnnn-rel-5-5-x) "Vocabulary Extension Core Plug-in" [Starting] com.corticon.eclipse.studio.operations.extended.core ( _rnnnn-rel-5-5-x) "Extended Operators Core Plug-in" [Resolved] com.corticon.eclipse.studio.extension.ui ( _rnnnn-rel-5-5-x) "Vocabulary Extension UI Plug-in" [Active] com.corticon.eclipse.studio.importwizards.core ( _rnnnn-rel-5-5-x) "Import Wizards Core" [Starting] com.corticon.eclipse.studio.junit.core ( _rnnnn-rel-5-5-x) "JUnit Core" [Starting] In this example, the plug-in has been installed and properly [Resolved]. If your plug-in is missing from this list, ensure that you have properly copied it into the Eclipse /plugins directory. Remember to start Eclipse with the clean commandline option. This forces the system to rebuild the bundle cache so that your new plug-in code is recognized. If your plug-in is present in the list but not marked as [Resolved] there may be some problem with the plug-in manifest. Carefully review MANIFST.MF to ensure all of your specifications are correct. Tips for troubleshooting bundle start failures can be found in various Eclipse online forums. Extension locator file not set up correctly If your plug-in has been correctly [Resolved], ensure that your extension classes implement the correct marker interface(s) and that CcExtensionsLocator.lc is present in the root of your plug-in Jar. Also, review the MANIFEST.MF Export-Package clause carefully. It should appear as follows: Export-Package: com.acme.extended.operators; Note that in the Export-Package clause, you must export period(.) to ensure that CcExtensionsLocator.lc is properly exported. If this specification is in error or missing, the system will fail to locate your classes. Extension classes not implementing marker interfaces Ensure that your classes implement the proper marker interfaces (for example, ICcStringExtension); otherwise, the extensions subsystem will ignore your class. 54
55 Enabling logging to diagnose extensions issues Enabling logging to diagnose extensions issues When you enable DEBUG-level logging, it will help you diagnose extensions discovery issues. To change the log level, edit the Server installation's brms.properties file to change the log level to DEBUG. Save the edited file, and then restart the server to apply the changes. Note: See the topic Changing logging configuration for more information. The extensions subsystem will log messages as it tries to locate your extension classes. You might see this type of output if your plug-in fails to properly export(.): CcUtil.getAllLocationsOfFile().. START CcUtil.getAllLocationsOfFile().. astrresourcename = CcExtensionsLocator.lc com.corticon.extensions.ccextensions CcExtensions() loadclassesfromjars() == Start com.corticon.extensions.ccextensions CcExtensions() loadclassesfromjars() asetjarlocations == [] CcUtil CcUtil.getAllLocationsOfFile().. START com.corticon.extensions.ccextensions CcExtensions() loadclassesfromdirectories() == Start com.corticon.extensions.ccextensions CcExtensions() loadclassesfromdirectories() asetdirectorylocations == [] In the log output above, the extensions subsystem is unable to find CcExtensionsLocator.lc either because it is missing or not properly exported. In contrast, here is what you will see in the log if the extensions subsystem is able to find your locator and extension classes: CcUtil.getAllLocationsOfFile().. START CcUtil.getAllLocationsOfFile().. astrresourcename = CcExtensionsLocator.lc CcUtil.getAllLocationsOfFile().. lurllocationpath = bundleresource://17.fwk /ccextensionslocator.lc CcUtil.getAllLocationsOfFile().. lstrprotocol = bundleresource CcUtil.getAllLocationsOfFile( AFTER RESOLVER ).. lurllocationpath = jar:file:/c:/program Files/Progress/Corticon 5.5/Studio/eclipse/plugins/com.corticon.eclipse.studio.operations.extended.core _5.5.0.jar!/CcExtensionsLocator.lc CcUtil.getAllLocationsOfFile(1).. lstrpath = file:\c:\program Files\Progress\Corticon 5.5\plugins\com.corticon.eclipse.studio.operations.extended.core _5.5.0.jar!\CcExtensionsLocator.lc CcUtil.getAllLocationsOfFile(2).. lstrpath = file:\c:\program Files\Progress\Corticon 5.5\plugins\com.corticon.eclipse.studio.operations.extended.core _5.5.0.jar!\CcExtensionsLocator.lc CcUtil CcUtil.getAllLocationsOfFile().. END = [file:\c:\program Files\Progress\Corticon 5.5\plugins\com.corticon.eclipse.studio.operations.extended.core _5.5.0.jar!\CcExtensionsLocator.lc] com.corticon.extensions.ccextensions CcExtensions() loadclassesfromdirectories() == Start com.corticon.extensions.ccextensions CcExtensions() loadclassesfromdirectories() asetdirectorylocations == [] As shown above, getalllocationsoffile is able to find your extensions. This is a positive sign and if you see such output in the log, it is very likely that your extensions will work properly. 55
56 Chapter 10: Creating an extension plug-in 56
57 11 Documenting your extensions In order for your extensions to be visible in the Rule Operators tree view, they must be properly documented in a special file named ExtendedOperators.operationsmodel. This file is in EMF/XMI format and can be maintained using either a text editor an EMF-generated editor supplied with Corticon Studio. Refer to the example ExtendedOperators.operationsmodel file in: com.corticon.eclipse.studio.operations.extended.core During system initialization, the system will attempt to locate ExtendedOperators.operationsmodel on the Java class path; if the system finds this file, it will automatically merge the documented extended operators into the Rule Operators tree view. ExtendedOperators.operationsmodel supports internationalization. The object model permits localization of folder names, extended operator names, parameter names and tooltips. This is accomplished via EMF "multi-valued" attributes, which are essentially lists (arrays) of values. Each "slot" in the array contains a particular localization (i.e., a string expressed in one of the supported languages). The first localization in each "slot" is special and is referred to as the "base" localization. For class and method names, the "base" localizations must match the class and method names in your java extension classes. The root object of the model (ExtendedOperatorSet) contains a list of Java LanguageCode instances that defines the set of languages supported. The order of language codes is important and must match the order of localizations expressed elsewhere in the file. The system will merge typed extensions into the Rule Operator tree at the end of the built-in operators. For example, String Attribute Extended Operators will be appended to the "String" data type node of the Rule Operator tree after the built-in String operators. 57
58 Chapter 11: Documenting your extensions Note: There must be exactly one extended operator JAR in [CORTICON_HOME]\Studio\eclipse\plugins with its corresponding ExtendedOperators.operationsmodel file. If another extended operator JAR with its respective ExtendedOperators.operationsmodel file is in that same location, then location, then only the default extended operator JAR's operators will be displayed in the Rule Operator view. To resolve such a situation, remove the default extended operator JAR, and leave only one extended operator JAR (presumably, the plugin JAR you built) in that location. The system will append Stand Alone extensions to the end of the Rule Operator tree. The Stand Alone extensions will be contained within a special folder whose name is declared in ExtendedOperators.operationsmodel (see ExtendedOperatorSet.standAloneFolderName). In our example, the name of the Stand Alone extensions folder is simply Extended Operators. Our example ExtendedOperators.operationsmodel contains English descriptions of operators, and is set up to handle Japanese localizations as well, although the only Japanese localization specified is the Stand Alone folder name. Refer to example ExtendedOperators.operationsmodel file as a guide documenting your own extensions. 58
59 12 Precompiling Ruleflows with service call-outs As described in "Packaging and deploying Decision Services" in the Integration and Deployment Guide, you can pre-compile Ruleflows prior to deploying them. When pre-compiling Ruleflows with Service Call-outs (SCO), it is important to ensure the following: 1. Place the SCO JARs on the Deployment Console's classpath. This is accomplished by editing the deployconsole.bat file located in [CORTICON_HOME]\Server\bin. 2. Once the Ruleflow has been compiled to an.eds file using the Deployment Console, add your.eds file, along with any other JARs required by the SCO, to the Server directory which holds CcServer.jar, typically [CORTICON_WORK_DIR]\Server\pas\server\webapps\axis\WEB-INF\lib. 59
60 Chapter 12: Precompiling Ruleflows with service call-outs 60
61 Access to Corticon knowledge resources A Complete online documentation for the current release Corticon online tutorials: Tutorial: Basic Rule Modeling in Corticon Studio Tutorial: Advanced Rule Modeling in Corticon Studio Modeling Progress Corticon Rules to Access a Database using EDC Connecting a Progress Corticon Decision Service to a Database using EDC Corticon guides (PDF): What's New in Corticon Corticon Installation Guide Corticon Studio: Rule Modeling Guide Corticon Studio: Quick Reference Guide Corticon Studio: Rule Language Guide Corticon Studio: Extensions Guide Corticon Server: Integration and Deployment Guide Corticon Server: Web Console Guide Corticon Server: Deploying Web Services with Java Corticon Server: Deploying Web Services with.net 61
62 Appendix A: Access to Corticon knowledge resources Corticon JavaDoc API reference (HTML): Corticon Foundation API Corticon Model API Corticon Server API See also: Introducing the Progress Application Server Corticon documentation for this release on the Progress download site: What's New Guide (PDF), Installation Guide (PDF), PDF download package, and the online Eclipse help installed with Corticon Studio. 62
White Paper: Addressing the POODLE Security Vulnerability in Progress OpenEdge
White Paper: Addressing the POODLE Security Vulnerability in Progress OpenEdge Notices 2015 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. These materials and
Corticon Server: Deploying Web Services with Java
Corticon Server: Deploying Web Services with Java Notices Copyright agreement 2013 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. These materials and all Progress
Corticon Studio: Rule Modeling Guide
Corticon Studio: Rule Modeling Guide Notices For details, see the following topics: Copyright Copyright 2016 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.
Corticon Server: Deploying Web Services with Java
Corticon Server: Deploying Web Services with Java Notices Copyright agreement 2013 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. These materials and all Progress
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
Crystal Reports for Eclipse
Crystal Reports for Eclipse Table of Contents 1 Creating a Crystal Reports Web Application...2 2 Designing a Report off the Xtreme Embedded Derby Database... 11 3 Running a Crystal Reports Web Application...
V 7.6 Tutorial. Batch to Real-time. Progress Sonic Workbench Online Help Tutorial Instructions in PDF Format
V 7.6 Tutorial Batch to Real-time Progress Sonic Workbench Online Help Tutorial Instructions in PDF Format Progress Sonic ESB Product Family V7.6 Tutorial Batch to Real-time 2008 Progress Software Corporation.
PTC Integrity Eclipse and IBM Rational Development Platform Guide
PTC Integrity Eclipse and IBM Rational Development Platform Guide The PTC Integrity integration with Eclipse Platform and the IBM Rational Software Development Platform series allows you to access Integrity
Understanding class paths in Java EE projects with Rational Application Developer Version 8.0
Understanding class paths in Java EE projects with Rational Application Developer Version 8.0 by Neeraj Agrawal, IBM This article describes a variety of class path scenarios for Java EE 1.4 projects and
EMC Documentum Composer
EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
Tutorial: BlackBerry Object API Application Development. Sybase Unwired Platform 2.2 SP04
Tutorial: BlackBerry Object API Application Development Sybase Unwired Platform 2.2 SP04 DOCUMENT ID: DC01214-01-0224-01 LAST REVISED: May 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This
Eclipse installation, configuration and operation
Eclipse installation, configuration and operation This document aims to walk through the procedures to setup eclipse on different platforms for java programming and to load in the course libraries for
POOSL IDE Installation Manual
Embedded Systems Innovation by TNO POOSL IDE Installation Manual Tool version 3.4.1 16-7-2015 1 POOSL IDE Installation Manual 1 Installation... 4 1.1 Minimal system requirements... 4 1.2 Installing Eclipse...
Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 SP02
Tutorial: Android Object API Application Development SAP Mobile Platform 2.3 SP02 DOCUMENT ID: DC01939-01-0232-01 LAST REVISED: May 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication
Desktop, Web and Mobile Testing Tutorials
Desktop, Web and Mobile Testing Tutorials * Windows and the Windows logo are trademarks of the Microsoft group of companies. 2 About the Tutorial With TestComplete, you can test applications of three major
Building ObjectStore C++ Applications. Release 6.3
Building ObjectStore C++ Applications Release 6.3 Building ObjectStore C++ Applications ObjectStore Release 6.3 for all platforms, October 2005 2005 Progress Software Corporation. All rights reserved.
Android Environment SDK
Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android
Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3
Tutorial: Android Object API Application Development SAP Mobile Platform 2.3 DOCUMENT ID: DC01939-01-0230-01 LAST REVISED: March 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication
Building and Using Web Services With JDeveloper 11g
Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the
Tutorial: Android Object API Application Development. Sybase Unwired Platform 2.2 SP02
Tutorial: Android Object API Application Development Sybase Unwired Platform 2.2 SP02 DOCUMENT ID: DC01734-01-0222-01 LAST REVISED: January 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This
SDK Code Examples Version 2.4.2
Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated
Practice Fusion API Client Installation Guide for Windows
Practice Fusion API Client Installation Guide for Windows Quickly and easily connect your Results Information System with Practice Fusion s Electronic Health Record (EHR) System Table of Contents Introduction
EMC Documentum Repository Services for Microsoft SharePoint
EMC Documentum Repository Services for Microsoft SharePoint Version 6.5 SP2 Installation Guide P/N 300 009 829 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com
Lab 0 (Setting up your Development Environment) Week 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself
ODBC Client Driver Help. 2015 Kepware, Inc.
2015 Kepware, Inc. 2 Table of Contents Table of Contents 2 4 Overview 4 External Dependencies 4 Driver Setup 5 Data Source Settings 5 Data Source Setup 6 Data Source Access Methods 13 Fixed Table 14 Table
Tutorial: BlackBerry Application Development. Sybase Unwired Platform 2.0
Tutorial: BlackBerry Application Development Sybase Unwired Platform 2.0 DOCUMENT ID: DC01214-01-0200-02 LAST REVISED: May 2011 Copyright 2011 by Sybase, Inc. All rights reserved. This publication pertains
Oracle SOA Suite 11g Oracle SOA Suite 11g HL7 Inbound Example
Oracle SOA Suite 11g Oracle SOA Suite 11g HL7 Inbound Example [email protected] June 2010 Table of Contents Introduction... 1 Pre-requisites... 1 Prepare HL7 Data... 1 Obtain and Explore the HL7
User Document. Adobe Acrobat 7.0 for Microsoft Windows Group Policy Objects and Active Directory
Adobe Acrobat 7.0 for Microsoft Windows Group Policy Objects and Active Directory Copyright 2005 Adobe Systems Incorporated. All rights reserved. NOTICE: All information contained herein is the property
StarWind iscsi SAN & NAS: Configuring HA Storage for Hyper-V October 2012
StarWind iscsi SAN & NAS: Configuring HA Storage for Hyper-V October 2012 TRADEMARKS StarWind, StarWind Software and the StarWind and the StarWind Software logos are trademarks of StarWind Software which
tools that make every developer a quality expert
tools that make every developer a quality expert Google: www.google.com Copyright 2006-2010, Google,Inc.. All rights are reserved. Google is a registered trademark of Google, Inc. and CodePro AnalytiX
Ricardo Perdigao, Solutions Architect Edsel Garcia, Principal Software Engineer Jean Munro, Senior Systems Engineer Dan Mitchell, Principal Systems
A Sexy UI for Progress OpenEdge using JSDO and Kendo UI Ricardo Perdigao, Solutions Architect Edsel Garcia, Principal Software Engineer Jean Munro, Senior Systems Engineer Dan Mitchell, Principal Systems
Installation Guide of the Change Management API Reference Implementation
Installation Guide of the Change Management API Reference Implementation Cm Expert Group CM-API-RI_USERS_GUIDE.0.1.doc Copyright 2008 Vodafone. All Rights Reserved. Use is subject to license terms. CM-API-RI_USERS_GUIDE.0.1.doc
Adobe Acrobat 9 Deployment on Microsoft Systems Management
Adobe Acrobat 9 Deployment on Microsoft Systems Management Server white paper TABLE OF CONTENTS 1. Document overview......... 1 2. References............. 1 3. Product overview.......... 1 4. Installing
Tutorial: Mobile Business Object Development. SAP Mobile Platform 2.3 SP02
Tutorial: Mobile Business Object Development SAP Mobile Platform 2.3 SP02 DOCUMENT ID: DC01927-01-0232-01 LAST REVISED: May 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication pertains
Smooks Dev Tools Reference Guide. Version: 1.1.0.GA
Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2
InfoSphere Master Data Management operational server v11.x OSGi best practices and troubleshooting guide
InfoSphere Master Data Management operational server v11.x OSGi best practices and troubleshooting guide Introduction... 2 Optimal workspace operational server configurations... 3 Bundle project build
Implementing a SAS 9.3 Enterprise BI Server Deployment TS-811. in Microsoft Windows Operating Environments
Implementing a SAS 9.3 Enterprise BI Server Deployment TS-811 in Microsoft Windows Operating Environments Table of Contents Introduction... 1 Step 1: Create a SAS Software Depot..... 1 Step 2: Prepare
L01: Using the WebSphere Application Server Liberty Profile for lightweight, rapid development. Lab Exercise
L01: Using the WebSphere Application Server Liberty Profile for lightweight, rapid development Lab Exercise Copyright IBM Corporation, 2012 US Government Users Restricted Rights - Use, duplication or disclosure
IBM WebSphere Adapter for PeopleSoft Enterprise 6.2.0. Quick Start Tutorials
IBM WebSphere Adapter for PeopleSoft Enterprise 6.2.0 Quick Start Tutorials Note: Before using this information and the product it supports, read the information in "Notices" on page 94. This edition applies
Tutorial: Mobile Business Object Development. Sybase Unwired Platform 2.2 SP02
Tutorial: Mobile Business Object Development Sybase Unwired Platform 2.2 SP02 DOCUMENT ID: DC01208-01-0222-01 LAST REVISED: January 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication
bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5
bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5 2008 Adobe Systems Incorporated. All rights reserved. Adobe Flash Media Rights Management Server 1.5
Creating a Java application using Perfect Developer and the Java Develo...
1 of 10 15/02/2010 17:41 Creating a Java application using Perfect Developer and the Java Development Kit Introduction Perfect Developer has the facility to execute pre- and post-build steps whenever the
Java with Eclipse: Setup & Getting Started
Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0
Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0 Part No. E52543-01 April 2014 Oracle Financial Services Software Limited Oracle Park Off Western Express Highway
Developing In Eclipse, with ADT
Developing In Eclipse, with ADT Android Developers file://v:\android-sdk-windows\docs\guide\developing\eclipse-adt.html Page 1 of 12 Developing In Eclipse, with ADT The Android Development Tools (ADT)
Data Crow Creating Reports
Data Crow Creating Reports Written by Robert Jan van der Waals August 25, 2014 Version 1.2 Based on Data Crow 4.0.7 (and higher) Introduction Data Crow allows users to add their own reports or to modify
Data Tool Platform SQL Development Tools
Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6
Tutorial: Mobile Business Object Development. SAP Mobile Platform 2.3
Tutorial: Mobile Business Object Development SAP Mobile Platform 2.3 DOCUMENT ID: DC01927-01-0230-01 LAST REVISED: March 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication pertains
StarWind iscsi SAN & NAS: Configuring HA File Server on Windows Server 2012 for SMB NAS January 2013
StarWind iscsi SAN & NAS: Configuring HA File Server on Windows Server 2012 for SMB NAS January 2013 TRADEMARKS StarWind, StarWind Software and the StarWind and the StarWind Software logos are trademarks
Elixir Schedule Designer User Manual
Elixir Schedule Designer User Manual Release 7.3 Elixir Technology Pte Ltd Elixir Schedule Designer User Manual: Release 7.3 Elixir Technology Pte Ltd Published 2008 Copyright 2008 Elixir Technology Pte
Installing the Android SDK
Installing the Android SDK To get started with development, we first need to set up and configure our PCs for working with Java, and the Android SDK. We ll be installing and configuring four packages today
Shavlik Patch for Microsoft System Center
Shavlik Patch for Microsoft System Center User s Guide For use with Microsoft System Center Configuration Manager 2012 Copyright and Trademarks Copyright Copyright 2014 Shavlik. All rights reserved. This
Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.
1 2 3 4 Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5. It replaces the previous tools Database Manager GUI and SQL Studio from SAP MaxDB version 7.7 onwards
TIBCO ActiveMatrix Service Bus Getting Started. Software Release 2.3 February 2010
TIBCO ActiveMatrix Service Bus Getting Started Software Release 2.3 February 2010 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO
e(fx)clipse - JavaFX Tooling
e(fx)clipse - JavaFX Tooling Tom Schindl - BestSolution Systemhaus GmbH EclipseCon October 2012 About Tom CTO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Main developer of e(fx)clipse
Installing and Configuring vcenter Multi-Hypervisor Manager
Installing and Configuring vcenter Multi-Hypervisor Manager vcenter Server 5.1 vcenter Multi-Hypervisor Manager 1.1 This document supports the version of each product listed and supports all subsequent
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Attix5 Pro Server Edition
Attix5 Pro Server Edition V7.0.3 User Manual for Linux and Unix operating systems Your guide to protecting data with Attix5 Pro Server Edition. Copyright notice and proprietary information All rights reserved.
Application. 1.1 About This Tutorial. 1.1.1 Tutorial Requirements. 1.1.2 Provided Files
About This Tutorial 1Creating an End-to-End HL7 Over MLLP Application 1.1 About This Tutorial 1.1.1 Tutorial Requirements 1.1.2 Provided Files This tutorial takes you through the steps of creating an end-to-end
Parameter Fields and Prompts. chapter
Parameter Fields and Prompts chapter 23 Parameter Fields and Prompts Parameter and prompt overview Parameter and prompt overview Parameters are Crystal Reports fields that you can use in a Crystal Reports
Java Software Development Kit (JDK 5.0 Update 14) Installation Step by Step Instructions
Java Software Development Kit (JDK 5.0 Update 14) Installation Step by Step Instructions 1. Click the download link Download the Java Software Development Kit (JDK 5.0 Update 14) from Sun Microsystems
Android Environment SDK
Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 2A. Android Environment: Eclipse & ADT The Android
Developing SQL and PL/SQL with JDeveloper
Seite 1 von 23 Developing SQL and PL/SQL with JDeveloper Oracle JDeveloper 10g Preview Technologies used: SQL, PL/SQL An Oracle JDeveloper Tutorial September 2003 Content This tutorial walks through the
NetBeans IDE Field Guide
NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting
JBoss SOAP Web Services User Guide. Version: 3.3.0.M5
JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...
FileMaker Server 11. FileMaker Server Help
FileMaker Server 11 FileMaker Server Help 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
DEPLOYING A VISUAL BASIC.NET APPLICATION
C6109_AppendixD_CTP.qxd 18/7/06 02:34 PM Page 1 A P P E N D I X D D DEPLOYING A VISUAL BASIC.NET APPLICATION After completing this appendix, you will be able to: Understand how Visual Studio performs deployment
Eclipse with Mac OSX Getting Started Selecting Your Workspace. Creating a Project.
Eclipse with Mac OSX Java developers have quickly made Eclipse one of the most popular Java coding tools on Mac OS X. But although Eclipse is a comfortable tool to use every day once you know it, it is
How to Install Eclipse. Windows
1.00/1.001/1.002 Spring 2012 How to Install Eclipse Windows In 1.00/1.001/1.002, you will use the Eclipse Integrated Development Environment (IDE) to create, compile, and run Java programming assignments.
Microsoft Visual Studio Integration Guide
Microsoft Visual Studio Integration Guide MKS provides a number of integrations for Integrated Development Environments (IDEs). IDE integrations allow you to access MKS Integrity s workflow and configuration
Python for Series 60 Platform
F O R U M N O K I A Getting Started with Python for Series 60 Platform Version 1.2; September 28, 2005 Python for Series 60 Platform Copyright 2005 Nokia Corporation. All rights reserved. Nokia and Nokia
FDA Medication Guides Project
FDA Medication Guides Project Java Component (Automatic Printing) INSTALLATION GUIDE XU*8*566 PSN*4*264 PSO*7*367 PSX*2*70 PSS*1*177 PSO*7*428 March 2012 (Revised December 2014) Department of Veterans
IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started
Version 2.0 Original-Application Note ads-tec GmbH IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started Stand: 28.10.2014 ads-tec GmbH 2014 IRF2000 IWL3000 SRC1000
Authoring for System Center 2012 Operations Manager
Authoring for System Center 2012 Operations Manager Microsoft Corporation Published: November 1, 2013 Authors Byron Ricks Applies To System Center 2012 Operations Manager System Center 2012 Service Pack
Litigation Support connector installation and integration guide for Summation
Litigation Support connector installation and integration guide for Summation For AccuRoute v2.3 July 28, 2009 Omtool, Ltd. 6 Riverside Drive Andover, MA 01810 Phone: +1/1 978 327 5700 Toll-free in the
Developing Physical Solutions for InfoSphere Master Data Management Server Advanced Edition v11. MDM Workbench Development Tutorial
Developing Physical Solutions for InfoSphere Master Data Management Server Advanced Edition v11 MDM Workbench Development Tutorial John Beaven/UK/IBM 2013 Page 1 Contents Overview Machine Requirements
EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer
WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration Developer Web Age Solutions Inc. USA: 1-877-517-6540 Canada: 1-866-206-4644 Web: http://www.webagesolutions.com Chapter 6 - Introduction
Crystal Reports Integration Plugin for JIRA
Crystal Reports Integration Plugin for JIRA Copyright 2008 The Go To Group Page 1 of 7 Table of Contents Crystal Reports Integration Plugin for JIRA...1 Introduction...3 Prerequisites...3 Architecture...3
Oracle Service Bus Examples and Tutorials
March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan
WA2087 Programming Java SOAP and REST Web Services - WebSphere 8.0 / RAD 8.0. Student Labs. Web Age Solutions Inc.
WA2087 Programming Java SOAP and REST Web Services - WebSphere 8.0 / RAD 8.0 Student Labs Web Age Solutions Inc. 1 Table of Contents Lab 1 - WebSphere Workspace Configuration...3 Lab 2 - Introduction To
Create a Web Service from a Java Bean Test a Web Service using a generated test client and the Web Services Explorer
Web Services Objectives After completing this lab, you will be able to: Given Create a Web Service from a Java Bean Test a Web Service using a generated test client and the Web Services Explorer The following
Dell SupportAssist Version 2.0 for Dell OpenManage Essentials Quick Start Guide
Dell SupportAssist Version 2.0 for Dell OpenManage Essentials Quick Start Guide Notes, Cautions, and Warnings NOTE: A NOTE indicates important information that helps you make better use of your computer.
Software Distribution Reference
www.novell.com/documentation Software Distribution Reference ZENworks 11 Support Pack 3 July 2014 Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or use
Developing Eclipse Plug-ins* Learning Objectives. Any Eclipse product is composed of plug-ins
Developing Eclipse Plug-ins* Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk * Based on M. Pawlowski et al: Fundamentals of Eclipse Plug-in and RCP
Login with Amazon Getting Started Guide for Android. Version 2.0
Getting Started Guide for Android Version 2.0 Login with Amazon: Getting Started Guide for Android Copyright 2016 Amazon.com, Inc., or its affiliates. All rights reserved. Amazon and the Amazon logo are
Setting Up Resources in VMware Identity Manager
Setting Up Resources in VMware Identity Manager VMware Identity Manager 2.4 This document supports the version of each product listed and supports all subsequent versions until the document is replaced
WA2099 Introduction to Java using RAD 8.0 EVALUATION ONLY. Student Labs. Web Age Solutions Inc.
WA2099 Introduction to Java using RAD 8.0 Student Labs Web Age Solutions Inc. 1 Table of Contents Lab 1 - The HelloWorld Class...3 Lab 2 - Refining The HelloWorld Class...20 Lab 3 - The Arithmetic Class...25
Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:
Oracle Workshop for WebLogic 10g R3 Hands on Labs Workshop for WebLogic extends Eclipse and Web Tools Platform for development of Web Services, Java, JavaEE, Object Relational Mapping, Spring, Beehive,
ODBC Driver Version 4 Manual
ODBC Driver Version 4 Manual Revision Date 12/05/2007 HanDBase is a Registered Trademark of DDH Software, Inc. All information contained in this manual and all software applications mentioned in this manual
Single-sign-on between MWS custom portlets and IS services
Community TechNote Single-sign-on between MWS custom portlets and IS services Abstract Version 2 Updated 22 Sep 2009 This article describes how to use Single- Sign-On in the authentication of MWS portlets
Installing Java. Table of contents
Table of contents 1 Jargon...3 2 Introduction...4 3 How to install the JDK...4 3.1 Microsoft Windows 95... 4 3.1.1 Installing the JDK... 4 3.1.2 Setting the Path Variable...5 3.2 Microsoft Windows 98...
Coveo Platform 7.0. Microsoft Dynamics CRM Connector Guide
Coveo Platform 7.0 Microsoft Dynamics CRM Connector Guide Notice The content in this document represents the current view of Coveo as of the date of publication. Because Coveo continually responds to changing
Download and Installation Instructions. Android SDK and Android Development Tools (ADT) Microsoft Windows
Download and Installation Instructions for Android SDK and Android Development Tools (ADT) on Microsoft Windows Updated May, 2012 This document will describe how to download and install the Android SDK
Sophos Enterprise Console server to server migration guide. Product version: 5.1 Document date: June 2012
Sophos Enterprise Console server to server migration guide Product : 5.1 Document date: June 2012 Contents 1 About this guide...3 2 Terminology...4 3 Assumptions...5 4 Prerequisite...6 5 What are the key
Hadoop Basics with InfoSphere BigInsights
An IBM Proof of Technology Hadoop Basics with InfoSphere BigInsights Unit 2: Using MapReduce An IBM Proof of Technology Catalog Number Copyright IBM Corporation, 2013 US Government Users Restricted Rights
Introduction to Eclipse
Introduction to Eclipse Overview Eclipse Background Obtaining and Installing Eclipse Creating a Workspaces / Projects Creating Classes Compiling and Running Code Debugging Code Sampling of Features Summary
Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7
Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7 Contents Overview... 1 The application... 2 Motivation... 2 Code and Environment... 2 Preparing the Windows Embedded Standard
Aspera Connect User Guide
Aspera Connect User Guide Windows XP/2003/Vista/2008/7 Browser: Firefox 2+, IE 6+ Version 2.3.1 Chapter 1 Chapter 2 Introduction Setting Up 2.1 Installation 2.2 Configure the Network Environment 2.3 Connect
T320 E-business technologies: foundations and practice
T320 E-business technologies: foundations and practice Block 3 Part 6 Activity 2: Testing a web service for WS-I conformance Prepared for the course team by Neil Simpkins Introduction 1 Configuring the
FileMaker 11. ODBC and JDBC Guide
FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
