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

Post on 18-Mar-2018

237 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

SOA

XML

SOAP

SOAP

WSDL

WSDL

WSDL

WSDL

SOA

SOA

SOA

SOA

[ -p ]

SOA

CRM

- Monolithic - Objects - Component - Interface - SOA

SOA

SOA

[ -p ]

SOA

[ -p ]

SOA

IT

.

SOA

IT

.[ -p ]

SOA

SOA

SOA

SOA

SOA [ -p ]

SOAClientloosely-coupled

[ -p ]

SOA

[ -p ]

:

- Reusability - Interoperability - Scalability - Flexibility

[ -p ]

SOA

[ -p ]

- Cost Efficiency - Customized

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

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

SOAPHeader

SOAP

SOAP

XMLSchemas

SOAP

SOAP

SOAP

SOAPXML-RPC

SOAP

SOAP

SOAP

SOAP

SOAPSOAPXML

HTTP

SOAP [ -p ]

SOAP

WSDLLanguageWeb Services Description

WSDL

WSDLXML

SOAP

IBM

WSDL

IBMAribaW CW C

WSDL

WSDL

WSDLWSDL

HTTP

WSDL

WSDL

WSDL

WSDLWSDL

WSDL

getbooks [ -p ]

WSDL

isbn

WSDL

title

WSDL

WSDLSOAP

WSDL

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 ]

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 ] .

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

.

SOA

SOA

[ -p ]

SOA

- Service Consumer

[ -p ]

:

Mainframe

[ -p ]

[ -p ]

[ -p ]

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

[ -p ]

[ -p ]

SOA

Sun

[ -p ]

SOA

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

[ -p ]

SOA

[ -p ]

[ -p ]

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

[ -p ]

[ -p ]

SOA

[ -p ]

[ -p ]

- Service Interface

[ -p ]

[ -p ]

SOA

[ -p ]

SOA

[ -p ]

- Binding Time

- Distributed - Objects

[ -p ]

[ -p ]

- Load Balancer

Clustered

Cluster

[ -p ]

SOA

SOA

SOA

SOA

BEA

[ -p ]

[ -p ]

-SOA Reference Architecture -Presentation Layer

SOA

SOA

[ -p ]

Service Bus

SOA

[ -p ]

[ -p ]

SOA [ -p ]

[ -p ]

ITSOA

Legacy

Mainframe

[ -p ]

-Enterprise - Enterprise Application Integration

SOA

SOA

SOA

[ -p ]

SOA

SOA

SOA

SOA

SOA

[ -p ]

SOA

SOA

[ -p ]

-SOA

IBMSOA

IBM

SOA[ -p ]

[ -p ]

[ -p ]

[ -p ]

[ -p ]

SOA

SOA

xml

[ -p ]

[ -p ]

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

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 /"

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>

<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>

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

SOA

SOA

SOASOA

SOA

SOAJAVA.Net

SOA

SOA

SOA

[ ] 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=

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.

top related