Service-oriented architectures largely consist of business logic in services that communicate with data repositories.
These services can be derived in different forms to build applications. These applications adopt these services in different formats to build various applications. Consider the services as Lego blocks that can be put together to build an application in a given format.
This description is rather crude; let me clarify further:
Boundaries for services are explicit (they may separate web services on different domains, and so on.)
Services can inter-communicate using a common communication protocol (for example all use RESTful APIs)
Services are autonomous (they are decoupled and not related to another service in any way)
The message processing mechanism and the schema are understandable by every other microservice (and therefore are often the same), but the programming environment can be different
Service-oriented architectures are inherently distributed...