Web Services An introduction for eWiSACWIS May 2008.
-
Upload
joshua-hicks -
Category
Documents
-
view
212 -
download
0
Transcript of Web Services An introduction for eWiSACWIS May 2008.
Web Services
An introduction for eWiSACWIS
May 2008
Introduction
What are web services? What are the web services plans for
eWiSACWIS?
A Definition of Web Services
A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.
Quick Terms
XML – “Extensible Markup Language” specification for encoding data for exchange.
SOAP –”Simple Object Access Protocol” XML-based protocol for exchanging messages over computer networks.
HTTP/HTTPS – communications protocols used for transferring data over networks. Usually used for the Web.
WSDL – “Web Services Description Language“ XML-based description of services provided.
Key Points
Interoperable Uses SOAP which is a standardized interface for
web services. Fairly easy to implement using nearly any
programming language and operating system. Commonly used implementations are available on
Java and .NET, but other languages will work just as well.
Key Points
Machine-to-machine interaction Takes out the human element. No more copying files over VPN connections. Makes it easy to automate and schedule
Process FlowNormal Browsing
eWiSACWIS Users
eWiSACWISHTTPS
Process FlowWeb Services
County Servers
HTTPS eWiSACWIS
Key Points
Described interface Interface contained in a WSDL document
Machine readable XML A defined “function call” over the Internet Code generation tools are available to generate
the needed code for you in most SOAP implementations.
Key Points
Over HTTP using XML Standards-based flexible technologies HTTP is used on nearly every computer Can use HTTPS for added security XML is now ten years old. Has become the
standard for most data exchanges
SOAP – the Request Envelope
<SOAP:Envelope xmlns:SOAP= "http://schemas.xmlsoap.org/soap/envelope/“>
<m:getCountyName xmlns:m="http://www.soapware.org/"> <countyCode>1</countyCode> </m:getCountyName>
</SOAP:Envelope>
SOAP – the Response Envelope
<SOAP:Envelope xmlns:SOAP= "http://schemas.xmlsoap.org/soap/envelope/“>
<m:getCountyNameResult xmlns:m="http://www.soapware.org/"> <countyName>Adams</countyName> </m:getCountyNameResult>
</SOAP:Envelope>
WSDL Example<wsdl:message name="getCountyNameRequest"> <part name=“countyCode" type="xs:string"/> </wsdl:message>
<wsdl:message name="getCountyNameResponse"> <wsdl:part name=“countyName" type="xs:string"/></wsdl:message>
<wsdl:portType name=“countyNameServiceSoap"><wsdl:operation name="getCountyName"> <wsdl:input message="getCountyNameRequest"/> <wsdl:output message="getCountyNameResponse"/></wsdl:operation>
</wsdl:portType>
<wsdl:service name=“countyNameService”> <wsdl:port name=“countyNameServiceSoap“> <soap:address
location=https://webservices.dhfs.state.wi.us/eWWS/services/countyNameServiceSoap”/>
</wsdl:service>
The good news…
We will be providing the WSDL for you. You probably will not need to create and send
SOAP messages by hand. For .NET, use wsdl.exe (included with Visual Studio)
to generate your code from a WSDL. Eclipse, NetBeans, and IntelliJ will generate your
Java code for you too. Make sure you have the appropriate web services plugins
installed. Other programming languages have similar tools as
well.
Security
eWiSACWIS web services will support HTTPS 128-bit encryption Point to point security from county computers to state
servers Mutual authentication using certificates
We will provide you a client certificate to use. Certificate used to authenticate valid clients and valid
servers “Secret handshake”
Authorization Once we are talking, can you do what you are trying to do.
Resources
http://ws.apache.org/axis/index.html http://java.sun.com/webservices http://java.sun.com/webservices/docs/1.6/tutorial/doc/index.html http://msdn.microsoft.com/webservices/ http://www.intertwingly.net/stories/2002/03/16/aGentleIntroductionToSo
ap.html
Will the VPN connection still be available?!
Yes, the VPN (Virtual Private Network) will still be needed for certain interfaces, and will still be there for the counties that do not want to move over to Web Services.
Future Plans for Web Services
Financial Interface ASAP, replace the VPN connection and
transferring of the .txt files. CIA
Future, replace the MQSeries Queue and messages.
REPL No, this will still require the VPN.
We Want YOUR COUNTYTo Volunteer For Web Services
Contact Sue Zemke (608) 266 [email protected]