Instrukcja krok po kroku uruchomienia SORBNET 3 w BS-ach - ETAP IV - Konfiguracja Brokera Kafka i połączenia z MultiCentaur

I. CZĘŚĆ PIERWSZA - DANE NIEZBĘDNE DO POŁĄCZENIA

1. Wymagania potrzebne do pozyskania z Banku Zrzeszającego:

HOST - Adres IP pozwalający Bankowi Spółdzielczemu na wywołanie usługi BSApiHub

PORT - Port, na którym została udostępniona usługa dla Banków Spółdzielczych

clientId - Identyfikator klienta OAuth2.0 umożliwiający uwierzytelnienie i uzyskanie tokena dostępu

clientSecret - Sekret (hasło) klienta OAuth2.0 umożliwiający uwierzytelnienie i uzyskanie tokena dostępu

Token-Endpoint - Adres usługi umożliwiającej pobranie tokena dostępu:

(HOST:PORT/BSApiHub/oauth/token)

KAFKA_BOOTSTRAP_SERVERS - Adres lub lista adresów wraz z portami, pod którym Zrzeszenie udostępnia Bootstrap serwera KAFKA. Wskazana nazwa musi po stronie Dostawcy rozwinąć się na podany adres IP.

DANE PRODUKCYJNE DLA BANKÓW Z PODZIAŁEM NA BPS i SGB: - załącznik Przykład_danych

  > UWAGA !

"Dane od Zrzeszenia dla danego Banku" -> indywidualne dane dla każdego Banku !!

2. Wymagane prawo w systemie defBank-Pro:

AS.Ioa.kaf. - Administrator-> Inne opcje administracyjne-> Kafka - Obsługa

2.1. Utworzenie repozytorium kluczy

W dowolnym narzędziu (np. KeyStore Explorer) należy zaimportować załączone certyfikaty

A. dla Banków zrzezszownych w BPS - > katalog: POMOCNE/bps/trusty zgodnie z załącznikiem -> opis_zmian_w_certyfikatach_BPS

przykład repozytorium dla BPS z pliku: serwerDef.jks -> załącznik repozytorium_BPS

B. dla Banków zrzeszonych w SGB - > katalog: POMOCNE/sgb/trusty zgodnie z załącznikiem -> opis_zmian_w_certyfikatach_SGB

przykład repozytorium dla BPS z pliku: serwerDef.jks -> załącznik repozytorium_SGB

II. PARAMETRYZACJA / ZMIANY W POSZCZEGÓLNYCH PLIKACH

Uwaga:

Plik logback-spring.xml z katalogu ./POMOCNE należy nadpisać w katalogu ./defREST/

II.1 dla Banków zrzeszonych w BPS

II.1.1. Konfiguracja połączenia z Brokerem Kafka

Do podmiany pola "=dane_od_Zrzeszenia" na dane dla danego Banku -> przyład:

bsapi.krn=91590000

bsapi.client.id=91590000S

bsapi.client.secret=xdVzdsfsgds

przykład po dodaniu wpisu:

# uruchomienie serwera defREST + Kafka

/usr/bin/nohup java -Djavax.net.ssl.trustStore=$DEFBANK_HOME/defREST/jks/serwerDef.jks -Djavax.net.ssl.trustStorePassword=password -Dspring.profiles.active=oauth2,kafka-bsapi -Dfile.encoding="UTF-8" -Duser.language="PL" -Xms2G -Xmx2G -jar $DEFBANK_HOME/defREST/defREST.jar --params.complete-defaults=false --spring.config.location=$DEFBANK_HOME/defREST/application.properties,$DEFBANK_HOME/defREST/kafka.properties --logging.config=$DEFBANK_HOME/defREST/logback-spring.xml &

Dodajemy odpowiednie wpisy do wskazanych sekcji oraz do podmiany pola "=dane_od_Zrzeszenia" na dane dla danego Banku -> przyład:

bsapi.krn=91590000

bsapi.client.id=91590000S

II.2 dla Banków zrzeszonych w SGB

II.2.1. Konfiguracja połączenia z Brokerem Kafka

Do podmiany pola "=dane_od_Zrzeszenia" na dane dla danego Banku -> przyład:

bsapi.krn=94290004

bsapi.client.id=94290004

bsapi.client.secret=asadkkajkdajflkauwczua8dajzXZZ334

przykład po dodaniu wpisu:

# uruchomienie serwera defREST + Kafka

/usr/bin/nohup java -Djavax.net.ssl.trustStore=$DEFBANK_HOME/defREST/jks/serwerDef.jks -Djavax.net.ssl.trustStorePassword=password -Dspring.profiles.active=oauth2,kafka-bsapi -Dfile.encoding="UTF-8" -Duser.language="PL" -Xms2G -Xmx2G -jar $DEFBANK_HOME/defREST/defREST.jar --params.complete-defaults=false --spring.config.location=$DEFBANK_HOME/defREST/application.properties,$DEFBANK_HOME/defREST/kafka.properties --logging.config=$DEFBANK_HOME/defREST/logback-spring.xml &

Dodajemy odpowiednie wpisy do wskazanych sekcji oraz do podmiany pola "=dane_od_Zrzeszenia" na dane dla danego Banku -> przyład:

bsapi.krn=94290004

bsapi.client.id=94290004

2.9. Konfiguracja połączenia z MultiCentaur

Konfiguracja połączenia z systemem MultiCentaur wymaga poniższych zmian:

a) w module defREST w pliku konfiguracyjnym application.properties należy wprowadzić niezbędne dane do połaczenia z systemem MultiCentaur:

