Tag Archives: Solution

ELEPHANT SOLUTIONS širi granice poslovanja po uzoru na SVJETSKE TRENDOVE

ELEPHANT SOLUTIONS širi granice poslovanja po uzoru na SVJETSKE TRENDOVE

ELEPHANT SOLUTIONS, kao najpoznatija bijeljinska IT kompanija, je u četvrtak otvorio vrata novog poslovnog prostora.

IT poslovni svijet je odavno upoznat sa našom Elephant Solutions kompanijom i vrhunskim timom koji svakodnevno napreduje u svim sferama softverskog inženjeringa. Osim rješavanja izazova za klijente širom svijeta, kompanija je poznata i u segmentu društvene odgovornosti, ali i kao jedan od najpoželjnijih poslodavaca za sve mlade IT stručnjake iz Bijeljine.

“U periodu od 2013. godine konstantno stremimo unaprijeđenju poslovnih ciljeva i kvaliteta rješenja iz oblasti informacionih tehnologija što je zahtijevalo proširenje radnog prostora u 2022. Otvaranjem još jedne kancelarije klijenti i naš tim dobijaju potpuno novu dimenziju komfora”, istakao je Miloš Novaković, suosnivač i izvršni direktor kompanije.

U četvrtak, 6. oktobra, nova Elephant Solutions kancelarija u Bijeljini je i svečano otvorena, na adresi Atinska broj 15.

Ovim povodom organizovana je i koktel zabava za brojne zvanice sa IT scene, prijatelje i zaposlene u kompaniji. Velibor Maksimović, suosnivač i operativni direktor, je posebnu zahvalnost iskazao timu sa više od 30 zaposlenih istakavši da je njihovo povjerenje i lojalnost najvažnija karika za dosadašnji uspjeh, ali i osnovna pretpostavka za dalje napredovanje.

Više od 50 poslovnih partnera i saradnika iz Bosne i Hercegovine i Srbije je svojim prisustvom potvrdilo značaj Elephant Solutions na regionalnom IT nebu. Neki od njih su PulSec iz Beograda, Comtrade, Company Wall, Asseco See, Holistic Digital i drugi.

Galerija događaja:

We invite you to follow us on social networks so you can keep up with all our latest projects and news.

ServiceNow – ITSM & ITIL

ServiceNow – ITSM & ITIL


The ServiceNow platform provides a variety of products, one of which is Information Technology Service Management (ITSM), which is part of IT Workflows. In addition to ITSM, the term Information Technology Infrastructure Library (ITIL) is frequently used. Understanding these terms enables the user to use this product successfully with all of the additional benefits provided by the ServiceNow platform.

If you are unfamiliar with the ServiceNow platform, we have written a separate blog post about it What is ServiceNow?

In this post, we will define ITSM and ITIL and discuss the differences between them.

Information Technology Service Management (ITSM)

ITSM is made up of three major components. We can deduce the following from the name:

  • Information Technology
  • Service
  • Management

The components mentioned above can work independently, but also in tandem. ITSM is defined by the combination of these components and their interaction.

The first component, Information Technology (IT), is simply hardware, software, and all IT resources.

The second component, service, is typically defined as the transformation of a business problem or opportunity into an IT solution. The most common example is a software application developed as a solution to a real-world business problem. Services are everything that IT does to add value and make a difference.

The third component, management, is an activity that ensures that IT services provide maximum value.

People in today’s world have become increasingly reliant on various IT services, particularly when it comes to business.

ITSM can be defined as an activity that combines the three previously mentioned elements: information technology, services, and management in order for the organization’s IT department to deliver services or solutions that provide the most value.

ITSM is more concerned with users than with IT systems.

The goal of ITSM is to ensure that the organization is constantly improving its ability to produce IT services that are valuable to the company.

Information Technology Infrastructure Library (ITIL)

ITIL comes after ITSM. ITIL was developed as a set of best practices for improving ITSM, resulting in higher quality in the development of new IT services.

