MONTES, ELEAZAR JUNIOR L.
BSIE-4
IE 227 SYSTEMS ENGINEERING
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA) is a design approach that allows
different software applications to communicate and share data with each
other over a network. In SOA, software components (called services) are
created to perform specific functions and can be reused across different
applications.
Application:
A common application of SOA is in online banking systems. For
example, a bank might have separate services for checking account
balances, transferring money, and paying bills. Each of these services can
be accessed by different applications (like a mobile app or a website)
without needing to know the details of how each service is implemented.
Components of Service-Oriented Architecture (SOA)
Application Frontend
The user interface of an application that allows users to interact with the
services. For example, a mobile app or a web portal.
Service
A self-contained function that performs a specific task, such as retrieving
customer information or processing a payment.
Service Repository
A centralized storage location where all available services are
documented and can be accessed by developers. It acts like a library of
services.
Service Bus
A communication layer that facilitates the interaction between different
services. It helps in routing messages and ensuring that services can
communicate effectively.
Contract
A formal agreement that defines how a service can be used, including the
inputs it requires and the outputs it provides. It acts as a guideline for
developers.
Implementation
The actual code and logic that make up a service. This is where the
functionality of the service is developed.
Interface
The part of a service that defines how other applications can interact with
it. It specifies the methods and data formats that can be used.
Business Logic
The rules and processes that dictate how a business operates. In SOA, this
logic is often encapsulated within services to ensure consistency and
reusability.
Data
The information that services use and manipulate. This can include user
data, transaction records, and other relevant information needed for the
services to function.
References:
Erl, T. (2005). Service-oriented architecture: Concepts, technology, and
design. Prentice Hall.
Papazoglou, M. P., & Georgakopoulos, D. (2003). Service-oriented
computing. Communications of the ACM, 46(10), 24-28.
https://doi.org/10.1145/944213.944216
Lewis, J., & Fowler, M. (2014). Microservices: A definition of this new
architectural term. MartinFowler.com.
https://martinfowler.com/articles/microservices.html
Pahl, C., & Lee, J. (2015). Containers and microservices: A new approach
to software architecture. IEEE Cloud Computing, 2(2), 24-31.
https://doi.org/10.1109/MCC.2015.38
Al-Masri, E., & Mahmoud, Q. H. (2008). Investigating web services on the
world wide web. Proceedings of the 2008 IEEE International Conference on
Web Services, 195-202. https://doi.org/10.1109/ICWS.2008.25