Unit 5. Network Services
Services are helpers used in a system to manage a collection of resources and provide their functionality to users and applications.
Access to services consists of the set of operations offered, for example, a file service offers read, write, and delete file operations.
All Internet services implement a client-server relationship. There are many libraries to work with the most common services. In this unit we are going to focus on the FTP (file transfer), SMTP service (mail sending) and POP3/IMAP (mail reading).
In addition, there are other approaches, also based on the client-server architecture that allow access to systems. Among the most used, is what is called Rest API
, which is still a service over HTTP that allows you to interact with the backend of the systems, no matter the architecture and languages used in the frontend.
We are going to analyze in this unit other approaches such as queue systems, based on the MQ protocol, or serverless systems
offered by the main cloud computing platforms (Azure Functions, AWS Lambda and Google Cloud Functions).
Goals
Goals of this unit:
- Use Java libraries to use the most important TCP/IP application protocols.
- Test network communication services.
- Allow cloud operations easily.
- Create applications that allow asynchronous communication between clients and between clients and servers.