ITIL’s mission is to maximize the value of information technologies.

ITIL encompasses several concepts:


Value is a critical factor that is carefully considered. The goal is to balance the value exchange so that both parties (service provider and service customer) benefit. When it comes to value, there are a few instances where one-sided value has proven to be beneficial.

Output vs Outcome

Output is the result of an activity or IT service, whereas outcome indicates how useful the outputs are. Always aim for the best results. However, if the outcome is not satisfactory, then the output must be different.

Utilities & Warranty

A utility can be defined as what something does and what its purpose is, whereas a warranty can be defined as how it works, whether it is safe, available, of good quality, and so on. The rule is that both must be present in service.


What exactly is a service? Service is defined as adding value by facilitating the outcomes that clients desire while avoiding certain costs and risks.

Service Offering

This concept is based on the provision of one or more services to a specific group of clients and includes the exchange of goods, services, or access to resources.

Service Management

A set of specific organizational capabilities for providing value to clients through a variety of services.

Service Relationship

Service is the result of collaboration between the service provider and the service customer.


An organization can be represented by a single person or by a group of people, each with its own set of functions and responsibilities. Organizations are both service providers and consumers of services.

Service Consumer Roles

  • Client
    • Determines service needs and comprehends the big picture.
  • User
    • A user is someone who uses the services.
  • Sponsor
    • The sponsor approves the service relationship.

There are several versions of ITIL. ITIL 4, which was released in 2019, is the most recent version. ITIL 4 is regarded as the most adaptable and agile version to date. This version introduces the Service Value System (SVS), which is based on the idea that demand and opportunities are input values from which IT products are generated as output.


ITSM and ITIL are not common terms, but they do have meanings. They provide a different approach to problem-solving in the IT department because they encourage questions about what we are doing, how we are doing it, and whether we are doing it in the best way possible. Because ITSM is such a broad term, it has its certifications that include ITIL.

If you are interested in ITSM or ITIL, you can find more details on the official website What is ITSM? or What is ITIL?.

We invite you to follow us on social networks so you can keep up with all our latest projects and news.

What is ServiceNow?

What is ServiceNow?


Glassdoor named ServiceNow the best place to work in the United States (US) and the United Kingdom (UK) in 2022. The company employs over 17,000 people worldwide.

This platform is made up of both employees and customers. Customers are mostly medium and large enterprise businesses from all over the world.


Every large company, even if it is not an IT company, has an IT department. However, in such companies, the IT department’s goal is not to directly contribute to the company’s earnings but rather to assist the company’s business department and, together with them, increase the possibility of earning. For such businesses, the IT department alone is an expense.

To achieve the goal, the business and IT departments must work in tandem to ensure that business operations are understood by both parties. This collaboration boils down to exchanging business problems in exchange for an IT solution or service.

In theory, this sounds simple, but in practice, miscommunication is common because the business department understands business operations much better than the IT department. Because of this issue, some business operations are frequently repeated and take much longer than they should.

ServiceNow was created to address this issue. It is a platform that enables the business department to solve business problems without involving IT. ServiceNow Now is a cloud-based Application Platform as a Service platform (aPaaS).

The Now platform consists of:

  • Infrastructure
  • Platform
  • Applications
  • Workflows

The Now platform uses these elements to support all of a company’s IT needs, acting as a replacement for the entire IT department and performing cloud-based functions.

How does ServiceNow work?

The business department can tailor the platform to their specific requirements. The platform is accessible via computer or phone.


The infrastructure includes several elements:

  • Hardware
  • Security
  • Service level agreements
  • Backups

Hardware refers to the data centers that house all of the platform’s computing power.

Several certified technologies protect the platform.

Data centers are linked together to provide redundancy and failover. Each layer has built-in redundancy, such as devices, power, and network resources, and non-stop operation is enabled.

Every day, a large number of backups are created to ensure that a client’s data is not lost.


