soa - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/my research/0-selected papers/2... · - scalability...

43
SOA

Upload: buique

Post on 18-Mar-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

Page 2: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP
Page 3: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

Page 4: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

Page 5: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

XML

SOAP

SOAP

WSDL

WSDL

WSDL

WSDL

SOA

Page 6: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

SOA

[ -p ]

SOA

CRM

- Monolithic - Objects - Component - Interface - SOA

Page 7: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

[ -p ]

SOA

[ -p ]

SOA

IT

.

SOA

IT

.[ -p ]

SOA

Page 8: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

SOA

SOA [ -p ]

SOAClientloosely-coupled

[ -p ]

SOA

[ -p ]

:

- Reusability - Interoperability - Scalability - Flexibility

Page 9: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

SOA

[ -p ]

- Cost Efficiency - Customized

Page 10: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

IBM BEASUN SOA

SOA

- SOA

SOA

SOA

SOA

SOA

[ -p ]

XMLeXtensible Markup Language

XML

WWWW C

HTMLHTML

W CHTMLHTML

CSSCascade Style Sheet

W CXMLXMLSGMLStandard Generalized Markup

Language

XMLXML

XML

XMLXML

XMLPCPDA

XML

XML ParserXML

XMLXML

XMLXMLDTDDocument Type

Definition

- Container

Page 11: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

XMLDTDDTD

DTDXML

XML

XML

XML

XML

XML

XMLXML

[ -

p ]

SOAPSimple Object Access Protocol

SOAP

DeveloperMentorUserLand

SOAP

SOAP

SOAP

SOAP

SOAP

XMLSOAPXML

XML

SOAPHTTP

LANHTTP

Firewall

SOAPEnvelopeHeaderBody

Page 12: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOAPHeader

SOAP

SOAP

XMLSchemas

SOAP

SOAP

SOAP

SOAPXML-RPC

SOAP

SOAP

SOAP

SOAP

SOAPSOAPXML

HTTP

SOAP [ -p ]

Page 13: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOAP

WSDLLanguageWeb Services Description

WSDL

WSDLXML

SOAP

IBM

WSDL

IBMAribaW CW C

WSDL

WSDL

WSDLWSDL

HTTP

WSDL

Page 14: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

WSDL

WSDL

WSDLWSDL

WSDL

getbooks [ -p ]

WSDL

isbn

WSDL

title

WSDL

WSDLSOAP

WSDL

Page 15: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

WSDL

UDDIUniversal Description , Discovery and Integration

UDDI

IBMAriba

UDDI

B B

UDDIXML

UDDI

UDDI

UDDIUDDI Business RegistryUBRUDDI

IBMSAPHP

White Pages

Yellow Pages

Green Pages

IT

UDDIB B

B B

[ -p ]

Page 16: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

WS-I Basic Profile

WS-I Basic Profile

Web services Interoperability Organization

Basic Profile

.[ -p ]

.Net J EE

J EE

.Net

SOA

SOA

.

J EE

framework

SOA

SOA

JAXB (Java API for XML Binding)

XML

JAXR (Java API for XML Registry) UDDI

XML-RPC (Java API for XML-based Remote Procedure Call)

EE

J EE

.Net .

WSDLSOAP

UDDI

QoS W CWorld Wide)

