Integrasi Berbasis Object orientation
Object: komponen software yg bersifat diskret berisi data dan cara memanipulasinya
Object bisa berkomunikasi satu sama lain melalui pengiriman pesan
Memodelkan entitas-entitas dunia nyata problem domain sbg kumpulan obyek-obyek yg saling berkomunikasi
Interoperabilitas object
- Kebutuhan plug and play antar obyek
- Perbedaan hardware
- Perbedaan sistem operasi
- Perbedaan bahasa pemrograman
- Strategi: interface sebagai kontrak
- Layanan yang disediakan sebuah obyek
- Petunjuk kpd infrastruktur komunikasi utk bekerja dng pengiriman pesan
Integrasi pd level enterprise
- Perlu arsitektur sbg framework
- Standarisasi komponen
- Konsep Object Management Architecture (OMA)
Interoperabilitas dalam Windows
Problem interoperabilitas dalam Windows
- Kebutuhan untuk saling bertukar obyek yang dikompilasi dalam bentuk biner
- Bagaimana sebuah aplikasi Windows bisa saling menggunakan obyek yang dibuat aplikasi lainnya
- Interoperabilitas tanpa tergantung pada bahasa pemrograman
- Interoperabilitas antar platform-platform Windows
Dynamic Link Library (DLL)
- Reusable code dalam bentuk “kotak hitam”
- Pemisahan antara aspek interface dan implementasi
- DLL memberikan daftar fungsi-fungsi yang dapat diakses melalui API
- Aplikasi lain dapat mengakses fungsi tanpa perlu tahu detil implementasinya
Problem-dengan-DLL
- Hardcoded dalam program
- Overhead dalam pengelolaan API meningkatkan kompleksitas pemrograman aplikasi Windows secara keseluruhan
- Sulit untuk digunakan secara bersama-sama (sharing)
Component Object Model (COM)
Model arsitektur pengelolaan obyek dalam Windows
Prinsip desain dasar COM
- Standar pd level biner untuk pemanggilan fungsi antar komponen (obyek) aplikasi
- Penggunaan interface
- Mekanisme identifikasi komponen dan interfacenya
- Penggunaan “component loader” untuk interaksi komponen dalam situasi cross-process
Standar Biner COM
- Standar lay out tabel fungsi virtual di memori
- Standar pemanggilan fungsi melalui pointer
- Bisa digunakan oleh bahasa pemrograman yang dapat memanggil fungsi melalui pointer (C,C++, Smalltalk, Ada)
- Pemanggilan fungsi dua tahap