The platform employs a single data model and database. It allows for the creation of custom applications and workflows that can be easily integrated into the platform.

Applications and Workflows

The platform includes a large number of configured and ready-to-use applications and workflows.

ServiceNow divides applications into four workflow types based on functionality. Workflows are classified into the following categories:

  • IT Workflows
  • Employee Workflows
  • Customer Workflows
  • Creator Workflows

Each of the listed categories has subcategories that address the company’s specific needs.

IT Workflows

  • IT Service Management
  • IT Operations Management
  • Strategic Portfolio Management
  • IT Asset Management
  • DevOps
  • Security Operations
  • Governance, Risk, and Compliance
  • Telecommunications Service Operations Management
  • Operational Technology Management

Employee Workflows

  • HR Service Delivery
  • Workplace Service Delivery
  • Safe Workplace Suite
  • Legal Service Delivery

Customer Workflows

  • Customer Service Management
  • Field Service Management
  • Financial Services Operations
  • Telecommunications Service Management
  • Connected Operations
  • Order Management for Telecommunications
  • Healthcare and Life Sciences Service Management

Creator Workflows

  • App Engine
  • IntegrationHub
  • Manufacturing Connected Workforce

In addition to all of these subcategories, if the client is unable to find a suitable application that meets all of his business requirements, he can always create his own.


As previously stated, the ServiceNow platform operates in the cloud, so no local installation of these applications is required. Because ServiceNow has built-in tools for creating applications, the process is significantly sped up, as creating those same applications separately from the platform would take significantly more time and effort.

The main advantage of the ServiceNow platform is that it provides ready-made applications, and if an application is missing, it is not necessary to create it from scratch. Each prebuilt application is constantly improved, and the ServiceNow platform offers clients out-of-the-box solutions.

Finally, we can describe the ServiceNow platform as an application that lives or breathes because of how it works, rather than a single application that only represents a product for sale and purchase.

We invite you to follow us on social networks so you can keep up with all our latest projects and news.

The Difference Between Relational and Non-Relational Databases

The Difference Between Relational and Non-Relational Databases


To understand the differences between these two types of databases, we must first understand what a database is and what it is used for.

A database is a collection of structured data or information that can be searched quickly on a computer. The database’s function is to store data.

Databases are critical components of any information technology system.

The term “DBMS” is frequently used when discussing databases. What is a DBMS and what does it do? DBMS stands for “Database Management System”, and it is used to extract data from a database based on specified queries.

Databases are classified into two types: relational databases and non-relational databases.

Let’s look at why these two types exist and what differentiates them.

Relational databases

Relational databases are structured databases because they organize data using tables. The term “relational” refers to the fact that these tables have specific relationships with one another.

This type of database is popular due to its structure, which allows users to understand the data and its interrelationships. Structured Query Language (SQL) is used in relational databases to write queries and manipulate data. As a result, relational databases are frequently referred to as SQL databases and non-relational as NoSQL databases.

The benefits of relational databases include:

  • Ease of use
  • Easy access to data
  • Integrity and accuracy of data
  • Flexibility
  • Security

Disadvantages of relational databases:

  • Performance issues
  • Setup can be time-consuming and difficult
  • There is no support for more complex data types
  • Vertical scalability

MySQL is the most widely used relational database. Other relational databases include:

  • PostgreSQL
  • SQLite
  • Microsoft SQL Server
  • Amazon Aurora
  • MariaDB
  • Oracle Database
  • Supabase

Non-relational databases

Non-relational databases have the advantage of being able to store both structured and unstructured data, i.e. any type of data. Functions that provide additional flexibility can be used. Non-relational database data can be more dynamic than relational database data.

Non-relational databases are document-oriented; they store data in non-tabular form using a storage model optimized for the specific needs of the data types being stored.

Data is stored in documents in this type of database. One record in the database is represented by a document. Values can be of various types, including strings, numbers, dates, arrays, or objects, and are typically stored in JSON format. As a result, non-relational databases are frequently referred to as document databases or document stores. Non-relational databases use collections in addition to documents. Collections are used to group multiple documents.

