• Ei tuloksia

[1] Hakala Jama, EDI - Electronic Data Interchange / O VT - Organisaatioiden välinen tiedonsiirto, 1998, TKK - Tuotantotalous,

http://www.tml.hut.fi/Studies/Tik-l 10.300/1998/Essavs/edi.html (linkki tarkistettu 4.2.2002)

[2] Web Services Framework for W3C Workshop on Web Services 11-12 April 2001, San Jose, CA USA,

http://www,w3.org/2001 /03/WSWS-popa7paper51 (linkki tarkistettu 4.2.2002) [3] W3C Working Draft 2 October 2001, SOAP Version 1.2, 2001, W3C,

http://www.w3c.org/TR/SOAP12-part1 (linkki tarkistettu 4.2.2002) ja http://www.w3c.org/TR/SOAP12-part2 (linkki tarkistettu 4.2.2002)

[4] W3C Note 15 March 2001, Web Services Description Language (WSDL) 1.1, 2001, W3C,

http://www.w3.org/TR/wsdl (linkki tarkistettu 4.2.2002)

[5] Amoroso Edward G, Fundamentals of Computer Security Technology, 1994, Prentice-Hall International, Inc.

[6] MSDN Library, Web Services, 2001, Microsoft Corp,

http://msdn.microsoft.com/librarv/default.asp?url=/nhp/default.asp?contentid=

28000442 (linkki tarkistettu 4.2.2002)

[7] What are Webservices?, 2000, Webservices.org,

http://www.webservices.org/whatarewebservices.php (linkki tarkistettu 4.2.2002)

[8] Tidwell Doug, WebServices - The Web’s next revolution, 2001, IBM, http://www-105.ibm.com/developerworks/education.nsf7webservices-

onlinecourse-ytitle/BA84142372686CFB862569A400601C18?OpenDocument (linkki tarkistettu 4.2.2002)

Antti Hyttinen: Tietokantapohjaisten järjestelmien toteutus xveb-palveluna 57

[9] Eeckhout Marc, XML Day Helsinki Conference Presentation - Delivering Internet Infrastructure through! Web Services and J2EE, 2001, IONA Technologies

[ 10] Past Survey Results, 2001, Webservices.org

http://www.webservices.org/pollBooth.php (linkki tarkistettu 4.2.2002) [11] Draft Standard RFC 2616, Hypertext Transfer Protocol - HTTP/1.1, 1999,

The Internet Society,

http://www.ietf.org/rfc/rfc2616.txt (linkki tarkistettu 4.2.2002)

[12] W3C Recommendation 6 October 2000, Extensible Markup Language (xml) 1.0 (Second Edition), 2000, W3C, http://www.w3.org/TR/200Q/REC-xml- 20001006 (linkki tarkistettu 4.2.2002)

[13] Kulchenko Paul, Quick Start with SOAP, 2001, O’Reilly,

http://www.perl.eom/pub/a/2001 /01 /soap.html (linkki tarkistettu 4.2.2002) [14] Skonnard Aaron, SOAP: The Simple Object Access Protocol - Issue of

Microsoft Internet Developer, 2000, Microsoft Corp.

http://www.microsoft.eom/mind/0100/soap/soap.asp (linkki tarkistettu 4.2.2002)

[15] Redmond Wash, First Step Taken Toward Standardizing Key Specification for Integration of Web Services, 2000, Microsoft Corp,

http://www.microsoft.com/presspass/press/2000/Mav00/SoapW3CPR.asp (linkki tarkistettu 4.2.2002)

[16] Dyck Timothy, SOAP simplifies Web application development, 2000, eWeek, http://www.zdnet.eom/eweek/stories/qeneral/0.11011,2591794,00.html (linkki tarkistettu 4.2.2002)

[17] W3C Note 8 May 2000, SOAP Version 1.1,2000, W3C,

http://www.w3c.org/TR/SOAP (linkki tarkistettu 4.2.2002)

[18] W3C Note 15 March 2001, Web Service Description Language (WSDL), 2001, W3C, http://www.w3.org/TR/wsdl (linkki tarkistettu 4.2.2002)

[19] Technical White Paper - UDDI, Uddi.org, 2000,

