Upload
buique
View
229
Download
0
Embed Size (px)
Citation preview
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.