• rest.multicentaur.client.ssl=true/false – szyfrowanie SSL

• multicentaur-client.token – namiar na uzyskanie tokena

• spring.security.oauth2.client.registration.multicentaur-client.client-id – client-id potrzebny do uzyskania tokena oAuth2

• spring.security.oauth2.client.registration.multicentaur-client.client-secret – client-secret potrzeby do uzyskania tokena oAuth2

• spring.security.oauth2.client.registration.multicentaur-client.authorization-grant-type=client_credentials

• spring.security.oauth2.client.provider.multicentaur-client.token-uri=${multicentaur-client.token-uri}

b) w system defBank-Pro należy zdefiniować w sekcji w pliku def_bank.ini wskazania na

• MultiCentaur REST api – Adres api systemu MultiCentaur udostępniającego usługi REST do wysłania zleceń SORBNET3/SWIFT/SEPA

dla BPS

a) Do podmiany pola "=dane_od_Zrzeszenia" na dane dla danego Banku -> przykład:

spring.security.oauth2.client.registration.multicentaur-client.client-id=91590000S

spring.security.oauth2.client.registration.multicentaur-client.client-secret=xdVzdsfsgds

b) doszło nowe pole do uzupełnienia "dane_od_Zrzeszenia"

dla SGB

Do podmiany pola "=dane_od_Zrzeszenia" na dane dla danego Banku -> przykład:

spring.security.oauth2.client.registration.multicentaur-client.client-id=94290004

spring.security.oauth2.client.registration.multicentaur-client.client-secret=asadkkajkdajflkauwczua8dajzXZZ334

III. Współpraca z systemem kolejkowym Kafka (MultiCentaur)

Wymiana danych pomiędzy defBank-Pro a systemem rozliczeniowym MultiCentaur realizowana jest:

a) W oparciu o komunikaty w formacie zgodnym z specyfikacją systemu MultiCentaur na bazie formatu ISO 20022,

b) Synchronicznie poprzez przekazywanie danych usługami REST,

c) Asynchronicznie w oparciu o informacje publikowane na dedykowanych topikach systemu kolejkowego „Kafka”.

Obsługa asynchroniczna w oparciu o system kolejkowy Kafka obejmuje:

• Przekazywanie statusów dotyczących komunikatów wychodzących (MultiCentaur -> defBank-Pro) oraz przychodzących (defBank-Pro -> MultiCentaur)

• Przekazywanie zleceń przychodzących (MultiCentaur -> defBank-Pro)

Dla każdego Banku Spółdzielczego utworzony został zestaw dedykowanych Topic'ów do odbierania informacji przekazywanych przez system Payment HUB oraz do przekazywania informacji o statusie przetwarzania komunikatów po stronie Banku Spółdzielczego.

W związku z tym system transakcyjny Banku Spółdzielczego (defBank-Pro) pełni rolę zarówno producera jak i consumera Topic'ów systemu kolejkowego Kafka.

W związku z powyższym działanie systemowy kolejkowego Kafka jest niezbędne w procesie obsługi zleceń SORBNET3, SWIFT, SEPA opartych o format ISO 20022.

III.1. Menu do obsługi uruchamiania/zatrzymywania/weryfikacji nasłuchu na Kafka

Dodana została opcja administracyjne dedykowana do uruchamiania/zatrzymywania o weryfikacji nasłuchów klienta systemu kolejkowego Kafka

(opcja chroniona prawem AS.Ioa.kaf.):

Administrator-> Inne opcje administracyjne-> Kafka - Obsługa

Po uruchomieniu opcji operatorowi prezentuje się poniższe menu:

załącznik Menu Kafka

umożliwiające:

a) Uruchomienie nasłuchu Kafka – po poprawnym wykonaniu akcji operatorowi prezentowany jest komunikat postaci:

Uruchomiono nasłuchy klienta systemu kolejkowego Kafka

b) Zatrzymanie nasłuchu Kafka – po poprawnym wykonaniu akcji operatorowi prezentowany jest komunikat postaci:

Zatrzymano nasłuchy klienta systemu kolejkowego Kafka

c) Sprawdzenie komunikacji Kafka – po uruchomieniu opcji weryfikowany jest komunikacja z systemem kolejkowym Kafka i operatorowi prezentowany jest status – np.:

| Pracują: 4. Zatrzymane: 0. Połączenie z brokerem Kafka: Tak |

Uwaga!

Działające (pracujące) nasłuchy klienta systemu kolejkowego Kafka są niezbędne do asynchronicznej wymiany danych z MultiCentaur.

III.2. Uwagi!

Do prawidłowego działania modyfikacji Płatności SORBNET3, SEPA, SWIFT w standardzie ISO20022 wymagane jest wcześniejsze wykonanie:

a) Rozdzielenia pól adresowych w kartotekach klientów,

b) Uruchomienie komponentu defREST:

Obsługa komunikacji pomiędzy systemem defBank-Pro a systemami/aplikacjami wewnętrznymi Asseco oraz zewnętrznymi jest realizowana z wykorzystaniem usług REST.

Wymagane jest aby na serwerze, na którym jest zainstalowany klient defBank-Pro, dostępna była Java w wersji minimum 1.8 (Java 8).

W przypadku serwera AIX może to być Java dystrybuowana przez IBM (nie musi to być domyślna Java zainstalowana w systemie operacyjnym, natomiast muszą być nadane

odpowiednie prawa do jej uruchamiania),

c) Skonfigurowania oraz uruchomienie komunikacji z systemem kolejkowym Kafka.