Software architecture
Elements, elements public props, relationships.
SA of a program or computing system is the structures which comprises software elements, the externally visible properties of those elements and the relationship among them.
Architectural style
encapsulates important decisions about architectural elements and emphasizes important constraints on elements and their relationships.
Service-Oriented architecture (SOA)
is an architectural style for building software systems with autonomous loosely coupled components that provide their functionality via a standardized interfaces in the form of services. A service is a encapsulated piece of logic reachable over the network via a standardized interface – distributed architecture.
The components of SOA:
Message, Operation, Service, Process
The components of SOA: message
The components of SOA: operation
Represents the logic required to process messages in order to complete a unit of work
The components of SOA: service
Represents a logically grouped set of operations performing related units of work.
The components of SOA: process
A large piece of work that requires the completion of smaller units of work.
A central aspect of SOA is the provisioning, search and consumption of services as a functional unit. The high abstraction level of services allows
Implementation independence, decomposition, distribution.
Eight Principles of SOA: 1. Reusability
Eight Principles of SOA: 2. Formal Contract
Eight Principles of SOA: 3. Loose Coupling
Eight Principles of SOA: 4. Abstraction
Eight Principles of SOA: 5. Composability
Eight Principles of SOA: 6. Autonomy
Eight Principles of SOA: 7. Statelessness
Eight Principles of SOA: 8. Discoverability
Three layers of abstraction:
Web Service Definition
a web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web Service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols.
SOA with Web Services