All Projects → prowide → prowide-iso20022

prowide / prowide-iso20022

Licence: Apache-2.0 license
Comprehensive business model and parser for all ISO 20022 messages

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to prowide-iso20022

Buildjar
通用的打包jar gradle插件
Stars: ✭ 147 (+96%)
Mutual labels:  jar
ficam-playbooks
The Federal Identity Credentials and Access Management program publishes guides and playbooks to help U.S. federal executive agencies implement, maintain, and modernize identity management systems.
Stars: ✭ 30 (-60%)
Mutual labels:  pacs
gulp-html
Gulp plugin for HTML validation, using the official Nu Html Checker (v.Nu)
Stars: ✭ 70 (-6.67%)
Mutual labels:  jar
Xresloader
跨平台Excel导表工具(Excel=>protobuf/msgpack/lua/javascript/json/xml)
Stars: ✭ 161 (+114.67%)
Mutual labels:  jar
legit
NodeJS library for checking MX records exist on a domain
Stars: ✭ 110 (+46.67%)
Mutual labels:  mx
Liberg
A high-performance and lightweight suites for spring-boot-based web developing.
Stars: ✭ 43 (-42.67%)
Mutual labels:  jar
Jcoder
Java Dynamic code or JAR , publish you Api or Schedule in flying
Stars: ✭ 137 (+82.67%)
Mutual labels:  jar
iso20022
Enabling ISO 20022 standards in the Go programming language
Stars: ✭ 47 (-37.33%)
Mutual labels:  iso20022
ASkyBlock
Rebranded and rebased version of ASkyBlock for NukkitX Minecraft Bedrock Edition!
Stars: ✭ 38 (-49.33%)
Mutual labels:  jar
game sdk
Unity游戏接入外部sdk框架
Stars: ✭ 22 (-70.67%)
Mutual labels:  jar
Universaljavaapplicationstub
universalJavaApplicationStub - an alternative Application launcher script for Java based macOS Apps that works with both Apple's and Oracle's PList format and supports the old Apple Java 6 as well as all the latest Oracle/OpenJDK/Adopt/Corretto JRE's/JDK's. Plus it supports drag&drop to the Dock icon 🎉
Stars: ✭ 174 (+132%)
Mutual labels:  jar
Swipeactionadapter
The Mailbox-like Swipe gesture library for Android
Stars: ✭ 217 (+189.33%)
Mutual labels:  jar
resource-loader
Getting files out of a JAR or loading a shared library is difficult. We made it easy.
Stars: ✭ 15 (-80%)
Mutual labels:  jar
Java Markdown Generator
Java library to generate markdown
Stars: ✭ 159 (+112%)
Mutual labels:  jar
FatJar
a gradle plugin to pack modules and jars into a single jar
Stars: ✭ 55 (-26.67%)
Mutual labels:  jar
Java Rpg Maker Mv Decrypter
You can decrypt whole RPG-Maker MV Directories with this Program, it also has a GUI.
Stars: ✭ 142 (+89.33%)
Mutual labels:  jar
PocList
Alibaba-Nacos-Unauthorized/ApacheDruid-RCE_CVE-2021-25646/MS-Exchange-SSRF-CVE-2021-26885/Oracle-WebLogic-CVE-2021-2109_RCE/RG-CNVD-2021-14536/RJ-SSL-VPN-UltraVires/Redis-Unauthorized-RCE/TDOA-V11.7-GetOnlineCookie/VMware-vCenter-GetAnyFile/yongyou-GRP-U8-XXE/Oracle-WebLogic-CVE-2020-14883/Oracle-WebLogic-CVE-2020-14882/Apache-Solr-GetAnyFile/F5…
Stars: ✭ 1,004 (+1238.67%)
Mutual labels:  jar
bcomp-extended
Emulator of basic computer
Stars: ✭ 21 (-72%)
Mutual labels:  jar
LAN-Messenger
Official open-source repository for LAN Messenger
Stars: ✭ 17 (-77.33%)
Mutual labels:  jar
GradleMavenPush
Helper to upload Gradle Android Artifacts, Gradle Java Artifacts and Gradle Kotlin Artifacts to Maven repositories (JCenter, Maven Central, Corporate staging/snapshot servers and local Maven repositories).
Stars: ✭ 21 (-72%)
Mutual labels:  jar