http://www.uddi.org/pubs/Iru UDDI Technical White Paper.pdf Hinkki tarkistettu 4.2.2002)

[20] Mohseni Roxanna, What is UDDI?, 2001, Infoeconomy Ltd, http://www.infoconomv.com/pages/features/group33660.adp (linkki tarkistettu 4.2.2002)

[21] Bertrand Meyer, .NET Is Coming, 2001, Computer (August 2001 Voi 34 No.

8) IEEE,

http://computer.org/computer/co2001 /r8092abs.htm (linkki tarkistettu 17.4.2002)

[22] Vawter Chad ja Roman ED, J2EE vs. Microsoft.NET (A comparison of building XML-based web services, Prepared for Sun Microsystems, Inc.), 2001, The Middleware Company

http://www.theserverside.com/resources/article.isp?l=J2EE-vs-DOTNET (linkki tarkistettu 4.2.2002)

[23] The Java™ Web Services Tutorial, 2002, Sun Microsystems,

http://iava.sun.com/webservices/docs/ea2/tutorial/index.html (linkki tarkistettu 21.3.2002)

[24] Sessions Roger, Java 2 Enterprise Edition (J2EE) versus The .NET for eBusiness, 2001, ObjectWatch, Inc.

http://www.obiectwatch.com/FinalJ2EEandDotNet.doc (linkki tarkistettu 4.2.2002)

[25] Microsoftm www-sivut: Visual Studio.NET,

http://msdn.microsoft.com/vstudio/ (linkki tarkistettu 4.2.2002) [26] IBM:n www-sivut: WebSphere software platform,

http://www-4.ibm.com/cgi-bin/software/track3.cgi?file=/software/info/websphere/index.html&S TACT=

I00AWW30&S CMP=campaign (linkki tarkistettu 4.2.2002) [27] HP Bluestonem www-sivut: pääsivu

http://www.bluestone.com (linkki tarkistettu 4.2.2002)

Antti Hyttinen: Tietokantapohjaisten järjestelmien toteutus web-palveluna 59

[28] Sun Microsystemsin www-sivut: Sun Open Net Environment, http://www.sun.com/software/sunone/ (linkki tarkistettu 4.2.2002) [29] Borlandin www-sivut: pääsivu,

www.borland.com (linkki tarkistettu 4.2.2002)

[30] Seely Scott, SOAP - Cross Platform Web Service Development Using XML, 2002, Prentice-Hall

[31] HP invent: HP Middleware, 2002, HP,

http://www.hpmiddleware.com (linkki tarkistettu 11.3.2002)

[32] Tapang Carlos C., Web Service Description Language (WSDL) Explained, 2001, Infotects,

http://msdn.microsoft.com/librarv/default.asp7urU/librarv/en-us/dnwebsrv/html/wsdlexplained.asp (linkki tarkistettu 4.2.2002)

[33] Sundsted Todd, Dot-Com Builder: Building Security Into Web Service, 2001, Sun,

http://dcb.sun.com/practices/devnotebook/webserv securitv.isp (linkki tarkistettu 4.2.2002)

[34] Microsoft Visual Studio .NET: Web Services Security, 2000, Microsoft, http://msdn.microsoft.com/vstudio/nextgen/technology/securitv.asp (linkki tarkistettu 4.2.2002)

[35] RFC 2401 : Security Architecture for the Internet Protocol, 1998, IETF http://www.ietf.org/rfc/rfc2401 ,txt?number=2401 (linkki tarkistettu 4.2.2002) [36] Cover Robin, XML and Encryption, 2001, The XML Cover Page,

http://xml.coverpages.org/xmlAndEncrvption.htm] (linkki tarkistettu 4.2.2002)

[37] W3C Note 6 February 2001, SOAP Security Extensions: Digital Signature, 2001, W3C,

http://www.w3c.org/TR/SOAP-dsig/ (linkki tarkistettu 4.2.2002)

[38] W3C Note 30 March 2001, XML Key Management Specification (XKSM), 2001, W3C,

http://www.w3c.Org/TR/SOAP-dsig/ (linkki tarkistettu 20.3.2002) [39] Nielsen Jakob, Usability Engineering, 1994, Academin P

