Bankowość online w klastrach Cyclos zapewniających wysoką dostępność
Cyclos [1] jest oprogramowaniem bankowości internetowej przeznaczonym do obsługi instytucji mikrofinansowych, banków lokalnych w krajach rozwijających się, sieci barterowych i banków czasu [2].
Cyclos rozwijany jest przez organizację Social Trade Organisation (STRO), powstałą w 1970r. O aktualnych możliwościach technicznych i zastosowanej technologii można się przekonać wykorzystując platformę UniCloud [3]. Cyclos jest modułowym systemem wielofunkcyjnym, dzięki czemu jest elastyczny w konfigurowaniu. Funkcje Cyclos dostępne są przez Internet, ale dostępna jest również obsługa telefonów komórkowych (WAP/SMS) i urządzeń POS. Dostępne są płatności sms i kartami płatniczymi. Główne cechy oprogramowania Cyclos to bankowość internetowa, bankowość SMS, bankowość IVR oraz moduły kart i POS, które tworzą możliwości dotarcia do nowych sektorów, takich jak przekazy pieniężne, programy lojalności konsumenckie, sklepy mobilne, usługi wypłat gotówkowych, taksówki płatności, systemy płatności kampusowych, karty przedpłacone i tanie bankomaty. Projekt Cyclos rozpoczęty w 2003r. jako open source, aktualnie stał się standardem oprogramowania typu „home banking” o otwartym kodzie źródłowym. Wykorzystując możliwości platformy UniCloud łatwo uzyskać złożony, skalowalny, nadmiarowy klaster Cyclos z replikacją bazy danych (master-slave), charakteryzujący się wysoką dostępnością. Proces instalacji jest w pełni zautomatyzowany [4].
Rysunek 1: Architektura systemu
Wysoka dostępność pomaga zapobiegać nieudanym transakcjom i problemom z wydajnością. Rozłożenie aplikacji na wiele serwerów zapewnia nadmiarowość a w przypadku awarii serwera użytkownicy tego węzła zostaną automatycznie przełączeni do innej instancji klastra, na której dzięki replikacji są dostępne wszystkie sesje uszkodzonego węzła, co spowoduje, że jest to proces niezauważalny dla użytkowników. Replikacja bazy danych PostgreSQL poprawia wydajność i możliwości pracy podczas awarii.
Instalacja klastra Cyclos
Zaloguj się do panelu UniCloud, znajdź klaster Cyclos 4 PRO na liście gotowych aplikacji i kliknij Zainstaluj.
Rysunek 2: Wybór klastra do instalacji.
Możesz również zaimportować manifest z GitHub za pomocą linku [5]:
https://github.com/jelastic-jps/cyclos/blob/master/cyclos-4-cluster/manifest.jps
Rysunek 3: Import manifestu.
Wybierz odpowiednią wersję Cyclos, zmień nazwę środowiska i nazwę wyświetlaną.
Rysunek 4: Instalacja klastra.
Po instalacji klastra otwórz stronę uwierzytelniania w przeglądarce.
Rysunek 5: Prośba o cierpliwość przy pierwszym uruchomieniu.
Rysunek 6: Okno zainstalowanej aplikacji
Jeśli nie masz konta na serwerze licencji, kliknij link serwer licencji Cyclos, aby kontynuować rejestrację. Korzystając z poświadczeń zarejestrowanych w witrynie Cyclos, należy wypełnić okna w kreatorze konfiguracji, zwracając uwagę na wskazówki i opisy.
Rysunek 7: Okno licencyjne aplikacji
Po stworzeniu własnej sieci [4] należy zrestartować węzły serwera aplikacji za pomocą przycisku Restartuj węzły.
Rysunek 8: Restart węzłów
Na zakończenie odśwież stronę internetową aplikacji Cyclos lub naciśnij przycisk Otwórz w przeglądarce, aby oba serwery aplikacji ponownie odczytały konfigurację i rozpoczęły pracę w trybie wysokiej dostępności.
Rysunek 9: Uruchomienie aplikacji
Klaster działa w systemie wysokiej dostępności, bez pojedynczego punktu awarii, z możliwością automatycznej niwelacji przeciążeń, należy pamiętać, aby zabezpieczyć ruch do portalu stosując SSL, dzięki czemu uzyskasz kompletny, bezpieczny system bankowy.
[1] Cyclos:
https://www.cyclos.org
[2] PaymentEye:
https://www.paymenteye.com/2012/11/29/social-trade-organisation-launches-cyclos-3-7-1
[3] Panel UniCloud:
https://app.unicloud.pl
[4] Jelastic, Blog:
https://jelastic.com/blog/cyclos-cluster-automatic-installation
[5] Repozytorium Cyclos:
https://github.com/jelastic-jps/cyclos/blob/master/cyclos-4-cluster/manifest.jps
Autor:
Piotr Niemcewicz pracuje jako inżynier w Centrum Danych Asseco Data Systems S.A., gdzie zajmuje się projektowaniem i wsparciem podczas wdrażania systemów.