A serious web programmer will say that these are parts of one system, and not product types. And then, he will say suddenly, ‘We are working on a web application, not a website,’ or, ‘The website is ready, but we need to connect web services.’ What is that supposed to mean?
Let us compare a pancake house in a trade centre and a federal pizza delivery network.
Everything the pancake house needs is a brochure website indicating the type of pancakes it serves, and its location. You can announce discounts and master classes there, or post high-priority announcements like ‘We are closed today. Water turned off.’
The pizzeria accepts orders via the website and the mobile app. A chatbot communicates with customers. Cooks and couriers have their own applications for receiving tasks and recording the work progress. A simple homepage will not be enough here: the entire software set is required.
A cook rolled out the dough, laid the filling, put the pizza into the oven, and packed the dish into the delivery box. So, the box is the website, the oven is the web service, and the cook is the web application. The pizza, the box, the oven, and the cook are not separate services but a part of one process.
Let’s move from metaphor to reality.
‘We implement the client-server architecture,’ the developers announced. What it means: the client just ‘asks’ the server to work and to give the result. The business process is carried out on the server, and not on the client device. The web application is a code part on the server that performs business processes.
Web service is a notion even more technical. If the web application relates to a client in any way, the web service operates not with a client but with the other applications and services. This is the code for a different code.
Let’s explain with an example.
The customer places an order: enters the address, contacts, card number. The server receives the command ‘Place the order!’ A server, or, more specifically, an application on a server, calculates the delivery cost, applies discounts, accrues bonuses, writes the order to the database, notifies a kitchen and a courier, addresses a bank for payment, and creates an account entry for the accounting department. Having performed all these actions, the server reports, ‘The order has been placed!’ The customer sees a notification.
Where is a web service here? It is where the pizzeria addresses the bank to withdraw money from the payer’s account. The customer does not see how the server questions the bank, is there the sufficient balance on the card, whether the data were entered correctly, whether the card is not in the blacklist. A code behind — a web service — communicates with the bank. There is the second web service intended for metrics collection, and the third one, for emailing.
In comparison to this, there is nothing to process on the pancake house website: it’s only necessary to show the static text and images. A couple of simple webpages without any applications or services.
The web application helps a company to grow because it:
But at the same time, it brings new challenges:
In everyday usage, a website means an informative: landing page, portfolio, promo. The user does nothing, only reads what is written.
The web application means something more complex: online store, online bank, electronic government services. Client interaction is present there.
By saying ‘we develop the web service,’ developers mean that they write a code behind. For example, for metrics collection.
Technically, an application and a service are not product types but puzzle elements. Small offline business will deal without them; medium and large online businesses will not. A pizzeria with online orders will no way be a simple homepage.