object-orientation in soa snu idb lab. chong-su chang snu mes lab. young-sub kwon april 11, 2007
Post on 19-Dec-2015
224 views
TRANSCRIPT
Object-Orientation in SOA
SNU iDB Lab.Chong-Su Chang
SNU MES Lab.Young-sub Kwon
April 11, 2007
Contents
CBD limitations What is SOA ? Business process design SOA Case Directions for SOA’s Technical Innovation Reference
WebServices
CORBAComponent
ModelEJB
RMI
Change paradigmChange paradigm
CORBA
RPC
Socket
Service –Oriented Architecture
Service –Oriented Architecture
Distributed Component Model
Distributed Component Model
Distributed Object Model
Distributed Object Model
Distributed Structure Model
Distributed Structure Model
Client/Server Model
Client/Server Model
CBD limitations (1/5) Tightly-coupled
fast, safety, least error Difficulty of reusability, maintenance
DCOMDCOMclientclient
DCOMDCOMComponentComponent
EJBEJBCORBACORBAclientclient
Dependence on program model• Difficulty of Interoperability
Dependence on program model• Difficulty of Interoperability
Integration Layer increase Complexity Difficulty of maintenance
Integration Layer increase Complexity Difficulty of maintenance
Fire
wall
Fire
wall
Connection is not perfectConnection is not perfect
Platform dependent COM+ - Microsoft, J2EE
– Java
Example: The unification of heterogeneous system
CBD Infrastructure
Linux system
CORBA
Application “C”Written in C++
Application “B”Written in C#
DCOM
Windows system
Application “A”Written in Java
EJB
Unix system
CBD limitation (2/5)
Example: The unification of heterogeneous data
CBD Infrastructure
Decision SupportSystem
Oracle
SQL
PeopleSoft
SAP
CBD limitation (3/5)
Oracle
EJBEJB
DCOMDCOM
CORBACORBA
PeopleSoft
CORBACORBA
COMCOM
COM+COM+
CBD limitations (4/3)
Focus of implementation business object Ignore business process
Addition work confirmation
Process exit
Requested time comparison
Does time equal ?
Process Flow
Timesheet receipt
Business Process
StepsActivity Process/Activity Mgt.
The unification of business process
VirtualBusiness
Company A Company B Company C
Mobile Device
E-mail / Messaging
DCOM
WS “A”In Java/UNIX
CORBA
SAP
EJB
WS “B”In C#/.NET
CBD limitation (5/5)
Contents
CBD limitations What is SOA ? Business process design SOA Case Directions for SOA’s Technical Innovation Reference
What is SOA ? (1/5) Service Oriented Architecture
Standard distributed computing services SOA = A sort of distributed system, not based distributed
object The architecture based on service’s fusion Standard protocol and interface Web service is SOA’s instance SOA can express business logic erupt to small and particular
logic
sub processService
Service
ServiceProvider
ServiceRegistry
ServiceRequestor
Publish (WSDL) Bind (SOAP)
Find (UDDI)
Service vs Component vs Object (2/5)
Sameness
Interface more than one.
Difference
SOA is something about Schemas, not some object type like
class, component.
SOA talks about message, not method call
In a point of view about Interface Granularity, SOA is better than
Object, Component
Component’s communication model is API but SOA is based on
message model
Relation
Service is created with class, component
What is SOA ? (3/5)
<definitions name=“Employee” targetNamespace=http://www.xmltc.com/tls/employee/wsdl xmlns=http://schemas.xmlsoap.org/wsdl/ … <types> <xsd:schema targetNamespace=http://www.xmltc.com/employee/schema/> <xsd:import namespace=http://www.xmltc.com/tls/employee/schmea/> … </xsdschema> <message name=“getWeeklyHoursRequestMessage”> <part name=“RequestParameter” element=“act:EmployeeHoursRequestType” /> </message> <message …> </message> <portType name=“EmployeeInterface”> <documentation> GetWeekly HoursLimit uses the Employee ID value </documentation>……
WSDL definition
<definitions> <types> … <…types>
<message> … </message>
<portType> or <interface> … </portType> or </interface> …</definitions>
WSDL definition
<definitions> <types> … <…types>
<message> … </message>
<portType> or <interface> … </portType> or </interface> …</definitions>
What is SOA ? (4/5)
How services communicate
service A
service description
service B
message
message
What is SOA ? (5/5)
message
message
<Header> <x:CorrelationID xmlns:x=http://www.xmltc.com/tls/headersample mustUnderstand=“1”> 0131858580-JDJ903KD </x:CorrelationID></Header><Body> <soa: getWeeklyHoursResponseMessage xmlns:soa=…> <soa:EmployeeHoursResponseType> ….. </soa:EmployeeHoursResponseType > </soa: getWeeklyHoursRequestMessage> <Fault> …. </Fault></Body>
SOAP envelope<Envelope> <Header> </Header>
<Body> … <Fault> … </Fault> </Body></Envelope>
SOAP envelope<Envelope> <Header> </Header>
<Body> … <Fault> … </Fault> </Body></Envelope>
Based on open standards Use standard of web service Platform independent's base Don’t need logic for information sharing
SOA characteristic (1/6)
Service A1
Service A2
Service A3
Service B1
Service B2
Service B3
XML,XML schema,WSDL, SOAP
Platform independent
SOA characteristic (2/6)
Service A1
Service A2
Service A3
Service B1
Service B2
Service B3
.NET solution J2EE solution
platform independent communication
SOA characteristic (3/6)
Service discoverability
Service A1
Service A2
Service A3
Service B1
Service B2
Service B3
Serviceregistry
Reusability & Scalability
SOA characteristic (4/6)
Service A1
Service A2
Service A3
Service B1
Service B2
Service B3
Service A’2
Service A’3
SOA characteristic (6/6)
Business process SOA has ability that can design business process Design that application and service can be applied softly
and reuse Services can do center centralism. If business process manages much state information,
other services are free by responsibility that manage state
WS-BPEL
Contents
CBD limitations What is SOA ? Business process design SOA Case Directions for SOA’s Technical Innovation Reference
Business process design (1/8)
WS-BPEL Divide business process management model by service Language that express perfectly business logic in
specific and executive form
Timesheetinvoice process
Timesheetinvoice process
Employee service
Employee service
Timesheetservice
Timesheetservice Invoice
serviceInvoiceservice
Timesheetinvoice process
Service
Timesheetinvoice process
Service
Business process design (2/8)
Timesheetinvoice process
Service
Timesheetinvoice process
Service
WS-BEPL process definition
<Process> <partnerLinks> … </partnerLinks> <variables> … </variables> <faultHandlers> … </faultHandlers> <sequence> <receive …> <invoke …> <reply …> … </sequence> …</process>
WS-BEPL process definition
<Process> <partnerLinks> … </partnerLinks> <variables> … </variables> <faultHandlers> … </faultHandlers> <sequence> <receive …> <invoke …> <reply …> … </sequence> …</process>
Business process design (3/8)
<serviceLinkType> WSDL ‘s extension Interaction between
partner and coordinator
<serviceLinkType>
Partner APartner B
Service Link TypeWSDL A
Business process design (4/8)
Loan approval business process Customer
Loan approval request Bank
Loan approval receive Edit credit rating Loan duration request
Credit Service Decision credit rating
Loan Service Decision loan duration
Customer
Cre
dit S
erv
iceLo
an S
erv
ice
Bank
2. TransformMessage
3. Get credit
rating
4. Get loan
5. Respond tocustomer6. Decision
7. Send
confirmation
1. Request
Loan
Business process design (5/8)
Business process design (6/8)
Business process design (7/8)
Business process design (8/8)
Contents
CBD limitations What is SOA ? Business process design SOA Case Directions for SOA’s Technical Innovation Reference
SOA Case I (Belgacom) (1/3) Belgacom – Telecom company in Belgium offering a variety
of communication services Problems
27 systems and 30 step’s complex business services Sufferings of integration of business
They can not offer Good Service to Customer order
They can not response customer order, quickly
Belgacom SOA ProjectBelgacom
SOA Project
SOA Case I (Belgacom) (2/3)
Belgacom SOA Project Integration of various services Business process management model by service
Fast response for customer order Maximizing customer satisfaction
SOA Case I (Belgacom) (3/3) Belgacom SOA Project
Service’s 100% Native BPEL Effect
Services can do center centralism.If business process manages much state information,
other services are free by responsibility that manage state
Application ServerApplication Server
BPELVisioning flow
(BPELL Process Flow
BPELVisioning flow
(BPELL Process Flow
Ordered one batch Request
Batch Processor(Stream of Orders)
Ordered one batch Request
Batch Processor(Stream of Orders)
SOA Case II (Airbus) (1/4) Airbus - Aircraft manufacture consortium of the EU. e-HUB system - Airbus’s system that communicates with
cooperative companies and subsidiaries. As-Is-System model of the Airbus (EU Aircraft)
Through e-HUB, Collecting information.
•Product info (model, item)•Production plan info•Process control•Contract-shipping info
e-HUB SERVER(COM+ Object)Airbus
Cooperative company
•Assembly schedule•UNIT holding plan•Assembly work record•Shipping info
Standard Production System
firewall
Internet
SOA Case II (Airbus) (2/4) Problem of As-Is-System
Absence of auto-businesses process flow Difficulty of system expansion – not standard protocol (ex) IIOP, DCOM
protocol… Resource waste by connected object link of distributed component
model
e-HUB SERVER(COM+ Object)Airbus
Cooperative company
Standard Production System
firewall
Other servers(EJB, CORBA …)
Connected link
Connected link
Connected link
SOA Case II (Airbus) (3/4) Solution
Business process flow through WS-BPEL of SOA model. Automatic information acquirement through agent
module, System integration through web service Resource efficiency by SOAP.
To-Be-System of Airbus company
SOAP overHTTP
SOAP overHTTP
Production info
Assembly schedule,
resource info
Cooperative
company
Production
Management
ProcessCooperative
CompanyWeb services
Cooperative Company
Web services
Airbus
Corporate parent’s
production and supply
process WebservicesWebservices
AgentProgramAgent
Program
SOA Case II (Airbus) (4/4) [Process improvement point]
before modification Process related with cooperative company was
progressed by people
after modification Process related with cooperative company was
automatically progressed and the result was alarmed to people
Execution time was decreased.
Process execution time decrease: average 91%
- execution time : average 1day -> 2hours
Technical view Application Integration through flexible
architecture Data Integration
Business view The efficient Integration with business partner.
What can the companies get from SOA?
42
47
58
59
63More flexible architecture
Integration to existing applications
Data integration
Biz process implementation
Composite applicationSatisfaction(%)
Satisfaction(%)
Contents
CBD Limitation What is SOA ? SOA-based Reference Architecture SOA Case Directions for SOA’s Technical Innovation Summary Reference
Directions for SOA’s Technical Innovation
Mash up Service ← Birth of new service providers
by services interaction
Source: http://web2.wsj2.com/
Mash up service (1/4)
A combination of existing technologies, glued together to achieve new functionality
Low cost for new service Dependent service on other services
Mash up service (2/4)
Gluing Services together through web service
ServiceService Service
Service
ServiceService
[Virtual Places][Virtual Places]
(Map point)(Map point)
(Msn live search)(Msn live search)
(flickr)(flickr)
(Alexa)(Alexa)
(feedmap)(feedmap)
(Virtual Earth)(Virtual Earth)
Mash up service (3/4)<?php// functionsfunction getResult($type, $query, $display, $page){
if ($type == “feedmap"){
$url= "http://feedmap...”;}……………………$data = file_get_contents($url);return simplexml_load_string($data);
}// get data from feedmap & alexa & flickr & map point & msn live search & virtual earthif ($query){
if ($type != " feedmap "){
$ feedmap = getResult(" feedmap”…);} ……………………
}?>//print <html> ……………………
if ($feedmapRes) {
<tr><td><b> 결과 : }if ($alexaRes){
<tr><td><b> 결과 :}
</html>
Map Service Making new service with Existing map service Adding another service
Mash up service (4/4)
Summary
SOA is a software implementation that delivers information services via loosely coupled interfaces that are accessible by non-proprietary tools and products.
SOA-based Reference Architecture Service architecture Application Architecture Component Architecture
SOA Case Rotech Belgacom Airbus
Directions for SOA’s Technical Innovation Mesh up Webservice
Summary Reference
Reference
T. Erl, Thomas. Service-Oriented Architecture : concepts, technology, and design. Chapter 3, 4, 8
OASIS, “Reference Model for Service Oriented architecture 1.0” 2006. 8. SOA Practitioners Guide Part 2: SOA Reference Architecture, 2006, 9. Roy W. Schulte Yefim V. Natis, “Service Oriented Architecture,” Gartner
Group, SSA Research Note SPA-401-068, 1996. M.P. Papazoglou et al. “Service-Oriented Computing,” Communications of
ACM Vol. 46, No. 10, pp.25-28, Oct 2003. 전병선 . SOA 로 가는 길 . Chapter 1,2,3 김성익 , 박정일 . SOA 프레임웍 아키텍처 . 한국정보과학회 .2007.01 이경하 , 이규철 . SOA 와 웹 서비스 . 한국정보과학회 2004