Dictionary of ecommerce technology terms for dummies
Agile Software Development
A methodology of software development under which requirements and solutions evolve through the collaborative work between client and an IT team. The main benefit for the client is that they can constantly monitor the progress of the project and introduce changes, resulting in a better final product. It was first time presented in 2001 in Manifesto for Agile Software Development and is currently the leading approach across modern software houses. Examples of agile methodologies are Scrum and Kanban.
Improvement of an application’s ability to work efficiently as the load increases. There are two basic approaches to application scaling: vertical (based on increasing computing power, adding RAM memory, etc.) and horizontal (an application is divided and each part of it is run on different servers).
This is one of the processes of software quality assurance. Testing provides information about software’s compliance with customer requirements or expectations, and allows one to assess the level of its security. In practice, such automated testing as part of work on an ecommerce product can be a check of the correctness of the ordering process.
Automatic tests, as opposed to manual tests, are largely based on programming. The tester’s task is to prepare tools that will perform the given scenario in the most autonomous manner and evaluate its results.
A programming practice in which dev team members often merge the results of their work, for example everyone does it at least once a day. In this way, several integrated versions of the code are created every day. Usually each code integration runs through automatic testing.
Containerization / Dockerization
The term most often used in the context of the Docker open-source platform. It allows placement of the application in a light, portable, virtual container that includes everything needed to run it: code, runtime, system tools, system libraries and settings. When the developer downloads the containerized software it will always run and behave the same, regardless of the environment they’re using (such as operating systems).
This is a method of creating software that emphasize close cooperation and communication of professionals in the field of IT maintenance (administrators) and developers. Thanks to dev-ops specialists, the cycle of software releases is faster.
The type of ecommerce platform for medium and large size projects that are characterized by a high degree of customization and a long-time maintenance. In contrast to ready-made platforms, such as in the SaaS model, the ecommerce framework permits development of an online store with unique functions. An example of such software is Shopsys Framework.
Headless ecommerce application introduces a separation of front-end (UI) and back-end (business logic). In practice, this means that it is possible to create customer journeys for each channel (mobile, smart TV, desktop) separately. It also greatly supports the in-house development because it’s easier to recruit developers specializing only in one field.
The general idea of building applications based on such architecture assumes the division of applications into individual, independent components. All these components, or microservices, are connected to each other using defined and mostly versioned APIs. The use of microservices architecture makes sense for big projects (consisting of many separate development teams).
Orchestration / Container Orchestration
The process of automation of deployment, scaling and management of containerized applications. One of the best solutions for orchestration is the open-source platform Kubernetes.
Progressive Web Apps (PWA)
PWA is a normal web application enriched with additional features which allows one to achieve the experience of using mobile app. In order to be considered an application it must meet the following requirements (Google PWA checklist).