Web Services

jetmorebrisketSoftware and s/w Development

Aug 15, 2012 (4 years and 8 months ago)

284 views

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 Flow

Normal Browsing

eWiSACWIS
Users

eWiSACWIS

HTTPS

Process Flow

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

To Volunteer For
Web Services

Contact Sue Zemke (608) 266 6712

Susan.zemke@wisconsin.gov