Service-Oriented Architecture (SOA)
(Redirected from service-oriented architecture)
Jump to navigation
Jump to search
A Service-Oriented Architecture (SOA) is an information system architecture where services are provided to the other components by application components through a communication protocols over a network.
- Context:
- It can have SOA Principles, such as:
- Service abstraction ; Service autonomy ; Service composability ; Service discovery ; Service granularity ; Service reusability ; Service statelessness ; Standardized service contract ; Service encapsulation ; Service location transparency (an aspect of loose coupling) ; Service longevity ; Service normalization ; Service reference autonomy (an aspect of loose coupling)
- …
- It can have SOA Principles, such as:
- Example(s):
- Counter-Example(s):
- See: Application Components, Communications Protocol, Black Box, Single Source of Truth.
References
2023
- chat.openai.com
- Q What is a Data Layer in a Microservices architecture and how is it connected with a service oriented architecture?
- A: ... A service-oriented architecture (SOA) is an architectural style that is designed to support the development of distributed systems. In an SOA, a system is composed of a set of independent services that communicate with each other using a standard protocol, such as HTTP. Each service is responsible for a specific business function and is designed to be self-contained and modular.
...
2022
- (Wikipedia, 2022) ⇒ https://en.wikipedia.org/wiki/Service-oriented_architecture Retrieved:2022-8-18.
- In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is as well applied in the field of software design where services are provided to the other components by application components, through a communication protocol over a network. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online. SOA is also intended to be independent of vendors, products and technologies. Service orientation is a way of thinking in terms of services and service-based development and the outcomes of services. A service has four properties according to one of many definitions of SOA: # It logically represents a repeatable business activity with a specified outcome. # It is self-contained.
- It is a black box for its consumers, meaning the consumer does not have to be aware of the service's inner workings.
- It may be composed of other services. Different services can be used in conjunction as a service mesh to provide the functionality of a large software application, a principle SOA shares with modular programming. Service-oriented architecture integrates distributed, separately maintained and deployed software components. It is enabled by technologies and standards that facilitate components' communication and cooperation over a network, especially over an IP network.
- SOA is related to the idea of an API (application programming interface), an interface or communication protocol between different parts of a computer program intended to simplify the implementation and maintenance of software. An API can be thought of as the service, and the SOA the architecture that allows the service to operate.
- In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is as well applied in the field of software design where services are provided to the other components by application components, through a communication protocol over a network. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online. SOA is also intended to be independent of vendors, products and technologies. Service orientation is a way of thinking in terms of services and service-based development and the outcomes of services. A service has four properties according to one of many definitions of SOA: # It logically represents a repeatable business activity with a specified outcome. # It is self-contained.
2017b
- (Wikipedia, 2017) ⇒ https://en.wikipedia.org/wiki/Service-oriented_architecture#Principles Retrieved:2017-4-5.
- Standardized service contract
- Services adhere to a standard communications agreements, as defined collectively by one or more service-description documents within a given set of services.
- Service reference autonomy (an aspect of loose coupling)
- The relationship between services is minimized to the level that they are only aware of their existence.
- Service location transparency (an aspect of loose coupling)
- Services can be called from anywhere within the network that it is located no matter where it is present.
- Service longevity
- Services should be designed to be long lived. Where possible services should avoid forcing consumers to change if they do not require new features, if you call a service today you should be able to call the same service tomorrow.
- Service abstraction
- The services act as black boxes, that is their inner logic is hidden from the consumers.
- Service autonomy
- Services are independent and control the functionality they encapsulate, from a Design-time and a run-time perspective.
- Service statelessness
- Services are stateless, that is either return the requested value or give an exception hence minimizing resource use.
- Service granularity
- A principle to ensure services have an adequate size and scope. The functionality provided by the service to the user must be relevant.
- Service normalization
- Services are decomposed or consolidated (normalized) to minimize redundancy. In some, this may not be done, These are the cases where performance optimization, access, and aggregation are required.[3]
- Service composability
- Services can be used to compose other services.
- Service discovery
- Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.
- Service reusability
- Logic is divided into various services, to promote reuse of code.
- Service encapsulation
- Many services which were not initially planned under SOA, may get encapsulated or become a part of SOA.
2017c
- (Bouguettaya et al., 2017) ⇒ Athman Bouguettaya, Munindar Singh, Michael Huhns, Quan Z. Sheng, Hai Dong, Qi Yu, Azadeh Ghari Neiat, Sajib Mistry, Boualem Benatallah, Brahim Medjahed, Mourad Ouzzani, Fabio Casati, Xumin Liu, Hongbing Wang, Dimitrios Georgakopoulos, Liang Chen, Surya Nepal, Zaki Malik, Abdelkarim Erradi, Yan Wang, Brian Blake, Schahram Dustdar, Frank Leymann, and Michael Papazoglou. (2017). “A Service Computing Manifesto: The Next 10 Years.” In: Communications of the ACM Journal, 60(4). doi:10.1145/2983528
- QUOTE: Mapping out the challenges and strategies for the widespread adoption of service computing.
- Key Insights:
- Service computing is a key paradigm that offers cross-disciplinary computational abstractions, architectures, and technologies to support business services.
- Service computing has not yet realized its potential, because it has fallen short in addressing the challenges facing business services that go beyond technical aspects, especially in incorporating human concerns; incorporating recent technological advances; and addressing the effect of confusing standards.
- A reboot of the service computing is essential for it to play its crucial role in the ear of cloud computing, big data, the Internet of Things (IoT), and social and mobile computing. It will require rethinking the service life cycle to better incorporate data and interaction semantics and elements of crowdsourcing reputation and trust to provide personalized, explicit value to stakeholders
- ↑ Yvonne Balzer Improve your SOA project plans, IBM, July 16, 2004
- ↑ Principles by Thomas Erl of SOA Systems Inc. eight specific service-orientation principles
- ↑ Tony Shan (2004). "Building a service-oriented e Banking platform". IEEE International Conference on Services Computing, 2004. (SCC 2004). Proceedings. 2004. pp. 237–244. doi:10.1109/SCC.2004.1358011. ISBN 0-7695-2225-4.2004