fbpx

We use cookies to enhance your experience. I accept use of my cookies on this website. More about Cookie Policy

We updated our Terms of Service, Privacy Policy. You need to accept our Privacy Policy before using this website. More about Privacy Policy

Technology Behind SDK.finance

Technology is the basis for any modern business

For financial services, technologies underlying business determine the business’s readiness for rapid growth, flexibility, and security of the provided services. All three listed components are large and complex independent disciplines. It’s a real art to combine all three components together and make them work. It requires special knowledge and experience. All of the above are present in the technological stack of the SDK.finance platform.

Programming language

We chose Java Enterprise Edition (Java EE 7) and Java Standard Edition (Java SE 8) 8.0 as the most stable and functional versions of Java for Enterprise sector. Java is a proven programming language and a stack of technologies which provide all categories of software requirements for enterprise-level software.This is a strongly typed language requiring the developer to clearly formalize the processes and data with which the system operates. It allows to ensure stability and minimize possible errors. Java is the world’s largest community of developers which supports and develops a platform in the form of libraries and frameworks for all occasions.

Business logic

The business logic is the basis of any project that ensures the execution of business processes. Business processes are building blocks from which the behavior of the system and the profit of the project are formed. Existing business processes are implemented on the basis of Enterprise JavaBeans (EJB) components, which in turn can be extended by an external Business Process Management system or integrated into the current kernel, such as JBPM from Apache. Check what types of business cases you can run on SDK.finance platform.

Services

There are numerous external services in FinTech projects with which both external and internal systems coordinate. Thanks to the built-in encryption and data validation mechanisms in the interaction, the security of the transmitted data is ensured at all levels of communication.

Adding of new external service providers is carried out through the creation of a controller for a relevant business process and doesn’t take much time.

Code repository

A lot of specialists from different departments work with a source code of the project. The storage and management of the source code are built on GIT technology, using the GitLab platform, which provides effective management and monitoring of all changes made by each developer.

Testing and Quality Assurance

The source code of the project must meet the highest requirements for quality, stability, and security. Currently, the project has about 1 million lines of code. Such a volume cannot be controlled by old methods. All functions are guaranteed to be checked for operability automatically as we use  Arquillian platform to test the functions of the project at the stage of its project deploy. Each commit of a new source code in the repository is manually checked by the lead developer.

Source Code Quality

Our developers use cutting-edge source code development tools supported by best-in-class solutions to create a truly high-quality, efficient, and secure code. For passive code analysis, we use UpSource and FindBugs from IntelliJ Idea.

The SonarQube and Lapse+ tools are used for active code analysis. These tools are recommended by OWASP community.

  

DevOps

The traditional approach to the management of IT projects evolves along with methodologies of interaction between system administrators and developers. Therefore, we have implemented the best DevOps methodologies to provide Continuous Integration and Continuous Delivery for SDK.finance. Building and deploy of a project are managed using the most functional and customizable service, Jenkins

Gathered components of the system are versioned and delivered to one or multiple Application Servers.

Applications server

An appropriate work environment is a necessary thing for a stable lifecycle of the project.

It must also meet all the high requirements as well as the software of the project.

We chose RedHat WildFly 10 open-source application server for enterprise applications made on Java as its basis include standards-compliant ISO application server JBoss from RedHat Enterprise.

This application server meets all requirements for further monitoring of the application, its configuration, monitoring, and scaling.

   

Application Monitoring

The operation of complex systems is distributed on a variety of infrastructure components. Currently, it is not enough to control the only condition of hardware. Is the processor overloaded? Does it have enough memory? Answers to these questions are not enough to understand how healthy the system actually is. In SDK.finance, we’ve implemented a special toolkit that will help you to monitor the status of the application and detect problematic productivity areas, even if the infrastructure resources are not overloaded. We reviewed a lot of solutions available on the market and choose one of the leaders in the APM sector — NewRelic.

If there is a shortage of resources or abnormal behavior while the application is running, our support service immediately receives a notification and reacts to it.

Cloud Ready

Large and heavy applications require appropriate infrastructure. Read more about Infrastructure here.