Volante Designer Release Notes
Version 5.4.0
Build 1640
Volante Technologies
Release Date: Feb 24, 2018
08
Fall
www.volantetech.com
Volante Designer Release Notes
Proprietary Notice
© 2018 Volante Technologies Inc. All rights reserved.
Information in this document is subject to change without notice and does not represent a
commitment on the part of Volante Technologies, Inc. The software described in this
document is furnished under a license agreement. The software may be used or copied only in
accordance with that agreement. No part of this guide may be reproduced or retransmitted in
any form or by any means electronic, mechanical, or otherwise, including photocopying and
recording for any purpose other than the purchaser’s personal use without the written
permission of Volante Technologies, Inc.
Restricted Rights Legend
Copyright © 2001-2018 Volante Technologies, Inc. All rights reserved. All Volante products are
trademarks or registered trademarks of Volante Technologies, Inc. Other brand and product
names are trademarks or registered trademarks of their respective holders.
Contact Us
In case you need any clarifications or have any queries, please do write to Volante Customer
Support executives in [email protected].
New York/New Jersey Headquarters:
1605 Plaza Five
Harborside Financial Center
Jersey City, NJ 07311
Tel: +1 (201) 258-7459
www.volantetech.com
Volante Designer Release Notes
Table of Content
1 What’s in This Release? ...................................................................................................................... 6
2 Compatibility ...................................................................................................................................... 8
2.1 Designer ............................................................................................................................................................ 8
2.2 Runtime ............................................................................................................................................................. 8
3 What’s new since 5.0 ......................................................................................................................... 8
3.1 Usage instructions for 5.x.x users .................................................................................................................. 8
3.2 Enhancements & Bug Fixes in 5.4.0 ............................................................................................................ 10
3.3 Enhancements & Bug Fixes in 5.3.0 ............................................................................................................ 11
3.4 Enhancements & Bug Fixes in 5.2.1 ............................................................................................................ 13
3.5 Enhancements & Bug Fixes in 5.2.0 ............................................................................................................ 15
3.6 Enhancements & Bug Fixes in 5.1.3 ............................................................................................................ 16
3.7 Enhancements & Bug Fixes in 5.1.2 ............................................................................................................ 19
3.8 Enhancements & Bug Fixes in 5.1.1 ............................................................................................................ 21
3.9 Enhancements & Bug Fixes in 5.1.0 ............................................................................................................ 22
3.10 Bug Fixes/Enhancements in 5.0.4 ............................................................................................................... 25
3.11 Bug Fixes/Enhancements in 5.0.3 ............................................................................................................... 29
3.12 Bug Fixes/Enhancements in 5.0.2 ............................................................................................................... 31
3.13 Bug Fixes/Enhancements in 5.0.1 ............................................................................................................... 33
4 What’s New in Version 5.0 ............................................................................................................... 35
4.1 New Product Components .......................................................................................................................... 35
4.2 New Product Features/Enhancements ...................................................................................................... 35
4.3 Composer UI enhancements ...................................................................................................................... 37
4.4 Bugs Fixed ....................................................................................................................................................... 37
5 Open Issues ...................................................................................................................................... 38
5.1 Component-wise issues ............................................................................................................................... 38
5.2 Known Issues .................................................................................................................................................. 38
5.3 Upgrade Issues............................................................................................................................................... 39
5.4 Compatibility Changes ................................................................................................................................ 39
6 Other Release Notes ........................................................................................................................ 39
www.volantetech.com
Volante Designer Release Notes
7 Enhancements Details ..................................................................................................................... 40
7.1 REST Plugin....................................................................................................................................................... 40
7.2 Web Service Client Plugin ............................................................................................................................ 43
7.3 Query Node .................................................................................................................................................... 44
7.4 Volante Runtime License .............................................................................................................................. 45
7.5 Apache Kafka Integration ........................................................................................................................... 46
7.6 Volante Connector........................................................................................................................................ 47
7.7 XML Plugin - Disabling the External Entity loading................................................................................... 49
7.8 MongoDB Plugin ............................................................................................................................................ 51
7.9 CamelProtocol using SendActivity ............................................................................................................. 54
7.10 OSGI Import/Export Packages in Code Generation Settings ................................................................ 56
7.11 Standalone Validations ................................................................................................................................ 57
7.12 Encryption in data-sources.xml .................................................................................................................. 58
7.13 Auto-commit in data-sources.xml ............................................................................................................. 59
7.14 Activity Plugin ................................................................................................................................................. 59
7.15 Volante Test Manager .................................................................................................................................. 60
7.16 Visual Mapper ................................................................................................................................................ 62
7.17 Transform Activities ....................................................................................................................................... 63
7.18 Spring Integration .......................................................................................................................................... 77
7.19 WAR Options ................................................................................................................................................... 78
7.20 Service Bus/Generic Application ............................................................................................................... 80
7.21 Project Configure Folder As ......................................................................................................................... 82
7.22 Auto Detect Proxy ......................................................................................................................................... 83
7.23 Revoke License .............................................................................................................................................. 84
7.24 Properties Window ......................................................................................................................................... 84
7.25 Functions Window .......................................................................................................................................... 85
7.26 External Tools .................................................................................................................................................. 87
7.27 Grid Mode ....................................................................................................................................................... 89
7.28 Drag & Drop .................................................................................................................................................... 90
www.volantetech.com
Volante Designer Release Notes
7.29 Append to specified output message ....................................................................................................... 90
7.30 Updates and Notification ............................................................................................................................. 90
7.31 Retain Trailing Delimiter ................................................................................................................................ 92
7.32 Enhancements in ISO8583 ........................................................................................................................... 93
7.33 Text View Encoding ....................................................................................................................................... 96
7.34 Message Flow................................................................................................................................................. 97
7.35 Message Resources - Indexes .................................................................................................................. 103
7.36 Service Directory ......................................................................................................................................... 103
7.37 Analyze Project (beta) ............................................................................................................................... 105
7.38 New Swift Resources ................................................................................................................................... 106
7.39 An XML - Allowed named groups to be flattened................................................................................. 106
7.40 Variables in Generate Query SQL ............................................................................................................ 107
7.41 Include Dependencies using targetDir .................................................................................................... 108
7.42 New toolbar actions .................................................................................................................................... 109
7.43 Switch Window ............................................................................................................................................. 109
7.44 Task Window ................................................................................................................................................. 110
7.45 Resolve Cartridge References .................................................................................................................. 111
7.46 OSGi options ................................................................................................................................................. 112
7.47 Service Bus option ....................................................................................................................................... 113
7.48 Orphaned Maps .......................................................................................................................................... 114
7.49 Message Resource ...................................................................................................................................... 116
7.50 Enhancement in Search ............................................................................................................................. 122
7.51 XML Serialize - 'namespace.prefix' option ............................................................................................. 123
7.52 SWIFT – User header tags ............................................................................................................................ 124
7.53 Enhancements to Project ........................................................................................................................... 126
7.54 Simplified procedure to enter Validation ................................................................................................ 129
8 Volante Designer 5.4.0 - Supported Platforms ............................................................................ 131
www.volantetech.com
Volante Designer Release Notes
1 What’s in This Release?
The actual products in your distribution will depend on the products you licensed.
Patches/upgrades have been released for this product. Use “Check for Updates’
menu to find out about the latest product and message pack upgrades and keep your
installation up to date.
Volante Product Suite
Component Version Design Time Code Generator/Runtime
Java/EJB C++ C#
Composer 5.0.0
ACH Format Plugin 5.0
ASCII Delimited Format Plugin 5.0
ASCII Fixed Width Format Plugin 5.0
BACS Format Plugin 5.0
BAI2 Format Plugin 5.0
BOJ-NET Format Plugin 5.0
Bloomberg Back Office Format Plugin 5.0
Bloomberg Format Plugin 5.0
CDM Format Plugin 5.0
CFC Format Plugin 5.0
CGI Format Plugin 5.0
CHIPS Format Plugin 5.0
CMS/FCS Format Plugin 5.0
COBOL Copybook Format Plugin 5.0
CREST Format Plugin 5.0
DataScope Equities Format Plugin 5.0
DataScope Fixed Income Format Plugin 5.0
Document Format Plugin (Requires JRE1.6) 5.0
EDI Format Plugin 5.0
Excel Format Plugin (Requires JRE1.6) 5.0
FAST Format Plugin 5.0
FIX Format Plugin 5.0
FIXML Format Plugin 5.0
FPML Format Plugin 5.0
FPS Format Plugin 5.0
Fedwire Format Plugin 5.0
IDOC Format Plugin 5.0
IDOC XML Format Plugin 5.0
ISO 20022 Format Plugin 5.0
ISO 8583 Format Plugin 5.0
ITCHOUCH Format Plugin 5.0
NEFT Format Plugin 5.0
OASYS Global Format Plugin 5.0
POJO Format Plugin (Requires JRE1.5) 5.0
RTGS Format Plugin 5.0
Reuters Format Plugin 5.0
SECOM Format Plugin 5.0
SEPA Format Plugin 5.0
www.volantetech.com
Volante Designer Release Notes
SIAC Canonical Format Plugin 5.0
SIC/EuroSIC Format Plugin 5.0
Standard005 Format Plugin 5.0
STEP 2 Format Plugin 5.0
SWIFT Format Plugin 5.0
SWIFTTradeFinance Format Plugin 5.0
SWIFTMX Format Plugin 5.0
Tervela Format Plugin 5.0
Universal Format Plugin 5.0
XML Format Plugin 5.0
US TCH RTP Format Plugin 5.0
CPPJavaBridge 5.0
Cartridge Publisher 5.0
Database Persistence Designer 5.0
MappingSpec 5.0
Message Flow 5.0
Report Plugin 5.0
WMBIntegration 5.0
Web Forms Designer 5.0
REST (Requires JRE1.7) 5.0
MongoDB 5.0
Hadoop 5.0
Web Service Client 5.0
Java/EJB Code Generator 5.0
C++ Code Generator 5.0
C# Generator 5.0
Java/EJB Simulator 5.0
C++ Simulator 5.0
C# Simulator 5.0
www.volantetech.com
Volante Designer Release Notes
2 Compatibility
2.1 Designer Cartridges created using older versions of Designer are compatible with this version; but the
same is not guaranteed in the reverse case. Do not try to open the cartridges created with this
version of Designer with an older version. It will result in error.
The Designer comes bundled with JRE1.7 and supports both 32-Bit and 64-Bit versions (you need
to choose the version during installation).
2.2 Runtime
The code generated using one version of Designer is not compatible (and should not be used)
with the runtime libraries of another version. For instance, if you used a previous version of
Designer to generate code from your cartridge, you need to regenerate the code and use it
with new runtime libraries. This applies to all the supported platforms (Java, C++ and C#). You
need to take this precaution even for minor version upgrades (unless specifically mentioned)
since the API between generated code and standard libraries is not publicly documented and
is subject to change across versions. Make sure that you compile your custom classes and
client code as well.
The runtime has been tested with JRE 1.5, JRE 1.6 and JRE 1.7. Support for JRE 1.4 has been
removed (since Volante 5.0).
3 What’s new since 5.0
The following product components have been upgraded in this 5.4.0 release (patch).
Product Component Version
Volante Composer 5.4.0
Conductor 5.4.0
REST Plugin 5.4.0
SWIFT Format Plugin 5.4.0
Cartridge Publisher 5.4.0
Data Generator 5.4.0
Message Flow 5.4.0
Java Simulator 5.4.0
FIX Plugin 5.4.0
CPPJavaBridge Plugin 5.4.0
3.1 Usage instructions for 5.x.x users
a. Install this patch after installing all the plugins you plan to use. This patch will update
the Jars only if they have already been installed. This patch includes all updates
made in previous patches (5.0.1/5.0.2/5.0.3/5.0.4/5.1.0/5.1.1/5.1.2/5.1.3/5.2.0/
5.2.1/5.3.0) and can be directly installed on top of a 5.0 installation. You can also
install this if you have already applied the previous patch (es).
This patch is idempotent, can be installed any number of times. If you install a plugin
after installing this patch, make sure that you reapply the patch.
b. You need to rebuild your cartridges after applying this patch.
www.volantetech.com
Volante Designer Release Notes
c. The following jars have been updated (to version 5.4.0) in this release.
d. Due to size constraints, updated help documents are not included with this patch.
Refer to the last section of this document for help on enhancements/changes.
Updated help documents are available separately.
e. This document lists all changes made in all Volante components. Only changes
related to features that you have licensed are applicable to you.
Generic Jars - <volante>\lib folder.
tplusutils.jar
sqlutils.jar
generalutils.jar
Generic Plugin Jars - <volante>\plugin folder.
javacg.jar
composer.jar
conductor.jar
fix-plugin.jar
javacg.jar
swift-plugin.jar
ccbaddin.jar
ccb-plugin.jar
Plugin Specific Runtime Jars - <volante>\lib\runtime folder.
swiftresources.jar
swiftrt.jar
simplert.jar
transformrt.jar
volante-client.jar
volante-restrt.jar
volante-osgirt.jar
fixrt.jar
www.volantetech.com
Volante Designer Release Notes
3.2 Enhancements & Bug Fixes in 5.4.0
Enhancements
SWIFT
1. SWIFT plugin has been updated to support changes in SRG 2018. Note that you need to
upgrade to 5.4.0 to use SRG 2018 messages.
2. Updates to SWIFT runtime to support changes in SRG 2018 includes-
New Formula function ‘VerifyT67_T93Format’ has been added to handle 45B, 46B,
47B, 49M and 49N ‘Narrative Structured Text’ fields.
New tag 434 added in user header.
The rule which says “Tags 115, 165, 433 and 434 are only valid for output messages”
is implemented as a validation rule in this release.
Character set updated for field 77E from X to Z.
Format of field 77T handled.
New Custom Class ‘T67_T93DictionaryFieldValidator’ has been added for validating
field 45B, 46B and 47B appearing in ‘Copy of Fields’ in n category messages.
3. Code validations for numeric and decimal fields can now be added at the field level.
4. The SWIFT plugin resources for Currency codes have been updated.
COBOL Copy Book Plugin
5. Support for Zoned Decimal.
6. The import functionality of COBOL Copy Book file has been enhanced to configure the ‘File
Encoding’ & the ‘Zoned Decimal Encoding Charset’ options.
FIX Plugin
7. The FIX plugin has been enhanced to create
1) An Empty Message from available FIX Message Formats
2) A FIX Message from available FIX Message Formats in Standard Mode – The FIX
Standard Tags cannot be modified
3) A FIX Message from available FIX Message Formats in Custom Mode – Both the
Standard & Custom tags can be modified
8. Custom tag value limit has been extended to 43096 as per 5.0SP2 (EP-235) specification
CPP JAVA Bridge
9. In CPP environment, the Designer data types BigInteger, BigDecimal are supported
10. In CPP environment, the DataObject and DataObjectSection have been made accessible
by CPPJavaBridge
11. The TransformException thrown from CPP environment has been enhanced to have
attributes similar to TransformException of Volante Java Environment
www.volantetech.com
Volante Designer Release Notes
Phased Parsing
12. In Phased Parsing, an enhancement has been made to report any Exceptions in a non-
batch section/field. These can be cascaded as a collection of exceptions along other
batch section exceptions (if any).
Bug Fixes
Maven & ANT build
13. While building Cartridges/Projects with Maven/Ant Build scripts, the optional ‘noDebug’
option of Volante Maven/ANT CG tasks was not considered in standalone mode and
generation of debug code was based on configuration available in Volante
Cartridge/Project file. This issue has been fixed in 5.4.0.
Test Manager
14. While executing test suites of a project using Maven/Ant scripts, the test suites execution
failed when the project contained certain addins (like REST, Report). This issue has been
fixed in 5.4.0.
CORE
15. In 5.3.0, the Parse Activity in Message Flows was updated to validate the Inputs when
message.format was set to JSON, for both Internal Messages and External Messages. This
behavior has been modified in 5.4.0 to only validate the inputs for External Messages (and
not Internal Messages) to make it consistent with other existing message formats.
3.3 Enhancements & Bug Fixes in 5.3.0
ITCH-OUCH Plugin
The ITCH-OUCH plugin allows the user to create External messages in ITCH & OUCH Formats. The
support for BIVA Exchange formats is provided in new plugin. ITCH is a direct data-feed
protocol and it provides options for subscribers to track the status of each order from the time it
is first entered until the time it is either executed or cancelled. OUCH is a digital
communications protocol and it provides options for subscribers to place, execute or cancel
orders.
Enhancements
REST
16. Support for Generic lifecycle listeners for REST Server & Client is provided to enable the user
to update the Request / Response objects in Volante REST Calls.
17. REST - OpenAPI document Generation is improved
18. REST Plugin is supported in JRE1.6 at runtime.
19. REST UI is improved for configuring ‘REST Client’ node from ‘REST Server’
20. REST Server definitions can be exported in YAML format at Design time
Web Service Client
www.volantetech.com
Volante Designer Release Notes
21. In WebService Client, the support for reconfigure the WebService Client based on an
updated WSDL is provided
22. The standard UI operations of WebService Client Request, Response parameters & Bindings
are provided in tree view
23. Now, the WebService client can handle the support for SOAP-Headers-Extension Attributes
available in WSDL
Designer UI
24. In Flow Activities of Flow Panel, the available Messages and Message Flows are displayed in
sorted order with search option.
Message Flow
25. Validation error will be reported when the Map data type is of scope INPUT or IN/OUT.
26. Support for RawMessagelist, Binarylist, Stringlist in the Parsing activities using the array index.
Persistence Designer
27. [Beta] New set of DB functions are provided to accept the Connection Pool as parameter
DBQueryMessagePool
DBLimitQueryMessagePool
DBCountMessagePool
DBCountSQLQueryMessagePool
DBSQLQueryMessagePool
DBSQLLimitQueryMessagePool
28. Usability Improvement in Query node (if the column names and select query parameter
names are similar)
Functions
29. New formula function – SubList() added under Collection Function Category.
CPPJavaBridge
30. CPPJavaBridge binaries are available for Mac OS
31. CPPJavaBridge 64-bit binaries (.dll files for Windows & .so files for Linux & Mac OS) are
available to execute the Volante code generated binaries in 64-bit C++ compilers.
Hadoop Addin
32. In Hadoop Addin - Simulator, support for 2.x version of Hadoop is provided
FIX
33. New data types XID and XIDREF for FIX 5.0SP3
FPML
34. Support for multiple validation nodes are added in the libxml file.
CORE
35. Added Subgroups as additional criteria for Messages Types, and used in the filter for
selecting messages from installed Message Packs
Runtime
36. Runtime License Verification is implemented in all Volante Runtimes - SimpleRT, BeanRT &
OSGIRT
www.volantetech.com
Volante Designer Release Notes
Bug Fixes
XML Plugin
37. If the XML External Message has deep nested sections, code generation was stopped with
errors. This issue is fixed in 5.3.0.
38. XML- ISODateTime – 24:00 format was not supported in parse activity. Now, it is supported in
lexical space.
39. When the XML Serialize option "Ignore Default xsi:type" is enabled, the default xsi:type
should not appear in the serialized output. This issue is fixed in 5.3.0.
FIX
40. If the FIX External Message has larger message with nested sections, code generation was
stopped with errors. This issue is fixed in 5.3.0.
SWIFT:
41. Tags 111(Service Type Identifier) & 121(Unique End-To-End Transaction Reference) were not
added in the message when it was created using Input option. i.e., when Header/Trailer in
Format options is selected as ‘Swift Input’ (Swift Input Application header). This issue is fixed
in 5.3.0.
42. Tags 115, 165 and 433 in User header are valid only for output message; hence they are
removed from swift Input header.
CORE
43. JSON Parsing in Message Flow - Inputs were not validated when message.format is set as
JSON/XML in message flow. This issue is fixed in 5.3.0.
3.4 Enhancements & Bug Fixes in 5.2.1
Enhancements
Designer CORE
44. JSON “null” type handled in JSON Parsing (for fields, Objects and Arrays).
45. Transform Exception, when shown in JSON format, is enhanced to show all
additional details similar to the XML format.
REST Plugin (UI)
46. The REST Plugin is enhanced to have Designer standard table view for both REST Server and
REST Client as default view.
47. The properties of REST Resource entities like REST Services and REST Operations are moved
to Designer Properties Pane.
48. “Exclude” functionality is provided in REST Services and Operations.
49. Support to mark certain REST Operations and Services as deprecated has been added.
REST Plugin (Client Activity)
50. “Undefined” message structure option provided to make Dynamic REST Calls.
51. “Exclude” functionality is provided to ignore header and cookies in Header Mapping tab.
www.volantetech.com
Volante Designer Release Notes
REST Plugin (Server)
52. Response Headers and Cookies can be set from Context Property in Message flow.
REST Plugin (Documentation)
53. Swagger API is updated to 2.2.1 version for improved REST API documentation
54. Support to ignore persistence designer fields from REST API documentation added.
55. REST Services and REST operations can be marked with Access Tags for controlling REST API
document generation.
Persistence Designer
56. Postgres Database Integration has been added with Persistence Designer for both Design
time as well as Runtime.
57. In Persistence Designer, an option to convert from ‘Column based tables’ to ‘XML form’
structure (persist entire message as XML) and vice-versa.
58. Menu options ('Update from Internal Message' & ‘Reinitialize from Internal Message’)
provided for ‘XML form’ based persistence.
59. Added support to include ‘Shredded Fields’ in the ‘XML form’ based persistence.
Universal
60. The Binary Encoding support is provided for the Big Integer data type fields in Volante
Messages. Supported bytes are 1, 2, 4, 6 & 8 Bytes (Signed and Unsigned).
61. The 6 Bytes Binary Encoding support provided for the Long data type fields in Volante
Messages.
SWIFT
62. SWIFT plugin has been updated to support changes in SRG 2017. Note that you need to
upgrade to 5.2.1 to use SRG 2017 messages.
63. The SWIFT plugin resources – Currency, Country codes and IBAN Structures are updated.
64. Support for SWIFT GPI fields 111 and 121 in User Header.
65. Field 50F, Party Identifier - Validation rule is relaxed in SWIFT Messages.
Web Service Client Plugin
66. The Web Service Client Plugin allows the user to consume External Web Services in both
SOAP 1.1 & SOAP1.2 protocols. The Client is created by importing Web Service definitions
from the WSDL files. Web Service Client is then added as an activity in Volante Message
Flows.
Apache Kafka Integration
www.volantetech.com
Volante Designer Release Notes
67. Volante Designer & Runtime now supports Apache Kafka (a distributed streaming platform)
Integration. The Send Activity (in Volante Message flow) is enhanced to send the messages
to Apache Kafka using CommandProcessor. Volante Flow can send and receive the
messages from Apache Kafka using the tools based on Volante CommandProcessor
component.
Bug Fixes
68. JSON Parser Issue during parsing of External Messages in JSON format.
69. REST Server – Response was getting truncated for special characters (non-ASCII).
70. Query functions- DBLimitQueryMessage, DBSQLLimitQueryMessage, DBQueryMessage &
DBCountSQLQueryMessage are fixed to give uniform results across all supported RDBMS.
71. FIX Message Format Plugin - The Fix Message tag limit (for custom fields) is increased from
39999 to 43087 to support FIX Specification 5.0 SP3.
3.5 Enhancements & Bug Fixes in 5.2.0
Enhancements
Volante Connector
72. Volante enhanced the existing Mule Transformer integration by utilizing the MuleSoft
Anypoint DevKit APIs, and released the Volante Connector. It enables the simplification of
integrating complex financial services message and data processing solutions from Volante
into Mule application.
REST Plugin
73. The REST Plugin is enhanced to provide REST Client functionality to invoke the REST services
hosted using Volante REST server configurations or using external Third party REST services.
The existing REST Server configuration is moved under the Cartridge Node (In Explorer pane)
from Code Generation Settings tab.
IIB/WMB Integration
74. In case of any error, If the failure terminal isn’t connected, the transaction will be rolled
back to the nearest connected catch terminal. If the failure terminal is connected, the
exception details will be sent to failure node.
US TCH RTP Format Plugin
75. The US TCH RTP plugin allows the user to define the standard and proprietary message
formats used by TCH Real Time Payments system (RTP) in Volante Designer. TCH (The
Clearing House) Real Time Payments system (RTP) is a clearing and settlement system to
support, Real-time Payments for the U.S. The plugin can be used to develop message
formats used by TCH Real Time Payment system (RTP) for sending and receiving Real Time
messages, between RTP and Participants using the System.
SWIFT Plugin
76. The SWIFT plugin resources – Currency, Country codes and IBAN Structures are updated.
www.volantetech.com
Volante Designer Release Notes
Document Plugin
77. The Document plugin is updated to use the latest version-2.0.3 of Apache PDFBox jar to be
compatible with Java 1.7.
Persistence Designer
78. The Persistence Designer is enhanced to use an UPDATE query for updating the data of the
Flat Internal Messages instead of using DELETE and INSERT. (Internal Messages having
Sections will continue to use the previous method of updating data).
79. The Persistence Designer is enhanced to have an option to update the Normalized XML
form of Internal Message, when the fields of Internal Message are updated outside of the
XML structure.
Bug Fixes
80. Leap Day (February 29th of a Leap Year) used in the reduced ISO form (4 characters,
without the year) is indicated as an invalid Entry Date. This has been resolved by using the
current System year.
The fixes are in the following listed plugins of Designer & Runtime.
Universal
81. While Parsing in Universal Format Plugin, if the Packed Decimal field (Integer, Double, Float)
or the Zoned Decimal field has Junk/Invalid inputs or has input that contains spaces instead
of numeric values, the Parser will throw TransformException and null value will be assigned
to that field.
3.6 Enhancements & Bug Fixes in 5.1.3 New Plugins
FPS plugin
82. The FPS Plugin allows to design payment instructions, provide the capabilities to handle the
payment instructions in runtime for the FPS-Faster Payments Service, UK.
Enhancements
XML Plugin
83. The XML plugin is enhanced to prevent XXE security vulnerability attack.
URL: https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing
Please refer the above URL to know more about XXE security vulnerability.
SWIFT Plugin
84. The SWIFT plugin resources – Currency, Country codes and IBAN Structures are updated.
Excel Plugin
85. The Excel plugin is enhanced using the latest version of Aspose jar - 8.8.0.0 & Apache POI
jar - 3.14. Added support to create password protected XLSX files using Apache POI. In the
Plugins
ASCII Delimited Format Plugin
ASCII Fixed Width Format Plugin
www.volantetech.com
Volante Designer Release Notes
case of serialization, default serialization is done to ‘xlsx’ format for POI and ASPOSE, for JXL
default serialization is “xls”.
Document Plugin
86. The Document plugin is updated to use the latest version of an Apache POI jar - 3.14.
REST Plugin
87. The REST plugin is bundled with new cartridges of JWT Authentication Handlers to support
JWS (JSONWebSignature) and JWE (JSONWebEncryption)
JSONWebSignature - JSON Web Signature (JWS) represents content secured with digital
signatures or Message Authentication Codes (MACs) using JSON-based data structures.
Please refer the URL https://tools.ietf.org/html/rfc7515 for more details.
JSONWebEncryption - JSON Web Encryption (JWE) represents encrypted content using
JavaScript Object Notation (JSON) based data structures. Please refer the URL
https://tools.ietf.org/html/draft-ietf-jose-json-web-encryption-40 for more details.
ISO 20022 Plugin
88. The new RTPG Messages from the Real-Time Payments Group are packaged along with
other ISO 20022 messages under the Payments Category as a separate message pack. If
the Payments category message pack is installed, RTPG messages will also be available.
BAI2 Plugin
89. The new BTRS Version 3 Messages (Balance and Transaction Reporting Standard) from the
ASC X9 Standards body are packaged with the BAI2 Plugin as a separate message pack.
ACH Plugin
90. ‘Length Preceded’ feature is added for fields under Length tab.
Maven Enhancement
91. The Maven used in Volante Designer is updated to use Invoker Plugin-2.2 to support
execution of mvn.cmd file
Bug Fixes
Designer & Runtime
92. Leap Day (February 29th of a Leap Year) used in the reduced ISO form (4 characters,
without the year) is indicated as an invalid Entry Date. This has been resolved by using the
current System year. Usage of the current year also resolves the parsing issue of invalid hour
when Daylight Savings is taken into consideration. The fixes are in the following listed plugins
of Designer & Runtime.
Plugins
ACH
BAI2
BOJ-NET
Bloomberg Back Office
Bloomberg
www.volantetech.com
Volante Designer Release Notes
CHIPS
COBOL CopyBook
CREST
DataScope Equities
DataScope Fixed Income
EDI
Fedwire
ISO8583
IDOC
NEFT
OASYS Global
RTGS
SIC/EuroSIC
Universal
BACS
FPS
Standard005
93. A parse error was being thrown for the ISODatetime field type if it had milliseconds value ≥
9995, as it was getting round to an invalid value. This issue is fixed by the truncating
milliseconds value as 999 for such values.
XML Plugin
94. In Volante Designer 5.1.3 Facets validation, Total digits and Fractional digits are calculated
based on the Value space. Earlier, it was calculated based on the lexical space.
Example: If the data is 020.900, its equivalent value space will be 20.9.
Volante Designer-Facet
Validation
Total Digits Fractional Digits
Lexical Space (till 5.1.2) 6 3
Value Space (5.1.3) 3 1
95. In Volante Designer, Code Generation error was thrown when reconfiguring the schema.
This issue has been fixed.
Formula Functions
96. When DBExecuteStoredProc function was called, the opened cursors were not being
closed properly. This issue has been fixed.
ISO8583 Plugin
97. Earlier, while serializing some of the TLV Section ‘Fixed Length’ Field Tag & Length properties
were not properly serialized. In 5.1.3, Fixed Length Field Tag & Length properties have been
properly serialized.
98. In TLV & Constructed sections, new error codes have been added for additional
validations.
www.volantetech.com
Volante Designer Release Notes
3.7 Enhancements & Bug Fixes in 5.1.2
New Plugins
REST Plugin
1. The REST plugin allows you to define external invokable REST services and use message
flows for implementation of the services. The REST plugin requires 5.1.2 patch installation.
MongoDB Plugin
2. The MongoDB plugin integrates Volante with MongoDB by supporting a number of formula
functions that lets you insert, query, update and delete Volante’s data objects
(documents) to and from MongoDB. The MongoDB plugin requires JRE1.6 or higher in the
runtime environment.
Standard005 Plugin
3. The Standard005 Plugin allows the user to create, import and export Standard005 messages
in Volante Designer. Standard005 is a standard for the exchange of financial data defined
by the Canadian Payments Association.
Mule Plugin
4. The Mule plugin is updated to use Mule 3.7.0 runtime libraries.
Camel Integration
5. The Message Flow Activity Send Activity supports the Camel protocol to send flow output
directly to a Camel end point through ports.
OSGI
6. The OSGI Code Generation settings include OSGi Import-Packages and OSGi Export-
Packages properties to configure the additional classes that need to be added in the
manifest file for Import-Package and Export-Package properties.
SWIFT Plugin
7. Updates to SWIFT runtime to support changes in SRG 2016 which includes-
50F and 59F functions
New tags 111, 121 and 165 added in user header (Note: Formats for these fields are
based on the spec published by Swift dated 26 Feb 2016).
8. Support for New Swift Resources in runtime (Reach Plus). Also, includes updates to Currency
code, Country code and IBAN files based on Swift spec dated 26 Feb 2016.
9. New formula functions: With the inclusion of new Swift resources, Volante supports new
formula functions listed below
Swift Resource New Functions ReachPlus GetReachPlusFromBIC
GetReachPlusFromChipsId
GetReachPlusFromNationalId
In the ReachPlus directory, each service has its own definition of fields. Some of them are
common fields (such as the PARTICIPANT ID), re-used for each service. Other fields are
attributes (such as ATTRIBUTE 1) particular to a service.
www.volantetech.com
Volante Designer Release Notes
“SD to RP conversion table.xls” bundled along with BankDirectoryPlus Technical documents
to get the actual or the correct field that is being referred to (previously the same field
would have been used when calls are made against the Service Directory). This mapping
document is available at http://swiftref.swift.com.
Bug Fixes
POJO Plugin
10. Designer data type ISODateTime is now supported in the POJO Plugin.
OSGI
11. The execution of Activity from Persistence category is enabled in OSGi framework.
12. The CREST message requires swiftrt.jar and swiftresources.jar in OSGI and it is enabled.
SWIFT Plugin
13. Swift does not enforce the Usage Rules given in the spec unless there is a specific error
code mentioned. In Swift Plugin 5.1.1, the usage rules (without error codes) given for tags
50F and 59F were implemented along with the usual conditions given in the spec. In Swift
Plugin 5.1.2 this has been fixed (Note: Except for the removal of the below mentioned
usage rule, the rest of the rule is implemented as per the spec):
In option F, subfield 2 (Name and Address): if number 2 is present, the first occurrence of
the number 3 must include the town in additional details.
Note that you need to upgrade to 5.1.2 to use SRG 2015 only if you are using tags 50 and
59 with Option F in your messages (MT101, MT102, MT102STP, MT103, MT103REMIT, MT103STP,
MT202COV, MT205COV, MT210 and MT910).
14. A bug in field 77E format customization is fixed in the current Swift plugin.
15. The Swift parser now throws an appropriate exception for wrong message types given for n
category messages. For instance, (n98 now only accept 198, 298, 398 …998).
16. Field 61 fix:
In SRG 2016 Field 61 is split into two sub-fields to be consistent with the way Swift messages
are defined. The sub fields also have validations defined. Splitting them makes it easier to
add these validations and maintain them. Hence, the field
(Transaction_Type_Identification_Code) is split into two sub fields (Transaction_Type and
Identification_Code).
Below are the messages where field 61 is changed in SRG 2016-
MT608, MT940, MT942, MT950, MT970, MT972 and MTAllTags.
If you want to use this as a single field, you can simply merge the two using "Concat"
method and assign it as follows: -
Transaction_Type_Identification_Code = Concat (Transaction_Type,
Identification_Code).
17. Leap Day (February 29th of a Leap Year) used in the reduced ISO form (4 characters)
indicated as an invalid Entry Date. This has been fixed to use the current System year.
www.volantetech.com
Volante Designer Release Notes
3.8 Enhancements & Bug Fixes in 5.1.1
1. Standalone Validations - Support for creating validations independent of message
definition. Earlier validations had to be specified along with the message definition; now it is
possible to separate out the validations not part of the core message specification like
country specific extensions.
2. Support for specifying encrypted passwords in a separate file which is referenced in the
data-sources.xml. For security reasons, it may not be possible to modify data-sources.xml for
production; now that it is in a separate file, it can be updated without compromising the
security.
3. Auto-Commit - Support for enabling auto-commit mode with data sources. This would turn
off transaction support in flows and all persistence related work would be committed
immediately (not at the end of the flow). This option can be used for special cases like, bulk
updates where transaction support is deemed unnecessary. Note that this option, breaks
transaction support and flows would behave differently when it is enabled. It should be
used only in special cases where data base inserts need not be transactional.
4. All the import options have been consolidated under Tools->Import menu. For instance, you
can import an XSD to create new XML-plugin based message.
5. Test Manager and Bulk Transform activities have been made independently licensable
components.
6. Activity Plugin - Support for creating user defined activities for message flows.
7. Terminal Window – Simulates ‘Windows Command Prompt’ or Bash Shell within the
Designer. Allows you to execute shell commands from the designer.
8. Web Help - Support for Web based help has been added. The help topics are now
available from Volante’s Web Site as well; you can configure Designer to use the Web Help
or the local CHM based help. This is particularly useful in MAC and LINUX where CHM
support is not good.
9. Update to SWIFT runtime, to support changes in SRG 2015. Note that, you need to upgrade
to 5.1.1 to use SRG 2015 messages.
New Functions
10. The following functions have been added to support changes in 50F validation.
Swift Function:
Verify50FNmandAdrLines2
Verify50FNmandAdrCtryCode2
Bug Fixes:
11. In Universal Plugin, for a field which uses ‘Serialized Value’ option, the default value
specified for it was not correctly processed. This has been fixed.
www.volantetech.com
Volante Designer Release Notes
3.9 Enhancements & Bug Fixes in 5.1.0
1. Volante Test Manager
Testing framework based on xUnit family (similar to JUnit) to manage and automate test
case execution.
Create and manage test suites using Simulator (UI).
Execute test suites in the Simulator, ANT, MAVEN and from command line
Support for HTML and XML test reports
2. Visual Mapping
Visual drag and drop mapper - Provides an alternate way for mapping source fields to
the destination. You can drag links from the source to the destination to define a
mapping. The mapping defined using the existing UI would also be rendered in the
Visual mapper with appropriate links. You can switch back and forth between the two
views.
One click mapping for fields of different types (with type conversion).
3. Functions
Support for Map type (hash/sorted) in the message flow.
Support for Caching based on JSR 107 Cache API.
4. Message Flow – new activities for bulk transformation
Sort, Filter, Deduplicate
Aggregate, Reformat
Normalize, Denormalize
Join
All the above activities support generic configuration and hence can be used in dynamic
flows.
5. Support for Mule - Volante adapter which lets you invoke Volante flows from a Mule.
Integrates with Mule studio where you can drag and drop Volante from the palette and
configure the flow.
6. Support for Spring Integration - Volante adapter which lets you invoke Volante flows from
Spring Integration framework.
7. Bundle application as WAR – As part of code generation you can now generate a
deployable WAR.
8. Service Bus/Generic Application - Option to create a merged over-jar which includes all
cartridge/project jars and its dependencies meant to be used with Service Bus.
9. Support for configuring project folders as ‘Source’, ‘Test’, ‘Excluded’ and ‘Test Samples. This
helps in distinguishing between core project entities and auxiliary entities.
10. Improved support for HTTP proxy in Designer.
automatically detects proxies configured in the system (or IE)
supports PAC files
www.volantetech.com
Volante Designer Release Notes
11. Support for revoking license. This allows you to quickly transfer an instance of Designer to
another machine.
12. New Plugins – BACS, FPS (Faster Payments) and Swift Trade Finance
13. Support for publishing project as HTML using Maven.
14. The user interface has been revamped
Shared Properties Pane: The properties of the currently selected element (field,
mapping, validation, activity) is displayed in the property pane below.
Functions Pane: Lists all the functions that are available in the current context. You can
use drag and drop a function to the formula window (validation/mapping) to invoke.
15. Support for External tools. You can configure and invoke external tools from Volante
Designer.
16. Generate Maven dependencies - Used to generate cartridge/project dependencies in the
cartridge/project location as “pom-dependencies. Xml”. You need to build the
cartridge/project to generate the pom-dependencies. xml file.
17. Support for viewing Simulator input/output in grid mode.
18. Support for moving nodes in Explorer using drag and drop
19. Volante Camel Adapter:
Support for more input and output types. User defined objects and DataObjects
can be passed as input/output
Support for passing multiple input/output through Camel using an XML envelope.
20. Support for appending to existing messages while serializing.
Bug Fixes:
21. The integrity of the downloaded message pack is verified to make sure that it is not
damaged during download. This is done by checking whether the downloaded file is a
well-formed ZIP file. Earlier, download errors led to invalid message packs in the download
folder.
22. For mapping, based functions, the generated HTML documentation includes the mapping
definitions.
23. Support for Maven 3.2.3
24. PDF type (not functional) specified in the documentation for cartridge publisher has been
removed.
25. 'Copy Cell Value' context menu has been added for all tables to copy the values of the
current cell. This works even if the cartridge is in read-only mode.
www.volantetech.com
Volante Designer Release Notes
26. Shortcut keys (Ctrl+Right Arrow/Ctrl+Left Arrow) to expand/collapse message format tree-
table view.
27. Reformat formula shortcut (Alt+F8) is supported for tables (such as mappings & validations)
28. In mapping, based function, if mandatory field with default value has no mapping the
default value is used for mapping.
29. While serializing XML, if a mandatory field with a default value has a null value, a “Missing
Mandatory field error” was reported. Now, the serializer uses the default value for
serialization.
30. MIG generator now supports up to 15 validation nodes (earlier the limit was 10).
31. Classes generated for SWIFT messages were earlier, optimized to reduce code size. This
optimization results in other issues, hence has been removed. Now, code generation for
SWIFT uses the same strategy as other message types. This results in 30-300% increase in
code size for SWIFT messages (compared to previous version).
32. As a consequence of this change, SWIFT messages which contain sections with the same
name with different case would fail (this is a breaking change). The two known cases are
MT370 & MT559; please update these messages from the latest message pack.
Known Issues
33. Define Output Type feature (in Transform activities of message flow) allows you create a
new local type, but does not allow you to delete. It is a good idea to create a standalone
internal message, instead of relying on this.
Deprecated Features
a) Volante Designer had support for Input/output formats (prior to External Messages); this
feature was deprecated in 2005 (V2.3) and had been removed from the UI. But cartridge
containing input/output formats was still supported for code generation. Support for this
feature will be completely removed in the next major release (6.0). Customers who had
used this feature are encouraged to convert the cartridges to the new format (using
external messages)
b) Support for JRE 1.4 & 1.5 have been deprecated. These versions would continue to be
supported till the next major release. In the next major release (6.0), Volante Runtime would
only be supported for JRE 1.6 and above.
www.volantetech.com
Volante Designer Release Notes
3.10 Bug Fixes/Enhancements in 5.0.4
General
1. Support for JDK/JRE 8. Both Designer and runtime now support JRE 8.
2. Updates & Notification: Option to check for product updates automatically have been
added. Updates, other notifications from Volante, license expiry information etc. are now
shown in the ‘Notification Window’.
Users can configure which of these should be automatically checked and also the
frequency of such checks.
3. The option to generate ANT and MAVEN build scripts for the project / cartridge. These
scripts can be used to build the cartridge/project.
4. Support for fields of type RawMessage in Internal Message.
5. Improved traceability of messages. Messages imported in cartridge now contain
information about the message pack from which it was imported. Till now, only the
standard version of the pack was maintained, now the message pack qualifier (release
date) is also included in the cartridge which let us identify the corresponding message
pack (if there are multiple releases for the same standard version). This applies only for
messages imported from new message packs (since Apr 2014).
6. Support for UNC path in Windows. It is now possible to open the cartridges with UNC Path
(\\mach\folder), build and test the cartridge. Some features may still not work well with
UNC paths (in particular, which contain spaces, due to a JRE issue). Not all applications
and tools (e.g. Windows Command tool) work well with UNC paths. Hence, it is generally
recommended that you map the path to a drive instead.
New Functions
7. The following functions have been added,
Aggregate Functions:
SecSumBigDecimal
Utility Functions:
GetContextObjectProperty
SetContextObjectProperty
SetJavaProperty
GetJavaProperty
Message Functions:
[Beta]NewCachedMessage
GetObjectProperty
SetObjectProperty
GetEncoding
SetEncoding
8. [Beta] Following Query related functions have been added
DBQueryMessage
DBLimitQueryMessage
DBCountMessage
DBSQLQueryMessage
www.volantetech.com
Volante Designer Release Notes
DBSQLLimitQueryMessage
DBCountSQLQueryMessage
Universal Plugin
9. Support for Zoned Decimal
10. Option to retain trailing delimiter (of the last non-null field), while trimming trailing null fields
in a section.
ISO8583
11. Support for specifying code pages for messages with ASCII & EBCDIC encodings. This lets
you process messages with one of the EBCDIC code page variations (like cp277, cp1047
etc.) or extended ASCII variants like (ISO 8859-1 etc.). Since bitmap fields do not distinguish
between byte and character lengths, only single byte code pages are supported (this
excludes code pages like UTF-8).
12. Custom Section–Support for a user defined section for which parsing/serialization will be
done by user defined code.
13. Support for handling contiguous batched ISO 8583 messages.
14. Tag-Length-Value sections.
TLV sections were partially supported in the previous releases as well. The tag, earlier, was
restricted to be a numeric; the order of the Tag & Length was reversed. This release
supports numeric/text tags and the tag is always written before the length. This is an
incompatible change; in case you have been using TLV sections in the earlier release.
15. The default padding for numeric fields for versions 1993 and above have been changed
from ‘Pad Right with Zero’ to ‘Pad Left with Zero’. Very often you would want numeric to
padded left with zero, but in case you depended on the old behaviour, this is an
incompatible change.
16. The tool tip for ISO 8583 fields now contains more detailed information about the field, like,
encoding, field size etc.
17. A bug related to the serialization of EBCDIC encoded sections has been fixed.
18. Messages distributed in the ISO 8583 message pack may not be usable out-of-box like other
standards (e.g. SWIFT, SEPA, and ISO 20022). Subtle variations in individual field settings (like
encoding, padding etc.) between one vendor implementation to another are possible.
Volante ISO 8583 plugin provides the flexibility to tweak the External Message definitions to
match exactly to the data formats of any card data provider or consumer.
The user is expected to import the message from the message library and make necessary
changes as specified by the vendor. Once the messages are customized, the definition
can be exported to message library to be shared within the organization.
www.volantetech.com
Volante Designer Release Notes
Simulator:
19. Binary Viewer in Simulator now supports displaying text using specified encoding. This is
especially useful if the text contains a mix of non-ascii encoded text and binary data (e.g.
ISO 8583 with EBCDIC encoding).
Message Flow
20. Improvements to message flow layout.
21. Support for dragging and dropping nodes from the Designer Explorer (node tree). Option
to automatically create variables required for the activity.
22. Automatic link creation if an activity is dropped close to a port.
23. If an activity is dropped on a link, the activity is inserted between the links.
24. On deleting an activity, the incoming and outgoing ports are automatically connected.
25. When activities are added to the default label for the activity now contains more
information about the element that is invoked (e.g. ‘Parse MT102’ instead of just ‘Parse’).
26. Synthesize Label in the context menu of activity to automatically provide a label.
Resources
27. Message based resources are now cached and loaded just once. Earlier the message was
parsed (expensive) and new object returned on every access (and hence user had to
cache it). Because of this change, any modifications to the fields of the returned object will
be visible at other access points. All resources should be treated as constants and the
contents should not be modified.
28. [Beta] Support for indexing the resources based on repeating fields to speed up access.
29. Formula functions that use native static method calls use reflection to invoke the method.
With proper caching of reflected objects, the invocation costs are significantly reduced.
SWIFT Plugin
30. Support for Service Directory.
31. New formula functions: With the inclusion of new Swift resources, Volante supports new
formula functions listed below
XML Plugin
32. Support for representing all XML types as String in Designer. For every xmlType, you can
choose one of the supported Designer types. Most types have mappings to String and
hence can be represented as a String in Designer.
Swift Resource New Functions
BankDirectoryPlus GetBankDirectoryPlusEntriesFromBI
C
GetBankDirectoryPlusFromChipsId
Service Directory GetServiceDirectoryFromBIC
GetServiceDirectoryFromNationalId
GetServiceDirectoryFromChipsId
www.volantetech.com
Volante Designer Release Notes
When the Designer representation is changed mappings/validations written based on
original type may not work. The message libraries distributed by Volante, which include
validations, assume that the default Designer type is chosen for an XML type. If you change
the type, validation rules may not work/compile.
Cartridges created with xmltype mapped to other designer types (other than default) may
not work when used with previous versions (before 5.0.4) – behavior varies. Therefore,
cartridges created using 5.0.4, which uses these new few features, should be used only with
Volante version 5.0.4 or higher.
33. [Beta] When the Designer type is changed to String, validation to check conformance to
the XML type and other facet validations are automatically done by the runtime.
Runtime
34. Support for decreasing working memory usage. In non-batched mode, typically memory
consumption for message flows would include memory consumed by raw input, parsed
object, mapped object, and the raw output. These are all temporarily held till the main
flow is complete. If the input is large, and batching cannot be used, then it is possible to
free up some of the working memory to reduce the overall peek memory consumption. For
instance, the raw input and the input object are no longer needed during serialization and
hence can be cleaned up.
To reduce working memory, use the close () method to cleanup RawMessage and
DataObject if it is no longer used.
35. Variables of a flow are now set to null when flow exits. This helps to free up the reference
and facilitates early garbage collection.
Camel
36. Support for handling batched messages.
Miscellaneous
37. The artifact id of beanrt.jar is changed to volante-bean for consistency with other jars.
38. Some of the error codes in an XML plugin that were duplicates have been normalized.
SRT127 and SRT120 are changed to XML104.
www.volantetech.com
Volante Designer Release Notes
3.11 Bug Fixes/Enhancements in 5.0.3
New Plugin
1. A plugin to support integration of Volante with Hadoop has been released. This plugin
needs to be licensed separately.
Project
2. Support for generating HTML docs for a project using Project Publisher
3. Within a project cartridge reference are live. That is, changes made to a referred cartridge
within the project are immediately reflected in the reference cartridge. You no longer have
to use ‘Refresh references’ for cartridges within a project.
4. Cartridges within the project are now cached (as memory permits). Hence all operations
related to project (like find in the project) are faster.
5. Significant improvements in project build time (for project with lots of cartridge references,
it should now be twice as fast as 5.0; (Project build time for a test project brought down
from 150 to 60 secs)
6. Project dependency analyzer (beta). Allows you to quickly analyze cartridge and flow
dependencies in a project.
SWIFT Plugin
7. Support for New Swift Resources in runtime (BankDirectoryPlus, Holiday, Holiday Service,
Time Zone and SEPARoutingV3).
8. New formula functions: With the inclusion of new Swift resources, Volante supports new
formula functions listed below
Swift Resource New Functions
BankDirectoryPlus GetBankDirectoryPlusFromBIC
GetBankDirectoryPlusFromNationalId
Holiday GetHolidayInfo
IsCountryHoliday
Holiday Service IsServiceHoliday
GetHolidayServicesInfo
Time Zone GetTimeZoneDifference
XML Plugin
9. Backward compatibility option to restore the 4.x behavior of allowing the named groups to
be flattened.
Persistence
10. The SQL query in Persistence Designer can now be completely modified (except for the list
of fields to select). This allows more flexibility over query (earlier only the where clause of
editable) Generate Query SQL.
www.volantetech.com
Volante Designer Release Notes
Tools
11. Support for copying all the generated and dependent jars (of a project or a cartridge) to a
target directory from ANT and Maven build scripts.
General
12. Minor enhancements to Copy menu item
Qualified Name (Mangled) menu item copies the name of the selected field/section
and replaces the hyphen symbol with an underscore symbol. This option will be useful
when a name with a hyphen is used in the formula.
Qualified Name (with index) menu item copies the name of the selected field/section
with index. This option will be useful when a name is used in formula to index.
13. Bug fixes and minor enhancements (fixed map code gen issues, some suggestions from
clients incorporated).
14. New toolbar actions to build and configure project.
www.volantetech.com
Volante Designer Release Notes
3.12 Bug Fixes/Enhancements in 5.0.2
Validation
1. Support for generating Message Integration guide (MIG) from validations
2. Enhancements to Validation selector mechanism. This allows us to easily apply validations
to any field/section which matches the constraint. E.g “xmlType=NameAddress.city”
applies validation to city element under all elements of type NameAddress.
Functions
3. New formula functions - FieldIdToXPath, Attribute, NodeAttribute
References
4. Cartridge references within a project are automatically resolved even if the cartridge is
moved to a different folder (as long as the file name of the cartridge is not changed).
5. Support for fixing cartridges references within a project (context menu).
Build
6. Optimized build process. Building project and cartridge are now much faster.
7. Building a project with changes to some cartridges (during development) is much faster
now. Dependency and change information for a cartridge are now obtained without
reading the entire cartridge.
8. Option to compile & build cartridges stored in remote (network) drive in the local machine.
9. It is now possible to start the Simulator on opening a cartridge/project if it is already built.
Earlier you have to rebuild it the first you open. Note that, if a cartridge is saved after code
generation, then jar will not be up to date (hence the cartridge has to be rebuilt to restart
the simulator).
10. During the build, referenced cartridges are validated just once. On subsequent builds,
validation is skipped. This can significantly speed up build during development.
11. Support for building OSGi bundle for the entire project. It can generate either an ESA file or
a super bundle which includes other cartridge bundles.
12. Option to include/exclude dependencies in merged application Jars meant to be used
with Service Bus.
Designer
13. Easily switch between windows within or outside of a project using ‘Switch Window’
(Ctrl+W).
14. Task Window to monitor progress of long running tasks (like build) and to cancel them.
The designer now tracks modifications to cartridge and prompts the user to save it only if it
is modified.
15. Support for saving XML configuration data as part of the resources.
www.volantetech.com
Volante Designer Release Notes
16. Support of properly managing mappings that are orphaned when a target field is deleted
or modified.
Cartridge Navigation and Search
17. Enhanced search mechanism (Find Symbol, etc.) to locate service elements, functions and
cartridges in the project.
18. Cartridge format has been enhanced to include summary information about its contents.
This helps in quickly preparing cartridge summary without actually reading the entire
content.
XML Plugin
19. xml.any.mixed-content property can be used to treat ‘any’ element within an XML as
mixed-content or normal elements (default is mixed content = true)
Runtime
20. SLF4J – support for previous versions of SLF4J (prior to 1.6). These versions have a method
missing, which Volante runtime uses. With this fix, the runtime degrades gracefully if a prior
version of SLF4J is used.
Bug Fixes
21. Field details were not generated in Cartridge Publisher (since 5.0.1); this has been fixed.
22. Cartridge document generation was slow compared to previous versions. This has been
fixed.
23. Build using Maven was broken (resulted in NoSuchMethodError)
24. There were usability issues with entity names (message, mapping, etc.) Containing ‘.’ (dot);
hence it is no longer supported.
25. A cartridge without any service elements (only functions) was not correctly added as a
dependency in the EAR file.
26. While debugging code in certain activities like Custom element, mapping, etc. were not
displayed.
27. Transform context is not correctly propagated in case of phased parse/serialize. This results
in the options set using the context not getting passed to parser/serializer. This renders EDI
based messages not usable using phased parse/serialize.
28. java.lang.Float cannot be cast to java.lang.Double” error in mapping from float field to
output field of type “Double”.
www.volantetech.com
Volante Designer Release Notes
3.13 Bug Fixes/Enhancements in 5.0.1
XML Plugin
1. [Bug] During serialization of mixed format elements, optional ‘Value’ field (PCDATA) was
treated as mandatory.
2. Additional parser option xml.value.linefeed, specifies the line feed to be used in case of
multi-line values.
3. Additional serializer option 'namespace.prefix' that lets you control the prefixes to be used
for a given namespace dynamically.
4. [Bug] Null Pointer Exception at runtime, if the DTD file name’s case is changed.
SWIFT Plugin
5. Support for additional fields in the User Header (as per the SWIFT specification).
6. [Bug] In Swift Service message, automatic creation of Web Form resulted in NPE.
Universal Plugin
7. [Bug] Serialized output is incorrectly truncated when "Ignore Trailing Fields" option is used for
the Length Preceded section.
POJO Plugin
8. [Bug] POJO plugin - classpath with backslash causes code generation error in LINUX
Project
9. Support for Debugging/trace navigation in project simulator
10. Support for Find, Change log and Error reporting at the project level.
11. [Bug] Memory leaks while opening and building cartridges in a project have been fixed.
Double clicking a cartridge in a project and open it (earlier it was “Open” context menu).
Also, when reference cartridges are opened, it is opened within the project (if the
referenced cartridge is also part of the project).
Validation
12. Added support for MinOccurs, MaxOccurs, Mandatory, NotAllowed validations for sections.
Support for NotUsed, GuideLines and Bilaterally Determined validations for fields and
sections.
13. Entering commonly used validations such as Mandatory, NotUsed etc have been simplified.
[Bug] Validation/Build takes too long in case of Functions containing Mapping Rules.
Validation error for section elements includes the FieldId of the element instead of the
section (has the index of the element).
Cartridge Publisher
14. [Bug] When adding a Report and WebService Client to a cartridge, unable to generate
Documentation.
www.volantetech.com
Volante Designer Release Notes
General
15. Proxy settings are now used even if the proxy panel is not okayed before use.
JRE 7 which is bundled with Volante Designer (for Windows), does not work correctly with
some VPNs. An additional VM option java.net.preferIPv4Stack=true” is now set to prefer
IPV4 instead of IPV6.
16. [Bug]When diffing two messages with references (like CGI & MX messages) spurious
differences are reported since the references are expanded to different depths.
17. [Bug] When installing the ISO8583 message package, the process ends fine, but there are
no definitions installed. The folder permissions for config/iso8583 is not right. (MAC & LINUX)
18. [Bug]Mapping one primitive type to another using implicit conversion (floatdouble) leads
to an exception if the destination is SWIFT.
Simulator
19. Enhancements to test case generators for XML and other Plugins in Simulator.
Runtime
[Bug] During batched write using FileInputOutputMessage, it results in truncation of file if
another RawMessage is appended to it.
20. Support for passing dataObject/exception object for logging methods. E.g. error
(dataObject).
21. JSON Serializer - Field names in JSON should be quoted and should not be mangled.
22. JSON Parser - line number in error; support for cascading
www.volantetech.com
Volante Designer Release Notes
4 What’s New in Version 5.0
4.1 New Product Components
Excel, POJO, Document, Report plugins are added. Other additions include CPP, Java Bridge,
WMB Integration, etc. Number of format specific plugins like CHIPS, SECOM, RTGS, NEFT, SIC,
BOJNET, etc. have also been added.
4.2 New Product Features/Enhancements
Installation, Licensing & platform support
1. Volante Designer is now bundled with JRE 1.7 and uses the eclipse compiler. Runtime
compatibility with JRE 1.5 is still maintained (for most features). Note that some plugins
require JRE 1.6 or higher.
2. Support for WINDOWS 8.
3. Support for MAC OS X & LINUX
4. Support for 64-bit JVM. If you are running 64-bit Windows, during installation, you can chose
64-bit JVM. Under the bin folder both Designer.exe and Designer64.exe are installed using
the one that is appropriate for your installation.
5. Improved licensing mechanism.
o Simplified multi-user license management
o Support for automatically activating your license
o Support for independent additional licenses for evaluation of specific features, etc.
o Support for checking for upgrades.
Support for Message Packs
6. New distribution model to download, install and manage message libraries.
Build-in installer to install/uninstall messages independent of the format plugin
7. Support for shared installation (on the network) of message library which can be managed
by an administrator and accessed by multiple-users.
Project
A project is an organizational unit that represents a complete software application, typically
comprising multiple interdependent cartridges
8. Support for creating a project, which includes cartridges one or more root folder
(recursively)
9. Support for building, executing, and managing the contents of a project (cartridges) from
the Designer.
10. Support for exporting and importing a project as a zip.
Core Enhancements
11. Support for cascading errors (most plugins)
12. Phased parsing and serialization (only in XML & Universal plugin)
13. Better support for COBOL Copy Book
www.volantetech.com
Volante Designer Release Notes
Runtime improvements
14. Support for using TOMCAT data source
15. Enhancement in Volante client (performance reports, profiling, automated test execution,
etc.)
16. Support for encrypting passwords in cp.xml and data-sources. Xml
17. Improvements in Command Processor (file locking and staging support)
Formula Language:
18. Support for Nullable types
19. Support for Variant type
Functions:
20. New formula functions (ZIP, Security, Formatting, etc.)
Support for database operation in functions
SWIFT Plugin:
21. Support for BigDecimal type in SWIFT
22. Support for ignoring {S: trailer block while parsing
Universal Plugin:
23. Support for Length Preceded sections
24. Better support for formatted output in case of decimals
25. Support for specifying multiple delimiters
26. More options for delimited fields/sections
27. Support for cascading of errors during parsing.
XML Plugin:
Better support for ‘Any’ in the XML plugin (new functions AnyToText, TextToAny and
createAnyElement)
UI
28. Better support for multi-monitor configuration
29. Unified application level settings
General Features:
30. Support for cascading FIX, ASCII Delimited and ASCII Fixed Width, Universal plugins
31. Support for Facets in Universal and FIX plugins
32. Simulator: Support for passing context properties (from the UI), Default Resource, Parse,
Validate and Write (Output format) and Switch to Designer option
www.volantetech.com
Volante Designer Release Notes
33. Improvements to SQL console
Support for TOMCAT datasource (Simple Runtime)
34. Cartridge elements can be excluded from cartridge or made private to the cartridge
Integration
35. Support for OSGi runtime. All runtime jars, cartridge generated jars, and dependent jars are
now OSGi bundles
36. Support for Volante Camel Adapter which lets you invoke Volante flows from Apache
Camel
37. Support for building cartridges with Maven and support for Maven repository
38. WMB Integration
39. The option to generate static methods to invoke flows for simple integration with Service
Bus
For more details on enhancements to Designer, refer to the Designer Release notes and
Message Flow Release notes. For enhancements in other Plugin components, refer to the
release notes of that component
4.3 Composer UI enhancements
Refer to Designer Release Notes.
4.4 Bugs Fixed
1. In Document Format Plugin, Support for XHTML document with namespace.
2.
3. Command Processor was available as a Separate Utility, whereas now included as an
4. Support for executing Cartridge entities in “execute.bat” that contains spaces in the name
using double quotes.
www.volantetech.com
Volante Designer Release Notes
5 Open Issues
5.1 Component-wise issues Designer Issues
ASCII Delimited Plugin
Cobol Copy Book Plugin
Crest Plugin
Document Plugin
EXCEL Plugin
FIX Plugin
FPML Plugin
SICEuroSIC Plugin
Standard005 Plugin
Swift Plugin
Universal Plugin
XML Plugin
CPP Issues
Web Form issues
Message Flow
Java Runtime Library Issues
Hadoop Issues
REST Issues
5.2 Known Issues
a. REST and MongoDB plugins are not supported in an OSGi environment.
b. Batch mode is not supported in case of ASCII FIXED external messages.
c. If multiple definitions of a function with same signature are defined in one or more
cartridges, it is now flagged as an error (earlier this went undetected). This additional
validation would result a validation error indicating that there is “More than one
occurrence of the same function in the cartridge scope”. This might result in a cartridge
that was building fine to fail with code generation error (MT-MX reference cartridge
provided by Volante has this problem).
d. Batch activities are supported only for XML and ASCII Delimited plugins.
e. Batch activities are not supported in C++ and C#.
f. Batching and phased parsing/serialization require that the invocation is through local
interfaces. It may not work well when the client is remote, for e.g. in case of EJB.
g. RawMessage is not properly supported in C++ and C#.
h. In Resources, internationalization and locales are supported only in Java. These features
are not supported in C++ and C#.
i. Many formula functions are not supported in C++ & C#.
www.volantetech.com
Volante Designer Release Notes
5.3 Upgrade Issues
There are no Upgrade Issues. The 5.3.0 release should be installed only after installation of all
the plugins that are planned to be used, as this patch will update the Jars only if it is already
installed. You can also install this if you have already applied the previous patch (es); this patch
is idempotent and can be installed any number of times.
5.4 Compatibility Changes
Multi source mapping (Many to one) has been superseded by the more flexible Many-to-
Many mappings. A cartridge containing Multi-source mappings will continue to work, but
you cannot create new mappings; use Many-to-many mappings instead. In some cases,
when you compile cartridges with Multi-source mappings invoked from a message flow,
you may encounter validation errors. If all cases opening the property pane for the
mapping activity and saving it would fix the issue.
Some additional checks are now made during Cartridge validation, which can report new
errors in cartridges that ran fine in previous versions. These are actually errors that existed in
your cartridge and are now exposed due to tighter validations. In most cases these errors
should be easy to fix.
6 Other Release Notes Your distribution contains other release notes. Please refer to them before using the product.
www.volantetech.com
Volante Designer Release Notes
7 Enhancements Details
7.1 REST Plugin
The REST plugin allows you to define externally invokable REST services and use message flows
for implementation of the services. That is,
Define REST services and associate them with a flow.
Bind a message flow’s input and output to parts of HTTP request and response, such as
query parameters, URI path, headers, cookies etc.
Goals
The goals of REST are:
The specification will define REST bindings for Volante flows, so that resources defined in the
cartridges can be exposed as REST services. The scope would be limited to HTTP as the
underlying protocol.
The features would be modelled after JAX RS specification which defines REST bindings for
Java classes. The main difference being, instead of Java classes, Volante flows would be
used for implementation of services.
The objective is not to expose every message flow as a REST service; only flows that are
“Resource Oriented” can be meaningfully exposed.
The REST services are meant to be consumed by a UI front end (like HTML 5 + Javascript) as
well as a standalone REST client.
The REST plugin comprises of both a Server component, as well as a Client component. The
REST Server component allows you to define externally invokable REST Services and use
message flows for implementation of the services. That is,
Define REST Services and associate them with flow.
Bind messages flow’s input and output to parts of HTTP request and response, such as query
parameters, URI path, headers, cookies etc.
The REST Client component allows you to invoke external REST Services, by defining details
about the REST Server that is to be connected. This is done using a message flow having a REST
Client Activity. When this flow is invoked, the REST Client Activity will use HTTP to connect to the
external REST Server, and bind the request and the response to the messages and variables in
the flow.
REST Server
REST Server allows you to expose Message flows defined in a cartridge as REST Services. This
feature can be configured as a REST Server node in the explorer pane created using cartridge
right click -> Add Item -> REST Server. Only one REST Server Node per cartridge is allowed.
In the REST Server Node, General tab contains the Application Info that is used for OpenAPI
documentation, the Server Listener class which gets invoked when the REST Server has been
www.volantetech.com
Volante Designer Release Notes
deployed/un-deployed in the Web Container and the Handler configuration that allows you to
specify the Error Hander and Authentication Handler information.
In the REST Server Resources tab, you can define number of REST Services for a node. Each REST
Service can have number of operations associated with it. Each operation (possibly with a
different name) is implemented as a Message flow; the parameters for the messages flow and
the operation match. A Message flow can be exposed as an operation of more than one REST
Service.
Once the REST Services are defined, the user can execute the REST Services through execute
utility and run using the Volante REST Client to invoke the REST services.
REST Client
Once, the REST Server is started, the services can be deployed using the Volante REST Client.
Volante provides a REST Client Node to define the services and a REST Client Activity in the
Message flow to invoke the defined REST Services.
www.volantetech.com
Volante Designer Release Notes
In the REST Client Node, the General tab should contain the application information. These
details are mandatory for a REST Client to run. The SSL Secured is used for indicating whether
the URL is http or https secured. For an https secured port, the SSL Secured should be enabled,
otherwise disabled.
The Client Listener is a hook into the REST Client which gets invoked whenever the REST Client
activity gets called.
In the REST Client Resources tab, the REST Services based on the REST Server can be defined.
Further, these services can be invoked in the REST Client Activity and REST Calls can be
executed.
Rest Client Activity
Once services in the REST Client node is defined, use the REST Client Activity to invoke the
services. In the Message Flow, the REST Client Activity is present under Volante category.
In the REST Client Activity, the user can provide details about Client Node name, Service Name,
Operation Name and Parameter Name.
www.volantetech.com
Volante Designer Release Notes
Code Generate and execute the REST Flow to make a REST call.
7.2 Web Service Client Plugin
The Web Service Client plugin allows you to define external Web Services with SOAP 1.1 and
SOAP 1.2 Protocol. After importing the WSDL, the supported versions of SOAP Protocol will be
displayed in the Web Service Client tab of Web Service Client node as shown in the picture
below:
www.volantetech.com
Volante Designer Release Notes
The toolbar under Web Service Client contains the options to Reconfigure WSDL, Move nodes,
Expand/Collapse and WS Addressing Attributes. WSDL can be reconfigured using the option
Reconfigure WSDL when already imported WSDL has been modified. When the imported WSDL
contains SOAP-Headers-Extension Attributes, WS Addressing Attribute icon will be enabled with
information added to WS-Addressing Attribute Panel.
7.3 Query Node
When a query parameter and a field in a message have the same qualified name, on
generating Query, the following dialog "Ambiguous Field Properties" will display as shown below:
Where the user can select as per the requirement ( i.e., whether it refers to the DB Column or
the parameter). On clicking “OK” button in "Ambiguous Field Properties" will generate the SQL
statement as shown below:
www.volantetech.com
Volante Designer Release Notes
7.4 Volante Runtime License
To use Volante Runtime, the product has to be registered online. Volante would issue a node-
locked runtime license for each machine the client intends to deploy and use Volante Runtime.
Runtime Licenses are validated during startup of Volante Runtime and the Volante code will
not execute if the runtime license is invalid.
Please note that Volante Runtime License is node-locked to the machine for which it has been
generated. Copying the runtime license file generated for one machine to a different
machine will not work on the second machine. Separate runtime license files need to be
generated for each server machine where Volante Runtime will be deployed on. The runtime
license file can either be generated interactively using a tool having a User Interface, or from
the command line using a “headless” mode.
Once the Runtime license has been generated, it should be enabled by configuring it in the
Java class path of the Runtime environment of the application.
Refer to Installation guide ‘Installation.pdf’ available in
‘<Designer-Root-Install Dir>\docs\Installation&Setup’ folder for further information.
www.volantetech.com
Volante Designer Release Notes
Release 5.3.0 specific Volante Runtime Behavior:
If the runtime license is invalid or expired, the Volante Runtime will display the corresponding
runtime license details (which is in application classpath or VOLANTE_RUNTIME_HOME path
variable) and will continue the execution further, if the Runtime License is purchased for
Production/DR/Backup environment.
If the runtime license is not found, the Volante Runtime will display a warning indicating the
same, and it will continue further execution.
Please note that in future releases, the Volante Runtime will stop if it does not find any valid
runtime license file.
7.5 Apache Kafka Integration
Apache Kafka is an open-source distributed publish -subscribe based messaging system. A
Kafka Producer publishes stream of messages to Kafka Topic. The Kafka Consumers receives
messages from the subscribed topics.
Kafka Topics:
A topic is a category to which stream of messages are published. Kafka Topics are always
multi-subscriber. The data will be stored in topics; each topic consists of one to many partitions.
Kafka Integration:
Kafka integration allows the user to invoke Designer message flow through Volante Command
processor (cp.xml).
Configuring Kafka Input Handler
The Kafka input handler receives input from a specified Kafka Topics. Following are the CP
configuration to creates an instance of the Kafka input
<InputDef name="InputOrder" type="kafka">
<!-- Message flow -->
<property name="message.flow" value="OrderFlow" />
<!-- Input Topic -->
<property name="topic.name" value="InputTopic"/>
<property name="bootstrap.servers" value="localhost:9092"/>
<property name="group.id" value="order"/>
<property name="enable.auto.commit" value="true"/>
<property name="auto.commit.interval.ms" value="1000"/>
<property name="key.deserializer" value =
"org.apache.kafka.common.serialization.StringDeserializer"/>
<property name="value.deserializer" value =
"org.apache.kafka.common.serialization.StringDeserializer"/>
</InputDef>
Configuring the Kafka output Writer
The Kafka output writer writes output into the specified Kafka Topic. The following “OutputDef”
tags shows an example Kafka output writer configuration.
www.volantetech.com
Volante Designer Release Notes
<OutputDef name="OutputOutput" type="rmi">
<property name="output.device" value="device.order" />
<!-- Output Device Writer Factory-->
<property name="output.writer"
value="com.tplus.transform.runtime.external.handler.kafka.KafkaOutputDeviceFactory"/>
<!-- Output Topic -->
<property name="topic.name" value="OutputTopic"/>
<property name="bootstrap.servers" value="localhost:9092"/>
<property name="group.id" value = "test-consumer-group"/>
<property name="key.serializer" value =
"org.apache.kafka.common.serialization.StringSerializer"/>
<property name="value.serializer" value =
"org.apache.kafka.common.serialization.StringSerializer"/>
</OutputDef>
7.6 Volante Connector
Mule ESB is a lightweight Java-based enterprise service bus (ESB) and integration platform that
allows developers to connect applications together quickly and easily, enabling them to
exchange data. Mule ESB enables easy integration of existing systems, regardless of the
different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and
more. Refer to Mule website for more information on Mule ESB.
Volante connector
Volante provides the following to integrate with the Mule Studio and Mule runtime.
Volante Plugin for Mule Studio - Volante connector component that can be installed as a
plugin in the Mule/Anypoint Studio. Volante appears in the Mule flow palette under the
‘Connectors’ category.
Volante Adapter - Volante provides an adapter (mule-volante-connector. jar) which lets
you invoke Volante flows from a Mule. The invoked flow is normally expected to have one
input and one output (which represent the body of the message).
These Volante design and runtime components for Mule are described in detail in Mule-
Volante Help document.
Configuring Volante project in mule volante connector
Message Flow
Message flow is a mandatory field for the Volante Mule connector. The Message flow should
point to the name of the Volante flow that is defined in the cartridge.
www.volantetech.com
Volante Designer Release Notes
You should have defined a flow by this name in your cartridge. The flow can take raw data as
input and produce another raw message as output.
Deploying Volante Project in Mule Studio
Volante Connectors support both uber.jar and Maven to deploy the generated Volante
application.
Message flow is a mandatory field for the Volante Mule connector. The Message flow should
point to the name of the Volante flow that is defined in the cartridge.
The ‘Connector Configuration’ option provides options to add multiple Connection
Configurations. Each connector configuration should be configured with different Message
flow of a volante project. The Connection Configurations are created as Global Elements of a
mule flow that can be used in different volante connector within a mule flow.
www.volantetech.com
Volante Designer Release Notes
By default, the ‘Operation’ option should be selected as ‘Volante Transformer’, volante
provides addition operations in Mule Connector that are specific to Message-Payload
datatype.
Volante Transformer
Volante Byte Array Transformer
Volante String Transformer
Volante POJO Transformer
String Transformer & byte array Transformer are implemented to process the Mule Message-
Payload of 'String' & 'byte array' datatypes respectively and Volante POJO Transformer will
process Dataobject, DataObjectSection and Plain Old Java Object.
7.7 XML Plugin - Disabling the External Entity loading
In 5.1.3, The XML plugin disables the External Entity loading during XML parsing by default. If the
user requires this functionality, External Entity loading can be enabled in XML Parser/Serializer
Options Window by selecting ‘Enable External Entities’ option.
An entity is similar to a macro, with the entity declaration assigned as a value that is retained
throughout the document. A common use is to have a name more recognizable than a
numeric character reference (for an unfamiliar character), which helps to improve legibility of
an XML document. External Entities are declared outside a DTD. You can refer to an external
entity, either by using system identifiers or public identifiers.
For Example, below is a sample XML document that contains ‘entity’ definitions using a system
identifier and is present within a DOCTYPE header. This entity can access local or remote
content.
<?xml version="1.0" standalone="no" ?>
<!DOCTYPE copyright [
<!ELEMENT copyright (#PCDATA)>
<!ENTITY cpyrt SYSTEM "file:///C:/data/copyright.xml">
]>
<copyright>&cpyrt;</copyright>
In the above code, the external entity ‘cpyrt’ is declared with the value
file:///C:/data/copyright.xml. During XML parsing, this entity will be replaced with the
respective value. The use of the keyword ‘ SYSTEM’ instructs the parser that the entity value
should be read from the URI that follows. Thus, when the entity value is used many times, this
would seem very helpful.
www.volantetech.com
Volante Designer Release Notes
To display the value that is read, the “Enable External Entities” check box should be checked.
This option is present in the XML Parser/Serializer Options tab of XML Format options.
Note: Enabling External Entities option could lead to security vulnerabilities like an XXE attack
(XML External Entity vulnerability attack).
That is, in the above example, if the system identifier contains tainted data and the XML
processor dereferences this tainted data, the XML processor may disclose confidential
information normally not accessible by the application.
So, once this option is enabled, a Warning message will be popped up as shown
Click “Yes” to proceed. (Normally, it is not recommended to enable the external entities as it
leads to security vulnerabilities)
The impact of exploiting this vulnerability can be very dangerous, as it allows an attacker to
read sensitive files present on the server, perform denial of service attack on the server, etc.
The main problem as discussed above is that the XML parser parses the untrusted data sent by
the user. However, it may not be easy or possible to validate only data present within the
system identifier in the DTD.
www.volantetech.com
Volante Designer Release Notes
Thus, Enable External Entities is set to false (unchecked) by default to avoid XXE based attacks.
Note: Earlier, till build 5.1.2, the default behavior was that the External Entity was implicitly
enabled (without any ability to disable it). Now the default is to disable this, and giving the user
functionality to enable loading the External Entities. This will also be the standard behavior for
cartridges previously created with older versions when opened with build 5.1.3. However, to
support backward compatibility of cartridges built with previous versions of Designer, they will
continue to work as earlier at Runtime (with External Entity implicitly enabled) until they are built
again with 5.1.3.
7.8 MongoDB Plugin
Volante integrates with MongoDB by supporting a number of formula functions that let you
insert, query, update and delete Volante’s data objects (documents) to and from MongoDB.
The ‘volante-mongodbrt’ runtime adapter takes care of efficiently converting Volante’s Data
object to and from JSON object as required by MongoDB. The functions supported by Volante
are very similar to the ones provided by Mongo Shell or the Mongo Java API.
The ‘volante-mongodbrt’ runtime adapter requires a data - source. xml configuration to
connect MongoDB server.
Example:
<?xml version="1.0"?>
<data-sources>
<data-source dbType="mongodb"
name="mongodb-Sys1"
password="12345678"
url="localhost:27017;databaseName=mydb"
username="dbUser"
/>
</data-sources>
You need to include Volante - mongodbrt.jar and MongoDB Java driver in the class path to
use these functions.
Volante – MongoDB Example
This example demonstrates how to Persist, Query and Update a purchase Order message in
Mongo db using simple MongoDB functions.
1. Parse a PurchaseOrder message. The object could have been received from some other
source as well (example from another data base).
www.volantetech.com
Volante Designer Release Notes
2. Persist the purchase order object in MongoDB using ‘MongoDBInsert’ function in custom
activity
MongoDBInsert("data-source-name ","CollectionName", Obj);
3. View inserted object in Mongo Shell
www.volantetech.com
Volante Designer Release Notes
Query from MongoDB
1. Create a new purchase order object, which will be used as a template for returning the
results of the query.
Query the collection by order date as shown below
def results = MongoDBFind("mongodb-localhost", "Order","{Data.orderDate=’1999-10-
20’}", OrderObj);
a. This returns a collection of objects with the specified order date.
www.volantetech.com
Volante Designer Release Notes
7.9 CamelProtocol using SendActivity
CamelProtocol
The Send Activity is enhanced to send output/data directly from Volante flows to Camel
endpoint by looking up the endpoint in the Camel Context name.
In the message flow select the ‘Ports’ tab under message flow properties. Set the properties for
Protocol as ‘camelprotocol’ and for Device as ‘direct:{DeviceName}’ Example :
direct:volanteout
The device name ‘direct:volanteout’ should be called in endpoint of camelContext.xml to get
the output from flow ‘OrderFlow’
To simulate via designer, include camel-volante.jar in AdditionalClassPath of Cartridge
Codgeneration Settings, this jar is available under ‘Volant/lib/Runtime’ folder
camel-rmiprotocol
By using camel-rmiprotocol instead of camelprotocol, Camel will take precedence over rmi.
For Example, if camel classes are present, the SendActivity will use Camel protocol. If a camel
is not running, the SendActivity will automatically use rmi.
www.volantetech.com
Volante Designer Release Notes
Volante provides support to set the Camel URI using camel.device.prefix property as shown
below
SetContextProperty("camel.device.prefix", "direct:");
By setting this property, the camel URI will not be exposed to RMI. That is, when connecting
camel, this property will concatenate the camel URI ‘direct:’ to the device name prefix
e.g.’direct:volanteout’ otherwise, ignores the camel component ‘direct:’ when connected to
rmi.
Note:
This will help in migrating from CommandProcessor based flows to Camel.
This protocol is mainly used for standalone and Simulator testing.
www.volantetech.com
Volante Designer Release Notes
7.10 OSGI Import/Export Packages in Code Generation Settings
OSGi Import-Packages and OSGi Export-Packages properties are introduced to include the
required packages in MANIFEST.MF file for OSGI.
This property allows users to make their cartridges as fully compatible with OSGi environment.
Note:
Multiple packages can be included by using comma as separator.
The version is not supported.
For Example, if your own external class like my company. xxx is used in Native code or Native
class, then these external classes will not be part of Import/Export-Packages list in Manifest. MF
file by default. Hence the generated jars may not have all its dependencies satisfied in an
OSGi environment. The developer can configure all external packages in OSGi Import/Export-
Packages property to make their cartridge fully compatible with OSGi environment.
Once the package name is specified in the OSGi Export-Packages or OSGi Import Packages
text box and the cartridge is code generated, the package name will be made available in
the MANIFEST.MF file of the generated jar.
www.volantetech.com
Volante Designer Release Notes
7.11 Standalone Validations
Designer supports creating stand-alone validations at the outside of message definition.
Though the stand-alone validations are also tied to a specific message, ability to define it
separately, allows us to extend the message definition without modifying it. Validation Group
node acts as a folder which consists of multiple child validation nodes for a specific message.
You can use stand-alone validations in the following situations,
The cartridge in which the message is defined cannot be edited, and you want to
add validation rule sets for the message.
Validations are not part of the core specification (e.g. based on certain country or
region). You can create top-level validation groups for each category of rules.
www.volantetech.com
Volante Designer Release Notes
To invoke a Stand-Alone Message Validation from the Message Flow, use the Validate Activity
as shown below. Select the message for which the validation needs be applied as you
normally do. Since the stand-alone validation is defined outside of the message definition, it
does not appear in the ‘Validation’ combo. You need to enter the validation name as a string
(formula) as shown below.
You can test the validation fusing the ‘Execute’ utility. Name of the Actual Validation rules
node under the Stand-Alone Message Validation is used in the Execute Utility.
Syntax:
>execute name Inputfile -validate:rulename
>execute EntireInputAsSingleMessage D:\Samples\invalid1.dat
-validate:RequiredFields
7.12 Encryption in data-sources.xml
Instead of using encrypted value directly in data-sources.xml, the encrypted value can be
embedded in external file and this external resource file is refer to in data-sources.xml by
prefixing the property with “encrypted-resource-“. For instance, to encrypt user name, you
would use the attribute “encrypted-resource-username” instead of “username” as shown
below.
Property
encrypted-resource-password="Resource File"
www.volantetech.com
Volante Designer Release Notes
Example
This external resource file (Encrypted file) should be present along with data-sources.xml.
7.13 Auto-commit in data-sources.xml
Every transaction in SQL statement is committed when completed successfully or rolled back
when an error occurs. However, when a single error occurs, the entire batch is rolled back. In
auto-commit mode, each and every sql command is considered as a transaction and it will be
saved in the Database when set to true. The sql statement only for which error is thrown is rolled
back when auto-commit="true". The default behaviour of auto-commit is set to false.
<?xml version="1.0"?>
<data-sources default-data-source="oracledb" >
<data-source
connection-driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@200.200.200.10:1521:orcl"
username="Volante"
password="Volante"
class="com.volante.component.server.jdbc.ManagedJDBCDriverConnectionPool"
dialect="oracle"
location="oracledb"
name="oracledb"
auto-commit="true"
/>
</data-sources>
7.14 Activity Plugin
Volante lets you define new message flow activities which appear in the palette along with the
predefined activities. These custom activities can be used for the specific purpose or tasks for
which Volante does not have out of the box support.
For creating the activity plugin user should generate the jar. To generate a jar, need to create
an activity Java class and a conductor-extension. XML, which publishes this activity to the
Designer and also defines the user interface for specifying the properties of the activity.
www.volantetech.com
Volante Designer Release Notes
Package activity Java class and conductor-extension. xml as jar and drop it under Volante’s
plugin folder.
After restarting the designer, the activity will appear in the message flow palette along with the
predefined activities as shown
At runtime, the message flow activity class would be instantiated and its properties are set
based on user specified values. Then, its run method is invoked and the results are passed back
to the flow. During code generation, the extension Jar is also included as part of the runtime
package (bundle or in class path).
7.15 Volante Test Manager
Volante Test Manager helps you to define and manage your test plans for automated unit,
integration and system tests. The Test Manager is integrated with Volante
Simulator, in which you can create the test cases and manage them as test suites. Once
created, these tests can be executed in an automated manner from the Simulator, ANT,
MAVEN and from command line. Also, it supports for Volante HTML Reports, JUnit HTML and
XML test report format.
Volante Test Manager contains the following
1. Test Suite
2. Test Case
3. Test Group
4. Test Module
5. Files and Folders
6. Tags
7. Test Output Comparison
8. Test Execution
www.volantetech.com
Volante Designer Release Notes
Test Suite
A suite is the central unit of composition of test cases and is stored as an XML file. It can contain
one or more tests. The path of the test suite is relative to the project that stored in the Project
file. This allows you to copy the project and test suite folders together to another machine. The
lists of test suites associated with a project are displayed in the Simulator and can be executed
for it.
Test Case
A test case, which is defined within a test suite, is used to test an entity (Message, Mapping flow
etc.) and includes the input(s) and expected output(s) for that test. On executing the test case,
the system should be able to verify the result and mark the test as successful or failed.
Test Group
Test Suites are grouped/organized using their module name. Module, typically is the name of
the Cartridge which is tested by this Test Suite. Module names can also be hierarchical, in
which case the components are separated by dot e.g. Payment Cancellation. Modules are
akin to packages in Java.
Organizing test suites based on modules are particularly useful if there are a large number of
test suites, since it allows you to execute based on the module hierarchy. Module names are
again used in reports for organizing the test results.
Files and Folders
The input and the expected output of a test case as well as actual output of a test run are
typically stored in the file system. In the Files & Folders section, you can configure the file names
and folders you want to use.
Tags
Test Manager allows you to define arbitrary test categories, to "tag" tests as belonging to those
categories, and filter tests to run based on their tags. You can add a list, comma separate tags
to a test case. Then, Test Manager can be invoked and asked to include a certain set of tags
www.volantetech.com
Volante Designer Release Notes
(or regular expressions) while excluding another set. This gives you maximum flexibility in how
you partition your tests and allows you run different subsets of tests using the same test suite.
For instance, you can mark some of the tests as Smoke? And later can execute only those test
cases. All tags are user defined and does not carry any special meaning to the Test Manager.
Test Output Comparison
Typically, you find that there are some differences between the output and the expected
output, which are not significant, and the simple equality check will result in a number of test
cases failing incorrectly. Test Manager comes with a built-in comparison engine which lets you
compare the output of a test run and the expected output and ignore these semantically
insignificant differences.
The comparison tool supports options to ignore whitespaces, ignore character case, mask part
of the output and expected outputs using regular expression, etc.
Test Execution
Test Execution depends on the environment in which you are executing the test. You can run
the tests in following ways,
Simulator
Command Line
ANT
MAVEN
Since multiple Test Suites are associated with a Project, it is convenient to execute all the test
suites that are part of the project.
7.16 Visual Mapper It provides an alternate way for mapping source fields to the destination. You can drag links
from the source to the destination to define a mapping. The mapping defined using the
existing UI would also be rendered in the Visual mapper with appropriate links. You can switch
back and forth between the two views. In Visual Mapper Mapping, it can be happened in four
ways.
1. By dragging a line from source field to the destination field
2. By dragging, a field from source tables and drop it on the destination table’s field
3. By double clicking on the destination field
4. By clicking on the map button
5. By Properties pane
After selecting the mapped link, the formula can be visible as a tooltip and it will have
displayed in properties pane also.
www.volantetech.com
Volante Designer Release Notes
Visual mapping:
7.17 Transform Activities Sort
This activity is used to Sorts set of records based on one or more key fields
www.volantetech.com
Volante Designer Release Notes
Input
In this combo box, all the collection variables for the messages that are defined in the flow will
be listed. The collection variable can be of the type defined or undefined based on which the
records need to be sorted.
Sort By
The records are sorted based on one or more key fields. The key fields are prioritized based on
specified order (ascending/descending). If the input specified is defined, the fields of that
particular message will be listed in this list box. The user can select the field from the list box. The
field to Sort can be specified dynamically by prefixing the equals sign and giving a string (For
ex: =”AccountNumber”). This will be validated during runtime. Hence, any error such as the
field specified is not available in the message will be thrown during runtime.
Output
In this combo box, all the collection variables for the messages that are defined in the flow will
be listed. The collection variable can be either of defined type or undefined type. The output
can also be specified dynamically by using formula. This formula is evaluated at runtime and it
should return the output. A new output record set can be specified or you can overwrite the
input set.
Note that the Input and Output should be of the same type, otherwise a validation error will be
reported.
Filter
This activity is used to Filter data records based on a specified condition
Input
In this combo box, all the collection variables of type defined or undefined will be listed. The
record set that needs to be filtered based on a condition has to be selected from the list.
www.volantetech.com
Volante Designer Release Notes
Filter Condition
In this combo box, a Boolean condition has to be specified based on which the input records
are filtered. The condition can be an expression or you can access other variables defined in
the message flow. Note that, when the Input collection is undefined, the getString() function is
used to dynamically define the condition that is validated at runtime.
Output
In this combo box, all the collection variables for the messages that are defined in the flow will
be listed. The collection variable can be either of type defined or undefined. Select the
required records where the filtered set of records needs to be stored. A new output record set
can be specified or you can overwrite the input set.
Rejected
In this combo box, all the collection variables for the messages that are defined in the flow will
be listed. The collection variable can be either of type defined or undefined. Select the
required rejected variable where the subset of records that does not satisfy the filter condition
needs to be stored. This variable is optional.
The Input and Output should be of the same type, otherwise a validation error will be
reported.
Deduplicate
This activity is used to remove duplicates from the sorted set of records based on key fields
www.volantetech.com
Volante Designer Release Notes
Input
In this combo box, all the collection variables of type defined or undefined will be listed. The
record set from which the duplicate needs to be removed has to be selected from the list.
Retain Duplicate
There is an option to retain duplicates as below.
Retain Duplicate Description
First It will keep the first record and removes all other duplicate records
Last It will keep the last record and removes all other duplicate records
Remove It will remove all duplicate records
Sort Input (uncheck if already sorted)
For deduplicate, the input should have been sorted. Sorting can be done using a separate
activity or simply by checking the Sort Input check box. Sort Input when checked, sorts the
given input to check for duplicate records.
Key Fields
The duplicates are identified using these key field(s). Note that the input set of records should
have been sorted using the same key fields or a super set. If the input specified is defined, the
fields of that particular message are listed in this list box. The user can select the field from the
list box. The field to duplicate can be specified dynamically by prefixing the equals sign and
giving a string (For ex: =”AccountNumber”). This will be validated during runtime.
Output
In this combo box, all the collection variables for the messages that are defined in the flow will
be listed. The collection variable type can be either of defined or undefined. Select the
required variable where a new output record set with duplicates removed needs to be stored.
Duplicates
In this combo box, all the collection variables for the messages that are defined in the flow will
be listed. The collection variable type can be either of defined or undefined. Select the
required variable where the duplicate records can optionally be collected.
Note that the Input and Output should be of the same type, otherwise a validation error will be
reported.
Aggregate
This activity is used to Aggregate sorted record set, grouped by a key or set of fields
www.volantetech.com
Volante Designer Release Notes
The Aggregate activity aggregates sorted record set, grouped by field defined under
Aggregate by fields. This activity can be used to calculate the sums, record count for each
group of records. In the Properties dialog box for the ‘Aggregate’ activity, you are prompted
to specify the properties as shown in the above picture.
Input
In this list box, all the collection variables for the messages that are defined in the flow is listed.
The collection variable can be of the type defined or undefined, thus dynamically defining the
input.
Sort Input (uncheck if already sorted)
For Aggregate, the input should have been sorted. Sorting can be done using a separate
activity or simply by checking the Sort Input check box. Sort Input when checked, sorts the
given input to be aggregated.
Aggregated by Fields
The field with respect to which the input should be aggregated should be given in the
“Aggregate by Fields” under the input. The records are aggregated based on one or more key
fields. The key fields can be used to calculate the sums, record count for each group of
records. If the input specified is of type defined, the fields of that particular message are listed
www.volantetech.com
Volante Designer Release Notes
in this list box. The user can select the field from the list box. The field to aggregate can be
specified dynamically by prefixing the equals sign and giving a string. This will be validated
during runtime. Hence, any error such as the field specified is not available in the message will
be thrown during runtime.
Output
All the collection variables for the messages that are defined in the flow will be listed in this list
box. Select the required variable where the aggregated set of records needs to be stored. The
output can be of input type or undefined.
Mapping
The records can be aggregated based on the mapping specified in the mapping tab.
The user can define mappings in two ways
Use Mapping
Define Mapping
Use mapping: lists the mapping defined elsewhere. Under Use Mapping the mapping name
can be dynamically called, for instance by entering the name as ="MappingName"
Create New Mapping: When there is no mapping available, a new mapping can be created
using the Create new mapping option. A new mapping is created based on the inputs and
output defined in the Input & Output tab. When a mapping name is given in the Use Mapping
text box and Create New Mapping is selected, a mapping node with the corresponding input
and output as source and destination will be instantly created.
Define mapping: the user can define a mapping in-place. When Define Mapping is, the fields
can be Dynamic by giving values as ="fieldname".
The Input, aggregated by Fields, Output and mapping is type checked at design time.
www.volantetech.com
Volante Designer Release Notes
Reformat
This activity is used to Reformats/transforms a set of records
The Reformat activity allows to Reformat/transform a set of records. Output records can have
a completely different structure. In the Properties dialog box for the ‘Reformat’ activity, you are
prompted to specify the properties as shown in the above picture.
Input & Output
All the collection variables for the messages that are defined in the flow will be listed in this list
box. The collection variable can be of the type defined or undefined based on which the
records need to be reformat has to be selected.
Output
All the collection variables for the messages that are defined in the flow will be listed in this list
box. The collection variable can be either of defined type or undefined type.
www.volantetech.com
Volante Designer Release Notes
Mapping
To reformat a set of records, means the output can have a complete different structure.
www.volantetech.com
Volante Designer Release Notes
The user can define mappings in two ways
Use Mapping
Define Mapping
Use mapping: allows selecting a predefined mapping from the list. Under Use Mapping the
mapping name can be dynamically called, for instance by entering the name as
="MappingName".
Create New Mapping: When there is no mapping available, a new mapping can be created
using the Create new mapping option. A new mapping is created based on the inputs and
output defined in the Input & Output tab. When a mapping name is given in the Use Mapping
text box and Create New Mapping is selected, a mapping node with the corresponding input
and output as source and destination will be instantly created.
www.volantetech.com
Volante Designer Release Notes
Define mapping: In place mapping. When the mapping is defined Mapping, the fields can be
Dynamic by giving values as ="filename".
Normalize: This activity is used to Normalizes a record set with repeating elements by breaking
it into multiple rows
In the Properties dialog box for the ‘Normalize’ activity, you are prompted to specify the
properties as shown in the above picture.
Input
All the collection variables for the messages that are defined in the flow will be listed in this list
box. The collection variable can be of the type defined or undefined based on which the
records need to be normalized has to be selected. Also, the input can be specified
dynamically using a formula. This formula is evaluated at runtime and it should return the name
of the collection to be used for normalizing the parsed object.
Fields to Normalize
The field to which the output should be normalized should be given in the “Fields to Normalize”
under the output. If the output specified is of defined type, the fields of that particular message
are listed in this list box. The user can select the field from the list box. The normalize fields can
be specified dynamically by prefixing the equals sign and giving a string. This will be validated
during runtime. Hence, any error such as the field specified is not available in the message will
be thrown during runtime.
www.volantetech.com
Volante Designer Release Notes
Output
All the collection variables for the messages that are defined in the flow will be listed in this list
box. The collection variable can be either of defined type or undefined type. The output can
also be specified dynamically by using formula. This formula is evaluated at runtime and it
should return the output.
The field to which the input should be normalized should be given in the “Normalized Field”
under the input. If the input specified is defined, the fields of that particular message are listed
in this list box. The user can select the field from the list box. The field to normalize can be
specified dynamically by prefixing the equals sign and giving a string. This will be validated
during runtime. Hence, any error such as the field specified is not available in the message will
be thrown during runtime.
Note that Input and Output are type checked at design time.
Denormalize
This activity is used to Denormalize a sorted record set by converting columns to rows
In the Properties dialog box for the ‘Normalize’ activity, you are prompted to specify the
properties as shown in the above picture.
Input
All the collection variables for the messages that are defined in the flow will be listed in this list
box. The collection variable can be of the type defined or undefined based on which the
records need to be de-normalized has to be selected. Also, the input can be specified
dynamically using a formula. This formula is evaluated at runtime and it should return the name
of the collection to be used for denormalizing the parsed object.
www.volantetech.com
Volante Designer Release Notes
The field to which the input should be denormalized should be given in the “Normalized Field”
under the input. If the input specified is defined, the fields of that particular message are listed
in this list box. The user can select the field from the list box. The field to normalize can be
specified dynamically by prefixing the equals sign and giving a string. This will be validated
during runtime. Hence, any error such as the field specified is not available in the message will
be thrown during runtime.
Output
All the collection variables for the messages that are defined in the flow will be listed in this list
box. The collection variable can be either of defined type or undefined type. The output can
also be specified dynamically by using formula. This formula is evaluated at runtime and it
should return the output.
Denormalized Fields
The field to which the output should be denormalized should be given in the “Denormalized
field” under the output. If the output specified is of defined type, the fields of that particular
message are listed in this list box. The user can select the field from the list box. The denormalize
fields can be specified dynamically by prefixing the equals sign and giving a string. This will be
validated during runtime. Hence, any error such as the field specified is not available in the
message will be thrown during runtime.
Join
This activity is used to Joins two or more data sets by matching key fields or expression
Join activity joins two or more data sets by matching the conditions given under the Condition
tab. This activity supports multi way join, more than two messages can be joined. In the
Properties dialog box for the ‘Join’ activity, you are prompted to specify the properties as
shown in the above pictures:
www.volantetech.com
Volante Designer Release Notes
Input & Output
Inputs
All the collection variables for the messages that are defined in the flow will be listed in this list
box. Those messages that need to be joined are collection variables that can be of the type
defined or undefined.
Output
The output is the subset of records of the given messages depending on the conditions and
Join Type. All the collection variables for the messages that are defined in the flow will be listed
in this list box. The collection variable can be either of defined type or undefined type.
Output can also be defined using the Define Output. This defined Output is similar to an
internal message.
Rejects
The records that do not participate in join can optionally be collected separately. For each
input set, there is a separate set of rejects.
Condition
Conditions can be added and each condition can be defined separately. Defining conditions
include the Join Type, Inputs, and Conditions.
All Inputs Participate in Join option means it is mandatory to define conditions for all the
defined inputs. If an input does not participate in the condition, validation error will be thrown.
Join Condition
There are two ways to define a condition,
Matching key fields.
Generic Expression.
Join Type
Type Comment
Inner Returns rows that have a match in both the joined record sets
Left Outer Returns rows from the left set, and the matched rows from the
right record set.
Right Outer Returns rows from the right set, and the matched rows from the
left record set.
Full Outer Returns all the rows of both record sets irrespective of match
Mapping
The mapping is to merge the individual records to an output structure.
The user can define mapping in two ways
Use Mapping
Define Mapping
Use Mapping: Refer to a mapping defined elsewhere. Here the mapping name can be
dynamically defined, prefixing an equal sign and the name given as string ="MappingName"
Create New Mapping: When there is no mapping available, a new mapping can be created
using the Create new mapping option. A new mapping is created based on the inputs and
www.volantetech.com
Volante Designer Release Notes
output defined in the Input & Output tab. When a mapping name is given in the Use Mapping
text box and Create New Mapping is selected, a mapping node with the corresponding input
and output as source and destination will be instantly created.
Define Mapping: Mapping can be defined in-place. In case of outer joins, input record can be
null. The fields can be given dynamically by prefixing an equal sign followed by string
=”fieldName”.
Other Options
Here you can specify optional parameters that are recognized by that activity. These optional
parameters are taken into account when the activity is executed.
Dynamic/Generic Transforms
With dynamic flows you define the process or way in which message needs to be processed
without using specific message type. Since the record set is specified as a formula, the type of
the message is not known at design time (Undefined) and so resolved at runtime. Hence, the
variables that refer to the record set are of ‘Undefined’ type. All the activities in the ‘Transforms’
category support using undefined types and dynamically computes names.
To use the transform activities in a generic context,
The record set (input/output/reject) has to be a collection (section) of type
“Undefined”.
Input and output variables can be specified using formula.
The field variables can be indicated as a formula with the ‘=’ symbol as prefix.
Since the flow is accessed dynamically, the control of which records to be processed is with
caller of the flow. Typically, this generic flow can be applied or invoked for multiple types of
messages.
www.volantetech.com
Volante Designer Release Notes
7.18 Spring Integration
Spring Integration provides an extension of the spring programming model to support the well-
known Enterprise Integration Patterns. It enables lightweight messaging within Spring-based
applications and supports integration with external systems via declarative adapters. Those
adapters provide a higher-level of abstraction over spring’s support for remoting, messaging,
and scheduling. The Spring Integration's primary goal is to provide a simple model for building
enterprise integration solutions while maintaining the separation of concerns that is essential for
producing maintainable, testable code.
Volante Component
Volante provides an adapter spring-volante.jar to integrate with Spring Integration that lets you
invoke the Volante flows. The Volante: component allows you to process a message using
Volante flow. The invoked flow is normally expected to have one input and one output. (This
represents the body of the spring message).
URI format
volante:transformer messageFlow="Flowname"
A flow by the given name should have been defined in a cartridge and the jars from the
cartridge should be included in the class path. The class path should also include all other
dependent jars including spring-volante.jar which defines the Volante component for spring.
<volante:transformer messageFlow="OrderFlow" input-channel="filesIn"
output-channel="filesOut"/>
The Volante namespace is available through the inclusion of the schema shown below.
xmlns:volante="http://www.volantetech.com/schema/spring-integration"
http://www.volantetech.com/schema/spring-integration.xsd".
The plugin will install Volante Menu option under the Project Menu category. The Volante Menu option will
have the following Menu items
Configure Volante Project
Configure the Mule project with the location of the Volante project/Cartridge files. Choosing
the Menu Option Configure Volante Project will bring out a dialog like shown below which can
be used to associate a Volante Project to the selected Mule Project.
The volante project’s path selected will be saved relative to the Spring project used, when the
spring project is moved, the volante project files can be moved relative to its parent.
Refresh Build Path
Refreshes the build path of the current mule project with the volante runtime jars and jars from
the associated volante project. The volante project must have been built before using this
option.
www.volantetech.com
Volante Designer Release Notes
Open Volante Project
Opens the configured Volante Project in a new instance of Volante Designer application.
Display Maven Dependencies
This option will list all the class path dependencies of the Volante Project in a maven
compatible dependency structure so that it can be copied and added to a POM.xml file. The
dependencies will be displayed in a dialog as shown below
Message Properties and Header Enrichers
Header enrichers can be used in Spring to add additional property information to the message
as shown below.
<integration:header-enricher input-channel="filesIn" output-channel="enrichedOut">
<integration:header name="Test" value="123"/>
</integration:header-enricher>
7.19 WAR Options
Enabling the ‘WAR’ option allows you to generate a WAR file which includes all the Jars of the
project (including dependencies). The generated WAR can be deployed in the Java Web
Server or an EJB server as a web Application.
On code generation, %ProjectName%. A WAR file is created under a Java folder. This includes
cartridge generated jars and runtime jars.
In the designer, the WAR options are available in the Target Platform tab of Project Code
Generation Settings under the Build menu as shown below.
www.volantetech.com
Volante Designer Release Notes
WAR Option Dialog box
You can, optionally, include, additional jars or a predefined Web App folder in the WAR using
the options below.
To open a WAR options dialog, click on war Option Button.
Custom Web App
Custom web app option is used to include external defined web application in the war file by
providing the path of the custom folder. That is all files under the specified folder are bundled
into the WAR.
Additional Jars
You can include additional jars by providing full path of the jar file name using ‘Additional Jars’
option. Multiple jars can be specified using a semicolon separator.
This option is only supported for the project.
www.volantetech.com
Volante Designer Release Notes
7.20 Service Bus/Generic Application
In Designer, the Service Bus/Generic Application options are available in the Target Platform
tab of Cartridge/Project Code Generation Settings under the Build menu as shown below.
Uber/Merged Jar
Using this option, you can generate an Uber/Merged jar (that includes cartridge Jar(s),
reference Jar(s) and required Dependency Jar(s)) for deployment under a Service Bus. If
required, you can include the dependent jars as well.
You can provide Jar name and its directory to generate Uber/Merge Jar under desired
location. By default, the jar will be generated under java folder with the name
(Cartridge/ProjectName-uber.jar).
www.volantetech.com
Volante Designer Release Notes
Copy Jars
This option allows you to copy Simple Runtime Deployment jars (Project/cartridge jars and its
dependencies jars) to the desired location. If required, you can include the dependent jars as
well. By default, the jars will be copied to a target folder.
Include Dependencies
This option applies to both Uber Jar generation and Copy Jar to the directory option (if
enabled). Dependencies included referenced cartridges jar, volante runtime jars, and other
explicitly specified dependency jar(s) that are need to execute the application. Note that Jars
included are for executing under Simple runtime. For EJBs and other deployments use the
corresponding options.
www.volantetech.com
Volante Designer Release Notes
These options apply to both Cartridge and Project code generations.
7.21 Project Configure Folder As
Configure Folder as an option provides a way to configure the directories present in the
Project. The directories either to be included in all process of Project like Build, export project
etc.
The various configurations are as follows.
Source- The root directories only can be configured as Source. The folder configured as
a source, involves in all process of Project like ballet, exported, generated as HTML
docs, jars present in the EAR file, OSGI bundle files.
Test-When cartridge jars are not necessarily to be included in the EAR file or OSGI
bundle, then those cartridges present in the folders can be configured as TEST. The
folder configured as TEST, works similar as Source folders.
Samples- The folder configured as Samples, works similar as Source folders.
Excluded- When cartridges are not necessarily to be built, then those cartridges can be
excluded from the project. Once excluded from project it gets removed from the UI of
project and not from the location of project where it has been saved. The cartridges
that are excluded from the project, is not included in the build or rebuild project
process.
www.volantetech.com
Volante Designer Release Notes
7.22 Auto Detect Proxy
The Auto Detect Proxy Settings uses the system’s default Proxy settings. Auto-detect Proxy
settings option enables the Designer to use Internet via the system internet. The system's
internet can be a direct connection or a connecting via a proxy server.
The Use Automatic Proxy Script allows the user to define the Proxy settings using which the
designer can connect to the internet. There can be more than one Proxy server given in the
Proxy script.
function FindProxyForURL(url, host) {
return "PROXY 200.200.200.35:808; PROXY SV03:808";
}
The Clear password button clears the previously stored passwords from the designer.cfg file.
Thus the passwords will not be retained when the designer is restarted.
www.volantetech.com
Volante Designer Release Notes
7.23 Revoke License
Enables the user to revoke the license, thus the user will not be allowed to use the same license
anymore. As the license is revoked, the number of licenses available increases by one.
7.24 Properties Window
Properties Window was shared globally; in which you can edit the Properties for all entities.
This Properties Window is available for the below Entities
Messages
Validation Rules
Mapping Rules
Message Flow and
Function Definition – Function Type (Mapping)
Mapping Rules
For Mapping Rules, Mapping column will be displayed in the Properties window. In which the
Direct Mapping and Formula Mapping can be edited.
Properties Window is similar as the Edit Formula Window. When Mapping is edited in the
Properties Window, immediately it will synchronize in the Mapping Rules or Vice Versa.
www.volantetech.com
Volante Designer Release Notes
7.25 Functions Window
Functions Window displays all the functions along with User Defined Functions in the current
context. You can drag and drop a function to the formula window (validation/mapping) to
invoke.
Filter:
The Filter text box in the functions is used to filter functions based on specified string or
character.
www.volantetech.com
Volante Designer Release Notes
For instance, Search ‘LeftStr’ function and drag and drop that function to formula window. The
LeftStr ’ function pane will appear, which allows you to fill the parameters.
A pane appears which allows you to fill in the parameters of the function as shown above. You
can fill in the parameters either by entering values or dragging and dropping fields from field
structure.
You can do this recursively, by including nested function calls. Once you are done click ‘Finish’
to complete the definition.
www.volantetech.com
Volante Designer Release Notes
You also click on the link shown at the bottom any time to view the function pane and enter its
parameters.
7.26 External Tools
The Volante Designer, uses several tools inside and outside Volante designer for execution,
report generation, comparison and several other tasks. The External tools feature supports the
usage of these tools for the designer instead of going to the terminal. The tool required is
configured under FileSettings External Tools or it can also be configured from Tools
External Tool configure. Once a tool is added, the external tool appears as a new menu
command under ToolsExternal Tools. Selection of the tool from the menu executes it. To edit
or make changes to an existing tool or add a new tool, select, configure from the Tools
(External Tools menu.
To configure the External tools, the following settings, need to be done
www.volantetech.com
Volante Designer Release Notes
General
Name is the title of the tool to be executed. The description is about the tool
Settings
Executable
The tool is defined here. Every executable that can be run using a terminal must be able to
execute using External Tools. The path of the tool can be absolute or relative. The tools which
are already defined in the System's environment variables can be called indirectly.
Parameters
The input to the tool to be executed is given in Parameters. Inputs are separated by space.
Each input needs to be given within double quotes.
Initial Directory
The initial directory is the working folder, where the executables need to be executed.
Macro
Macro simplifies the task of defining the path of current cartridge, project, designer and those
tools defined in the system's properties
Here is the list of Macros that can be used while defining the external tools.
Execution of External Tools
Once a tool is added, the external tool appears as a new menu command under
ToolsExternal Tools.
The output of the external program is displayed in the ‘Output Window’.
www.volantetech.com
Volante Designer Release Notes
7.27 Grid Mode
Grid Mode in simulator supports displaying the text in tree structural view for easy reference.
Grid Mode can view only when the Input/output is in XML format (Internal Message, Parsed
Object and XML messages).
An XML message in Text mode when changed to Grid Mode is as shown
Text Mode Grid Mode
www.volantetech.com
Volante Designer Release Notes
7.28 Drag & Drop
Drag & Drop can be used to rearrange the position of the nodes in the Explorer window,
without the use of Move Nodes options. Once the required design element node is selected,
the user can drag from one position and drop it to the other position. Nodes can even be
arranged by selecting multiple design elements. This can also be done across cartridges and
projects.
7.29 Append to specified output message
In general, the output of the Serialize activity is assigned to a variable of type Raw output. The
Append to specified output message option enables the user to add to the Serialized Output
to a user defined variable. This supports appending to existing messages while serializing.
7.30 Updates and Notification
The Automatic update notification system will notify when a new update is available and will
offer to launch the web page for those updates. Launching the Designer tells to check if there
is any update on the Product, Message Pack & Other notifications. If there is an update, the
designer will pop up a notification inviting to visit the update site which depends upon the
frequency settings. Those updates can be deliberately downloaded and installed.
www.volantetech.com
Volante Designer Release Notes
Notification
Designer notifies you of new Product updates, Message Pack updates, other notifications from
Volante and license expiry information. New Notifications pops up from the notification tray,
typically when you start Designer. This popup stays on the screen for a brief period and
disappears automatically. You can continue to work on Designer, with the notification visible or
you can close it.
In many cases, the notification is a short message which can lead to a web link or a task. To
navigate to the link, hover the mouse over the notification and click on it when the cursor
changes to a hand cursor. For instance, clicking on the above notification for product
updates, would take you to an HTML page which provides the link to updates you are entitled
to. Similarly, a notification message from Volante may contain a link which would provide more
information about it.
Designer checks for updates and pops up notification window according to the frequency
which is chosen under the Updates in designer settings.
Notification List
All such notifications get added to the list of notifications. You can view the list of recent
notifications, by clicking the Notification icon in right side of the status bar or by using
Windows Notification Window.
You can clear the individual notifications using the clear button or use the Clear all button to
clear all the notifications.
Follow the steps given below to set the settings for updates
1. From the File Menu, select the Settings Menu tab.
2. Go to the Updates in Designer Settings. By default, Designer checks for all the updates on
daily bases (“Daily”). Frequency and Check for options can be customized as desired. To
turn off the automatic updates, check frequency has to be set as “Never”.
www.volantetech.com
Volante Designer Release Notes
Zoned Decimal
In this type of Encoding, each digit is represented as a byte. While the digit itself is represented
as 4 bits of the lower most nibble, the upper nibble is a fixed value (excepting in the byte of the
last digit) which depends on the charset. The upper nibble in the byte for the last digit
represents the sign of the number (positive / negative / unsigned).
E.g.:
564.22 is stored (in EBCIDIC charset) as |F5|F6|F4|F2|F2| (each slot represents 1 byte). (-
564.22) is stored as |F5|F6|F4|F2|D2|. (Note that the decimal point is not stored. The field
definition, it holds the place for decimal)
7.31 Retain Trailing Delimiter
This option is used to trim or retain the delimiters of the trailing optional fields having null value
and the delimiter of the last field (at run time) that precedes the sections instance delimiter.
www.volantetech.com
Volante Designer Release Notes
7.32 Enhancements in ISO8583
Code Page
Code Page option is to specify the code page of the message along with the encoding
(ASCII/EBCDIC). This option process messages with one of the EBCDIC code page variations
(like cp277, cp1047 etc.) or extended ASCII variants like (ISO 8859-1 etc.). Only those code
pages that are part of the JRE distribution is supported.
To set a code page, click on format option icon , under Format option dialog, select
required code page in code page drop down Box. Click ok button
Also, while invoking the parser/serializer from the flow, you can also use the code-page option
to specify a different code page.
www.volantetech.com
Volante Designer Release Notes
Custom Section
ISO 8583 plugin allows definition of a custom section with arbitrary fields and sections under it
(as a top level section). The fields below it are meant for flexible and hence there would not be
any validations at Design time.
User can write formula code to parse and serialize the section. Typically, these are
formula/native functions.
Follow the steps below to create a Custom section
1. Click Add Custom Data Element icon in a UI tool bar
2. Custom Data Element is created as shown below,
3. Custom properties present under properties pane allows user to write Formula cod to parse
and serialize the section
4. Other properties like Length, Encoding and Padding can also available in the properties
pane
Batching Messages
ISO8583 parser would support identification of end of message and passing back number of
the bytes consumed through transforming context. To enable this, the calling flow should set
the property ‘detect-end’ to true in the options tab of parse activity. After completion, the
context would contain __size Used property which indicates the number of bytes consumed by
the parser. This information can be used by the batch handler flow to move the ‘cursor’ and
parse the next message.
www.volantetech.com
Volante Designer Release Notes
Tag Length Value
TLV - Group containing fields with TAG/LENGTH/VALUE specified in that order.
TLV fields are part of a higher level composite group (section, in Volante) whose length is
known ahead of time (either fixed or length proceeded). TLV fields, as the name suggests, are
always length preceded and can occur in any order. Tags can be numeric or alpha. Each tag
occurs just once; some tags can be optional. The fields under TLV section are scalar fields,
nested sections under TLV section is not being supported.
Follow the given below steps to create a Tag Length Value section
1. Click Add Tag Value Data Element icon in the UI tool bar
2. The tag Value section is created as shown below,
www.volantetech.com
Volante Designer Release Notes
3. Type, Index, Encoding, Padding and Length specific to Tag Value Section can be
mentioned in the properties pane.
4. Tag Length and Field Max Length can be given in property pane
5. Multiple fields can be added by selecting created ‘TagValueSection’ and click Add New
Fields icon
7.33 Text View Encoding
This feature displays text using specified encoding, when the data is in binary mode. This is
useful if the text contains a mix of non-ascii encoded text and binary data
Follow the steps given below to view the text in the selected encoding:
1. Right click on the editor and select “Binary Mode” from the context menu.
2. Right click on the editor and select “Text View Encoding” from the context menu.
www.volantetech.com
Volante Designer Release Notes
3. “Change Encoding” dialog box will appear as shown.
4. Select the required encoding from the list available
5. The data will be changed according to the selected encoding.
7.34 Message Flow
Laying Out Message Flow
You can organize the activities added in the message flow using the button present in the
vertical toolbar of the message flow design area. If there are any overlapping activities in the
flow or any activity hidden by another activity they will be organized correctly when the layout
button is clicked. The layout button when used always ensures that the links do not cross each
other nor cut across any activity.
Adding Activities to Message Flow
The activities can also be added from the Explorer Tree pane, by dragging and dropping the
entity itself. Activity corresponding to the node dropped is created and name in the activity is
automatically filled.
www.volantetech.com
Volante Designer Release Notes
For instance, when a flow is dropped into the Message Flow Editor, an invoke activity is
created. Similarly, for every entity the corresponding activity is created. For few entities like
External/Internal Messages more than one activity is applicable. In such case, all applicable
activities are listed under the Options popup box.
www.volantetech.com
Volante Designer Release Notes
The Entities and the corresponding activities are listed below
Entity (Node in tree) Activity
External/Internal Message, External/Internal
Message Format
Parse, Serialize, Create, Phased Parse,
Phased Serialize, Batch Parse, Batch
Serialize
Validation Node Validate
Mapping Mapping
Flow Invoke
Report Report
Persistence Designer, Database Table Design,
Database Table Mapping
Persist
Queries Query
Processing Rules Process
Function Definition Custom
Web Service Client Web Service
Automatic Variable creation
When dropping, these activities press Ctrl key to create input and output variables for the
activity. Where possible, the Designer would either create or reuse existing variable as
input/output of the activity.
This option is not applicable for all the activities; activities such as Invoke and Many to Many
mapping activities which can have complex/multiple input and outputs do not support this
option. Note that, during drag and drop, the Ctrl key must be pressed only when dropping the
activity in the Message flow UI pane (and not while dragging).
Automatic Links
When a new activity is created (by drag and drop from Palette or tree), the newly created
activity is linked to an existing activity, if one of its ports is close by (see picture below). Normal
www.volantetech.com
Volante Designer Release Notes
links are created when the activities are placed next to the output port. When the new activity
is placed near the exception port, Exception link is created. These links are created to the
nearest port and only when the port is close enough active for a connection.
Inserting Activity
When a new activity is inserted in between two activities by dropping it on the link, the link is
broken and reconnected as an incoming and outgoing link to the new activity (see picture
below). During insertion, the activities are pushed down, thus giving enough space for the
newly added activity.
Deleting an Activity from the Message Flow Diagram
When an activity is deleted from the flow, the incoming and outgoing ports are automatically
connected by a link. That is, the activity preceding the activity that is removed is connected to
the next activity.
www.volantetech.com
Volante Designer Release Notes
Defining Label for Activities
The text you type under the Label textbox is displayed as the label of the activity. For activities,
that invoke other service elements (like Parse, Map etc), you can use following macros in the
label name.
%a
Expands to the name of the activity (Parse, Map etc).
%s Expands to the name of the service element invoked (message name,
mapping etc.)
%n Expands to the name of the service element invoked. The name is split into
multiple words based on camel casing and special characters. Example,
“BankToCustomer” is split as “Bank To Customer”
When the name of the node that is invoked has multiple words (in camel case), the %n macro
splits the name into words. For instance, when the name is given as ‘OrderCSV’, when %n is
used in the Label, then the given name appears as ‘Order CSV’.
When the activity calls a node dynamically (node name is formula), then the activity label is
suffixed by the term 'Dynamic'. For instance, a Parse activity that calls a Message dynamically
with a complex Dynamic Name or a formula function, then the name appears as ‘Parse
Dynamic’.
www.volantetech.com
Volante Designer Release Notes
Synthesize Label
Synthesize Label is to label an activity corresponding to the activity itself and the invoked node.
This is done using the macros %a %n. Hence every activity that calls a node is labeled after a
pattern: Activity name (%a) followed by the Node name (%n). The Synthesize Label is
applicable only for an activity that calls an entity. Synthesize Label is not applicable for
activities that do not call any entity. Hence, they are labeled with their respective Activity's
names. The Synthesize Label is applicable even on Message flows that were previously created.
The Synthesize Label intends to label the activity from a user point of view, though it may not
match the user expectations in few cases.
www.volantetech.com
Volante Designer Release Notes
7.35 Message Resources - Indexes
Message based resources are cached and loaded just once. Any modifications to the fields of
the returned object will be visible at other access points. All resources should be treated as
constants and the contents should not be modified.
Navigating the message resource using certain formula functions will be faster when the
message resources are indexed. Indexing the elements of a section based on a particular field
improves performance and makes the search quicker when you want to find matching
elements of that section based on the indexed field.
Let us consider a message where the field “CURRENCY CODE” is indexed as shown below.
Indexing the field makes the function SecFindFieldwithValue() & SecFindFirstFieldWithValue()
quicker when you want to find the matching elements based on the specified value of the
indexed “CURRENCY CODE” field.
7.36 Service Directory
Service Directory is a SWIFT directory that lists bank details specific to the payment services,
such as the participant's name, ID, Institution Name and role within the service. The Service
Directory file is available as the part of the Bank Directory Plus product. It cannot be ordered
separately and it is embedded in the Bank Directory Plus product.
Project Publisher
The ‘Project, Publisher’ tool is used to generate docs in HTML formats for the Project and its
child design elements, based on the selected template in the specified directory.
The docs are generated as multiple files with an index.html and an explorer as shown below.
www.volantetech.com
Volante Designer Release Notes
The explorer displays the contents of a project in the form of a tree structure just like the
Explorer window in the Designer. The icon represents an expandable node with child items
and you can click on it to expand the node. Likewise, the icon represents an already
expanded node and you can click on it to collapse the node. Clicking on the hyperlink of a
node, load the corresponding details page on the right window.
Follow the steps given below to generate HTML/PDF docs for the current project:
1. Change the ‘Project Publisher’ settings, if required.
2. From the Tool’s menu, select ‘Project Publisher’ menu item.
3. The ‘Project Publisher’ dialog will be displayed.
www.volantetech.com
Volante Designer Release Notes
4. Select the template from the Template combo based on which HTML/PDF docs have to be
generated.
5. Select the Output format in which docs have to be generated from the Output format
combo box, designer supports generating docs in HTML/PDF Output formats.
6. In the ‘Destination Directory’ text box, enter the directory in which the docs should be
generated.
7. Alternatively, you can click on the ellipsis button next to the text box to bring up the ‘File
Open’ dialog and select the directory.
8. Check the ‘Open generated documentation in the browser ’ check box, to immediately
open HTML/PDF docs after generation.
9. Click OK to start the generation of HTML/PDF docs.
Project Reference
Cartridge references allow you to refer from one cartridge to another cartridge so that the
entities defined in the referenced cartridge are accessible from the referencing cartridge. In a
project, both referencing and reference cartridge are accessible. A cartridge can be
referenced by many cartridges. Despite that, a cartridge will be loaded only once at any point
of time across the project.
Since only one instance of a cartridge is loaded at any point. Any changes made to a
cartridge within a project are immediately reflected in all cartridges that refer this cartridge.
There is no need to use refresh references or reopening the referring cartridge. This is referred to
as Live Referencing in projects.
When opening a cartridge in the project, the latest copy of the cartridge is always open from
the file system.
7.37 Analyze Project (beta)
The Analyze Project option in Tools menu enables to view the link between all executable
entities like Messages (Internal, External), Message Flows, Mappings, Reports, Function
definitions and Messages in Referenced Cartridges.
In the Analyze Project window, all the cartridges within the project are listed in the explorer
pane. Click a node and all the entities that calls (caller) and are called by (callee) are shown
in the UI pane.
www.volantetech.com
Volante Designer Release Notes
7.38 New Swift Resources
Volante extends its support for Swift resources in BankDirectoryPlus, Holiday, Holiday Service,
Time Zone and SEPARoutingV3 apart from already supported resources like currency codes,
country codes, IBAN Structure, BIC Directory, SEPA Routing and other resources like (BEI
Subtypes, ERI cutoff dates, swift-field-dictionary). For more details, kindly refer Swift Resources
document available at %Designer_Installation%\docs\Java\SWIFT.
BankDirectoryPlus is a SWIFT directory that lists institution identifiers recognized by the
financial industry,
For Example, Bank Identifier Codes, CHIPS UIDs, national clearing codes, and LEI codes. It
also provides the names and addresses of the corresponding entities.
Holiday resource lists out the holidays for SWIFT operational countries.
Holiday Service lists out service holidays for SWIFT operational countries.
Time Zone contains information about the local time difference in relation to GMT, and on
the start and end dates for standard time and daylight saving time (if applicable).
Volante supports a new version of SEPARouting (version 3) along with the old version. The
support of the new version is because of structural changes in SEPARouting resource file
from Swift. This resource lists out financial institutions and the related BICs that are eligible for
receiving SEPA payment instructions, the institution's scheme(s) participation and the
European Payments Council (EPC) adherence status, and the list of payment channels
through which the institution is reachable.
7.39 An XML - Allowed named groups to be flattened
This option provides a back-compatibility option which would restore the 4.x behavior of
allowing the named groups (groups that are provided a name in the XSD, as opposed to
anonymous groups that are not named in the XSD) to be flattened (provided other pre-
requisites were satisfied by the group).
www.volantetech.com
Volante Designer Release Notes
Flattening named groups leads to other issues, since named groups can be referenced/reused
from multiple schema locations. When this option is disabled, the message structure might
change between Volante 4.x and Volante 5.0.x and hence mapping will be broken. Though
4.x way of flattening has other problems and is not recommended, the backward compatibility
option would help migrate maps.
Note: This option is enabled by default when a message created in Volante Designer 4.x is
imported in Volante Designer 5.0.3
Follow the below steps to enable 4.x compatibility option.
1. Import an XML message that was created in Volante Designer 5.x or 5.0.x.
2. Click on the Reconfigure Schema icon present in the external format UI tool bar.
3. Click Next until the Schema Import Options wizard appears as shown below
4. Enable the “Allow named groups to be flattened (check for 4.x compatibility)”
option and click Next until Finish.
5. Click on the “Finish” button and Update the field structure.
6. The message structure is now same as 4.x. That is the named groups are flattened.
7.40 Variables in Generate Query SQL
The Query SQL that is populated when using Generate Query is editable. The following
www.volantetech.com
Volante Designer Release Notes
parameters are editable in that SQL statement:
The boundary condition that is defined before the field variables
The tablename
The condition (which is also called the varclass).
The boundary limit in the above Query is defined as ‘LIMITS $start $end’. The start and end
variables are defined under parameters and the boundary values are always prefixed by
‘LIMITS’.
The table name is PainMsgDB which can be edited to any name. This name can be used
anywhere throughout the table in the database.
The condition ‘PainMsgDB.InitiatingParty = $Party’ that is generated using Generate Query
button can also be edited. The varclass conditions can be modified according to the
Query's requirement.
7.41 Include Dependencies using targetDir
For ANT
The targetDir is to redirect the dependent jars for the executing cartridge to a desired location.
The targetDir is a string for which any desired location where the jars are expected to get
copied can be given. The jars that get copied depends upon the includeDependencies
attributes which is of Boolean type. For the jar files to be copied to the targetDir,
includeDependencies is to be “True”. For instance, the dependent jars would be the cartridges’
jars, the plugin jars and transformrt.jar. When includeDependencies is “False” only the
cartridges’ jars are redirected to the targetDir, the plugin jars and other dependents jars are
www.volantetech.com
Volante Designer Release Notes
not copied. This feature is applicable also for projects. The attributes are defined as follows in
the build.xml
<CGTask platform="java" includeDependencies="True" targetDir="D: \TargetLoc"
cartridge="${cart.dir}./MessagesAndFlows.car" home="${designer.home}"></CGTask>
For Maven
The targetDir is to redirect the dependent jars for the executing cartridge to a desired location.
The targetDir is a string for which any desired location where the jars are expected to get
copied can be given. The jars that get copied depends upon the includeDependencies
attribute which is of Boolean type. For the jar files to be copied to the targetDir,
includeDependencies is to be “True”. For instance, the dependent jars would be the cartridges’
jars, the plugin jars and transformrt.jar. When includeDependencies is “False” only the
cartridges’ jars are redirected to the targetDir, the plugin jars and other dependents jars are
not copied. This feature is applicable also for projects. The attributes are defined as follows in
the build.xml
<configuration>
<home>${designer.home}</home>
<targetDir>${basedir}\DepLoc</targetDir>
<includeDependencies>true</includeDependencies>
<cartridges>
<directory>${basedir}</directory>
</cartridges>
</configuration>
7.42 New toolbar actions
New icons to build and configure project is now available in the toolbar.
When only a project is opened, only the icons corresponding to project will be enabled.
When only a cartridge is opened, only the icons corresponding to cartridge will be enabled.
When both the project and cartridge within the project is opened, all the icons will be
enabled.
7.43 Switch Window
WindowSwitch Window option enables to switch between the opened cartridges, projects,
cartridges within the projects (opened in the current window or a new window), simulator,
pane (message pane, error pane, etc.,) in the same instance of Volante designer.
www.volantetech.com
Volante Designer Release Notes
The Switcher pop-up opens, that has the list of all the elements. The desired element can be
chosen from the switcher pop-up, using the arrow keys (up, down, right, left) or also using the
mouse. The cartridges within a project that are open and the recently closed cartridges are
also listed. The open cartridges are in active state and the closed ones are greyed out.
7.44 Task Window
The WindowTask Window option enables to view the tasks executed in the Volante
designer’s background.
The status of the tasks is seen using a progress bar. The Task Window helps to cancel the
execution abruptly whenever required. Tasks like code generation, find in path can be viewed
in the Task Window.
www.volantetech.com
Volante Designer Release Notes
The Task Window can also be obtained using the Background Tasks button in the status bar of
Volante designer.
7.45 Resolve Cartridge References
‘Resolve Cartridge References’ identifies, updates the reference cartridge's location in main
cartridge and then saves the changes, when there is any change in the reference cartridge's
location.
The message will be displayed as shown below in the message window after using the Resolve
Cartridge Reference option. The ‘Resolve Cartridge References’ help to reduce the time taken
to build the prebuilt project.
www.volantetech.com
Volante Designer Release Notes
7.46 OSGi options
OSGi options help to generate the OSGi bundle or OSGi subsystem for the project.
The OSGi options provide a way for combining a number of bundles in a single deployable file.
This will be useful in applications that have a large number of bundles. By combining the
bundles, a single deployable file is created thereby simplifying the process of deployment.
In the designer, the OSGi options are available in the Target Platform tab of Project Code
Generation Settings under the Build menu.
OSGi options are classified into three categories as shown below. Select the required option
and to include dependencies (plugin jar and core jars that include generalutils, transformrt,
volante-client, volante-osgirt and resourcemanager) check the Include Dependencies check
box.
None
This is the default option. When this option is used, on code generation no jar for the whole
project will be generated.
OSGi bundle
When this option is used, for code generation, a jar file for the entire project will be
generated. This single bundle can now be deployed in the OSGi framework.
OSGi Subsystem
When this option is used, on code generation, an esa file for the entire project will be
generated. This esa file can now be deployed in any Subsystem Implementation.
www.volantetech.com
Volante Designer Release Notes
7.47 Service Bus option
Service Bus Options allow include or exclude dependencies in an ALSB jar as required
Select “Service Bus” check box, if you require a merged ALSB jar that includes (cartridge Jar(s),
referenced cartridge Jar(s) and required standard Jar(s)) for deployment under a Service Bus.
If Service Bus is selected, then it will generate %Cartridge Name%-alsb.jar under alsb folder
within a java folder. Options button allows to select Application jar and Dependencies jar. This
can be done in both cartridge and project level.
The Service Bus Options has,
1. Application Jar
2. Include Dependencies
By default, both the options will be checked
www.volantetech.com
Volante Designer Release Notes
Application jar
If a cartridge with ‘Application jar’ checked in ‘Service Bus Option’ is code generated, then it
will have merged ‘Application jar’ and ‘Volante runtime jars’.
Include Dependencies jar
If cartridge with both ‘Application jar’ and ‘Include Dependencies’ checked in Service Bus
Option is code generated, then it will have merged (Application jar, volante/runtime jars and
cartridge jar, referenced cartridge Jar(s) and required Dependencies Jars).
If a project has Service Bus option checked, then the generated merged application jar will
contain the jars of only those cartridges that have the Service bus option checked in their
code generation settings.
Note: This feature has been updated in 5.1.0 release. Refer to the updated Service Bus/Generic
Application.
7.48 Orphaned Maps
When the fields in destination message are deleted, then the mappings that are assigned to
the deleted field will be moved to orphaned maps. This is also applicable when fields are
renamed via XSD reimport or via message upgradation etc. If fields are manually renamed, the
mapping is not lost and hence this is not applicable.
Without clearing the entries present in orphaned maps dialog box, the designer will not code
generate the cartridge. Instead, it will throw appropriate errors and these will be shown in the
error pane.
This will ensure that mappings are not lost due to change in destination message structure.
www.volantetech.com
Volante Designer Release Notes
Following are the options to clear the maps present in orphaned maps dialog box
‘Delete’ icon will remove the selected maps in an orphaned Maps dialog box.
www.volantetech.com
Volante Designer Release Notes
’Delete all’ icon will remove all the maps in orphaned maps dialog box and allow to
code generate the cartridge.
’Reapply mappings’ will allow the user to restore mapping if the corresponding fields
are present in destination message.
The orphaned Maps dialog allows renaming the source and destination field, if the user
needs to reapply the mapping to another field in the source or destination fields.
7.49 Message Resource
Message Resource option helps to create an object (with fields populated) of type predefined
internal message. This option is available in the Resource design element.
Designer supports two types of message resource.
Simple type
List type
Adding a simple message resource
When the List check box is unchecked, a simple internal message object can be created.
Once you have added a new message resource, you can edit the message resource under
the Value column. Double click on the Value column and clicking the browse button opens
the Enter Message window. The UI contains the exact fields/sections as defined in the Internal
Message to whom constants may be provided as values.
For Example, consider the below Message Resource in which the values are entered. Here, the
element “SalesDepartment” is a repeating section. On selecting the Add New Element
button, a new instance of the section “SalesDepartment” will be created. Using the Up/Down
arrow buttons one can switch between various instances of the section. To delete the current
instance of the section, delete current element button is used.
www.volantetech.com
Volante Designer Release Notes
Once the values are entered and Ok is selected, an internal message object gets created in
the value column.
Adding a List type message resource
Collection of message resource can be entered when the list, check box is enabled while
creating the message resource. When the list is enabled, Add New Element, delete current
Element, Move Selection Up/Down arrow buttons appears near the message name as shown
below.
In the above example, two instances of a message resource are created and values are
entered. The internal message object for List is as shown below.
www.volantetech.com
Volante Designer Release Notes
It is generally expected to use the UI to modify the value. But if the text is changed
manually in the object, whatever is correct is used and the rest is ignored. If it is an ill
formed XML, the behavior is unspecified. Hence, it is recommended that these values
are modified using the appropriate UI.
Using a message resource
Once the message resource is defined in the Resources UI, it is available globally. This means it
can be used from any design element of the cartridge just by using the name of the resource
item. The resource name is substituted with its value wherever it is used.
To use a message resource item, for e.g. in formula, you can select it from the ‘Resources’ tab
of the Edit Formula dialog and then click on the Insert button. If you move the cursor over the
resource item when CTRL is pressed, a tool tip will pop up as shown below with its type and
description.
www.volantetech.com
Volante Designer Release Notes
In the above example, rsrcObj is an object of type Internal Message ‘intmsg’. This can be used
in any formula code as if the object is available locally. To access any field inside it, the usual
formula language rules apply. Hence, to access any child field, use the ‘.’ operator.
For Example, to access the field, ‘Organization’, specify rsrcObj.Organization. To access a
particular element of a section inside the resource object, use the array index operator ‘[]’.
For Example, to access the field ‘Contact Person’ in the second instance of ‘SalesDepartment’,
specify ‘rsrcObj.SalesDepartment[1].ContactPerson’.
The resource rsrcObjList is a collection of objects. Each object is of type Internal Message
‘intmsg’. To access any field inside, first the corresponding object has to be accessed. Use the
array index operator as described above for that purpose.
For Example, rsrcObjList[1] accesses the second object in rsrcObjList. Then to access any field
inside the object, the rules described above have to be followed.
For Example, rsrcList[1].HeadQuarters.
www.volantetech.com
Volante Designer Release Notes
Message Integration Guide (MIG)
The Message Integration Guide is a tool to generate message structure which includes
message elements, detail description and its validation rules. It is generated in HTML Format. It is
used to verify the message is according to the specification. MIG is generated using Generate
MIG Option present under the Tools Menu (Tools Generate MIG…) and also it can be
generated in Message level and Validation Level.
Message Details contain the overview of the message.
The Message Implementation Guide helps the user to create a valid message to send &
receive. It simplifies the basic validations of each element. The validations entered are
identified as shown below,
Name Appears either in Validation rule
name column /Rules column
Symbol & Colour
Formula Rules column No symbol & Colour
Comments Rules Column No symbol & Colour
Action message Rules Column No symbol & Colour
Mandatory
Validation rule name
Mandatory (applied for
optional field /section)
Validation rule name
Not Used
Validation rule name
Not Allowed
Validation rule name
Bilaterally Determined
Validation rule name
Guideline
Rules column
No symbol & Colour
Enumeration Rules column No symbol & Colour
Choice Field/Section Validation rule name Xor & No colour
a. Select the External Message for which MIG need to be generated, Select Tools
Generate MIG. from the menu to open generate MIG dialog box.
b. To Generate MIG dialog box, select “Open generated documentation” check box to
open the generated MIG.
www.volantetech.com
Volante Designer Release Notes
7.50 Enhancement in Search
Find Symbol
To search for an entity name (Cartridge name, Message Flow name, Mapping name, Function
name and Message name) in the Project using select Search Symbol menu item
For this, you can alternately use the shortcut key Ctrl+Shift+Y to search the symbol.
Find Service Element
To search for an entity name (Message Flow name, Mapping name and Message name) in the
Project is using search (Service Element menu item or using the shortcut key Ctrl+Shift+S.
Find Cartridge
To search for Cartridge name, Project using Select Search Cartridge menu item or using the
shortcut key Ctrl+Shift+C.
Find Function
To search for a Function name Project using Select Search Function menu item or using the
shortcut key Ctrl+Shift+F.
XML Parser option - xml.value.linefeed
Using xml.value.linefeed option you can specify the linefeed to be used for multi-line values
while parsing from XML. This applies to parsing XML plugin messages and normalized objects.
Note that only “\r\n” or “\n” can be used as linefeed where “\n” is the default linefeed. Using
any other string will not be appropriate. The designer will not validate the
correctness/applicability of linefeed specified. This option can be set in the Options tab of
Parse Activity.
www.volantetech.com
Volante Designer Release Notes
For Example, consider a SWIFT message in serialized in xml format with multi-line values
separated by “\r\n”. When this message is parsed, line feeds within an element value (\r\n) is
normalized to \n as per the XML specification. Since SWIFT requires that \r\n be used for
separating multi-line values (and not \n), when this message is serialized to SWIFT it would result
in an error. To solve this, set the xml.value.linefeed option as “\r\n”. The parsed object will be
serialized successfully as it contains “\r\n” as linefeed for multi-line values.
7.51 XML Serialize - 'namespace.prefix' option
The serialize option 'namespace. Prefix' lets you control the prefix to be used in a namespace
during serialization. This option would override the prefixes specified (if any) at Design time.
Syntax
<namespace1>=<prefix1>[;root],<namespace2>=<prefix2>[;root]
Where
namespace - The namespace for which prefix needs to be set. E.g. ‘http://www.any.com’
prefix - Preferred prefix for the namespace. Use ‘targetnamespace’ to refer to no prefix option.
[;root] - set this option to make the serializer specify the prefix binding at the root of xml.
Otherwise, it would be specified where the namespace is first used.
Example:
http://www.any.com=targetnamespace;root
Note:
The prefix specified in the options pane of the Serializer, overrides the prefixes specified at
Designer time. If no prefix is specified, the Serializer synthesizes prefixes such as ns1, ns2 etc.
This option can be set in the Options tab of Serialize activity.
www.volantetech.com
Volante Designer Release Notes
When to use:
Consider multiple batch messages embedded in a single message. If we wish to specify
namespace prefix as “targetnamespace” for more than one message type, it is not possible at
Design time because only one of the message type can have the “targetnamespace” as
prefix. Since each prefix can be mapped to only one namespace. In such case, the
namespace can be specified during serialization using the namespace.prefix option based on
the message type.
7.52 SWIFT – User header tags
As per SWIFT specifications new tags are introduced for user header (block 3 of a SWIFT
Message).
The fields that are marked in red are newly added optional fields.
User Header Balance checkpoint date and time
User Header Message Input Reference
User Header Related Reference
User Header Receiver Information
www.volantetech.com
Volante Designer Release Notes
Field Name Tags Example
Balance checkpoint date and time 423 {423:120601022745}
Message Input Reference 106 {106:010605VNDZBET2AXXX0017000375}
Related Reference 424 {424:123456}
Receiver Information 433 {433:/NOK/ScreeningInformation}
Using the updated User Header
When you import a new SWIFT message from the message library to your cartridge, the
message would contain these additional tags in user header.
For existing messages (that have already been imported), you need to update the header
as shown below.
Updating Existing Message
The External Format - SWIFT (Header) UI shows the pre-defined fields as per the Header/Trailer
option chosen during creation of SWIFT message, the user has the option to choose SWIFT Input
/ SWIFT Output / SWIFT Input/output / FICC Header (Custom Header) / None, when creating
the SWIFT external format.
When you choose SWIFT Input / SWIFT Output / SWIFT Input/output option, the Header and
Trailer panel has the following fields for a SWIFT external message format and also Basic Header
User Header is the common section for all the above formats.
SWIFT Input – Basic Header, Application Header Input, User Header
SWIFT Input/output - Basic Header, Application Header Input, Application Header Output,
User Header
SWIFT Output - Basic Header, Application Header Output, User Header.
www.volantetech.com
Volante Designer Release Notes
7.53 Enhancements to Project
The following enhancements were made to project.
a. Error Pane
When a design element in the cartridges of the project is validated, the validation errors and
warnings are listed in the Error pane and facilitates to Navigate to the error elements in the
cartridges of the project from the Error pane.
b. Find
Searches for an item of interest in a design element of project based on the text contained in it.
The designer provides the search feature through its Find, Find Next and Find in Path
commands.
Find- Searches the required elements in the project node based on the search settings that
were specified in the Find dialog.
Find in Path - List the matching items of all nodes in the project, based on the search settings
that were specified in the Find in Path dialog.
www.volantetech.com
Volante Designer Release Notes
c. Project Debug
Entire Project, which contains one or more cartridges, Reference Cartridges, flows and
Mappings can be debugged.
Project Debug includes breakpoints, watch expressions, and the ability to step through
code/model one statement or one procedure at a time and display the values of variables
and properties.
www.volantetech.com
Volante Designer Release Notes
‘
dialog, should be enabled before code generating the Project. If this option is enabled, all the
cartridges in the project will be built with debug info included.
You need to do a rebuild after applying this option for the first time.
www.volantetech.com
Volante Designer Release Notes
d. Project Level Break points
In break point tab user, can Add/Remove Breakpoints for one or more cartridges, an activity in
a message flow, line of code in functions, Messages, a validation rule or a mapping in the
Project at which Designer automatically suspends execution.
While executing a Project under Debugger, Break Point will stop the execution and User can
investigate the line of code in detail.
e. Project Changelog
Maintains the log, whenever changes made to any nodes in the project. To add/edit/view the
‘Change Log’ window, click on the Change Log link displayed in the ‘Getting Started’ pane of
Designer when a project is open.
7.54 Simplified procedure to enter Validation
Adding commonly used validations in Volante Designer such as making a field/section
mandatory or checking for null value or adding enumerations for a field have been simplified.
a. Select the External Message, Right click on a section/Field, select Find Validation from
the context menu. Validation Rules UI will appear in grid view.
b. Right click on the particular field/section in the Validation Rules UI window and select
Validations option to view the list of validation types.
www.volantetech.com
Volante Designer Release Notes
c. The below table details the usage of all Validation types.
Validation Type Applicable Description
Mandatory All fields and sections The particular field/section
should appear.
NotAllowed All fields and sections The presence of particular
field/section is not allowed.
NotUsed All fields and sections The field/section may or may
not appear, if it appears it is
not considered.
Bilaterally Determined All fields and sections The field/section may/may not
appear, if it appears client will
decide how to use it.
Guideline All fields and sections It is more of a
recommendation indicating
how to use the field/section.
Enumeration All data types Set of values applicable to the
field.
d. Also, filter icon can be used to filter the fields for which validations are done.
www.volantetech.com
Volante Designer Release Notes
8 Volante Designer 5.4.0 - Supported Platforms
Servers Versions Supported Java Version
JBOSS AS
7.1.1 1.7
7.0 1.7
6.4 1.7
6.0 1.6
Apache-Tomcat 9.0.5
9.0.0
1.8
1.8
8.0.14 1.7
7.0.35 1.7
6.0.35 1.6
IBM-Websphere 8.5 1.6
8.0 1.6
7.0 1.6
ORACLE-Weblogic 12c (12.1.1) 1.6
11g (10.3.6) 1.6
OSB (Oracle Service Bus) 12c (12.2.1) 1.7
12c (12.1.3) 1.6
11g (11.1.1.3) 1.6
IBM-WMB(WebSphereMessageBroker) 7.0 1.6
IIB (IBM Integration Bus) 10.0.0.4 1.7
9.0 1.6
IBM-WebSphereMQ 8.0 1.7
7.5.0 1.7
7.0.1 1.6
Camel 2.19.4
2.19.2
1.8
1.8
2.18.2 1.8
2.17.1 1.7
2.16.2 1.7
2.15.0 1.7
2.14.0 1.7
2.13.2 1.7
2.11.1 1.7
2.10.6 1.7
Mule
mule-standalone 3.9.0
3.8.3
1.8
1.8
3.7.0 1.7
3.5.0 1.7
AnypointStudio 6.4.2
6.3.0
1.8
1.8
www.volantetech.com
Volante Designer Release Notes
6.2.1 1.8
6.1.2 1.8
6.0.1 1.8
5.4.0 1.8
5.3.0 1.7
4.0.0 1.7
Spring
SpringSTS(SpringTool Suite) 4.0.4 1.7
Spring 3.6.0 1.7
OSGi - Equinox 3.13.0 1.8
3.12.0 1.7
3.11.0 1.7
3.10.2 1.7
3.8.2 1.7
3.7.2 1.7
OSGi - Karaf 4.1.2 1.7
4.0.8 1.7
3.0.5 1.7
2.4.0 1.7
2.3.9 1.7
OSGi – Felix 5.6.10
5.6.8
1.8
1.8
5.4.0 1.7
4.0.2 1.7
OSGi- Knopflerfish 4.0.1 1.8
3.6.0 1.7
3.2.0 1.7
MongoDB driver 3.2.0 1.7
MongoDB Database 3.4.6 1.8
3.0.0 1.7
Build Tools Versions Supported Java Version
MAVEN 3.5.2
3.5.0
1.8
1.8
3.3.9 1.8
3.2.3 1.7
3.0.4 1.7
ANT 1.10.1 1.8
1.9.7 1.8
1.7.1 1.6
©All rights reserved
ww
w.v
ola
nte
tec
h.c
om
Volante Designer Release Notes
Operating Systems Version Tested
(DesignTime & Runtime) Java Versions
MAC - OS/X 10.13.3 (mac OS High
Sierra) 1.6
1.7
1.8
10.11.6 (OS X El Capitan) 1.6
1.7
1.8
Redhat LINUX 7.0 (Maipo) 1.6
1.7
1.8
6.0 (Santiago) 1.6
1.7
1.8
Fedora
23 1.7
21 1.7
20 1.7
Solaris
11 Runtime:1.6,
1.7, 1.8
10 Runtime:1.7
Windows
10, 8.1, 8.0, 7.0 Runtime:
1.5,1.6, 1.7, 1.8
Designer: 1.6,
1.7, 1.8