Pada artikel sebelumnya Create Web Service saya memaparkan bagaimana koneksi komunikasi antara client dengan server melalui web service dapat digunakan untuk mengkoneksikan satu tempat ke tempat lain dan client menggunakan standar XML (eXtensible Markup Language) dalam paparan tersebut ruang lingkup VB .NET sedang kali ini saya akan membahasnya jika lintas bahasa pemrograman, apakah web service tersebut dapat melakukan komunikasi ataukah tidak ? mari sama-sama mencari tahu. yang pertama terima kasih masukan dari teman saya SCS_BISA_CODING untuk membuat review ini.
kali ini akan saya paparkan bahwa lintas platform pun web service tetap akan jalan, misal kita mau invoke web service dari Java ke VB NET
Instalasi Apache Axis
Apache Axis merupakan SOAP Engine dan salah satu toolkit untuk web service java. Di dalam apache axis sudah terdapat library yang digunakan untuk develop java yang akan di akses oleh client. Untuk mendapatkan apache axis bisa download di http://ws.apache.org/axis. Pada saat tulisan ini dibuat penulis menggunakan axis versi terbaru yaitu axis 1.4.
Untuk menjalankan Axis penulis menggunakan Apache Tomcat 1.5 dan untuk instalasinya apache Tomcat ikuti tinggal di ekstrak ke direktori. Jangan lupa untuk mengistal Java SDK untuk frameworknya. Setelah instalasi tomcat selesai maka selanjutnya install Apache Axis,langkahnya sebagai berikut :
1. Ekstrak file axis yang telah di download (pada saat uji coba penulis meletakkan semua hasil instalasi di direktori C:\). Setelah itu akan terbentuk file sebagai berikut :
…\DIRECTORI\axis-1_4
\docs
\lib
\sample
\webapps
\axis
2. Copy semua file library axis yang ada di dalam folder axis-1_4\lib ke dalam library tomcat. Jangan lupa untuk menambahkan file activation.jar, karena apache axis tidak menyertakan file library activation.jar. Untuk mendapatkan file activation.jar bisa cari di internet dengan cara googling dan download file tersebut kemudian letakkan di dalam library tomcat.
3. Copy folder axis di dalam folder webapp\axis ke directory C:\. Sehingga tersusun directory sebagai berikut C:\axis
4. Buat mapping path pada tomcat TOMCAT_HOME\conf\Catalina\localhost\axis.xml dan tulis script di bawah ini :
Buat file java dengan nama Hello.java dan buat scrip di bawah ini kemudian simpan :
public class Hello
{
public String getMsg(String msg)
{
return (“Heloo “ + msg + “Ini Web Service Java”);
}
}
Metode JWS
Pada contoh kali ini penulis menggunakan metode JWS untuk deployment axis karena metode ini merupakan metode deployment yang paling mudah. Dengan menggunakan metode JWS, deployment web service sangat mudah hanya dengan membuat file java biasa dan simpan file tersebut di bawah folder CONTEXT_PATH/axis dan rename akhiran .java dengan .jws. Sebagai contoh file Hello.java menjadi Hello.jws dan untuk mengakses WSDL dari web service dengan url http://localhost:8080/axis/Hello.jws?WSDL. Setelah selesai lakukan uji coba dengan start Apache Tomcat dan panggil seperti contoh URL sebelumnya maka akan muncul tampilan sebagai berikut :
Gambar 1. Tampilan wsdl dari Web Service Java.
Akses Client Web Service dengan .NET
Setelah selesai sukses membuat Java Web Service sekarang kita melakukan invoke data dari client. Pada uji coba ini penulis menggunakan VB.NET untuk melakukan akses data web service. Langkah untuk mamanggil fungsi web service adalah sebagai berikut :
1. Lakukan web reference dengan melakukan discovery pada http://localhost:8080/axis/Hello.jws?wsdl
2. Gunakan script di bawah ini untuk memanggil fungsi web service
Dim ws As New jws1.HelloService
MsgBox(ws.getMsg(TextBox1.Text))
Hasilnya akan tampak pada gambar di bawah ini yang menunjukkan bahwa akses web service java dengan akses client dari VB.NET telah berhasil.
Akses Web Service .NET dengan Java
Untuk mengakses web service .NET dengan Java langkahnya tidak teralu berbeda jauh. Karena semua web service manggunakan metode yang sama untuk distribusi data yaitu XML. Ok nggak usah lama – lama lagi, mari kita mulai untuk mempraktekkan cara invoke web service .NET melalui Java. Berikut code dari .NET Web Service
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
private Message m_strMsg_ = new Message ();
private Envelope m_envelope = new Envelope ();
private DataHandler m_strReturnMsg = null;
private PrintWriter out = null;
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
out = resp.getWriter();
this.m_url = new URL
(“http://localhost:1684/WebSite10/Service.asmx”);
try
{
out.print(GetCustomerData ());
}
catch(Exception e)
{}
}
public synchronized void setWebServiceURL (URL url)
{
this.m_url = url;
}
public synchronized URL getWebServiceURL ()
{
return this.m_url;
}
public synchronized String GetCustomerData () throws SOAPException {
String strReturn = “”;
if (this.m_url == null)
{
throw new SOAPException (Constants.FAULT_CODE_CLIENT,
“URL tidak ditemukan”);
}
this.m_soapUri = “http://ws.pdawir.iseng/getData”;
MsgBody ourBody = new MsgBody ();
this.m_envelope.setBody (ourBody);
m_strMsg_.send (this.getWebServiceURL(),
this.m_soapUri, this.m_envelope);
try
{
this.m_strReturnMsg = this.m_strMsg_.receive();
strReturn=this.m_strReturnMsg.getContent().toString();
}
catch (Exception exception)
{
exception.printStackTrace ();
}
return strReturn;
}
}
Code di atas digunakan untuk melakukan deserialisasi data XML yang dikirimkan oleh .NET Web Service yang hasilnya berupa data dalam bentuk SOAP, seperti tampak pada gambar di bawah ini :
Hasil deserializer data xml .NET menjadi SOAP
Jika proses Deserializer berhasil maka akan tampak seperti pada gambar di atas dan siap untuk dilakukan invoke. Untuk melakukan invoke data web menggunakanan code seperti contoh di bawah ini dan hasilnya akan tampak seperti gambar di bawah
String endPoint = “http://localhost:9080/WSNET/servlet/WebServicesClient.wsnet”;
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endPoint));
call.setOperationName(“getMsg”);
call.addParameter(“op1″, XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
String msg = (String) call.invoke( new Object[]{“”});
out.println(msg);
Ref :
Nanang Blog
WAL
24 Februari 2010
Invoke Web Service Lintas Platform
23 Februari 2010
Create Web Service
dalam paparan saya kali ini mereview dari tugas dan kelas kali ini saya akan mengangkat mengenai web service.
apa itu web service ? web service adalah teknologi yang terbaik dalam dunia internet, web service dapat digunakan untuk mengkoneksikan satu tempat ke tempat lain dan client menggunakan standar XML (eXtensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language) dan UDDI (Universal Description, Discovery dan Integration).
Web Service memberikan kemudahan untuk aplikasi dapat berkomunikasi dengan yang lain tanpa perlu mengkhawatirkan hardware dan software serta bahasa pemrograman.
tidak seperti pada model yang lama, web service tidak menyediakan bentuk secara user interface tapi lebih kepada sasaran logika proses bisnisnya, yang dapat di program dan pengguna developer dapat mendesain interface-nya sendiri yang disesuaikan dengan web service yang dibuat.
Dengan kata lain web service secara bebas dapat memberikan sebuah aplikasi dapat berkomunikasi dengan aplikasi lain di lain tempat dan waktu tanpa perlu mengetahui platform, hardware dan os yang digunakan oleh aplikasi lain.
dibawah ini adalah contoh pembuatan syntax web service, dengan kasus konversi mata uang
nah penggunaannya pada windowsApplication atau pada form seperti apa ? (Asumsi web service menggunakan localhost dan web service di buat dalam satu solution, seperti pada gambar
dan kita menginginkan semisal data konversi mata uang tersebut di masukkan kedalam messagebox seperti pada gambar berikut :
kita tinggal menambahkan coding pada button1 seperti berikut, dengan catatan web service sudah di tambahkan dengan Add Web Reference
Ref :
http://www.devguru.com/features/tutorials/WebService/WebService1.asp
Kuliah Pertemuan 1 PSI
WAL
22 Februari 2010
Join Table
Sedikit review dari materi kuliah mengenai select join table adalah mengkombinasikan data/record lebih dari satu tabel pada database. Biasanya programmer membuat predikat JOIN untuk mengidentifikasi record yang akan di-join-kan. jika terevaluasi predikat join tersbut bernilai true, maka record yang akan di=join-kan akan memberikan hasil yang di tempatkan pada format tertentu, misalnya hasil join akan di kembalikan/di tempatkan pada sebuah listbox
langsung pada studi kasus kali ini saya memakai 3 tabel yang akan saya join kan yaitu tabel mhs, MK dan dosen seperti pada gambar :
dan outputnya yang akan saya inginkan adalah nim, nama_mhs, kode_mk, nama_mk, sks, dan dosen
sehingga syntax sqlnya menjadi
select A.NIM, A.Nama, B.kode_MK, B.Nama_MK, B.sks, C.nama_dosen from mhs A, MK B, Dosen C where A.NIM=B.NIM and B.kode_dosen=C.kode_dosen
dan jika di terapkan pada coding VB NET kurang lebihnya seperti berikut :
(dengan asumsi telah membuat koneksi databasenya..ini tidak saya bahas ada pada connect)
ini memakai konsep Connected
dim xread as sqldatareader
dim query as string
dim xcom as new sqlcommand
query="select A.NIM, A.Nama, B.kode_MK, B.Nama_MK, B.sks, C.nama_dosen from mhs A, MK B, Dosen C where A.NIM=B.NIM and B.kode_dosen=C.kode_dosen and A.NIM like " & Textbox1.text & "%'"
xcom.connection=xkoneksi
xread=xcom.executeReader
if xread.HasRow
Do While xread.Read
Listbox1.Item.Add(xread.Item(0) & " " & xread.Item(1) & " " & xread.Item(2) & " " & xread.Item(3) & " " & xread.Item(4) & " " & xread.Item(5) & " " & xread.Item(6))
loop
end if
semoga membantu
ref :
http://en.wikipedia.org/wiki/Join_%28SQL%29
WAL
22 Juni 2009
Konversi Mata Uang Ke Penulisan Huruf
Pada tulisan kali ini akan saya bagi2 programming sedikit mengenai konversi mata uang ke bentuk penulisan huruf
Fungsi terbilang nilai mata uang ini biasanya digunakan pada aplikasi-aplikasi yang berkaitan dengan penjualan atau sejenisnya. Sebagai gambaran, Operator/admin hanya memasukkan nilai mata uang maka secara otomatis aplikasi tersebut mengkonversnya ke huruf. Selain itu juga mempermudah pengucapan nilai mata uang.
Ikuti langkah berikut:
- Buat 1 Modul dan satu form. Nama modul dan form terserah anda
- Sisipkan kode berikut pada modul
Function Cur2Int(str_ As String) As Long
Dim s As String
Dim D As String
Dim dd As String
Dim I As Byte
Dim J As Byte
On Error GoTo hancuR
s = str_
D = ""
For I = 0 To Len(s) - 1
dd = Mid(s, Len(s) - I, 1)
If dd <> "." Then
D = dd + D
End If
Next I
If dd <> "" Then
Cur2Int = Val(D)
Else
Cur2Int = 0
End If
Exit Function
hancuR:
'//Nama text terbilang
Txtterbilang.Text = "0"
End Function
'// fungsi terbilang
Public Function Terbilang(strAngka As String) As String
Dim strJmlHuruf$, intPecahan As Integer, strPecahan$, Urai$, Bil1$, strTot$, Bil2$
Dim X, Y, z As Integer
If strAngka = "" Then Exit Function
strJmlHuruf = LTrim(strAngka)
intPecahan = Val(Mid(strAngka, 15, 2))
If (intPecahan = 0) Then
strPecahan = ""
Else
strPecahan = LTrim(Str(intPecahan)) + "/100 "
End If
X = 0
Y = 0
Urai = ""
While (X < x =" X" strtot =" Mid(strJmlHuruf," y =" Y" z =" Len(strJmlHuruf)" z =" 1" z =" 7" z =" 10" z =" 13)" bil1 = "Satu " z =" 4)" x =" 1)" bil1 = "Se" bil1 = "Satu " z =" 2" z =" 5" z =" 8" z =" 11" z =" 14)" x =" X" strtot =" Mid(strJmlHuruf," z =" Len(strJmlHuruf)" bil2 = "" bil1 = "Sepuluh " bil1 = "Sebelas " bil1 = "Dua Belas " bil1 = "Tiga Belas " bil1 = "Empat Belas " bil1 = "Lima Belas " bil1 = "Enam Belas " bil1 = "Tujuh Belas " bil1 = "Delapan Belas " bil1 = "Sembilan Belas " bil1 = "Se" bil1 = "Dua " bil1 = "Tiga " bil1 = "Empat " bil1 = "Lima " bil1 = "Enam " bil1 = "Tujuh " bil1 = "Delapan " bil1 = "Sembilan " bil1 = ""> 0) Then
If (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
Bil2 = "Puluh "
ElseIf (z = 3 Or z = 6 Or z = 9 Or z = 12 Or z = 15) Then
Bil2 = "ratus "
Else
Bil2 = ""
End If
Else
Bil2 = ""
End If
If (Y > 0) Then
Select Case z
Case 4
Bil2 = Bil2 + "Ribu "
Y = 0
Case 7
Bil2 = Bil2 + "Juta "
Y = 0
Case 10
Bil2 = Bil2 + "Milyar "
Y = 0
Case 13
Bil2 = Bil2 + "Triliun "
Y = 0
End Select
End If
Urai = Urai + Bil1 + Bil2
Wend
Urai = Urai + strPecahan
Terbilang = Urai & "Rupiah"
End Function
- Sisipkan 2 buah text box pada form, dan beri nama textbox tadi :
* txtangka -> untuk inputan bilangan
* txtTerbilang -> untuk menampilkan hasil konversi
- Sisipkan 1 buah Command button. Klik 2 kali Command Button dan sisipkan kode berikut :
If TxtAngka.Text = "" Then
MsgBox "Inputan Angka masih kosong", vbQuestion, "Kesalahan | inputan kosong"
TxtAngka.SetFocus
Else
TxtTerbilang.Text = Terbilang(Str(Cur2Int(TxtAngka.Text)))
End If
Langkah-langkah diatas merupakan langkah peng-Codingan. Sekarang saatnya kita melakukan pengujian pada aplikasi ini.
- Jalankan Script yang telah dibuat pada menu RUN
- Masukkan angka/bilangan pada txtAngka.
- Klik Command button, maka hasil konversi akan tampil pada txtTerbilang.
Untuk source yang sudah jadi dapat di download pada Halaman Download.
Okey.. Selamat mencoba.