Minggu, 23 Juni 2013

Corba

CORBA 

Interoperabilitas adalah kemampuan saling bekerjasama antar sistem komputer. Sebenarnya interoperabilitas bukanlah barang baru, karena protokol komunikasi datapun (TCP/IP misalnya) pada dasarnya diciptakan untuk mewujudkan interoperabilitas. Yang belum banyak dikenal adalah interoperabilitas pada level perangkat lunak aplikasi.
Dalam konteks sistem komputer terdistribusi, meskipun komponen-komponen aplikasi dibuat dengan bahasa pemrograman yang berbeda, menggunakan development tools yang berbeda, dan beroperasi di lingkungan yang beragam, mereka tetap harus dapat saling bekerjasama.
Interoperabilitas perangkat lunak menuntut homogenitas pada suatu level tertentu. Untuk itu diperlukan semacam 'standarisasi'. Berawal dari keperluan ini lahirlah CORBA (Common Object Request Broker Architecture). CORBA adalah hasil 'kesepakatan' antara sejumlah vendor dan pengembang perangkat lunak terkenal seperti IBM, Hewlett-Packard, dan DEC, yang tergabung dalam sebuah konsorsium bernama OMG (Object Management Group).
CORBA adalah sebuah arsitektur software yang berbasis pada teknologi berorientasi obyek atau Object Oriented (OO) dengan paradigma client-server. Dalam terminologi OO, sebuah obyek berkomunikasi dengan obyek lain dengan cara pengiriman pesan (message passing). Konteks komunikasi ini kemudian dipetakan ke dalam model client-server: satu obyek berperan sebagai client (si pengirim pesan) dan yang lain bertindak sebagai server(yang menerima pesan dan memroses pesan yang bersangkutan). Sebagai contoh, dalam ilustrasi di awal tulisan ini, jika si pasien memerlukan obat tertentu, maka obyek aplikasi di tempat praktek dokter berlaku sebagaiclient dan mengirim pesan ke obyek aplikasi di apotik guna mengetahui apakah obat yang diperlukan tersedia di sana.
Keunikan dari CORBA adalah kemampuannya dalam menangani heterogenitas antara client dan server (dalam terminologi CORBA, obyek server dinamakan implementasi obyek (object implementation). Keduanya dapat saja diimplementasikan dalam hardware, sistem operasi, bahasa pemrograman, dan di lokasi yang berbeda, tetapi tetap bisa saling berkomunikasi. Kuncinya ada pada sebuah lapisan software yang disebut dengan ORB(Object 

Rabu, 29 Mei 2013

Data Encription Standard (DES)

Data Encryption Standard (DES) adalah suatu blok cipher (salah satu bentuk enkripsi rahasia bersama) yang dipilih oleh National Bureau of Standar sebagai seorang pejabat Federal Information Processing Standard (FIPS) untuk Amerika Serikat pada tahun 1976 dan yang kemudian dinikmati secara luas gunakan internasional. Hal ini didasarkan pada algoritma kunci simetris yang menggunakan 56-bit key. Algoritma awalnya diklasifikasikan kontroversial dengan elemen desain, kunci yang relatif pendek panjang, dan kecurigaan tentang National Security Agency (NSA) backdoor. DES akibatnya datang di bawah pengawasan intens akademis yang memotivasi pemahaman modern dan blok cipher kriptoanalisis mereka.

DES sekarang dianggap tidak aman untuk banyak aplikasi. Hal ini terutama disebabkan oleh 56-bit ukuran kunci yang terlalu kecil; pada bulan Januari 1999, distributed.net dan Electronic Frontier Foundation bekerjasama untuk publik memecahkan kunci DES dalam 22 jam dan 15 menit . Ada juga beberapa hasil analitis teori yang menunjukkan kelemahan dalam cipher, meskipun mereka tidak layak untuk me-mount dalam praktek. Algoritma diyakini praktis aman dalam bentuk Triple DES, meskipun ada serangan teoretis. Dalam beberapa tahun terakhir, sandi telah digantikan oleh Advanced Encryption Standard (AES). Selanjutnya, DES telah ditarik sebagai standar oleh Institut Nasional Standar dan Teknologi (sebelumnya National Bureau of Standards).

Dalam beberapa dokumentasi, pembedaan dibuat antara DES sebagai standar dan algoritma DES yang disebut sebagai DEA (Data Encryption Algorithm). Ketika berbicara, “DES” adalah salah dieja sebagai singkatan (/ ˌ ː ˌ di ɛs i ː /), atau diucapkan sebagai satu-suku kata akronim (/ dɛz /).

Rabu, 03 April 2013

Remote Procedure Call


Nama : Erlangga Narendra P.
NIM : 10.01.53.0003
Kelas : A1
Kelompok : 12
Remote Procedure Call (RPC)

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana,client bisa me- request kepada sebuah matchmaker pada sebuah RPC port yang tetap.Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang dimintaclient.
RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.
Umumnya protokol RPC yang digunakan pada saat ini adalah DCOM (Distributed Component Object Model). Saat ini ada alternatif protokol baru, yakni SOAP (Simple Object Access Protocol), yang berdasarkan pada teknologi XML.

Implementasi RPC
Sun Microsystems Open Network Computing (ONC) : RPC specification, XDR (eXternal Data Representation) standard, UDP atau TCP transport protocol.
Xerox Courier : RPC model, Data representation standard, XNS (Xerox Network Systems) SPP (Sequenced Packet Protocol) sebagai transport protocol, Apollo’s Network Computing Architecture (NCA), RPC protocol, NDR (Network Data Representation).


Kelebihan RPC
• Relatif mudah digunakan
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling & unmarshalling.
• Robust (Sempurna)
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC
• Tidak fleksibel terhadap perubahan
- Static relationship between client & server at run-time.
- Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

• Kurangnya location transparency
- Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by reference.
- Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).
- Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg terpisah.

Prinsip RPC dalam program clien-server 


Langkah-langkah dalam RPC


1. Client procedure memanggil client stub secara normal
2. Client stub membuat pesan, memanggil local OS
3. Clients OS mengirim pesan ke remote OS
4. Remote OS member pesan ke server stub
5. Server stub membuka parameters, memanggil server
6. Server bekerja, mengembalikan hasil ke stub
7. Server stub mengepak itu kedalam pesan, memanggil local OS
8. Server OS mengirim pesan ke client OS
9. Client OS member pesan client stub
10. Stub membuka hasil, mengembalikan ke client

Contoh Implementasi RPC dengan SUN RPC

• Fungsi yg dipanggil client melalui RPC:
- bin_date_1:
No arguments.
Result in long integer: waktu saat ini, dlm jumlah detik sejak 00:00:00 GMT, January 1, 1970.

- str_date_1
Mengkonversi hasil bin_date_1 menjadi readable ASCII sring.
• Berkas yg dibuat programmer:
- Server procedure: date_proc.c
- RPC specification file: date.x
- Client main function: rdate.c
• date.x -> rpcgen ->
- Server stub: date_svc.c
- date.h
- Client stub: date_clnt.c
• Generate executable client program:
- cc o rdate rdate.c date_clnt.c lrpclib
• Generate executable server program:
- cc o date_svc date_proc.c date_svc.c lrpclib