Add documentation for DESDL
Description
Conclusion
Activity

Rodrigo Pastrana November 21, 2014 at 9:09 PM
To document
ESDL command line usage:
xml Generate XML from ESDL definition.
ecl Generate ECL from ESDL definition.
xsd Generate XSD from ESDL definition.
wsdl Generate WSDL from ESDL definition.
publish Publish ESDL Definition for ESP use.
bind-service Configure ESDL based service on target ESP (with existing ESP Binding).
unbind-service Remove ESDL based service binding on target ESP.
bind-method Configure method associated with existing ESDL binding.
get-binding Get ESDL binding.

Rodrigo Pastrana November 20, 2014 at 9:31 PM
Moved as sub task of to ESDL Gold Release

Stuart Ort September 9, 2014 at 3:10 PM
DESDL is 5.2

Rodrigo Pastrana March 18, 2014 at 7:55 PM
The scope of this feature has expanded:
The DESDL definitions are now housed on dali, as well as their bindings.
changes to the definitions are automatically reflected on the running ESPs.
Let's set up a meeting if you'd like me to provide more info. Thanks.

Rodrigo Pastrana October 2, 2013 at 5:39 PMEdited
There are 4 Jira issues involved:
Add Dynamic ESDL service (Phase 1) HPCC Platform.
Create ESDL tool (refactor existing esdl executable to esdl2xl) - HPCC Platform
Add Dynamic ESDL service (Phase 1) LN
Create ESDL tool (refactor existing esdl executable to esdl2xl) - LN
This is an LN feature, but changes had to be done on both branches.
Providing a lot of info here:
ESDL Engine added.
DESDL Based ESP service support added.
Process should be documented
Define Service using ESDL
Create XML version of ESDL (requires tool usage see below)
Make files available on HPCC (currently a manual process, this will change in next release)
**UPDATE This process has now changed **Create DynamicESDL ESP service (configmanager)
Configure new ESP service
point to esdl xml file *NO LONGER REQUIRED in configmngr*
declare methods to be exposed *NO LONGER REQUIRED in configmngr*
configure target Roxie query for each method *NO LONGER REQUIRED in configmngr*
other info *NO LONGER REQUIRED in configmngr*
Bind ESP service
Use new ESDL tool to publish ESDL service definitions
Use new ESDL tool to bind ESP service to ESDL service definition
See new ESDL tool definition below
New ESDL tool (existing esdl.exe tool renamed esdl-xml):
Supports publishing ESDL service definitions
"esdl publish <servicename> <filename.ecm> [command options]\n\n"
" <servicename> The ESDL defined ESP service to publish\n"
" <filename.ecm> The ESDL file containing service definition\n"
"Options (use option flag followed by appropriate value):\n"
" --overwrite Overwrite the latest version of this ESDL Definition\n"Supports configuring/binding ESP services
"esdl bind-service <TargetESPProcessName> <TargetESPBindingPort | TargetESPServiceName> <ESDLDefinitionId> <ESDLServiceName> [command options]\n\n"
" TargetESPProcessName The target ESP Process name\n"
" TargetESPBindingPort | TargetESPServiceName Either target ESP binding port or target ESP service name\n"
" ESDLDefinitionId The Name and version of the ESDL definition to bind to this service (must already be defined in dali.)\n"
" ESDLServiceName The Name of the ESDL Service (as defined in the ESDL Definition)\n"
"\nOptions (use option flag followed by appropriate value):\n"
" --config <file|xml> Configuration XML for all methods associated with the target Service\n"
" --overwrite Overwrite binding if it already exists\n");
– Supports binding methods to service configurations
"esdl bind-method <TargetESPProcessName> <TargetESPBindingName> <TargetServiceName> <TargetServiceDefVersion> <TargetMethodName> [command options]\n\n"
" TargetESPProcessName The target ESP Process name\n"
" TargetESPBindingName The target ESP binding name associated with this service\n"
" TargetServiceName The name of the Service to bind (must already be defined in dali.)\n"
" TargetServiceDefVersion The version of the target service ESDL definition (must exist in dali)\n"
" TargetMethodName The name of the target method (must exist in the service ESDL definition)\n"
"\nOptions (use option flag followed by appropriate value):\n"
" --config <file|xml> Configuration XML for all methods associated with the target Service\n"
" --overwrite Overwrite binding if it already exists\n");
EsdlPublishCmdCommon::usage();
printf( "\n Use this command to publish ESDL Service based bindings.\n"
" To bind a ESDL Service, provide the target ESP process name\n"
" (esp which will host the service.) \n"
" It is also necessary to provide the Port on which this service is configured to run (ESP Binding),\n"
" and the name of the service you are binding.\n"
" Optionally provide configuration information either directly, or via a\n"
" configuration file in the following syntax:\n"
" <Methods>\n"
" \t<Method name=\"myMethod\" url=\"http://10.45.22.1:292/somepath?someparam=value\" user=\"myuser\" password=\"mypass\"/>\n"
" \t<Method name=\"myMethod2\" url=\"http://10.45.22.1:292/somepath?someparam=value\" user=\"myuser\" password=\"mypass\"/>\n"
" </Methods>\n"
);
"\nExample:"
">esdl bind-service myesp 8088 WsMyService --config /myService/methods.xml\n"
– Supports converting ESDL to xml, ecl, xsd, and/or wsdl
– "esdl <command> [<args>]\n\n"
"Commonly used commands:\n"
" xml Generate XML from ESDL definition.\n"
" ecl Generate ECL from ESDL definition.\n"
" xsd Generate XSD from ESDL definition.\n"
" wsdl Generate WSDL from ESDL definition.\n"
"\nRun 'esdl help <command>' for more information on a specific command\n\n"
esdl ecl usage:
"esdl ecl sourcePath outputPath [options]\n"
"\nsourcePath must be absolute path to the ESDL Definition file containing the"
"EsdlService definition for the service you want to work with.\n"
"outputPath must be the absolute path where the ECL output with be created."
" Options:\n"
" -x, --expandedxml Output expanded XML files\n"
" --all Generate ECL files for all includes\n"
esdl xsd usage:
puts("esdl xsd sourcePath serviceName [options]\n" );
puts("\nsourcePath must be absolute path to the ESDL Definition file containing the" );
puts("EsdlService definition for the service you want to work with.\n" );
puts("serviceName EsdlService definition for the service you want to work with.\n" );
puts("Options:");
puts(" --version <version number> : Constrain to interface version\n");
puts(" --method <method name>[;<method name>]* : Constrain to list of specific method(s)\n" );
puts(" --xslt <xslt file path> : Path to '/xslt/esxdl2xsd.xslt' file to transform EsdlDef to XSD\n" );
puts(" --preprocess-output <raw output directory> : Output pre-processed xml file to specified directory before applying XSLT transform\n" );
puts(" --annotate <all | none> : Flag turning on either all annotations or none. By default annotations are generated " );
puts(" for Enumerations. Setting the flag to 'none' will disable even those. Setting it" );
puts(" to 'all' will enable additional annotations such as collapsed, cols, form_ui, html_head and rows.\n");
puts(" --noopt : Turns off the enforcement of 'optional' attributes on elements. If no -noopt is specified then all elements with an 'optional'" );
puts(" will be included in the output. By default 'optional' filtering is enforced.\n");
puts(" opt,-optional <param value> : Value to use for optional tag filter when gathering dependencies" );
puts(" An example: passing 'internal' when some Esdl definition objects have the attribute");
puts(" optional(\"internal\") will ensure they appear in the XSD, otherwise they'd be filtered out\n");
puts(" tns,-target-namespace <target namespace> : The target namespace, passed to the transform via the parameter 'tnsParam'\n" );
puts(" used for the final output of the XSD. If not supplied will default to " );
puts(" http://webservices.seisint.com/<service name>\n" );
puts(" -n <int>: Number of times to run transform after loading XSLT. Defaults to 1.\n" );
puts(" --show-inheritance : Turns off the collapse feature. Collapsing optimizes the XML output to strip out structures\n" );
puts(" only used for inheritance, and collapses their elements into their child. That simplifies the\n" );
puts(" stylesheet. By default this option is on.");
puts(" --no-arrayof : Supresses the use of the arrrayof element. arrayof optimizes the XML output to include 'ArrayOf...'\n" );
puts(" structure definitions for those EsdlArray elements with no item_tag attribute. Works in conjuction\n" );
puts(" with an optimized stylesheet that doesn't generate these itself. This defaults to on.");
esdl wsdl usage:
puts("esdl wsdl sourcePath serviceName [options]\n" );
puts("\nsourcePath must be absolute path to the ESDL Definition file containing the" );
puts("EsdlService definition for the service you want to work with.\n" );
puts("serviceName EsdlService definition for the service you want to work with.\n" );
puts("Options:");
puts(" --version <version number> : Constrain to interface version\n");
puts(" --method <method name>[;<method name>]* : Constrain to list of specific method(s)\n" );
puts(" --xslt <xslt file path> : Path to '/xslt/esxdl2xsd.xslt' file to transform EsdlDef to XSD\n" );
puts(" --preprocess-output <raw output directory> : Output pre-processed xml file to specified directory before applying XSLT transform\n" );
puts(" --annotate <all | none> : Flag turning on either all annotations or none. By default annotations are generated " );
puts(" for Enumerations. Setting the flag to 'none' will disable even those. Setting it" );
puts(" to 'all' will enable additional annotations such as collapsed, cols, form_ui, html_head and rows.\n");
puts(" --noopt : Turns off the enforcement of 'optional' attributes on elements. If no -noopt is specified then all elements with an 'optional'" );
puts(" will be included in the output. By default 'optional' filtering is enforced.\n");
puts(" opt,-optional <param value> : Value to use for optional tag filter when gathering dependencies" );
puts(" An example: passing 'internal' when some Esdl definition objects have the attribute");
puts(" optional(\"internal\") will ensure they appear in the XSD, otherwise they'd be filtered out\n");
puts(" tns,-target-namespace <target namespace> : The target namespace, passed to the transform via the parameter 'tnsParam'\n" );
puts(" used for the final output of the XSD. If not supplied will default to " );
puts(" http://webservices.seisint.com/<service name>\n" );
puts(" -n <int>: Number of times to run transform after loading XSLT. Defaults to 1.\n" );
puts(" --show-inheritance : Turns off the collapse feature. Collapsing optimizes the XML output to strip out structures\n" );
puts(" only used for inheritance, and collapses their elements into their child. That simplifies the\n" );
puts(" stylesheet. By default this option is on.");
puts(" --no-arrayof : Supresses the use of the arrrayof element. arrayof optimizes the XML output to include 'ArrayOf...'\n" );
puts(" structure definitions for those EsdlArray elements with no item_tag attribute. Works in conjuction\n" );
puts(" with an optimized stylesheet that doesn't generate these itself. This defaults to on.");
puts(" --wsdladdress Defines the output WSDL's location address\n");
esdl xml usage:
printf("ESDL Compiler\n\n");
printf("Usage: %s [options] filename.scm [<outdir>]\n\n", programName);
printf("Output: filename.xml\n");
puts("Available options:");
puts(" -?/-h: show this usage page");
Configmgr logic created for adding/configuring DynamicESDL based ESP services
Roxie test page added.
Like Soapbuilder page, creates sample Roxie SOAP request, forwards to targeted roxie, and displays response from roxie
Details
Components
Assignee
Jim DeFabiaJim DeFabiaReporter
Lorraine ChapmanLorraine ChapmanPriority
MajorFix versions
Pull Request URL
Due date
Oct 16, 2013
Details
Details
Components
Assignee

Reporter
