soa - 17kasim2011
TRANSCRIPT
-
8/3/2019 SOA - 17Kasim2011
1/40
mailto:[email protected]:[email protected] -
8/3/2019 SOA - 17Kasim2011
2/40
Agenda
What is SOA?
Concept of service and web services
SOA from different perspectives SOA technologies and products
SOA pitfalls
This presentation has 40 slides.
-
8/3/2019 SOA - 17Kasim2011
3/40
Modern corporations are faced with a profounddilemma. Increasingly, they are becoming information-
based organizations, dependent on a continuous flow ofdata for virtually every aspect of their operations. Yettheir ability to handle that data is breaking downbecause the volume of information is expanding fasterthan the capacity to process it. The result: Corporations
are drowning in their own data.The problem doesnt lie in hardwarecomputerscontinue to increase in speed and power at aphenomenal rate. The failure lies in software. Developingsoftware to tap the potential of computers turns out tobe a far greater challenge than building faster machines.
David A. Taylor, Ph.D.,
inObject Technology: A Managers Guide
-
8/3/2019 SOA - 17Kasim2011
4/40
SOA Defined Service-Oriented Architecture is an IT strategy that
organizes the discrete functions contained in enterpriseapplications into interoperable, standardsbased
services that can be combined and reused quickly tomeet business needs.
There are some keywords in this definition that need tobe inspected further, so lets do that.
-
8/3/2019 SOA - 17Kasim2011
5/40
IT Strategy SOA is a strategy or paradigm to manage business
computing needs in an enterprise.
SOA is an approach to how to handle your IT to promote
successful business. SOA is an enterprise-level architecture for most of
business applications.
Main aim and promise of SOA is to reduce the time and
cost of creating new applications through reuse. SOA builds its sphere around the concepts of business
processes and services.
-
8/3/2019 SOA - 17Kasim2011
6/40
IT and Business Alignment IT-Business tension has always been a problem in
enterprises.
This tension should be overcome in order to have
successful IT applications that create competitive edgefor the enterprise.
BusinessStrategy SOA
IT
Strategy
-
8/3/2019 SOA - 17Kasim2011
7/40
Discrete Functions Every enterprise has a number of its own business
functions.
Most of those functions are discrete in that they handle
different parts of the business mostly without touchinganother.
Or if they are communicating, it mostly happens point-to-point basis or they share some data, etc.
In fact those discrete functions should become part ofapplications that implement company-wide processes tocreate for example more integrated and less overlappingcustomer experience.
-
8/3/2019 SOA - 17Kasim2011
8/40
Enterprise Application Functions are implemented by software applications.
By implementing functions, applications managebusiness processes that consequently provide some
functions to internal departments of the company or itspartners and customers.
Those discrete applications live in local contexts such asthe individual departments or among a few of them.
Production, marketing, customer service, finance andsome others such as claims in insurance business or moretechnological ones in telecom business
-
8/3/2019 SOA - 17Kasim2011
9/40
Business Processes and Contexts But SOA implements business processes at wider
contexts: Company-wide and/or a space from suppliersto customers.
Thats because processes in an enterprise get morecomplex and they touch customers at more points andin more interactive and information-intensive ways.
And think that all these interaction points behave
distinctly and treat the customer without knowinganything about other interaction points!
That creates frustrating experience for the customers.
-
8/3/2019 SOA - 17Kasim2011
10/40
Interoperable The IEEE Glossary defines interoperability as the ability
of two or more systems or components to exchangeinformation and to use the information that has been
exchanged. Interoperability has always been hard and traditionally
achieved with one of manyEnterprise ApplicationIntegration (EAI) approaches
Two sides of the wire have mostly incompatible OSs, PLs,protocols, file formats, etc.
EAI has been achieved by P2P, bus-based architectures.
-
8/3/2019 SOA - 17Kasim2011
11/40
Point-to-Point IntegrationPackaged CRM
Packaged ERP
Mainframe
App Server
CRM Application
ERP Application
CustomApplication
EJB Application
EAI Client Tier
CustomLogic
CustomLogic
CustomLogic
CustomAPI
CustomAPI
CustomAPI
CustomAPI
CustomAPI
CustomAPI
CustomAPI
CustomAPI
ClientApplication
ClientApplication
ClientApplication
-
8/3/2019 SOA - 17Kasim2011
12/40
Bus-based Integration
-
8/3/2019 SOA - 17Kasim2011
13/40
Standards-basedWhat takes for two persons with different languages to
understand each other?
Words and grammar.
What takes for two incompatible software systems towork together?
Data types and protocol or language syntax
Unless two incompatible software system agree upondata types and syntax they use, they cant work together.
-
8/3/2019 SOA - 17Kasim2011
14/40
Standards: XMLXML provides a standard, platform/OS/programming
language-independent way to express data types:
An XML document or message can be understood by
different languages as long as its semantic is known. The semantic of XML can be expressed in documents such
as schemas.
Any enterprise can express its domain in XML.
That means an enterprise can create its ontologyAnd that ontology can be understood and consumed by
other enterprises.
-
8/3/2019 SOA - 17Kasim2011
15/40
Standards: SOAP SOAP (Simple Object Access Protocol) provides
platform/OS/programming language-independent wayto carry XML documents between disparate platforms.
When an XML massage is served through SOAP, whichis on the top of the ubiquitous HTTP, that makes a webservice.
SOAP is not the only alternative to implement webservices. RESTis getting more attention!
So web services became de-facto standard ofinteroperability or EAI.
-
8/3/2019 SOA - 17Kasim2011
16/40
Service Services are the most basic building block of SOA.
What makes a service?
Any application from a Fahrenheit2Celcius converter to anERP can be a service or set of services.
A service in SOA is a logical and self-contained businessfunction.
-
8/3/2019 SOA - 17Kasim2011
17/40
Services and SE In terms of Software Engineering, services are the last
step in abstraction.
-
8/3/2019 SOA - 17Kasim2011
18/40
SOA Service Attributes SOA services have following attributes:
Stateless
Discoverable
Self-describing Unassociated
Composable
Loosely coupled
Location and language transparentAnd mostly have following attributes:
Coarse-grained
Asynchronous
-
8/3/2019 SOA - 17Kasim2011
19/40
Service As New Or Existing One
Types of Service Access and Implementation
Created
from existingfunctionality
Created as
newfunctionality
Can be achieved eitherby exposing existingfunctionality as Webservices or by usingadapters
Can be developed byusing service buscomponents, BPELprocesses, or Webservices implementedwith Java or Java EE
Invoked
throughprotocols and
methods
Services can beinvoked by usingSOAP over HTTP, JMSadapters, or WSIF.
Serviceaccess
Serviceaccess
-
8/3/2019 SOA - 17Kasim2011
20/40
SOA and Reusability I Reusability is the nirvana of the computing!
Change in business is so fast that developing newapplication from scratch all the time is not a solution!
So marginal cost of each new application or featureshould be as minimal as possible through reuse.
SOA allows creating new applications built upon theexisting ones exposed as services.
In SOA reusable assets are the services that are created,configured, assembled in different applications manytimes over and over again and consumed.
-
8/3/2019 SOA - 17Kasim2011
21/40
-
8/3/2019 SOA - 17Kasim2011
22/40
SOA and Reusability II Reuse does not come automatically with SOA!
Reuse can only be achieved by a collaborative effort of
business and IT So reuse is a mostly an organizational issue.
It takes planning, finding, classifying, prioritizing,developing, packaging, etc. services.
-
8/3/2019 SOA - 17Kasim2011
23/40
Business Process Management SOA is about orchestrating the services to implements
business processes.
A business process consists of services that function as
actions, rules, decisions, etc. and provides a value whenfinished.
Managing a business service is called Business ProcessManagement (BPM).
And there are standards to create and manage businessprocesses.
-
8/3/2019 SOA - 17Kasim2011
24/40
BPEL Business Process Execution Language (BPEL), short
for Web Services Business Process Execution Language(WS-BPEL) is an OASIS standard executable language
for specifying actions within business processes withweb services
Processes in BPEL export and import information byusing web service interfaces exclusively.
BPEL includes variable initialization, decision andrepetition, XML data access, human interactions, ruleevaluations, etc.
-
8/3/2019 SOA - 17Kasim2011
25/40
Credit
service
SMservice
BPEL
process
Start
RDservice
End
Handle negativecredit exception
10 a.m.
3 p.m.
Selectlowestquote
Get rating
Sendorder
Receive
quote
Sendorder
Receive
quote
-
8/3/2019 SOA - 17Kasim2011
26/40
Standards Behind SOA
Transport
Message
Description
Discovery
Quality ofservice
Businessprocesses
HTTP(S), IIOP, JMS, SMTP
XML
SOAP
WSDL
UDDI
WS-SecurityWS-ReliableMessaging
Orchestration: BPEL
ManagementWS-PolicyWS-Security
Service Component Architecture (SCA)
Service Data Objects (SDO) Data access
Assemblymodel
-
8/3/2019 SOA - 17Kasim2011
27/40
What SOA is SOA can be thought of as:
An enterprise-level design approach
A collection of services that interact with one another
A set of services that are loosely coupled, with well-defined, reusable, platform-independent interfaces
A higher level of application development
Services provide access to data, business processes, and
IT infrastructure, ideally in an asynchronous manner. Before SOA we first develop then integrate, after
SOA we first integrate then develop.
-
8/3/2019 SOA - 17Kasim2011
28/40
What SOA is not SOA is not a technology but an approach to use
technology for more efficient IT and businessarchitecture
SOA is not hardware nor software SOA is not web services,
SOA is not business process management
SAO is not an IT job
-
8/3/2019 SOA - 17Kasim2011
29/40
-
8/3/2019 SOA - 17Kasim2011
30/40
SOA to CIO To CIO, SOA is a way to reduce the total cost of
ownership of the whole business application suit in theenterprise.
With SOA, CIO expects that the marginal cost and effortof each new application would be much lower becausethey will be created only by re-orchestrating the existingservices.
Services dont have to be developed locally, they can beprovided as a service by third parties as SAAS.
Services from outside of the company would definitelylower the costs and leading time.
-
8/3/2019 SOA - 17Kasim2011
31/40
SOA to Business Executive To the business executive, SOA is a set of services that
can be exposed to their customers, partners, and otherparts of the organization.
Applications serve the business because they arecomposed of services that can be quickly modified orredeployed in new business contexts, allowing the
business to quickly respond to changing customerneeds, business opportunities, and market conditions.
-
8/3/2019 SOA - 17Kasim2011
32/40
SOA to IT Architect To an IT Architect, SOA means the overall enterprise
architecture definition and the process that enables ITto develop and deploy business capability rapidly.
For architect, SOA is the architectural solution forintegrating diverse systems by providing anarchitectural style that promotes loose coupling and
reuse.
-
8/3/2019 SOA - 17Kasim2011
33/40
SOA to Business Analyst To business analyst, SOA is a mechanism to unlock
small and distinct business processes out of localapplications to constitute more strategic business
processes in a larger context.
Business analyst understands the strategy of the wholebusiness and extracts new requirements or changes in
existing ones for the new services and new processes.
-
8/3/2019 SOA - 17Kasim2011
34/40
SOA to Developer To the developer, SOA is a programming model or
paradigm where web services and contracts becomes adominant design for interoperability.
It is a web service when it uses a Web ServiceDescription Language (WSDL) or equivalentspecification for describing the service.
So the developer keeps either developing new services
using new requirements or extracting services from theexisting applications.
-
8/3/2019 SOA - 17Kasim2011
35/40
SOA for Everything?
-
8/3/2019 SOA - 17Kasim2011
36/40
SOA is not for Everything SOA may not be suitable for
Homogeneous business and IT environments,
Time-critical applications,
Too transactional, mostly CRUD operations,Algorithmic applications that change very infrequently,
When tight coupling is not an issue or something wanted,
When sharing is not an issue.
-
8/3/2019 SOA - 17Kasim2011
37/40
-
8/3/2019 SOA - 17Kasim2011
38/40
Magic Quadrant of SOA
-
8/3/2019 SOA - 17Kasim2011
39/40
SOA Pitfalls (for Trkiye) SOA is the most-awaited silver bullet.
Business-IT non-alignment.
Lack of process culture, more focus on technology.
Lack of proper understanding regarding SOA, againmore focus on technology.
Inability to restructure the companys business and ITresources around service and SOA needs.
Starting with the most complicated process withoutestablishing a reference architecture.
-
8/3/2019 SOA - 17Kasim2011
40/40
Teekkrler
ve
Sorular.