SOA

advertisement
Service-oriented architecture
The Basic
• main concepts
– Service-orientation describes an architecture that
uses loosely coupled services to support the
requirements of business processes and users.
– Resources on a network in an SOA environment are
made available as independent services that can be
accessed without knowledge of their underlying
platform implementation
– a style of information systems architecture that
enables the creation of applications that are built by
combining loosely coupled and interoperable services
SOA
• Services inter-operate based on a formal
definition (or contract, e.g., WSDL)
– independent of the underlying platform and
programming language
• Interface definition hides the implementation of
the language-specific service
• Independent of development technologies and
platforms (such as Java, .NET etc)
• Support integration and consolidation activities
within complex enterprise systems
SOA definitions
• Design for linking business and
computational resources on demand to
achieve the desired results for service
consumers
OASIS (Organization for the Advancement
of Structured Information Standards)
Defiition
A paradigm for organizing and utilizing distributed
capabilities that may be under the control of different
ownership domains. It provides a uniform means to offer,
discover, interact with and use capabilities to produce
desired effects consistent with measurable preconditions
and expectations.
SOA Elements
Why SOA?
• Traditionally, IT works with the business
owners, who are influenced by application
vendors.
– using a point-to-point approach that
connected the application to both upstream
and downstream systems
• may not be integrated into the existing architecture
• Redundant infrastructure solutions
• Impossible and impractical to modify this portfolio
to reflect a change in a business process
Business Problems Impact IT
•
•
•
•
•
Globalization
Economic Pressures
Business Process Outsourcing
Technology
Lack of Cohesive Business Information
Strategy
• Standards
Business Problems Impact IT
• Business and IT operations teams
frequently differ in their approaches
– For example, some business operations
teams prefer to demonstrate “quick wins” to
validate an approach, while IT operations
prefer to build out the infrastructure.
– Fortunately, SOA offers both
Why SOA?
• main drivers
– links computational resources and promotes
their reuse
– help businesses respond more quickly and
cost-effectively to changing market conditions
– style of architecture promotes reuse at the
macro (service) level rather than micro level
(objects)
– simplify interconnection to - and usage of existing IT (legacy) assets
Why SOA?
• Considered an architectural evolution
– Better than a revolution and captures many of the
best practices of previous software architectures
• Different to modular programming (1970s),
event-oriented design (1980s) or
interface/component-based design (1990s)
– SOA separats users (consumers) from the service
implementations
– Services can therefore be run on various distributed
platforms and be accessed across networks
– maximise reuse of services
Service-oriented design and
development (SOAD)
• SOA uses SOAD concept.
• SOAD
– design methodology for developing highlyagile systems in a consumer/producer model
– abstracts implementation from process,
• a service-provider can be modified or changed
without affecting the consumer
Service-oriented design and
development (SOAD)
• Service contract
– Header
• Name - Name of the service
• Version - The version of this service contract
• Owner - The person/team in charge of the service
– RACI
» Responsible - the person/team responsible for the deliverables of
this contract/service.
» Accountable - Ultimate Decision Maker in terms of this
contract/service
» Consulted - Who must be consulted before action is taken
» Informed - Who must be informed that a decision or action is
being taken.
– Type - the type of the service
» Data
» Process
» Functionality
» Presentation
Service-oriented design and
development (SOAD)
– Functional
• Functional Requirement (From Requirements Document)
• Service Operations –
– Methods, actions etc.
– Must be defined in terms of what part of the Functionality it
provides.
• Invocation –
– Indicates the invocation means of the service.
– This includes the URL, interface, etc.
» Examples:
» SOAP
» REST
» Events Triggers
Service-oriented design and
development (SOAD)
– Non-Functional
• Security Constraints –
– Defines who can execute this service in terms of roles or individual
partners, etc.
– which invocation mechanism they can invoke
• Quality of Service –
– Determines the allowable failure rate
• Transactional –
– Is this capable of acting as part of a larger transaction
– and if so, how do we control that?
• Service Level Agreement –
– Determines the amount of latency the service is allowed to have to
perform its actions
• Semantics –
– Defines the meaning of terms used in the description and interfaces of
the service
• Process –
– Describes the process of the contracted service
SOA and Web service protocols
• Web services standards relevant to SOA
– XML
– HTTP (or HTTPS)
– SOAP
– Web Services Description Language (WSDL)
– Universal Description, Discovery, and
Integration (UDDI)
SOA and Web 2.0
• Web 2.0
– Refers to a "second generation" of web sites
– Distinguished by the ability of visitors to contribute
information for collaboration and sharing
– Use Web services and may include Ajax program
interfaces, Web syndication, blogs, and wikis
– no set standards for Web 2.0
• building on the existing web server architecture and using
services
• regarded as displaying some SOA characteristics
The challenges faced in SOA
adoption
• Managing services metadata
– SOA-based environments can include many services
which exchange messages to perform tasks
• E.g., a single application may generate millions of messages
• Provide appropriate levels of security
– Application-managed security is not the right model
for securing services
• Interoperability is another important aspect in
the SOA implementations
Criticisms of SOA
• Some criticisms of SOA are based on the
assumption that SOA is the equivalent of
Web Services
– SOA results in the addition of XML layers
introducing XML parsing and composition
• Applications may run slower and require more
processing power without RPC (Remote
Procedure Calls)
• Increases costs
Criticisms of SOA
• Stateful services
– require both the consumer and the provider to share
the same consumer-specific context
• included in or referenced by messages exchanged between
the provider and the consumer
– may reduce the overall scalability of the service
provider
• because it may need to remember the shared context for
each consumer
– Also increases the coupling between a service
provider and a consumer
• makes switching service providers more difficult
Criticisms of SOA
• WS standards and products are still
evolving
– E.g., transaction, security, etc
– Can thus introduce risk
• Need properly managed and estimated
• Aadditional budget and contingency needed for
additional Proof
SOA Lifecycle Stages
• Initiate SOA
– decide which business function and
underlying processes SOA will enable,
enhance, or even replace.
– The company establishes a project team,
objectives, and timelines & deliverables
– For the purpose to create a roadmap that
combines business and IT efforts
SOA Lifecycle Stages
• Develop Roadmap
– spells out the process for conducting an SOA
assessment
– developing the SOA principles
• define the SOA principles in a clear and concise manner
– defining the reference architecture
• describe the “future state” for the IT organization
• making the transition from the current situation to the future
state.
– define the phases for deploying business solutions
and the infrastructure required to support them.
SOA Lifecycle Stages
• SOA Execution Plan
– describes how to execute towards the SOA
roadmap.
– execute projects in the sequence described in
the roadmap
– build out the infrastructure as required to
provide the business capability
SOA Lifecycle Stages
IBM SOA Lifecycle Stages
Download