Sinta adalah sebuah aplikasi information retrieval untuk dokumen-dokumen tugas akhir mahasiswa di lingkungan kampus UKDW Yogyakarta. Aplikasi ini merupakan aplikasi berbasis web (JSP/Servlet dan Alfresco) dan menggunakan WURLF untuk dapat menyesuaikan diri dalam tampilannya di ponsel. Selain itu Sinta juga menggunakan Jersey untuk penyediaan web service berbasis RESTful. Karena sudah tersedia WebService, maka mahasiswa UKDW dapat membuat program sendiri untuk mengakses data Sinta melalui web service ini (tentu saja harus melalui prosedur yang berlaku).
Pada artikel ini, saya akan memberikan contoh program yang mengakses Web Service SInTA dengan menggunakan VB.NET. Oleh karena yang dikembalikan oleh Web Service SInTA adalah JSON Array, maka dalam aplikasi sample .NET ini digunakan pustaka Jayrock untuk memparsing JSON Array tersebut.
Berikut adalah contoh modul aplikasinya:
Imports System.Net Imports System.IO Imports Jayrock.Json Imports Jayrock.Json.Conversion Module SintaWSSample Sub Main() Dim url As String = "http://222.124.22.27:81/sinta/resources/sintasrv?query= &username= &key= " Dim req As HttpWebRequest Dim res As HttpWebResponse Dim reader As StreamReader Dim jarr As New JsonArray Dim str As String Dim strbuff As String = "" req = WebRequest.Create(url) res = req.GetResponse() If (res.StatusCode = 200) Then reader = New StreamReader(res.GetResponseStream()) str = reader.ReadLine() If (Not String.IsNullOrEmpty(str)) Then While (str.Length > 0) strbuff = strbuff + str str = reader.ReadLine() If (String.IsNullOrEmpty(str)) Then str = "" End If End While End If Console.WriteLine("Akhir") Dim aList = CType(JsonConvert.Import(strbuff), IList) For Each dev As IDictionary In aList For Each entry As DictionaryEntry In dev Dim data As String = _ CStr(entry.Key) & _ " = " & entry.Value.ToString() SaveTextToFile(data, "C:\hasil.txt") Next SaveTextToFile("----====----", "C:\hasil.txt") Next Else Console.WriteLine("Ada masalah dalam meminta layanan Sinta") End If Console.ReadLine() End Sub Public Function SaveTextToFile(ByVal strData As String, _ ByVal FullPath As String, _ Optional ByVal ErrInfo As String = "") As Boolean Dim bAns As Boolean = False Dim objReader As StreamWriter Try objReader = New StreamWriter(FullPath, True) objReader.WriteLine(strData) objReader.Close() bAns = True Catch Ex As Exception ErrInfo = Ex.Message End Try Return bAns End Function End Module
Pada uri RESTful SInTA Web Service, tiap pengakses diwajibkan memberikan 3 paramter: yaitu query (berisi string query), username (user account SInTA), dan key yang berisi kunci API yang dapat diperoleh dari web SInTA.