service oriented architecture (soa)
TRANSCRIPT
Architecture Definition in IEEE 1471
Architecture :
The fundamental organization of a system embodied in it’s components, their relationships to each other, and to the environment, and the principles guiding it’s design and evolution
Architect :
The person, team, or organization responsible for designing systems architecture
Software Architecture What is Software Architecture?
The software architecture of a program or computing system is a depiction of the system that aids in the understanding of how the system behave
Serves as blueprint for both the system and the project developing
The primary carrier of system qualities
An artifact for early analysis
Set of structures needed to reason about the system
Documentation of a system
SOA An architecture style that model system’s information
into services
Old division between business and IT
Basic understanding of SOA development as a application that describe web services
Logical evolution of the software’s modeling
Not a new concept
SOA Definition from various viewpoints
SOA is a journey that promises to :
reduce the lifetime cost of the
application portfolio
Maximize RIO in both application
and technology resource
Reduce lead times in delivering
solutions to business
SOA Definition from various viewpoints
SOA is a set of services that can be:
Exposed to their customers ,partners
and other part of organization
Business capabilities , function , and
business logic can be combined
Application serve the business
SOA Definition from various viewpoints
SOA is a means to create dynamic ,
highly configurable and collaborative
application built for change
SOA reduce IT complexity and
rigidity
SOA becomes the solution to stop
the gradual entropy
SOA reduces lead times and costs
SOA Definition from various viewpoints
SOA is the architectural solution for
integrating diverse systems by
providing an architectural style that
promotes loose coupling and reuse
SOA Definition from various viewpoints
SOA is a programming model or paradigm
where web services and contracts becomes
a dominate design for interoperability
Use WSDL or equivalent specification
for describing the service
SOA DefinitionDelivering on the promises of SOA :
Improved business agility
Maximized ROI
Reduce IT complexity and rigidity
Reduce costs
Reduce lead times
Reduce risk
New opportunities to deliver value
Increased participation in value networks
Incremental implementation
What Are The Fundamental Constructs Of SOA?
The most basic construct or building block of SOA is a service
Service consumer, service provider, service description, service broker, and a registry are all part of the DNA of SOA
A service in SOA is the logical, self-contained business function
What Are The Fundamental Constructs Of SOA?
Services in SOA have the following attributes:
Stateless
Discoverable
Self-describing
Compostable
Loose coupling
Governed by policy
Independent location, language, and protocol
What Are The Fundamental Constructs Of SOA?
Services in a service-oriented architecture typically have the following characteristics:
Coarse-grained
Asynchronous
SOA Terms Service-Orientation
Services
Service-Models
Service Composition
Service Inventory
Service-Oriented Analysis
Service Candidate
Service-Oriented Design
Service Contract
Service-Related Granularity
Service-Orientation design paradigm intended for the creation of solution logic
units
As a design paradigm for distributed computing, service-orientation can be compared to object-orientation
Services A unit of solution logic to which service-orientation
has been applied to a meaningful extent.
As a physically independent software program with specific design characteristics
Each service is assigned its own distinct functional context and is comprised of a set of capabilities related to this context
Considered a container of capabilities associated with a common purpose
Services
Three common service implementation is :
Services as Components
Services as Web Services
Services as REST Services
Services as Component A software program designed to be part of a
distributed system
It provides a technical interface comparable to a traditional API
have typically relied on platform-specific development and runtime technologies
Services as Web Services Is a body of solution logic that provides a physically
decoupled technical contract consisting of a WSDL definition and one or more XML Schema definitions and also possible WS-Policy expressions
Web service contract exposes public capabilities as operations
Service-orientation can be applied to the design of Web services
Services as REST Services Are designed in compliance with the REST
architectural style
Focuses on the resource as the key element of abstraction
Can be further shaped by the application of service-orientation principles
Services Models Is a classification used to indicate that a service
belongs to one of several predefined types
Three service models are common to most enterprise environments and therefore common to most SOA projects: Task Service
Entity Service
Utility Service
Play an important role during service-oriented analysis and service oriented design phases
Services Composition Is an aggregate of services collectively composed to
automate a particular task or business process
To qualify as a composition, at least two participation services plus one composition initiator need to be present
Can be classified into primitive and complex variations
Services Inventory Is an independently standardized and governed
collection of complementary services within a boundary that represents an enterprise or a meaningful segment of an enterprise
When an organization has multiple service inventories, this term is further qualified as domain service inventory
Services-Oriented Analysis Represents one of the early stages in an SOA initiative
and the first phase in the service delivery cycle
The service-oriented analysis process is commonly carried out iteratively, once for each business process
A key success factor of the service-oriented analysis process is the hands-on collaboration of both business analysts and technology architects
Services Candidate Is used to help distinguish a conceptualized service
from an actual implemented service
Services-Oriented Design Represents a service delivery lifecycle stage dedicated
to producing service contracts in support of the well-established “contract-first” approach to software development
The typical starting point for the service-oriented design process is a service candidate
There is a different service-oriented design process for each of the three common service models
Services Contract Is comprised of one or more published documents that
express meta information about a service
The fundamental part of a service contract consists of the documents that express its technical interface
When services are implemented as Web services, the most common service description documents are the WSDL definition, XML schema definition, and WS-Policy definition
Services-Related Granularity
there are different granularity levels as follows:
Service Granularity
Capability Granularity
Constraint Granularity
Data Granularity
Benefits Of SOA New products or processes simply execute
Flexible systems are not obstacle to changing and rapid evolution of processes
Benefits Of SOA Divided of project into smaller components that can
be done independent is simply
Control of progress in each subproject is calculated
Benefits Of SOA Systems easily meet the requirements of users
The problem of data transfer between systems is solved with integration
Complexity of systems hidden from users
Benefits Of SOA
Enterprise architects believe that the SOA can help the business to response faster and more cost-effective to market conditions changing
This style of architecture use reusability in macro level instead micro level
Orchestration and Choreography
Without process engine Sequence of transaction messages register and controlled by players
Have a process engineCall set of services to completeprocess Maybe call external servicesSample of this system is
BPMS
Principles of SOA Loose coupling
Service contract to communications agreement
Encapsulation of internal implementation
Reusability
Composability
Statelessness Services
Discoverability Services
Autonomy Services