[40] Moore Catilleen: Novell applies SOAP, 2002, InfoWorld,

http://www.infoworld.com/articles/hn/xml/02/03/18/020318hnedirectorv.xml (linkki tarkistettu 20.3.2002)

[41] IBM: DB2 XML Extender, Web services Object Runtime Framework (WORE) beta, 2002, IBM,

http://www-3.ibm.com/software/data/db2/extenders/xmlext/

docs/v72wrk/WORF.html (linkki tarkistettu 20.3.2002)

[42] Llibre Juan T, Wrox Conferences: ASP/IIS Optimization tips, 2000,

http://www.topxml.com/conference/wrox/2000 vegas/text/juan optimize.pdf (linkki tarkistettu 20.2.2002)

[43] Microsoft OLE DB: Product Information, 1997, Microsoft,

http://www.microsoft.com/data/oledb/prodinfo.htm (linkki tarkistettu 20.2.2002)

[44] Davidson Neil: Testing Web Services, 2002, Red Gate Software Ltd, http://www.webservices.org/index.php/article/articleview/179/1/1/ (linkki tarkistettu 11.3.2002)

[45] Flamengo Networks (editoinut Webservices.org): Web services and the need for Web service networks, 2001, WebServices.Org,

http://www.webservices.org/index.php/article/articleprint/74/-l/24/ (linkki tarkistettu 12.3.2002)

[46] WebServices.Org: Why Web Services?, 2002, WebServices.Org, http://www.webservices.org/index.php/article/articlestatic/75 (linkki tarkistettu 12.3.2002)

[47] Labbe Joe: Web Services: A New IT Paradigm, 2001, Primordial, http://www.webservices.Org/index.php/article/articleview/91/l/30/ (linkki tarkistettu 12.3.2002)

Antti Hyttinen: Tietokantapohjaisten järjestelmien toteutus web-palveluna 61

LIITTEET

Liite 1: Perusteita suomenkielisen web-palvelu -termin käytölle Liite 2: Esimerkki verkkopelikaupan web-palvelun metodista Liite 3: Esimerkki verkkopelikaupan SOAP-kyselystä

Liite 4: Lyhennelmä verkkopelikaupan WSDL-kuvauksesta Liite 5: Kuvia verkkopelikaupan portaalista

Liite 1

Perusteita suomenkielisen vveb-palvelu -termin käytölle

Web-palveluilla tarkoitetaan asiaa, jonka englannin kielinen termi on ”Web Service.” Web- palveluille ei ole vielä vakiintunutta suomenkielistä termiä. Seuraava lainaus on Tietokone- lehdessä ollut määritelmä sille, mitä tällä termillä tarkoitetaan.

"Web-palveluin a (Web Services) tarkoitetaan XML.ää, HTTP.tä ja SOAP-protokollaa (Simple Object Access Protocol) hyödyntäviä palveluita, joita voidaan kutsua etäältä samalla tavoin kuin sovelluksen sisäisiä, paikallisia metodeja. Palvelut voivat olla yksityisiä tai julkisia. Esimerkiksi toimipaikan haku postinumeron avulla voisi olla julkinen vveb-palvelu.

[Tietokone 9/2001]

Vastaus kyselyyn suomenkielessä käytettävästä termistä Tekniikan sanastokeskuksesta on seuraava:

"Käytettävissämme olevien lähteiden perusteella näyttäisi siltä, ettei Web-termille tässä merkityksessä vielä ole vakiintunutta suomenkielistä vastinetta. Hyvä termi tuo esiin käsitteestä olennaisimman, eroaa riittävästi lähikäsitteisiin viittaavista termeistä ja sitä on helppo käyttää ja taivuttaa. Englannin termillä on useampia merkityksiä, jotka läheisesti toisiinsa liittyvinä saattavat aiheuttaa sekaannuksia (Web- WWW-palvelu), joten olisi hyvä jos samalta ongelmalta voitaisiin välttyä suomenkielistä termiä muodostettaessa. ”

[Tekniikan Sanastokeskuksen termipalvelu]

