Akses SINTA RESTful dengan VB.NET


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.

2 thoughts on “Akses SINTA RESTful dengan VB.NET

  1. Ping-balik: Netzwerkadministrator, Multimediaentwickler, IT-Securitykoordinator Toni Schlack stellt sich hier vor

  2. mau menanyakan bagaimana penggunaan JSON web service pada vb .net 2005, jika pada vb .net secara default menggunakan markup language berupa XML, akan tetapi jika saya ingin merubah kedalam bentuk JSON bagaimana? mohon bantuannya .thx

Komentar ditutup.