Because the data model evolves in response to changes in the application, this method of data storage is slightly more flexible than relational databases.

The benefits of non-relational databases include:

  • Management of unstructured data
  • Horizontal scaling
  • Agility
  • Readability
  • The vast majority of solutions are open-source

Disadvantages of non-relational databases:

  • Reliance on a particular DBMS
  • Limited functionality
  • Absence of standardization

The most well-known non-relational database is MongoDB. Additional relational databases include:

  • MongoDB
  • Apache Cassandra
  • Redis
  • Neo4j
  • Amazon DynamoDB
  • Firebase

How do we know if we should use a relational or non-relational database for a project?

Before creating the database, it is necessary to create a model and assess the type of data that will be stored and analyzed. Based on the type of data, it can be determined whether it can be stored more easily through rows and columns in tables or if more flexible space is required.

Also, at the outset, the amount of data must be estimated. Non-relational databases have no data size limitations and can store any type of data that can be changed later. Because of the flexibility they provide, non-relational databases are more likely to be used when dealing with large amounts of data.

Another critical consideration is whether real-time data or static data previously stored in the database will be used. Relational databases are ideal for dealing with static data. Non-relational databases are better suited for dynamic data or data that changes frequently.

Relational databases have more settings at the beginning but are easier to maintain later, whereas non-relational databases have fewer settings at the beginning but are more difficult to maintain later.


We have highlighted some of the more significant differences between these two types of databases in this post.

Let us quickly recap everything we said earlier.

There are two kinds of databases: relational (SQL) and non-relational (NoSQL). The choice of database type is primarily determined by the project and the skills of the project team. Following the preceding guidelines, we can conclude that relational databases are better suited for situations requiring us to work with a smaller amount of data that is structured. Non-relational databases, on the other hand, are better suited when we need to work with a large amount of data that is not structured.

Relational databases only support vertical scaling, which means that we can only upgrade the machine where our database is located, whereas non-relational databases support horizontal scaling and can be used on multiple machines at the same time.

To store data, relational databases use tables, while non-relational databases use documents.

SQL is used in relational databases, and queries must be directed at retrieving specific data. In the case of non-relational databases, the process is much more dynamic, with entire data collections typically being extracted and only specific data points from those collections chosen.

What we didn’t mention earlier is that both types of databases can be used in conjunction.

We invite you to follow us on social networks so you can keep up with all our latest projects and news.

How to Learn Programming

How to Learn Programming


Programming is very popular today and a large number of people choose to learn to program. The world is becoming more and more digital, and there is a huge need for developers. New jobs are being created with good conditions and high salaries.

However, learning programming is not easy, it requires a lot of work and effort. In the world of programming, many things are important and need to be learned. For that reason, before you even start learning to program, you need to have a plan and you need to understand what programming involves.

Here are some steps and tips that will undoubtedly serve as a basic guide to learning to program.

1. Fundamentals

There are different opinions about which programming language is best for beginners, but it doesn’t matter that much. It is important to assess in which direction you plan to develop your programming career and what you want to be your ultimate goal. This allows you to choose the first programming language or type of programming language more precisely. Whichever programming language you choose, it is important to learn the basics. Once you have mastered the basics, it is easy to switch to another programming language of the same type. Certainly, in the world of programming, there is always something new to learn, and it is also one of the qualities you must have or acquire, a willingness to constantly learn and improve.

The basics of any programming language are the most extensive and require a great deal of commitment to complete understanding. For that reason, a large number of people make the same mistake because they skip the basics or superficially teach them everything to reach the goal more easily. This approach should be avoided because problems arise later due to the lack of some parts from those bases. It’s like starting to put together puzzles without even looking at what the final image should look like, so you try to put some puzzles together by heart. Skipping will not help you in project design or technical job interviews, so it is very important to know the basics of programming.

2. Documentation

