204 lines
6.5 KiB
Markdown
204 lines
6.5 KiB
Markdown
# Service baru span
|
|
|
|

|
|
|
|
## 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), <!--
|
|
-->[span-user-api](https://repo.radiusdata.id/SpanPhase2/span-user-api), <!--
|
|
-->[span-token-api](https://repo.radiusdata.id/SpanPhase2/span-token-api), <!--
|
|
-->[BIGEBBRIDGE](http://10.216.99.57:3000/SPAN-Enhancement/BIGEBBRIDGE))
|
|
|
|
> [!note]
|
|
> 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
|
|
|
|
## 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)
|
|
|
|
## Repositories
|
|
|
|
### span-gateway, span-user-api, span-token-api
|
|
|
|
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
|
|
|
|
### skramd4j
|
|
|
|
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
|
|
|
|

|
|
|
|
### BIGEBBRIDGE
|
|
|
|
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.
|
|
|
|
### soa_ftp
|
|
|
|
soa_ftp digunakan untuk download, upload, move, delete, read jar (unzip), dan jar xml (generatejar)
|
|
|
|
## API endpoints and context roots
|
|
|
|
### span-gateway
|
|
context root: `/`
|
|
|
|
#### `POST` /auth/login
|
|
Request json:
|
|
- username
|
|
- password
|
|
|
|
#### `POST` /api/**
|
|
forwarding to OSB
|
|
|
|
#### `POST` /users/**
|
|
forwarding to span-user-api
|
|
|
|
> [!INFO]
|
|
> span-token-api dan span-user-api hanya digunakan oleh span-gateway, tdk punya API untuk dipanggil user
|
|
|
|
### skramd4j
|
|
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
|
|
|
|
### BIGEBBRIDGE
|
|
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
|
|
|
|
### soa_ftp
|
|
context root: /sftp-app
|
|
|
|
#### `POST` /api/list
|
|
Request json:
|
|
- directory
|
|
|
|
#### `POST` /api/upload
|
|
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|
|
|
|
|
|