# 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), [span-user-api](https://repo.radiusdata.id/azka/span-user-api), [span-token-api](https://repo.radiusdata.id/azka/span-token-api), [BIGEBBRIDGE](http://10.216.99.57:3000/SPAN-Enhancement/BIGEBBRIDGE)) > [!note] > Link repo diatas ## 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 ![](skramd4j%20verification%20process.excalidraw.png) ### 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|