(Web Consortium

OASIS (Organization for the Advancement of Structured Information Standards)

QoS

.

Web Services Security

SAML (Security Assertion Markup Language)

. Web Services Security

OASIS

[ -p ] .

Page 17: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

. WS-

Reliability

WS-ReliableMessaging

OASIS .

Kerberos

. WS-Policy

.

. BPELWS

WSBPEL (Web Services Business Process Execution Language)

OASIS

. WSBPEL

OASIS .

. WSDM (Web Services for Distributed Management)

WSDM WSDM

.

Page 18: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

[ -p ]

SOA

- Service Consumer

Page 19: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

:

Mainframe

[ -p ]

[ -p ]

[ -p ]

- Service Provider - Service Registry - Service Contract - Service Proxy - Service Lease

Page 20: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

[ -p ]

Page 21: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

Sun

[ -p ]

SOA

- Modular - Interoperable - Loosely coupled - Interface - Coarse-grained - Location-transparent - Self-healing

Page 22: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

SOA

[ -p ]

[ -p ]

- Modular Decomposability - Modular Composability - Modular Understandability - Modular Protection - Direct Mapping - Sequence Diagram

Page 23: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

[ -p ]

SOA

[ -p ]

[ -p ]

- Service Interface

Page 24: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

[ -p ]

SOA

[ -p ]

SOA

[ -p ]

- Binding Time

Page 25: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

- Distributed - Objects

Page 26: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

[ -p ]

- Load Balancer

Page 27: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

Clustered

Cluster

[ -p ]

Page 28: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

SOA

SOA

BEA

[ -p ]

[ -p ]

-SOA Reference Architecture -Presentation Layer

Page 29: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

[ -p ]

Service Bus

SOA

[ -p ]

[ -p ]

SOA [ -p ]

[ -p ]

ITSOA

Legacy

Mainframe

[ -p ]

-Enterprise - Enterprise Application Integration

Page 30: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

SOA

[ -p ]

SOA

Page 31: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

SOA

SOA

[ -p ]

SOA

SOA

[ -p ]

Page 32: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

-SOA

IBMSOA

IBM

SOA[ -p ]

[ -p ]

[ -p ]

Page 33: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

[ -p ]

SOA

SOA

Page 34: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

xml

[ -p ]

Page 35: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ -p ]

Page 36: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

C#

Multiply Locally

private void button _Click(object sender, EventArgs e) { int result = Int .Parse(textBox .Text) * Int .Parse(textBox .Text); MessageBox.Show( "Result = " + result, "Calucalated Locally!"); }

Multiply via service

private void button _Click(object sender, EventArgs e) { MathServiceSoapClient sc = new

Page 37: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

MathServiceSoapClient("MathServiceSoap"); int result = sc.Multiply(Int .Parse(textBox .Text), Int .Parse(textBox .Text)); MessageBox.Show("Result = " + result, "Calucalated by Remote Service!"); }

MathService

using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols;

