Glossary · Automation software engineering and architecture
Service-oriented architecture (SOA)
Also known as: SOA
German: Serviceorientierte Architektur (SOA)
In software architecture, a service-oriented architecture (SOA) is a style in which functionality is provided as reusable services with published interfaces that other applications access over a network, often through shared middleware.
- Software engineering
In one sentence
A service-oriented architecture (SOA) provides functionality as reusable network services with published interfaces.
Example
In the plant, quality, maintenance and order services are offered through a service bus, and the MES and the HMI use the same services.
How it applies
- Engineering: SOA structures systems around business capabilities and their interfaces. In automation, OPC UA and device profiles for web services brought service orientation down to machine level.
- Integration: Services must be governed: interface versions, ownership and dependencies. Without governance, services become tightly coupled despite the architecture.
- Documentation: Keep a service catalog with purpose, interface, owner and version for each service. System-level documentation should explain which services support which user functions.
SOA vs. microservices
Microservice architecture is a later refinement of service orientation with smaller services, independent deployment and decentralized data. Classic SOA often used central enterprise service buses and larger shared services.