In this fourth part of this seven-part series we look at the development of the backend functionality and the creation of the API (Application Programming Interface).
BACK END FUNCTIONALITY
The back end development comprises of the design, structuring and creation of the database. A database is a data repository used to store and retrieve information specific to the project.
Careful planning and consideration for all elements within the project is required when planning the structure of the database as this structure should be able to handle vast amounts of data and also be scalable and therefore be able to handle future growth with ease. This is all achieved through best practice relational database design principals.
Other backend development includes developing the functionality that is specific to all users, described above and also the development of the administrator user interface. The administrator is a user who typically has access to all information for the entire project as well as specific reporting tools and dashboards for aggregated views of information within the system.
Backend development includes the logging in and out of users, setting and applying the permissions for users when logged in and providing all the functionality available to the logged in users (project-specific).
Other backend development items include integration with any third-party platforms such as credit card payment gateways, SMS providers, booking engines, financial systems, data providers, reporting tools, etc.
Typically these integrations are done via a popular term you may have heard, called an API, which stands for Application Programming Interface.
Back end development also includes the building of automated procedures that need to occur within the product. For example: reminding users to renew their subscription or generating and communication with winners of a competition that has finished.
Certain systems such as intranet systems are typically all classified as back-end systems and therefore the entire project development takes place in the backend.
You’ve probably heard of the term API. An API allows a platform to seamlessly and securely send and receive data to and from other authenticated systems in a structured manner. In layman’s terms, it allows two systems to speak to one another.
An API typically sits between the web server and a mobile app or front end of a web application, as illustrated below:
Why is there a need for APIs?
The reason why many web and mobile applications make use of an API is to allow third-party systems to access parts of their data without having to provide them with access to their entire data. APIs also streamline communication and ensure that only the necessary data is shared.
For example, if we had an application that needed to get a history of all products purchased for a certain customer. The API would be able to accept this request and then send back only the necessary results relating to this query; as opposed to sending back all purchases for all customers and then allowing the application to sift through that data and find what they actually wanted.
APIs are not a new concept but as more traditional desktop and mainframe server software move to the cloud, there is a greater need for these systems to talk to one another, therefore seeing an increase in the demand for the development of APIs.
API development technology
There are two main technologies or protocols when it comes to the development of APIs, one new and an older one.
SOAP (Simple Object Access Protocol) is an official protocol with strict rules and security features. It uses XML to transfer data and is often very difficult to integrate with, due to how strict the protocol is. SOAP is also process heavy and therefore timeouts are fairly common if the server cannot handle the load of API calls.
SOAP is very old technology and the only benefit that it’s got going for it, is it’s security features. Most financial API’s like PayPal use SOAP because of the increased security features.
REST (Representational State Transfer) is an architectural style that can consist of HTML, JSON, XML or plain text. It has a much better performance than SOAP. The most popular format of communicating with a REST API is using JSON format because it’s lightweight and easily readable by any language.
When it comes to security, REST can be just as secure as SOAP, if used over HTTPS and making use of the OAuth 2.0 authorization framework.
Third-Party API Integrations
Examples of APIs that we have integrated with:
- Payment gateways, such as: PayFast, PayGate, PayPal, MyGate, Payline.
- Booking systems
- Car pricing
- Sports stats and betting odds
- Various Google Map related APIs
- Social media API integrations like Facebook, Twitter and Instagram
- Exchange rates
- Third-party platforms
- CRM (Customer Relationship Manager)
- SMS / MMS services
API systems we’ve built
We’ve built numerous custom APIs for our clients. Below are some examples that we have developed.
- Allow users to access multiple platforms through a single sign-on.
- Mobile app APIs, allowing the mobile app to communicate effectively with the database.
- Virtual wallet money transfer processing
- An API to allow multiple websites to communicate with a central CRM system
- An API that processes financial transaction processing
This concludes part four in this series of articles. Stay tuned for our next article where we discuss the next steps in how we work with startups and the evolution of digital products