Web Services An introduction for eWiSACWIS May 2008.

19
Web Services An introduction for eWiSACWIS May 2008

Transcript of Web Services An introduction for eWiSACWIS May 2008.

Page 1: Web Services An introduction for eWiSACWIS May 2008.

Web Services

An introduction for eWiSACWIS

May 2008

Page 2: Web Services An introduction for eWiSACWIS May 2008.

Introduction

What are web services? What are the web services plans for

eWiSACWIS?

Page 3: Web Services An introduction for eWiSACWIS May 2008.

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.

Page 4: Web Services An introduction for eWiSACWIS May 2008.

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.

Page 5: Web Services An introduction for eWiSACWIS May 2008.

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.

Page 6: Web Services An introduction for eWiSACWIS May 2008.

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

Page 7: Web Services An introduction for eWiSACWIS May 2008.

Process FlowNormal Browsing

eWiSACWIS Users

eWiSACWISHTTPS

Page 8: Web Services An introduction for eWiSACWIS May 2008.

Process FlowWeb Services

County Servers

HTTPS eWiSACWIS

Page 9: Web Services An introduction for eWiSACWIS May 2008.

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.

Page 10: Web Services An introduction for eWiSACWIS May 2008.

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

Page 11: Web Services An introduction for eWiSACWIS May 2008.

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>

Page 12: Web Services An introduction for eWiSACWIS May 2008.

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>

Page 13: Web Services An introduction for eWiSACWIS May 2008.

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>

Page 14: Web Services An introduction for eWiSACWIS May 2008.

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.

Page 15: Web Services An introduction for eWiSACWIS May 2008.

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.

Page 16: Web Services An introduction for eWiSACWIS May 2008.

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

Page 17: Web Services An introduction for eWiSACWIS May 2008.

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.

Page 18: Web Services An introduction for eWiSACWIS May 2008.

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.

Page 19: Web Services An introduction for eWiSACWIS May 2008.

We Want YOUR COUNTYTo Volunteer For Web Services

Contact Sue Zemke (608) 266 [email protected]