Adelia Studio product help
The online help for the Adelia product now displays a help page on one of our web servers in your browser. If there is restricted access to the Internet on your developers' workstations, you need to open access to the following URL in order for them to access Adelia help: https://docs.hardis-group.com/doccenter/display/Adelia2057V1400/Adelia. ↑ Top of page
New "Adelia SOA Studio" module
This module supports the production of Web SOAP and RESTful services and the generation of Adelia classes in Avro (new feature in version 14).
It also supports the production of EADELIA programs which, in an SOA-EDA architecture, will make it possible to subscribe to MOM messages (KAFKA, MQTT, AQMP type). This new type of program will be available in a PTF for version 14.
Note: The "Adelia Web Studio" license will continue to allow the production of Web SOAP and RESTful services, but will not allow the new SOA or EDA-oriented features which Adelia will offer in the future to be managed. ↑ Top of page
Adelia Build
A new type of Adelia object has been added: The build component. A build component contains programs, Adelia classes or an error messages file. You can indicate the managed components in your Adelia Build projects.
The Build components will enable you to manage the content of artifacts generated by the Adelia Build more precisely (compared with Adelia application areas).
You can also define dependencies between build components so that, when building your executable applications, the use of an artifact from a build component with dependencies on other Build components will automatically pull the artifacts generated by these build components. ↑ Top of page
Printouts and PDFs
We offer a new Adelia Print Engine (APE) solution for producing PostScript printouts and PDFs.
It is based on Apache FreeMarker and Apache FOP.
We have packaged the printout and PDF production engine in Spring Boot RESTful web services format.
Define your templates (text files) written in the Apache FOP tag language (with dynamic data in FreeMarker), which will be placed in a directory configured when starting the Spring Boot Web application.
To produce your printout (or PDF), execute a web service by sending it the name of the template to use and the dynamic data in a JSON message.
You will receive the PDF or PostScript flow in return.
For Java/Web/Cloud programs, you can also produce the PDF or PostScript flow without calling the Web service by calling the VaToolBx DLL functions ( VaToolBxAPEAddInDataModel, VaToolBxAPEMergeDoc, VaToolBxAPETransformDoc, VaToolBxAPEMergeAndTransformDoc and VaToolBxAPEClearDataModel) by passing the data to them as a parameter (in key/value form or via an Adelia class corresponding to the data structure required by the template). ↑ Top of page
RESTful Web Services
- The most recent version of Swagger UI is now used to present Web services.
Caution: the presentation page is no longer called via the URL http://mysite/mawebapp/swagger.html, but via a
http://mysite/mawebapp/ws/services-type URL or more directly:
http://mysite/mawebapp/ws/api-doc?url=/mawebapp/ws/swagger.json.
For more information, refer to the help page on displaying a RESTful Web service presentation .
- The new websites created using version 14 will use the Jackson rather than Jettison JSONProvider by default.
With Jackson by default, the root element ("STRUCTURE" class name) is not present in the JSON serialization (corresponds to the Jettison dropRootElement mode), and the array-type attributes are always converted into a JSON array, even when there is only one element.
The sites created with version 13 are not affected.
Note: The choice of JSONProvider can be configured in the website's beans.xml file.
- When securing web services via JWT, it is now possible to indicate that a token is only authorized for certain resource servers or to ensure that the client who is using a token on the resource server is indeed the same client who requested the token from the authentication server.
This is set up via the jwtAudienceKind and jwtAudience properties of the jwtProviderConfig bean for authentication server configuration, and jwtValidateAudience and jwtAudienceKind properties of the JwtTokenConfiguration bean for resource server configuration.
- The WS_CONFIGURE instruction now has a new _swag_tag attribute used to define groups (tags) in order to manage the grouping of operations during the web service presentation via swagger.
This enables operations from different programs to be put in a same group and/or operations from the same program to be put into different groups.
The _swag_description attribute is used to associate descriptions with these groups (tags).
Adelia classes
- The *SER_NAME option can now be used at class level so that the class serialization uses the indicated name rather than the class name.
- The *SER_DESC option has been added to associate a description (for the class or a class attribute) for a RESTful Web service presentation in Swagger.
- The *SER_EXAMPLE option has been added to associate an example value to an attribute for a RESTful Web service presentation in Swagger.
- Adelia classes can now be assigned to an installation manager installation (and therefore handled by the installation manager).
- Adelia classes can be generated to be compatible with Avro serialization (Adelia SOA Studio license required). These classes are used to send data to an Apache Kafka database.
- The 4GL editor now supports automatic completion for the getters of a class.
Visual language
- The *HTTP_HEADERS parameter has been added to the WS_CALL instruction to manage the HTTP headers of the request and response when consuming a SOAP Web service.
- CONV_DATA instruction:
- For an XML to JSON conversion, the *ALPHA parameter in the original format forces the conversion of a value like a string (numeric value which must be seen in JSON as an alphanumeric value).
- For an XML to JSON conversion, the *ARRAY parameter in the original format forces the conversion of an XML node like a JSON array (array with a single value).
- The CONV_DATA instruction serializes/deserializes an Adelia class to/from a JSON or XML document.
- VaToolBxQueryAdeliaPrinterDriverMode and VaToolBxSetAdeliaPrinterDriverMode functions have been added to find out or force RAW mode for printing Adelia reports.
- The VaToolBxJavaSanitizeHTML function has been added to sanitize an HTML code so that it only authorizes certain tags or attributes and removes any dynamic content.
- VaToolBxSendToAvroKafka and VaToolBxSendToAvroKafkaWithKey functions have been added to send data to a KAFKA database.
Adelia Cloud
- List object
- The BORDER property has been added to draw a border around the list.
- The TRANSPARENT property has been added to manage the background transparency of the list, rows and cells.
- Column object
- The VERTICAL_ALIGNMENT property has been added to manage the vertical alignment of data displayed in the cell.
- The BORDER property has been added to draw a border around the cell.
- The MARGIN property has been added to define a margin around the cell.
- The PADDING property has been added to define a margin between the cell border and its content.
- The _COL_HTML_REPRESENTATION type has been added for the REPRESENTATION property to define the graphic representation of all the elements in the column as an HTML text area.
- In the configuration wagon.xml file, the parameters of a specific keystore can now be specified, which can be used to encrypt sensitive data rather than using the wagon.key file supplied by Adelia.
Miscellaneous Improvements
- 4GL Editor
The Automatically highlight instruction blocks option has been added to automatically highlight instruction blocks (IF ... ELSE ... END; DO_WHILE ... REDO, ...) as well as the Highlight instruction blocks contextual menu option for a row to highlight or remove highlighting from the current instruction block.
- Translation manager
- The "Analyze" box can now be resized and its columns can be moved.
The control width is indicated in pixels (for interactive Visual Adelia programs) or text field characters with mask included (Adelia programs and reports). - Error messages for which the translation is no longer up to date due to the original message being updated can now be identified.
- The "Analyze" box can now be resized and its columns can be moved.
- Source import/export
The source import/export tool is used to export an Adelia object in the form of a text file tree. The main aim of the tool is to create a tree of files that can be integrated into Git, Subversion or equivalent version control software. ↑ Top of page
Compatibility changes
- Adelia Studio license management: Version 14 is no longer compatible with the licenses managed by a dongle (USB or parallel). If your license is managed by a dongle, you must migrate it into a software license.
- Adelia Studio license management: the dialog between the developers' workstations and the license server machine is no longer in the form of a Windows RPC, but in the form of an http RESTful Web service call on port 60697.
- JDK: due to Oracle's new policy on Java licenses, we no longer supply JDK/JRE but enable you to install the JDK of your choice (version 8 or higher) and tell Adelia which JDK path to use.
- MySQL: the MySQL driver has been replaced by an ODBC driver-derived implementation as the standard C connector is no longer maintained in the 32-bit version from MySQL 8.0.
The MySQL driver is compatible with versions 5.x and 8.0 of the ODBC connector for MySQL in 32-bit version. As a result, the ODBC connector now has to be installed on client workstations. - Windows versions: Adelia Studio 14 is compatible with Windows 7, Windows Server 2008 and later versions (up to Windows 10 and Windows Server 2016).
- Versions of OS/400: the AS/400 part of Adelia Studio 14 is compatible with V6R1 and later versions (up to V7R3).
- Web application servers: the Adelia Studio 14 Web or Cloud runtime must run on application servers working with JDK 8 or JRE 8 or later (and API servlet 3.0 (web) or 3.1 (Cloud)).