alt tag

Prowide ISO 20022 is an open source Java framework for managing ISO 20022 messages.

This project is a complement for the Prowide Core library: https://github.com/prowide/prowide-core

What's included?

  • Java model for ISO 20022 MX (for example: pacs.008.001.02, for all ISO 20022 message categories and types)
  • Parser from ISO 20022 XML into Java
  • Builder API from Java to ISO 20022 XML
  • Conversion to/from JSON

For SWIFT messages validation, restricted ISO versions (such as SEPA, CBPR+, TARGET), GUI application and more, please check our complementary commercial offerings at https://www.prowidesoftware.com/

Documentation

Distribution

Latest public binary DOWNLOAD is available at https://dev.prowidesoftware.com/SRU2022/getting-started/download-iso20022/

SRU updates are made available in October (one month before SWIFT production date) for the public, and 6 months in advance for subscribed customers.

License

Apache License 2.0

SWIFT is a trademark of S.W.I.F.T. SCRL. (www.swift.com)

Dependencies

This project depends on https://github.com/prowide/prowide-core

The project also needs the javax.xml.bind in runtime. Until Java 8 this package is part of the JDK. If you use Java above 8 you might need to activate the required modules in the JDK; or add these dependencies (or an equivalent implementation) to your application:

implementation 'javax.xml.bind:jaxb-api:2.3.1'
implementation 'com.sun.xml.bind:jaxb-impl:2.3.3'

Build

For better build performance, local configurations can be setup in a gradle.properties file such as:

org.gradle.jvmargs=-Xms512m -Xmx7g
org.gradle.parallel=true

Run ./gradlew idea or ./gradlew eclipse to generate local settings and reload the project in your IDE

To compile and test all modules: ./gradlew build

Modules

The project is huge because it contains the complete set of jaxb generated the project is divided into multiple subprojects though as follows:

  • iso20022-core: main common code and base classes for all modules, including API for headers
  • model-common-types: common business types dictionary for many message categories
  • model-[category]-mx: the Document classes for each specific category (entry point for each message type)
  • model-[category]-types: business types dictionary for each specific category

The dependencies being:

iso20022-core
  \-- model-common-types
model-[category]-types
  \-- model-common-types
model-[category]-mx
  +-- iso20022-core
  +-- model-[category]-types
  \-- model-common-types

Artifacts

The root project creates an uber jar named pw-iso20022-SRUYYYY-version.jar with the library API for all ISO20022 message categories: pacs, camt, xsys, sese, etc... So if you need to process many message types, or you want to keep your dependencies simple, you can just take the single jar output. This is also the jar published in Maven Central.

If instead of depending on the uber jar you want to have a subset of the library for some message types you can just take the base and common jars and the specific category modules. For instance to use ony the pacs and camt messages, you need:

  • iso20022-core -> pw-iso20022-core-SRUYYYY-version.jar
  • model-common-types -> pw-iso20022-common-types-SRUYYYY-version.jar
  • model-pacs-mx -> pw-iso20022-pacs-mx-SRUYYYY-version.jar
  • model-pacs-types -> pw-iso20022-pacs-types-SRUYYYY-version.jar
  • model-camt-mx -> pw-iso20022-camt-mx-SRUYYYY-version.jar
  • model-camt-types -> pw-iso20022-camt-types-SRUYYYY-version.jar

In this case, you can run the following commands:

./gradlew :iso20022-core:jar

./gradlew :model-common-types:jar

./gradlew :model-pacs-mx:jar

./gradlew :model-pacs-types:jar

./gradlew :model-camt-mx:jar

./gradlew :model-camt-types:jar

This will create individual jars in each module folder, so you can use each lib as needed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].