The Internet is full of information about any field, so, of course, it can be helpful in your programming learning process.

What is important to know right from the start is that a large number of technologies have written official supporting documentation that explains everything that this technology encompasses. Depending on the technology, some documentation may be better and some may be worse. If you want to learn a concept and have not understood it using a source from the Internet, you can always look for another that may be clearer to you. Some technologies may not have official documentation or the documentation may be poorly written, so you will need to look for a suitable area on another internet source.

The ability to quickly find quality information means a lot and helps in the process of learning programming. If you opt for a programming language, be sure to surround yourself with all the additional quality sources of information related to the programming language you have chosen.

3. Ask questions

To learn, you need to ask questions and ask for help. The sooner you understand this, the easier it will be for you and you will surely progress faster.

First, try to solve the problem yourself several times, and when you have no idea, ask someone to help you. If you don’t have a friend who can help you, you can always ask a question and ask for help on a forum like StackOverflow. It would be great if you could find a mentor because that would make the learning process much easier for you.

Questions can also help in the learning process by asking yourself a question and trying to find the answer.

4. Build projects

Because programming is complex, it takes much more than reading some professional books, taking notes, and watching tutorials. You need to apply what you have learned concretely. When you read or watch, the usual material seems simpler, but when you start to put it all into practice, it becomes much harder.

When it comes to programming, creating projects is the best way to learn to program. Programming requires continuity in learning and practice, and creating projects includes just that. When you learn something, then you practically apply that knowledge to projects. Regular project work is the best way to determine the material you have learned.

If you are not sure what to choose for your first project, keep in mind that it is best to choose something that interests you, start with something simple, and try to create something that will be useful to you or other people.

Creating projects will not only help you learn and understand programming but also build your portfolio. Whether you are a student, a self-taught person, or a person already working in the profession, your projects remain behind you as a guarantee of your experience, which later increases your chances of employment or advancement to a higher position. A typical example is the GitHub platform.

5. Broaden your knowledge

Reading code is not the same as understanding code. Whenever you have the opportunity to go through a piece of code, instead of reading it, always try to understand how that piece of code works. This approach helps a lot in spreading your knowledge.

Broaden your knowledge by investing in specific courses. Courses are much more useful when you already have some prior knowledge than when you are starting from scratch. Like courses, you can broaden your knowledge by purchasing or borrowing an appropriate professional book. Books usually contain great examples.

To develop logic, you should invest some time in data structures and algorithms. Data structures and algorithms are extremely important areas involved in the job interview process.

If you have completely learned one programming language, you can choose another to learn. Saturation often occurs in programming, and some minor changes can have a positive effect on your daily productivity. Of course, after the first programming language, the second programming language will be much easier for you to master.

6. Consistent practice

Continuity and regular programming are the keys to mastering any programming language. It takes time to understand programming well. Because the more consistently you exercise, the better your chances of mastering programming are.

Try to make the process of learning programming fun. While coming up with an idea for a project, join a programming community, exchange ideas, or register on a programming forum. Start some topics, try to do something different, or explore some modern technology. Find some sites that offer various challenges for developers so you can further practice and strengthen your skills. If you have simply made a project and everything is working properly, try to experiment a bit and improve some segments if possible.

The goal is to make programming a part of your everyday life and to experience it as a game so that you don’t get bored or too tired at some point.


Learning programming is a big challenge, and a large number of people give up, which is completely normal. Some do not have enough will and motivation, some do not have an adequate background, and some simply realize that programming is not for them.

However, if you are determined and create your learning plan well and adhere to all the guidelines we have given you, you will have a great chance of succeeding in this field. You should always keep in mind that all the developers struggled a little in the beginning. You will have super productive days, but also days when you will want to give up more than once.

If we accept all this and understand that it is part of a learning process that simply works that way, it will be easier for us to achieve the continuity in work that we need to master programming. The most important thing is to stay persistent and never give up.

We invite you to follow us on social networks so you can keep up with all our latest projects and news.