Title: SOA
1SOA
Service Oriented Architecture
?????????? ??????? ???????
2????????? ?? ?????
????? ????? ?????? ????? ?????? ????? ????????
?? ?????? ??????. ????? ?????????? ????? ??????
?? ??????. ????? ? SOA ????? ?????? ?? ??????
?????? ????? ?????? ??????? ????? ??????? ??
????? ????????
3 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
4??????? ??????
- )Time To Market (TTM)????? ???? ?? ??? ????
?????) - Globalization
- AM
- Multi Channel
- ??????? ?????? ???????? ???????(Business Agility)
- ?????? ????? ??????? Legacy
- ? IT ???? ????
- SaaS
5 ??????? ??????????
- Legacy
- ????? ?? ???????
- ????? ???????
- ??????? (BPM)
- ????? ??????
- ???????
- Wireless
- ????? ????
- IVR
- ????? ?????
- SOA
- SaaS
- ????? ?????? ??????
- B2B
- B2C
- ????? ????? ?? ??????
- B2E
- B2M
- ????? ?????? ?????
- CRM
- SCM
- ERP
- BI
- KM
6????? ?? ???? ?????
- ????? ? IT ????? ????? (Commodity)
- ????? ????? ?? ??????? ? IT
- ????? ????? ??? ?????? ?? ?? ??????
- ?????? ???????? ??????? ?? ??? ????????
- ????? ?????? ??????? ?? ??? ????????
- ???? ????? ??? ?????? ??? ?????
- ???? ??? ???? IT....
7????? ?? ???? ?????
- ???? ??? ????
- ????? ???
- ????? ????? ???
- DB ???
- ??? ?????? ???
- ??? ????? ?????
- ??? ????? ???
- ????? ????? ?????
- ??????? ????????? ???
- ????? ????? ???
- ???? ??? ??????? ??????? ??? ???????.....
8 ??????? ?????????
- ???????? ?????? ?? ???? ?buy before build-
- 50 ????????? ?????? ?? ???? best of breed
- ????? ??????????
- ???? ?????? ?? ?????? ??????? ??????????
- ???? ???????? ?????? ???? ??????????
- ?????? ?????????? ??????? ?? ?-time to market ??
?????? ????? ???? ??? ???? ??? - ?????? ?????????? ??????? ?? ?????? ?? ??????
?????, ??????? ??????? ?? ???? ???????? ??????,
???????? ??????????? - 90 ????????? ?????? ??????????
- ? 30 ????? ?????? ?????? ?????? ????? ??????????
9????? ??????
10?? ?? ??????? ?????????
- Application Integration
- ??????? ?????? ???? ??????? ?????? ??????? ?????
?????? ??? ??? ?????????? ?? ?? ??????? ,??
??????(???? ?????? ???? ??????) - ??????? ?????
- ??????? ????????? ???? ????? ???? ?? ?????
- ??? ???????? ?????????? ?? ???????? ?????? ?????
- ???? ?? ???? ?? ?? ????? ??? ?????? ?????????
- ???? ????? ?? ?????? ???? ?????? ??????????
????!!!
11 ????????? ?? ?? ?
Application B
Application A
User Interface
User Interface
Presentation Integration
Application Logic
Application Logic
Application Integration
Data
Data
Information Integration
12Information Integration
- ????? ????? ?????? ??????
- ????? ??????
- ????(CRUD) ??????? ??? ???????? ??? ????????
- ???? ????? ??????
- ????? ????? ?????? ?? ????? ?????? ????
- ????? ?? ??? ?????? ????? (SQL)
- ????? ??????? BI ???? ?? ?? ??????
13Information Integration - ETL
ETL
Transform
14Application Integration
- ????? ????? ?? ??????? ??? ???????? ???? ???????
????????? - ????? ????? ???? ?????? ?????? ???? ?????? ?????
????? ?? ????????? ????? - ????? ???? ?????? ?????? ??????
- ????? ?? ???? ???? Service Oriented
15 ??????? ??????
"??? ???????" ???????? ????????
16Presentation Integration
- Look feel ???? ??? ??????????
- (?????? ???? ????? ????? ??????)
- ????? "????? ?????" ???? ??????? ?? ??????????
?????????? ?????? - ????? ????? ??? ????? ????? ?????, ?? ?? ??????
????? - ????? ????? ?????? ?????? ???????? (????? ????
??? ??????????) - ????? ???...
17Presentation Integration
Portal
18????????? ???? ???? ?????? Portal
Data
Data
Data
Data
19 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
20????? 1 ???? ????? ?????? ??????
T-Bank
- ??? ??? ?????.
- ??? ?????? ?? ??????? ???????
- ?????? ??????? ??"? ?????? ???????
- ?????? ?????? ?????
21 ????? ????? ??????? T-Bank
- ????? ??????.
- ????? MF, Z/OS, DB2, COBOL
- ????? ????? ??"?
- ????? ?????? ???? ??????
- ????? ???? ??????? ???
- ?????? ????? ????? ???????,CRM , ?????? ???????,
HR - ????? ???? ????? ?????? ?????, ?????? ?????
22T-Bank
??"?
???????
GL
SAP Win
????????
???? ??
CRM
UNIX
???????
?????? ???
Swift
UNIX
Package Linux
23T-Bank ????????? MOM
??"?
CRM
???????
????????
Swift
???? ??
???????
?????? ???
24T-Bank ????????? ?? ????? ?????
??"?
????????
?????? ???
25????? ???? ????? T-Bank
CRM
???????
??"?
??????? ?????
?????
??"? ?????
????? ???? ????? ?????? ??????? ?????? ??????? ??
???? ?????? ???????
26T-Bank ??????
- ???????? (Redundancies)
- ???? ???????? ????????
- ??-?????? ????????
- ????????? ?????? ????? ????
27????? 2 ???? ????? ?????? ???????
S-Bank
- ??? ??? ?????.
- ??? ?????? ?? ??????? ???????
- ?????? ?????? ?????
28S-Bank ???? ??????? ??"?
????? ????
?????
?????
????? ????
?? ?????
?????
????? ?????
????? ?????
???? ?????
??? ?????
????? ???
29S-Bank ???? ??????? ???? ??
????? ????
?????
????? ????
?????
?? ?????
?????
????? ?????
????? ?????
???? ?????
??? ?????
????? ???
????
30S-Bank ???? ?? ??????? ? Services
?????, ????? - ???? ?????? ????? ????? ??
????? ?? ????? ?????? ????? (????,
????, ?????) ????? - ?? ?????? ???
???? ???? - ????? ??? ??? ???????? -
????? ???? ???????? ???? ?????
???? ?????? ???????? ??????? ?????????? ??????
31????? ???? ????? S-Bank
????? ????
?????
?????
????? ????
?? ?????
?????
????? ?????
????? ?????
???? ?????
??? ?????
????? ???
????? ??
32 - ????????? ?????? ??????? ??????S-Bank
33??????? S-Bank
- ???????? ?? ????? ( Orchestration ( ?? Services
- ?????? ? Services ?????? ?????? ?????? ??????
???????? - ???????? ?????? ????? ?????? ?? ?????? ????????
??????? ?? ???????? ?? ?????. - ????? ??????? ??????? Service Orchestration
?????? ?????? ???????
34 S-Bank ????? ???? ?????
- ????? ??????? ?? ???? ?? Services ???? ???? ?????
- ??? ???? ?????/?????? ??? ?? Services
- ????? ? Services ?????? ??? ?????
????? ?? ???? ??????? ????? ?????? ????? ??????
???????
35 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
36????? SOA
- SOA ??? ????? ??????????? ??????? ?? ?????
??????? ????????. - ??? ????? ?? ?????? ?????.
- ???????? ?? ???? ?????? ????? ????? ??? ?? ???
??????. - ????? ????? ?????? ?????, ????? ???? ??????,
???? ???? ????? ???? ???? ????? ??????. ????????
?? ??????????, ????? ???? ?????? ?? ???. - ???? ?????? ????? ???????? ?????.
- ???? ?????? ??????? ? SOA ??????? ???????
?????????? ?????? ????? ?????????.
37 ??? SOA
- ???? ?????? ??????
- ????? ????? ???????? ?????? ?????? ???????
- ????? TTM
- ????? ?????? IT
- ??????????? ???????
- ???? ?????? ??????????
- ???? ???? ??????????(?????? , ???????,
??????)
38 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
39????? (Service)
- ????? ??? ?????? ??????? ?? ????? ?????? ??
?????????? ?????? ???????. - ????? ????? ????? ????? ????.
- ???? ?? ????? ????? ??????? ???? ????? ????
- ?????? ??? ????? ?????. ????? ?????? ????? ?????
?????????????? ???? ??? ???? ?????? - ?????? ??? ???? ???? ?????????
- ??? ???????? ???? ????? ????(Loose Coupling)
40Key aspects
- Services are loosely coupled
- Services facilitate interoperability
- Services are reusable
- Services can be discovered
- Services can be composed to form larger services
- Services adhere to a service contract
- Services are stateless
- Services are autonomous
- Services hide their logic
- Services use open standards
41Key aspects
- Services are independent. They dont know or care
whether the service is - Running on Windows, J2EE or a Mainframe
- Written in assembler, C, Java, or COBOL.
- Running on a machine in the U.S., India, or China
- Being served by a CRM system, ERP system, or a
database
42?????
43??????? - ????????
Service 6
Service 2
Service 1
Process Service
Service 4
Service 5
Service 3
44??????? ???????? ????? ?????
1
2
3
?????
?????
????? ?????
???? ?????
?????
?????
?????
?????
45??????? ???????? - ?????/????? ????? ?????
1
2
???? ???? ???
????? ????
?????
????? ????
???? ????
????? ????
46??????? ???????? - ?????/????? ?????
1
2
????? ????????
?????
??? ?????
????? ??????
????? ??????
47????? ???????????
- ?????????? ?????
- ???????? ??????? ??????? ??????
- ?????????? ?????
- ?????????? ???????- ?????? ??????? ????? ???????
????? - ?????????? ?????? - ???? ??????
- ?????????? ????????? - ?????? ?????? ??????????
48 ?????????? ?"????? ???????"
- ??????????? ????? "???? ????" ??????? ?? ????
??????? ??? ??????? ?????. - ??? ?"????? ???????" ????? ?????? ??-?????,
??????? ?????????, ??????? ???? ?????????, ??
"????? ?? ????", ?????? ?????. ????? ???? ?????
??????, ????? ????? ?? ??? "???? ???????" ???.
49Architectural Layers
Business Process Layer
Order
Account
Employee
Customer
Service Layer
Finance
LotusNotes
Application Layer
ERP
CRM
Directory
HR
IBMCICS
Technology Layer
Microsoft.NET
Linux
J2EE
50????? ???????
Consumer
Service
Consumer Interface
Service Interface
Intermediate
51 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
52- ????? ????Loose Coupling
- Loose coupling
- The concept of reducing the dependencies between
systems. There are different ways to decrease
the tightness of coupling between systems, such
as having different object models, using
asynchronous communication, or using compensation
instead of 2PC to maintain consistency. In
general, loose coupling leads to more complexity.
For this reason, in a specific SOA you have to
find the right amount of loose coupling.
????
53- ????? ????Loose Coupling
????
54?????
????
55 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
56Enterprise Service Bus
57Common ESB Definition
- Gartner
- An ESB is an architecture that exploits Web
services, messaging middleware, intelligent
routing, and transformation. It must support
request/response communication between loosely
coupled SOA business components and one-way
message delivery for sending notifications to
event-driven business components. It must also
allow more-complex message exchange patterns
(MEPs).
58ESB
-
- ?????? ?????? ???? ?? SOA
- Backbone ????? ?????????? ?????? ???????? ? Web
Services ?????? ????? ?????? - ????????? ?????? ????? XML ?????? ????????? ??
Web Services. - ????? ?????? ????????? ??? ???????
- ????? ????? ???????? ??, Messaging,
Transformation, Intelligent Routing
59ESB
60?????? ESB
- ????? ????????
- ????? ????? ????? ??????? ????????, ????
Security, Management, Transactions, Load
Balancing - ???? ????????? ??? ???????
- ???? ????????????? ????? ?? ????? ????????
- ????? ????? ????????????? ???????
- ????? ????? ?????? ?? ???? ?????
61?????
62 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
63SOA Web Services
- Web Services ????? ????
- SOA ??????? (???? ?????? ????)
- Web Services ?? Enabling Technology ?????? SOA
- SOA ??? ? Web Services
64 ??????? ????? ?? Web services
- A web service is programmable application logic
- accessible via standard Web protocols (HTTP, XML)
65 ?????
- ??? ???? ??? ?????? ?? ??? ????, ??? ???? ????
???? ???? ????????? - ?????? ???? ???? ?????? ??
66????? ???????
Client
Service
Client Interface
Service Interface
Intermidiete
67 ?????????? Webservices ??? ?????
Technology stack
Common Choices
68????? ??????? ??????? ? Webservice
69????? ??????? ??????? ? Webservice
70SOAP
71The Need for Contracts
Service Consumer
Service Provider
Business Logic
Security
Management
Business Logic
Security
Management
Web Services
Message Processing
Message Processing
Transport
Transport
72Contracts Based on Standards
Business Logic
Security
Management
Message Processing
SOAP
Transport
HTTP
FTP
WSDL
73?????????? Webservices ??? ?????
Middle
74 WSDL
- WSDL stands for Web Services Description Language
- WSDL is written in XML
- WSDL is an XML document
- WSDL is used to describe Web services
- WSDL is also used to locate Web services
WSDL is a document written in XML. The document
describes a Web service. It specifies the
location of the service and the operations (or
methods) the service exposes.
75 WSDL
76 ????? ????? ??? ?????? ??????
77 UDDI
- Universal Description, Discovery and Integration.
- ???? ????? ?? UDDI ?"??? ??????? ??????? ???".
??? ???? ???? ?????, ?????? ?????, ???? ???? ???,
????? ??????? ????, ?????? ??? ?????? ?? ???
??????, ?????? ?? ?????? ???, ???-??? ?????? ??
??????? ?? ?????? ????, ???'. - ?????? ????? ?? ??? ?????? ?????, ??????? ?????
- ?????? ???????? Dell, Fujitsu, HP, Hitachi, IBM,
Intel, Microsoft, Oracle, SAP, Sun ???? ???
UDDI ????? ?????? ????? ????. - ???? ??, The UDDI Business Registry, ????? ??
??????? ?? UDDI ???? ???? ??? ?????? ??? ??????
?????? ?? ????????? ?????? ???? ???? - ?????? ??????? ???? ????? ?? ??? WSDL
78 UDDI
- ???? ????? UDDI ????? ?????? ?????? ????????
?????? ???? - ????? ?????? ?? ???????? ?????? ??????? ?????? ??
??? ??? ????????, ???? ?????? ?? ??????. - ?????? ?????? ?????????? ???? ??????? ???????
???? ???? ???? ???????? ??????? ???????? ????,
???? ????? ?? ??? ????? ????. - ???????? ???????? ?????? ???????? ???????? ??????
??? ??? ??? ????. - ????? ????? ????? ?? ???? ???????? ?????? ?????.
79 ??????? ? WS
- ????? ????????? ??????? ????? ??? ??????,??????
?????? ?????? - ????? ????? ???????? ?? ??? ????? ???????? ????
?????? - ????? ???????? ????? ????? ??????? ??????? ????
??????? - ???? ????? ??????? ???? ?? ??? ????? ???????????
?????? ???????? ????? ????? ?????? ????? ????? ??
??? ?????
80?????? ??? - ?????? ??????
Service Registry
Find WSDL UDDI
Publish WSDL UDDI
Service Requester
Service Provider
Bind SOAP WSDL
81Web Services Stack
Discovery Stack
????? ??????
UDDI
Security Transactions
Description Stack
????? ??????
WSDL BPEL
Wire Stack
????? ?????
SOAP REST
82SOAP Structure
83WS ?????
84 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
85 ESB ????? ???????
86Fundamental SOA
87Federated SOA
88Process Enabled SOA
89?????
90 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
91??????? ?? ??????? ??????
92?????? ?? ???? BPM
93BPMN
94????? BPM
95 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
96?????????? ????? ?????????? ?????
?????/????? ?? ??? ??????? (????? Rational ?????
????? ?????) ?????? ????? FLOW ???? ????? ???
???? ???? ?????? ?- FLOW ??????? ?? ?????? ??????
flows ??????? ???????? ????????. (??????? ???????
?? ?????? ????).
???? ??????? ?????? ???????? ?????? ?????? ?????
????? ??????? ????? ?? real time Enterprise
97Gartner Group
- BAM defines the concept of providing
real-time access to critical business performance
indicators to improve the speed and effectiveness
of business operations
98Who Needs BAM?
IT Administrators
Systems Management
Business Analysts
Business Intelligence
99Business Activity Monitoring
BAM software delivers real-time visibility and
alerts to business users for response and
analysis of their business operations
Analysis
Alerts
Response
- Model and capture events from a broad range of IT
systems - Filter and correlate to identify key events from
event noise - Visualize data with out-of-the-box tools for rich
dashboards - Generate user notifications and automated
response to events
100Responding within the Window of Opportunity
No Visibility
Time
Appropriate Response Taken
Situation Occurring
Situation Recognized
Visibility
Time
Automated Response
Time
101BAM User Experience
102SOA ??????? ?????
103 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
104??? ???? SOA
105????? ??????? ????? SOA
106????? ??????? ????? SOA
107????? ???? ?????
108 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
109MEP
- Message exchange pattern
- A definition of the sequence of messages in a
service call or service operation. This sequence
includes the order, direction, and cardinality of
the messages sent around until a specific service
operation is done. - The most important message exchange patterns are
one-way, request/response, and request/callback
(asynchronous request/ response). - For example, the request/response MEP defines
that a consumer sends a request message and waits
for the answer, which is sent by the provider as
a response message
????
110Request/Callback
- A message exchange pattern where a service
consumer sends a request message but does not
block and wait for a reply. Instead, it defines a
callback function that is called later, when the
response message sent by the service provider
arrives. Sometimes request/callback is called
asynchronous request/response.
????
111Request/Response
- A message exchange pattern where a service
consumer sends a request message and expects an
answer. Usually the consumer blocks until the
response message sent by the service provider
arrives. Sometimes, however, the blocking is not
required. In that case, there is a separation
between synchronous and asynchronous
request/response. The latter is also known as the
request/callback message exchange pattern.
????
112Request/Response
????
113One Way
- A message exchange pattern where a service sends
a message without expecting a response. Another
name for this pattern is fire and forget.
????
114Two One Way
????
115?????? ?????? ????? ?????
????
116 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
117 ??????? ?????
118 ????? ????? ?? Service Call
119 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
120Idempotency
- The ability of services to deal with messages
that are delivered more than once so that
redeliveries do not have unintended effects. In
an unreliable network, if you dont receive a
confirmation, you dont know whether or not a
message was delivered (it is possible that the
receiver processed the message and its response
was lost). If you want to be sure the message
gets delivered and send the message again, the
receiver should be able to deal with this second
message in such a way that it does not produce an
effect different from that of receiving the
message only once. For example, if the message is
a request to add money to a bank account, the
receiver should add the money only once even if,
for reliability reasons, the message was sent
twice.
121????? ?????? ???? ??????
122????? ????? ????? ?????????
123?????? ?????? ?????
124 ??????
- ???? ???? ????????
- ?????
- ????? SOA
- Services
- Loose Coupling
- ESB
- Web Services
- Service Classification
- BPM
- SOA ???????
- ????? ???? ?? SOA
- ?????? ?????? ?????(MEP )
- ???????
- ?????? ??????
- Service Management
125Registry
- Registries manage services from a technical point
of view, unlike repositories, which manage
services from a business point of view.
Registries manage all the technical details
necessary for using services at runtime
(signatures, deployment information, and so on).
Usually, a registry is considered to be a part of
the infrastructure (ESB).
????
126Repository
- Repositories manage services and their artifacts
from a business point of view. That is, they
manage interfaces, contracts, service-level
agreements, dependencies, etc., to help to
identify, design, and develop services. Unlike
for a registry, the service description should be
independent of technical details and
infrastructure aspects. That is, it should not be
necessary to change a repository when a company
switches to a new infrastructure (ESB).
????
127????? ???????
????
128 Service Management ?????