Edellä olevien määrittelyn ja vastauksen pohjalta käytän tässä diplomityössä myös web- palvelu -termiä. Se ei ehkä ole parasta suomenkieltä, mutta erottuu WWW-palvelu - termistä, jolla tarkoitetaan yleisesti kaikkia WWW:ssä tarjottavia asioita.

Antti Hyttinen: Tietokantapohjaisten järjestelmien toteutus web-palveluna 63

Liite 2

Seuraavassa on esimerkki yhdestä verkkopelikaupan web-palvelun metodista. Ohjelmakoodi on kiijoitettu Visual Studio .NET :llä ja ohjelmointikielenä on käytetty Visual Basic.ia.

Ohjelmakoodista näkyy, kuinka tieto haetaan tietokannasta sql-lauseella. Yhteys tietokantaan eli ’GameDBConnection' on muodostettu valmiilla tietokanta-komponentilla. Funktion kutsuminen ja vastauksen saaminen näkyvät ulospäin SOAP-rajapintana.

<WebMethod()> Public Function getGamelnfo(ByVal game_ID As String) _ As ArrayList

Dim i As Integer Dim sql As String

sql="SELECT * from data_Games where Game_ID=1" & game_ID & ..

Dim rs As New OleDbCommand(sql, GameDBConnection) Dim gamelnfo As New ArrayList()

Dim gameData As New ArrayList() Dim gameParam As New ArrayList() rs.Connection.Open()

Dim myReader As OleDbDataReader = _

rs.ExecuteReader(CommandBehavior.CloseConnection) While myReader.Read()

For i = 0 To myReader.FieldCount() - 1 gameParam.Add(myReader.GetName(i))

If (("" & myReader.GetValue(i)) <> "") Then gameParam.Add(myReader.GetValue(i)) getGamelnfo = gamelnfo End Function

Liite 3

SOAP

Seuraavassa on esimerkki SOAP kyselystä ja vastauksesta. Lihavoituna näkyvät kohdat tulee korvata todellisilla arvoilla. (Esimerkki on tämän diplomityön yhteydessä toteutetusta

verkkopelikaupasta.)

POST /gameShopWS/gameProvider.asmx HTTP/1.1 Host: 127.0.0.1

Content-Type : text/xml ; charset=utf-8 Content-Length : length

SOAPAction: "http ://127.0.0.1/newGame"

<?xml version=”1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi = "http ://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap= * http ://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

Content-Type : text/xml ; charset=utf-8 Content-Length: length

«newGameResponse xmlns="http ://127.0.0.1/">

<newGameResult>boolean«/newGameResult>

</newGameResponse>

Antti Hyttinen: Tietokantapohjaisten järjestelmien toteutus web-palveluna 65

Liite 4

Seuraavassa on lyhennelmä verkkopelikaupan web-palvelun WSDL-kuvauksesta.

<?xml version = "1.0" encoding = "utf-8" ?>

<definitions xmIns:s="http://www.w3.org/2001/XMLSchema"

xm Ins: http = "http:/ /schemas, xmlsoap.org/wsdl/http/"

xm Ins: m ime = "http://schemas.xmlsoap.org/wsdl/m ime/"

xmlns:tm = "http://microsoft.com/wsdl/mime/textMatching/"

xm Ins :soap="http://schemas.xmlsoap.org/wsdl/soap/ "

xm Ins :soapenc=" http://schemas.xmlsoap.org/soap/encoding/"

xmlns:sO = "http://127.0.0.1/" targetNamespace = "http://127.0.0.1/"

xmlns="http://schemas.xm lsoap.org/wsdl/">

<types>

<s:schema attributeFormDefault= "qualified"

elem entFormDefault= "qualified"

targetl\lamespace = "http://127.0.0.1/">

<s:element name="getGameInfo">

<s:complexType>

<s:sequence>

<s:element mmOccurs="l" maxOccurs="l"

name = "game_ID" nillable = "true"

type="s:string" />

</s:sequence>

</s:complexType>

</s:element>

<s:element name=' getGameInfoResponse">

<s:complexType>

<s:sequence>

<s:element minOccurs="l" maxOccurs="l"

name=" getGamelnfoResult" nillable= "true"

type="sO:ArrayOfAnyType" />