[WebService(Namespace = "http://localhost/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile _ )] public class MathService : System.Web.Services.WebService { public MathService () {

//Uncomment the following line if using designed components //InitializeComponent(); }

[WebMethod] public int Multiply(int a , int b) { return a*b; } }

WSDL

<?xml version=" " encoding="utf- " ?> -

<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://localhost/" xmlns:s="http://www.w .org/ /XMLSchema" xmlns:soap ="http://schemas.xmlsoap.org/wsdl/soap /"

Page 38: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://localhost/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

-

<wsdl:types>

-

<s:schema elementFormDefault="qualified" targetNamespace="http://localhost/">

-

<s:element name="Multiply">

-

<s:complexType>

-

<s:sequence> <s:element minOccurs=" " maxOccurs=" " name="a" type="s:int" /> <s:element minOccurs=" " maxOccurs=" " name="b" type="s:int" />

</s:sequence> </s:complexType> </s:element>

-

<s:element name="MultiplyResponse"> -

<s:complexType> -

<s:sequence> <s:element minOccurs=" " maxOccurs=" " name="MultiplyResult" type="s:int" />

</s:sequence> </s:complexType> </s:element> </s:schema> </wsdl:types>

-

<wsdl:message name="MultiplySoapIn"> <wsdl:part name="parameters" element="tns:Multiply" />

</wsdl:message> -

<wsdl:message name="MultiplySoapOut"> <wsdl:part name="parameters" element="tns:MultiplyResponse" />

</wsdl:message> -

<wsdl:portType name="MathServiceSoap"> -

<wsdl:operation name="Multiply"> <wsdl:input message="tns:MultiplySoapIn" /> <wsdl:output message="tns:MultiplySoapOut" />

</wsdl:operation> </wsdl:portType>

-

<wsdl:binding name="MathServiceSoap" type="tns:MathServiceSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />

-

<wsdl:operation name="Multiply"> <soap:operation soapAction="http://localhost/Multiply" style="document" />

-

<wsdl:input> <soap:body use="literal" />

</wsdl:input> -

<wsdl:output> <soap:body use="literal" />

</wsdl:output> </wsdl:operation> </wsdl:binding>

-

<wsdl:binding name="MathServiceSoap " type="tns:MathServiceSoap"> <soap :binding transport="http://schemas.xmlsoap.org/soap/http" />

-

<wsdl:operation name="Multiply"> <soap :operation soapAction="http://localhost/Multiply" style="document" />

-

<wsdl:input>

Page 39: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

<soap :body use="literal" />

</wsdl:input> -

<wsdl:output> <soap :body use="literal" />

</wsdl:output> </wsdl:operation> </wsdl:binding>

-

<wsdl:service name="MathService">

-

<wsdl:port name="MathServiceSoap" binding="tns:MathServiceSoap"> <soap:address location="http://localhost: /WebService /MathService.asmx" />

</wsdl:port> -

<wsdl:port name="MathServiceSoap " binding="tns:MathServiceSoap "> <soap :address location="http://localhost: /WebService /MathService.asmx" />

</wsdl:port> </wsdl:service> </wsdl:definitions>

SOAP

SOAP HTTP

SOAP

POST /WebService /MathService.asmx HTTP/

Host: localhost Content-Type: application/soap+xml; charset=utf-

Content-Length:

<?xml version=" " encoding="utf- "?> <soap :Envelope xmlns:xsi="http://www.w .org/ /XMLSchema-instance" xmlns:xsd="http://www.w .org/ /XMLSchema" xmlns:soap ="http://www.w .org/ /soap-envelope"> <soap :Body> <Multiply xmlns="http://localhost/"> <a> </a> <b> </b> </Multiply> </soap :Body> </soap :Envelope>

HTTP/

OK

Content-Type: application/soap+xml; charset=utf-

Content-Length:

<?xml version=" " encoding="utf- "?> <soap :Envelope xmlns:xsi="http://www.w .org/ /XMLSchema-instance" xmlns:xsd="http://www.w .org/ /XMLSchema" xmlns:soap ="http://www.w .org/ /soap-envelope"> <soap :Body>

Page 40: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

<MultiplyResponse xmlns="http://localhost/"> <MultiplyResult> </MultiplyResult> </MultiplyResponse> </soap :Body> </soap :Envelope>

Page 41: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

SOA

SOA

SOASOA

SOA

SOAJAVA.Net

SOA

SOA

SOA

Page 42: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

[ ] Duane Nickull, Service Oriented Architecture,Whitepaper, Adobe Systems Incorporated,

[ ] Ed Ort, Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools, SUN,

[ ] James McGovern, Sameer Tyagi, Michael Stevens, Sunil Mathew, Java Web Services Architecture,SUN,

[ ] Surekha Durvasula, Martin Guttmann, Jeffery Lamb, SOA Practitioners Guide Part

SOA Reference Architecture, BEA,

[ ] John Ganci,Amit Acharya,Jonathan Adams, Patterns: SOA Foundation Service Creation Scenario,IBM,

[ ] http://atalebi.com/articles/show.asp?id=

Page 43: SOA - ceit.aut.ac.irceit.aut.ac.ir/~sa_hashemi/My Research/0-Selected Papers/2... · - Scalability -Flexibility [-p] SOA ... XML-RPC SOAP SOAP SOAP SOAP SOAP XMLSOAP SOAP HTTP

This document was created with Win2PDF available at http://www.daneprairie.com.The unregistered version of Win2PDF is for evaluation or non-commercial use only.