Communication ports define how communications with other microservices are supported. There are two kinds of ports. Input ports deal with exposing input operations to other microservices. Output ports define how to invoke the operations of other microservices. Ports allow Jolie programmers to combine communication media (sockets, localsockets, bluetooth) and data formats (http, https, soap), which is the concrete binding information between the communicating microservices.