</s:sequence>

</s:complexType>

</s:element>

tästä kohtaa on poistettu element-kohtia...-->

</s:schema>

</types>

<message name = "getGameInfoSoapIn">

<part name = "parameters" element="sO:getGameInfo" />

</message>

<message name=' getGameInfoSoapOut">

<part name="parameters" element="sO:getGameInfoResponse' />

</message>

tästä kohtaa on poistettu message-kohtia... — >

<portType name="GameProviderSoap">

<operation name="getGameInfo">

cinput message = "sO:getGameInfoSoapIn" />

<output message = "sOrgetGamelnfoSoapOut" />

</operation>

<!--...tästä kohtaa on poistettu portType-kohtia...-->

</portType>

<binding name="GameProviderSoap"

type="sO:GameProviderSoap">

soapAction = "http://127.0.0.1/getGameInfo"

style = "document" />

<input>

<soap:body use = "literal" />

</input>

<output>

<soap:body use= "literal" />

</output>

</operation>

</binding>

<!—...tästä kohtaa poistettu binding-kohtia...—>

<service name="GameProvider">

< documentation >GameShop</documentation>

<port name = "GameProviderSoap"

bind ¡ng = "sO:GamePro vide rSoap">

<soap:address

location = "http://127.0.0.1/gameShop WS/gamePr ovider.asmx" />

</port>

</service>

</definitions>

Antti Hyttinen: Tietokantapohjaisten järjestelmien toteutus web-palveluna 67

Liite 5

Kuvia verkkopelikaupan portaalin sivuista, jotka käyttävät tietokantapohjaista web-palvelua.

I iedoksi

№ 6* №• 10* 0*

* j -k

*d*w |¿,http://t«.126.6.250/gwwPortW jJ U*s . eenePurUl v,GSA*wn ^ 6enePrcM*rW5 <jT*tShop çjRCWTRAM **

o Tästä voit listata Deleía

•«*—

o Tästä voit lukea tarkemmat ohjeet ostoprosessista Cue Club on peli jonka perusteet opit helposti

1 Kaupoissa ravaamlnen on hlstorlaal I Digitaalinen Pelikauppa on Suomen toinen I palvelu, josta voit ostaa ja ladata pelejä H suoraan koneellesiI

I NÄIN HELPPOA SE ON I

I Katsasta pelit, valitse mlelelsesl,suorita

I maksu kätevästi koneeltasi ja lataa peli

I suoraan koneellesi.

И Maksu tapahtuu helposti ja turvallisesti I pankkien verkkomaksulla. (Solo, Kultaraha ja i Sampo)

4. Super iffartmg simulation 5. Raptor

• DWEEBS

• Peppi Pitkätossu

• Crazy Puzzle

• Cue Club

• DemonStar

• Castrol Honda Superbike^

• Chinese Ched

• Sklldoo х-тД

• SnowWave

• Star miner

• ttrttr

• Rally Championship Xtreme ¿

• Pelivaan

• Raptor

• RedLynx SkIFIying

Web-palveluna haettuja listoja peleistä

Л

У

Kuva A: Verkkopelikaupan pääsivu.

»ia«i

Cue Club on peli Jonka perusteet opit hejp mutta se tarjoaa haastetta myös kokeneemmallekin pelaajalle e-l pelimuodot takaavat että pi^Hätsen pariin uudestaan Ja uudestaan

Pelimuotoina USÄBall, UK 8 Ball, 9 Ball, Snooker, Speedöall, killer Yhdelle tai k aholle | pelaajalle on tarjolla harjoitusottelulta ja useita eri kilpailuja sekä 2 mestaruuskilpailua.

Pelistä löytyy myös vlrtuaalichat, pelin sisäinen chat, LAN mahdollisuus ja npljon muuta. Peli antaa myös ohjeita joille voit parantaa omaa pelaamistasi.

Pelin nimi I Pelin viralliset

kotisivut:

Win 95/98, directX 7.0а tai uudempi

Pentium 200. 32MB RAM, directX yhteensopiva näytönohjain ja

<JCWW «w*

Л

у

Kuva B: Tarkemmat tiedot yhdestä pelistä.