ESDL Language Reference Boca Raton Documentation Team We welcome your comments and feedback about this document via email to docfeedback@hpccsystems.com Please include Documentation Feedback in the subject line and reference the document name, page numbers, and current Version Number in the text of the message. LexisNexis and the Knowledge Burst logo are registered trademarks of Reed Elsevier Properties Inc., used under license. HPCC Systems® is a registered trademark of LexisNexis Risk Data Management Inc. Other products, logos, and services may be trademarks or registered trademarks of their respective companies. All names and example data used in this manual are fictitious. Any similarity to actual persons, living or dead, is purely coincidental. HPCC Systems® ESDL Language Overview ESDL (Enterprise Service Description Language) is a methodology that helps you develop and manage web-based query interfaces quickly and consistently. Dynamic ESDL takes an interface-first development approach. It leverages the ESDL Language to create a common interface “contract” that both Roxie Query and Web interface developers will adhere to. It is intended to allow developers to create production web services, with clean interfaces that can evolve and grow over time without breaking existing applications. ESDL’s built-in versioning support helps ensure compiled and deployed applications continue to operate while changes are made to the deployed service’s interface for new functionality. ESDL’s ability to define and reuse common structures helps maintain consistent interfaces across methods. The Dynamic ESDL service is built to scale horizontally, and hooks are provided to add custom logging and security to help create fully “productionalized” web services. Once a service is deployed, application developers and end-users can consume the service using REST, JSON, XML, SOAP, or form encoded posts. Dynamic ESDL provides quick and easy access to a WSDL, live forms, sample requests and responses, and testing interfaces to allow developers to test logic changes, data changes, or new features, as well as to interact with the service directly using SOAP, XML, or JSON. ESDL Structures ESDL Datatypes ESDL Attributes You can use ESDL attributes to extend and override the default behavior of an ESDL definition. For example, adding a max_len(n) to a string defines the string will only need to store a certain number of characters. Many attributes are treated as hints that may have more effect on some implementations than others. For example, max_len(n) will affect generated ECL code, but is ignored when generating C++.