Enamlevinud andmebaasisüsteemide veebiteenuste võrdlus

Date

2012

Journal Title

Journal ISSN

Volume Title

Publisher

Tartu Ülikool

Abstract

Veebiteenused on XML-keelel (Extensible Markup Language – laiendatav märgistuskeel) põhinevad tehnoloogiad, tänu millele on võimalik erinevates programmeerimiskeeltes implementeeritud tarkvaral hajusalt paigutatud arvutisüsteemides suhelda. Selliseid teenuseid kasutatakse erinevate ressursside kättesaadavaks tegemisel ning tihtipeale on teenustega seotud andmed, mida hoitakse andmebaasis. Tavapäraselt implementeeritakse veebiteenuseid rakendusserveril, mis on andmebaasiga ühenduses. Käesolev töö käsitleb veebiteenuste loomist, kasutades selleks andmebaasisüsteemidesse sisseehitatud võimalusi, mis võimaldavad andmebaasis olevat infot veebis kättesaadavaks teha. Käesoleva bakalaureusetöö eesmärgiks on pakkuda ülevaade kolme andmebaasisüsteemi Sybase SQL Anywhere 11, Oracle Database 11g ja Microsoft SQL Server 2008 poolt pakutavatest, SOAP-protokollil (Simple Object Access Protocol – lihtne objektipöördus-protokoll) põhinevate, veebiteenuste loomise võimalustest. Iga vastava süsteemi puhul tuuakse välja üleüldine kirjeldus veebiteenuste loomise kohta ning võrreldakse konkreetset süsteemi teistega, vastavalt väljatoodud võrdluse metoodikale. Võrdluse toetamiseks realiseeritakse iga andmebaasisüsteemiga sama funktsionaalsusega testrakendus kolme erinevat tüüpi veebiteenusega. Veebiteenuste realiseerimisele ning autori arvamusele põhinedes anti hinnang erinevatele aspektidele. Võrdluse tulemusena leiti, et parim võrdluses osalenud andmebaasisüsteem veebiteenuste loomiseks on Microsoft SQL Server tänu suurepärasele dokumentatsioonile, silmapaistvale funktsionaalsusele ja turvalisusele. Teised kaks süsteemi said võrdse hinnangu, kuid SQL Anywhere puudusteks on võrreldavatega halb turvalisus ning Oracle Database 11g ei võimalda veebiteenuste üle piisavat kontrolli. Testrakendust luues implementeeriti erinevat tüüpi veebiteenused kõigil kolmel andmebaasisüsteemil ning toodi töös välja käsud, millega teenuseid loodi. Töö lisana on toodud kõikide teenuste agentide WSDL-dokumendid ning funktsionaalsuse testimiseks lõpp-punktidele saadetud SOAP-päringud ja vastusena saadud SOAP-vastused. Autori hinnangul on antud töös käsitletud veebiteenuste loomise meetod väga kasutajasõbralik ning ei nõua palju valdkonnaspetsiifilisi teadmisi. Looja peab omama põhilisi teadmisi andmebaaside loomisest ning käskudest, millega luuakse protseduure ja funktsioone, mida tahetakse läbi veebiteenuse kättesaadavaks teha. Kindlasti on tähtis keskenduda turvalisuse tagamisele, sest teenuste lõpp-punktid võivad endaga kaasa tuua turvaauke.
Web services are a set of XML based technologies, which provide communication, discovery and description of implemented services for distributed resources. As opposed to the traditional way of developing web services on an application server, this paper focuses on web services that can be created using a relational database management system. The paper gives a short introduction to web services and compares three management systems, which are Sybase SQL Anywhere 11, Oracle Database 11g and Microsoft SQL Server 2008. In addition to giving a brief overview of what functionality each compared system is providing in terms of web services deployment, the author evaluates each one according to the presented criteria. In order to support the evaluation and comparison, a test application which consists of the three different web services is implemented with each comparable system. The services are for sending ad hoc SQL statements, running a stored procedure and running a procedure with an argument. The results of the comparison suggest that the best tool for creating native database web services is Microsoft SQL Server, thanks to its helpful and well-written documentation, best functionality of the comparison and security measurements. Oracle Database and SQL Anywhere received the same amount of points, but as pointed out, Oracle is the easiest to work with, but does not have a detailed documentation. Also the web services created with Oracle Database cannot be configured in a desired way. The documentation for SQL Anywhere web services is meaningful, with well described examples, but service endpoints lack in security measurements and are in some ways more time-consuming to create. In conclusion database web services provide an easy way to deploy database functionality on the web, although the creators of such services must realise the security risks that may occur.

Description

Keywords

Citation