Corba (Common Object Request Broker Architecture) adalah suatu standar
yang dibangun oleh Object Management Group(OMG) untuk memberikan
interoperabilitas antara objek terdistribusi
Corba
(Common Object Request Broker Architecture) adalah suatu standar yang dibangun
oleh Object Management Group(OMG) untuk memberikan interoperabilitas antara
objek terdistribusi. CORBA adalah salah satu solusi middleware yang
memungkinkan adanya pertukaran informasi, dengan platform hardware, bahasa
pemrograman, dan system operasi yang independent. Didalamnya didesain sebuah
spesifikasi untuk Object Request Broker (ORB), dimana ORB menyediakan mekanisme
yang dibutuhkan oleh objek terdistribusi untuk berkomunikasi satu sama lain,
baik secara local maupun pada perangkat remote, ditulis dalam bahasa
pemrograman yang berbeda, atau pada lokasi jaringan yang berbeda.
Corba
sebenarnya mirip dengan Web Service. Bedanya klo Web Service biasanya pake
protokol HTTP sedangkan Corba pake IIOP, atau GIOP, tapi ada juga yang pake
IOP. Corba pakai IDL (Interface Definition Language) sedangkan Web Service
pakai WSDL. Menurut yang sudah melakukan komparasi, Corba lebih cepat
performansinya dibandingkan dengan Web Service. Akan tetapi Web Service lebih
menang untuk kemudahaan penggunaannya, karena Web Service menggunakan protokol
HTTP yang berarti memanfaatkan port 8080, port yang biasanya dibuka oleh sebuah
server.
Implementasi
Corba di .NET tidak semudah di Java. Karena .NET tidak menyediakan kelas yang
bisa langsung dipakai (di Java kita tinggal memakai idlj.exe untuk generate
class dan stub dari sebuah idl). Saya membuat aplikasi Corba di .NET dengan
"Remoting.Corba.dll" yang didownload dari
"http://remoting-corba.sourceforge.net" Saya rasa dll tersebut cukup
baik mendukung interoperabilitas dari Corba di .NET. Tapi tetap saja kita harus
membuat kelas abstrak dari IDL yang sudah didefinisikan. Kendala yang saya
hadapi adalah jika memakai .NET untuk merefer pada IDL, kita harus mematuhi
MIDL yang ternyata agak berbeda dengan IDL yang sudah diimplementasi dengan
idlj.exe (Java). So alhasil, kita harus membuat abstract dan interface class
dari IDL dengan implement CorbaObject yang terdapat pada
"Remoting.Corba.dll".
Connecting
Java dan .NET (client server application for both) dengan Corba memang sangat
menyenangkan. Performansinya sangat bagus. Sedikit lebih rumit daripada
implementasi WebService, tapi dengan Corba kita bisa pakai (definisikan) port
sesuka hati. Memang seh klo pake WinXP with Advance Security Technology, pasti
akan ditanya mulu sama WinXP kalo kita ngapa2in. But, its fun.. :D