+ All Categories
Home > Documents > Volante Designer Release Notesdownloads.volantetech.com/Releases/R500B1400/documents/Release... ·...

Volante Designer Release Notesdownloads.volantetech.com/Releases/R500B1400/documents/Release... ·...

Date post: 06-Apr-2018
Category:
Upload: buituong
View: 277 times
Download: 10 times
Share this document with a friend
133
Volante Designer Release Notes Version 5.4.0 Build 1640 Volante Technologies Release Date: Feb 24, 2018
Transcript

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

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


Recommended