span-services-docs/README.md

204 lines
6.5 KiB
Markdown
Raw Normal View History

2025-11-25 14:29:58 +00:00
# Service baru span
![LLD https://drive.google.com/file/d/1f5cD50FPyEsGLyQkgrI036Uenr9uPxdt/view?usp=drivesdk](service-baru-span.drawio.png)
## Overview
Perubahan meliputi:
- porting span-gateway, span-user-api, dan span-token-api dari jar-based deployment ke WebLogic 12C
- membebaskan BIGEBBRIDGE dari SoapUI
- memecah fungsi sign dan verify dari BIGEBBRIDGE dan integrasi.js menjadi proyek baru skdramd4j
- porting soa_ftp dari Node ke WebLogic
yg artinya sunsetting:
- 2 NodeJS (integrasi.js dan SOA_FTP)
- 4 jar-based deployment (span-gateway, span-user-api, span-token-api, dan BIGEBBRIDGE)
menjadi:
- 6 deployment WebLogic (<!--
-->[skramd4j](http://10.216.99.57:3000/SPAN-Enhancement/soa_security), <!--
-->[soa_ftp](http://10.216.99.57:3000/SPAN-Enhancement/soa_ftp), <!--
-->[span-gateway](https://repo.radiusdata.id/SpanPhase2/span-gateway), <!--
2025-11-30 09:13:36 +00:00
-->[span-user-api](https://repo.radiusdata.id/SpanPhase2/span-user-api), <!--
-->[span-token-api](https://repo.radiusdata.id/SpanPhase2/span-token-api), <!--
2025-11-25 14:29:58 +00:00
-->[BIGEBBRIDGE](http://10.216.99.57:3000/SPAN-Enhancement/BIGEBBRIDGE))
2025-11-26 08:13:00 +00:00
> [!note]
2025-11-30 09:13:36 +00:00
> Link repo diatas. Untuk UAT:
> Branch SOA_UAT di setiap repo:
> - skramd4j / soa_security http://10.216.99.57:3000/SPAN-Enhancement/soa_security/src/branch/SOA_UAT
> - soa_ftp http://10.216.99.57:3000/SPAN-Enhancement/soa_ftp/src/branch/SOA_UAT
> - span-gateway https://repo.radiusdata.id/SpanPhase2/span-gateway/src/branch/SOA_UAT
> - span-user-api https://repo.radiusdata.id/SpanPhase2/span-user-api/src/branch/SOA_UAT
> - span-token-api https://repo.radiusdata.id/SpanPhase2/span-token-api/src/branch/SOA_UAT
> - BIGEBBRIDGE http://10.216.99.57:3000/SPAN-Enhancement/BIGEBBRIDGE/src/branch/SOA_UAT
2025-11-26 08:13:00 +00:00
2025-11-26 20:31:41 +00:00
## TOC
- [Overview](#overview)
- [TOC](#toc)
- [Repositories](#repositories)
* [span-gateway, span-user-api, span-token-api](#span-gateway-span-user-api-span-token-api)
* [skramd4j](#skramd4j)
* [BIGEBBRIDGE](#bigebbridge)
* [soa_ftp](#soa_ftp)
- [API endpoints and context roots](#api-endpoints-and-context-roots)
* [span-gateway](#span-gateway)
+ [`POST` /auth/login](#post-authlogin)
+ [`POST` /api/**](#post-api)
+ [`POST` /users/**](#post-users)
* [skramd4j](#skramd4j-1)
+ [`POST` /api/v2/sign](#post-apiv2sign)
+ [`POST` /api/v2/verify](#post-apiv2verify)
* [BIGEBBRIDGE](#bigebbridge-1)
+ [`POST` /bankStatementBI](#post-bankstatementbi)
+ [`POST` /dailyRateBI](#post-dailyratebi)
+ [`POST` /fundTransferBI](#post-fundtransferbi)
+ [`POST` /overbookingBI](#post-overbookingbi)
+ [`POST` /transactionStatusBI](#post-transactionstatusbi)
* [soa_ftp](#soa_ftp-1)
+ [`POST` /api/list](#post-apilist)
+ [`POST` /api/upload](#post-apiupload)
+ [`POST` /api/download](#post-apidownload)
+ [`POST` /api/move](#post-apimove)
+ [`POST` /api/delete](#post-apidelete)
+ [`POST` /api/generateJar](#post-apigeneratejar)
+ [`POST` /api/unzip](#post-apiunzip)
- [Deployment guide](#deployment-guide)
* [Dependencies summary](#dependencies-summary)
* [Dependencies matrix](#dependencies-matrix)
2025-11-26 08:13:00 +00:00
## Repositories
### span-gateway, span-user-api, span-token-api
2025-11-25 14:29:58 +00:00
Trio ini berfungsi sebagai garda depan dalam menangani koneksi masuk dari user. Gateway berfungsi memverifikasi kredensial user sebelum dapat melanjutkan panggilan API ke dalam sistem. Beberapa jalur endpoint tersedia:
- `/auth/login`: untuk login dan ambil dynamic token
- `/api/**`: untuk memanggil API ke dalam span dengan dynamic token yg masih aktif. JWT claim dan HTTP header `token` juga akan disisipi static token apabila user yg dipakai memiliki static token terdaftar.
- `/users/**`: untuk listing user, lihat detail user, edit user, dan delete user
2025-11-26 08:13:00 +00:00
### skramd4j
2025-11-25 14:29:58 +00:00
skramd4j, atau yg dikenal juga dengan soa_security adalah penyedia layanan verify dan sign. Dulunya tugas ini ditawarkan oleh BIGEBBRIDGE dan integrasi.js dengan bantuan SoapUI. skramd4j selaku service baru implement fungsi sign secara mandiri juga verify dengan acuan truststore yg tersimpan di sistem. Adapun proses verifikasi dan mapping respon error sebagai berikut
![](skramd4j%20verification%20process.excalidraw.png)
2025-11-26 08:13:00 +00:00
### BIGEBBRIDGE
2025-11-25 14:29:58 +00:00
BIGEBBRIDGE adalah tempat persiapan request sebelum dikirimkan ke BI. Layanan ada 5: `BankStatement`, `DailyRate`, `FundTransfer`, `Overbooking`, dan `TransactionStatus`. Dulunya juga menyediakan layanan sign dan verify namun sekarang fungsi tersebut sudah dipisah menjadi proyek baru skramd4j.
2025-11-26 08:13:00 +00:00
### soa_ftp
soa_ftp digunakan untuk download, upload, move, delete, read jar (unzip), dan jar xml (generatejar)
## API endpoints and context roots
### span-gateway
2025-11-26 20:26:01 +00:00
context root: `/`
#### `POST` /auth/login
Request json:
- username
- password
#### `POST` /api/**
2025-11-26 08:13:00 +00:00
forwarding to OSB
2025-11-26 20:26:01 +00:00
#### `POST` /users/**
2025-11-26 08:13:00 +00:00
forwarding to span-user-api
2025-11-26 20:26:01 +00:00
> [!INFO]
> span-token-api dan span-user-api hanya digunakan oleh span-gateway, tdk punya API untuk dipanggil user
2025-11-26 08:13:00 +00:00
### skramd4j
2025-11-26 20:26:01 +00:00
context root: `skramd4j`
#### `POST` /api/v2/sign
Request xml: the whole soap message to sign
#### `POST` /api/v2/verify
Request xml: the whole soap message to verify
2025-11-25 14:29:58 +00:00
2025-11-26 08:13:00 +00:00
### BIGEBBRIDGE
2025-11-26 20:26:01 +00:00
context root: `/BIGEBBRIDGENEW`
#### `POST` /bankStatementBI
Request json:
- AccountNo
- StatementDate
#### `POST` /dailyRateBI
Request json:
- dailyRateDate
#### `POST` /fundTransferBI
Request xml: the whole soap message to sign
#### `POST` /overbookingBI
Request xml: the whole soap message to sign
#### `POST` /transactionStatusBI
Request json:
- WarkatNo
2025-11-26 08:13:00 +00:00
### soa_ftp
2025-11-26 20:26:01 +00:00
context root: /sftp-app
2025-11-26 08:13:00 +00:00
#### `POST` /api/list
2025-11-26 20:26:01 +00:00
Request json:
- directory
2025-11-26 08:13:00 +00:00
#### `POST` /api/upload
2025-11-26 20:26:01 +00:00
Request json:
- localFile
- remoteFile
#### `POST` /api/download
Request json:
- localFile
- remoteFile
#### `POST` /api/move
Request json:
- sourceFile
- destinationFile
#### `POST` /api/delete
Request json:
- filePath
#### `POST` /api/generateJar
Request json:
- xmlFilePath
#### `POST` /api/unzip
Request json:
- jarFilePath
## Deployment guide
### Dependencies summary
Database dependencies:
- jndi: jdbc/osbTrxDS on schema osb_trx
- jndi: jdbc/soaGatewayDs on schema gateway
File dependencies
- /n01/files/common_files/truststore/osb-truststore.jks
- /n01/app/oracle/config/integration/config-bigebbridge.xml
External dependencies:
- ftpsvr1
### Dependencies matrix
|Repo|Database|File|External|
|-|-|-|-|
|span-gateway|jndi: jdbc/soaGatewayDs on schema gateway|||
|span-user-api|jndi: jdbc/soaGatewayDs on schema gateway|||
|span-token-api|jndi: jndi: jdbc/osbTrxDS on schema osb_trx|||
|skramd4j||/n01/files/common_files/truststore/osb-truststore.jks||
|BIGEBBRIDGE||/n01/app/oracle/config/integration/config-bigebbridge.xml||
|soa_ftp|||ftpsvr1|