Gdyby zapytać grupy programistów jaka technologia jest najlepsza przy tworzeniu oprogramowania dla bankowości, z pewnością odpowiedź brzmiałaby “To zależy.” I trudno się z tym nie zgodzić, bo dobór technologii zależy od celu, który ma realizować. Jednak biorąc pod uwagę specyfikę branży bankowej, wyśrubowane standardy bezpieczeństwa i konieczność zgodności z legislacją, wybraliśmy 7 technologii, które najczęściej wykorzystuje się w bankowości. 

 

COBOL 

Cobol jest swoistą legendą bankowego IT. Każdy, kto przynajmniej przez moment miał styczność z tym tematem, kojarzy go jako wieloletnią podstawę wszelkich systemów bankowych. Choć dziś programistom zdarza się żartować z tego języka, okazuje się, że niesłusznie. Według danych Reutersa aż 43% dzisiejszych światowych informatycznych systemów bankowych jest stworzona z użyciem COBOL-a, więc jak widać ma się on nadal całkiem nieźle. Nazwa COBOL to akronim od słów Common Business-Oriented Language i właśnie to, że sprawdza się on świetnie przy realizacji celów biznesowych i komercyjnych tłumaczy w dużej mierze jego zastosowanie w bankowości. Ponadto, COBOL odznacza się także prostą i zrozumiałą składnią, co sprawia, że nawet nietechniczna osoba potrafi sporo rozgryźć podczas czytania kodu. 

 

C#

C# to wysokopoziomowy język obiektowy stworzony przez Microsoft. Pomimo upływu lat, wciąż zajmuje wysokie pozycje w rankingach popularności języków programowania. Sprawdza się świetnie w tworzeniu rozbudowanych systemów i dużych projektów, co poniekąd tłumaczy jego miejsce w tym artykule. Tym co wyróżnia C#, jest przede wszystkim fakt, że to technologia ze stajni Microsoftu, co ma przynajmniej dwie spore zalety. Pierwsza to oczywiście kwestia tego, że za tym językiem stoi jeden z technologicznych gigantów, z ogromnym budżetem na rozwój i bardzo dużym wsparciem. Druga to niewątpliwie duża kompatybilność wsteczna (cecha oprogramowania, dzięki której − mimo zmiany funkcjonalności − nowa wersja umożliwia współpracę z całym otoczeniem wcześniejszej wersji i jej wszystkimi komponentami). W kontekście tak pożądanej przewidywalności, Microsoft otwarcie określa kierunek rozwoju swojej technologii, dzięki czemu dosyć jasno i klarownie można przewidzieć z jakimi zmianami przyjdzie się nam zmierzyć na przestrzeni kolejnych kilku lat. 

 

C/C++

Choć C/C++ został stworzony w latach osiemdziesiątych ubiegłego wieku, szeroki zakres jego zastosowania sprawia, że nadal opiera się na nim wiele dużych systemów i aplikacji. C++ wyróżnia to, że sprawdza się przy tworzeniu skomplikowanych, wielopoziomowych systemów, ze względu na specyficzny kompilator. Kompilator C++ silnie przestrzega zgodności typów, dlatego w kodzie napisanym w C++ trudniej jest popełniać błędy, co prowadzi nas do większego bezpieczeństwa aplikacji pisanych w tym języku. 

 

JAVA/ SPRING

Java to niekwestionowana królowa technologii bankowych, której nie trzeba nikomu przedstawiać. Świetnie sprawdza się w projektach, które wymagają bardzo wysokiego poziomu bezpieczeństwa i dużej wydajności. Ponadto odznacza się dużą stabilnością i często wykorzystuje się ją w dużych wdrożeniach. Tym co bardzo wyróżnia Javę, jest jej niezależność od architektury. Powstały kod jest niezależny od systemu operacyjnego i procesora, a wykonuje go tzw. wirtualna maszyna Javy, która (między innymi) tłumaczy kod uniwersalny na kod dostosowany do specyfiki konkretnego systemu operacyjnego i procesora. Taka uniwersalność sprawia, że wszędzie tam gdzie możliwe jest zainstalowanie wirtualnej maszyny, możliwe jest również korzystanie z Javy. 

 

JAVASCRIPT/ ANGULAR.JS

JavaScript, a właściwie framework tego języka, Angular.js jest najczęściej wybieraną technologią przy tworzeniu warstwy front-end aplikacji bankowych. JavaScript pozwala budować aplikacje webowe w technologii SPA – Single Page Application, która bardzo ułatwia intuicyjne korzystanie z aplikacji. Podobnie jak w przypadku pozostałych języków, Javascript jest bardzo stabilnym językiem, wspieranym od wielu lat. Zważywszy na to, że technologie front-endowe zmieniają się niemal z dnia na dzień i można wśród nich zauważyć duże rozwarstwienie, w kontekście stabilności i przewidywalności JavaScript wydaje się najbardziej optymalnym wyborem.

 

PYTHON

Python to technologia, którą wykorzystuje się najczęściej w obszarze sztucznej inteligencji i uczenia maszynowego, a także w analizie danych i data science. Jest to język bardzo szerokiego zastosowania, a biorąc pod uwagę, że banki coraz mocniej wykorzystują algorytmy AI, nie dziwi więc rosnąca popularność Pythona w tej branży. Python jest przyjazny matematyce, a przez to dobrze “rozumie się” właśnie z algorytmami finansowymi. Co ciekawe, wiele organizacji z obszaru fintech i core banking często wykorzystuje Pythona do analizy danych, a biorąc pod uwagę rosnącą konieczność współpracy technologicznej pomiędzy branżą bankową a pozostałymi instytucjami quasi finansowymi, można się spodziewać, że jego popularność w tym obszarze jeszcze wzrośnie.

 

Podsumowanie

To co jest bardzo znamienne w przypadku technologii bankowych, to fakt, że do tworzenia oprogramowania i poszczególnych komponentów wybiera się zazwyczaj języki długo wspierane i stosunkowo przewidywalne. Jako że systemy bankowe są skomplikowane i rozbudowane, banki rzadko decydują się na ich przepisywanie z jednej technologii na inną. W związku z tym kluczowa jest stabilność oraz gwarancja tego, że język będzie jak najdłużej wspierany, nierzadko jednak kosztem rozwoju technologicznego branży. Tym, co z pewnością będzie stanowić jedno z wyzwań dla bankowości na najbliższe lata, to znalezienie kompromisu pomiędzy korzystaniem ze sprawdzonych rozwiązań, bezpieczeństwem i stałością, a możliwością rozwoju i wykorzystania najnowszych technologii.