Swiftmtmx Development Documentation
1. Project Overview
Swiftmtmx is a Java-based application for processing SWIFT MT messages and transforming
them into ISO 20022 formats. The system automates parsing, validation, transformation, and
reporting to ensure compliance with CBPR+ and SWIFT standards.
Objectives:
Efficient MT message processing (MT103, MT202, etc.)
Conversion to ISO 20022 PACS and CAMT formats
Real-time dashboard for monitoring and management
Compliance with SWIFT and regulatory standards
2. Key Features
Feature Description
Message Parsing &
Parse MT messages, validate fields, and report errors.
Validation
Message Convert MT messages to ISO 20022 (pacs.008, pacs.009, camt.056),
Transformation including remittance and regulatory info.
Scheduler &
Automated processing with retry logic; independent of user session.
Automation
Real-time monitoring, quick actions (process/delete/report), display
Web Dashboard
of last processed files.
Security &
Role-based access, session checks, and audit trails.
Authorization
Database Management Stores transactions, processed files, and supports reporting.
3. Architecture Overview
Components:
Frontend: JSP dashboard using Bootstrap.
Backend: Spring Boot, Java 1.8+, service layers, scheduled tasks.
Persistence: Hibernate ORM, supports H2/MySQL/PostgreSQL.
Messaging Layer: MT parser, ISO 20022 generator, schema validator.
Scheduler: Spring @Scheduled tasks for periodic processing.
Logging/Reporting: SLF4J/Logback; day-wise, month-wise, and custom reports.
Diagram Placeholder:
4. Controllers & Services
Controllers
Controller Responsibilities
MessageController Upload, view, delete, and transform messages.
DashboardController Show live counts, running processes, last processed files.
AdminController Execute DB commands, manage users, restricted to admin role.
Services
Service Responsibilities
MessageProcessingService Parse MT messages, map to ISO 20022, handle errors/logging.
FileProcessingService Scan input folders, process files, archive processed files.
SchedulerService Schedule background tasks for file processing.
ReportService Generate daily, monthly, or custom reports.
UserService Authentication, session handling, authorization.
5. Database Schema
Tables:
1. Transactions
o id, message_type, amount, beneficiary, sender, status, processed_at
2. Files
o id, filename, creation_time, processed_time, status
3. Users
o id, username, password_hash, role
6. Other Activities
Testing
o Unit and integration tests for parsing, transformation, and full workflow.
Logging
o Comprehensive logging for errors, user actions, and system processes.
Error Handling
o Retry mechanism, error notification, and logging for failed messages.
Documentation & Maintenance
o Developer guide, configuration instructions, and code comments.
7. Workflow Diagram
Steps:
1. File uploaded / received in input folder
2. Scheduler picks up the file
3. FileProcessingService parses MT messages
4. MessageProcessingService validates and maps to ISO 20022
5. Processed messages stored in DB
6. Dashboard updated with status and counts
7. Reports generated on demand or scheduled
8. Files archived
8. Security & Authorization
Role-based access (Admin vs User)
Session validation
Restricted actions for Admin only (e.g., DB execution)
Audit trail for all actions
9. Future Enhancements
Support additional MT types (MT205, MT900/910)
Real-time notifications for failed or delayed messages
Advanced analytics for compliance and transaction trends
10. Development and Working steps
Login screen:
Admin Home Screen:
Scheduler Status:
Schedule Status: Running
Swiftmtmx Log
Folder Structure:
MT Message Folder Contain
MX: Ready for Swift
Sample MT202
MX : PACS009