Friday 4 August 2017

Dynamic Data Exchange Forex


Dokumentasi ini diarsipkan dan tidak dipertahankan. Tentang Dynamic Data Exchange Windows menyediakan beberapa metode untuk mentransfer data antar aplikasi. Salah satu caranya adalah dengan menggunakan protokol Dynamic Data Exchange (DDE). Protokol DDE adalah serangkaian pesan dan panduan. Ini mengirim pesan antar aplikasi yang berbagi data dan menggunakan memori bersama untuk bertukar data antar aplikasi. Aplikasi dapat menggunakan protokol DDE untuk transfer data satu kali dan untuk pertukaran terus menerus di mana aplikasi mengirim pembaruan satu sama lain saat data baru tersedia. Windows juga mendukung Dynamic Data Exchange Management Library (DDEML). DDEML adalah library dynamic-link (DLL) yang dapat digunakan aplikasi untuk berbagi data. DDEML menyediakan fungsi dan pesan yang mempermudah tugas menambahkan kemampuan DDE ke aplikasi. Alih-alih mengirim, mengirim, dan memproses pesan DDE secara langsung, aplikasi menggunakan fungsi DDEML untuk mengelola percakapan DDE. (Percakapan DDE adalah interaksi antara aplikasi klien dan server) DDEML juga menyediakan fasilitas untuk mengelola string dan data yang digunakan oleh aplikasi DDE. Alih-alih menggunakan atom dan pointer ke objek memori bersama, aplikasi DDE membuat dan menukar pegangan string, yang mengidentifikasi string, dan pegangan data, yang mengidentifikasi objek memori. DDEML juga memungkinkan aplikasi server mendaftarkan nama layanan yang didukungnya. Nama disiarkan ke aplikasi lain di sistem, yang bisa menggunakan nama untuk terhubung ke server. Selain itu, DDEML memastikan kompatibilitas antara aplikasi DDE dengan memaksa mereka menerapkan protokol DDE secara konsisten. Aplikasi yang ada yang menggunakan protokol DDE berbasis pesan sepenuhnya kompatibel dengan yang menggunakan DDEML. Artinya, aplikasi yang menggunakan DDE berbasis pesan bisa menjalin percakapan dan melakukan transaksi dengan aplikasi yang menggunakan DDEML. Karena banyaknya keuntungan dari DDEML, aplikasi baru harus menggunakannya daripada pesan DDE. Untuk menggunakan elemen API DDEML, Anda harus menyertakan file header DDEML di file sumber Anda, terhubung dengan perpustakaan DDEML, dan memastikan bahwa perpustakaan tautan dinamis DDEML ada di jalur pencarian sistem. Topik-topik berikut dibahas di bagian ini. Dynamic Data Exchange Protocol Karena Windows memiliki arsitektur berbasis pesan, melewatkan pesan adalah metode yang paling tepat untuk mentransfer secara otomatis informasi antar aplikasi. Namun, pesan hanya berisi dua parameter (wParam dan lParam) untuk data yang lewat. Akibatnya, parameter ini harus merujuk secara tidak langsung ke data lain bila ada beberapa kata informasi yang lolos antar aplikasi. Protokol DDE mendefinisikan secara tepat bagaimana aplikasi harus menggunakan parameter wParam dan lParam untuk melewati potongan data yang lebih besar dengan menggunakan atom global dan memori bersama. Protokol DDE memiliki aturan khusus untuk mengalokasikan dan menghapus atom global dan objek memori bersama. Sebuah atom global adalah referensi untuk sebuah string karakter. Dalam protokol DDE, atom mengidentifikasi aplikasi yang bertukar data, sifat data yang dipertukarkan, dan item data itu sendiri. Untuk informasi lebih lanjut tentang atom, lihat Tentang Atom. Kegunaan untuk Windows Dynamic Data Exchange DDE paling sesuai untuk pertukaran data yang tidak memerlukan interaksi pengguna yang sedang berlangsung. Biasanya, sebuah aplikasi menyediakan metode bagi pengguna untuk menjalin hubungan antara aplikasi bertukar data. Setelah link tersebut dibuat, aplikasi tersebut bertukar data tanpa keterlibatan pengguna lebih lanjut. DDE dapat digunakan untuk mengimplementasikan berbagai fitur aplikasi seperti: Menghubungkan data real-time, seperti update pasar saham, instrumen ilmiah, atau pengendalian proses. Membuat dokumen majemuk, seperti dokumen pengolah kata yang menyertakan bagan yang dihasilkan oleh aplikasi grafis. Dengan menggunakan DDE, grafik akan berubah saat data sumber berubah, sedangkan sisa dokumen tetap sama. Melakukan kueri data antar aplikasi, seperti spreadsheet yang meminta basis data untuk akun yang jatuh tempo. Dynamic Data Exchange dari User Point of View Contoh berikut menggambarkan bagaimana dua aplikasi DDE dapat bekerja sama, seperti yang terlihat dari sudut pandang pengguna. Pengguna spreadsheet ingin menggunakan Microsoft Excel untuk melacak harga saham tertentu di New York Stock Exchange. Pengguna memiliki sebuah aplikasi bernama Quote yang pada gilirannya memiliki akses ke data NYSE. Percakapan DDE antara Excel dan Kutipan terjadi sebagai berikut: Pengguna memulai percakapan dengan memberikan nama aplikasi (Kutipan) yang akan memasok data dan topik minat tertentu (NYSE). Percakapan DDE yang dihasilkan digunakan untuk meminta penawaran pada saham tertentu. Excel menyiarkan aplikasi dan nama topik ke semua aplikasi DDE yang saat ini berjalan di sistem. Kutipan menanggapi, membuat percakapan dengan Excel tentang topik NYSE. Pengguna kemudian dapat membuat formula spreadsheet di sel yang meminta spreadsheet diperbarui secara otomatis setiap kali ada perubahan harga saham tertentu. Misalnya, pengguna dapat meminta pembaruan otomatis kapan pun terjadi perubahan pada harga jual stok ZAXX dengan menentukan rumus Excel berikut: QuoteNYSEZAXX Pengguna dapat menghentikan pemutakhiran otomatis dari penawaran saham ZAXX setiap saat. Tautan data lainnya yang dibuat terpisah (seperti untuk kutipan untuk saham lainnya) tetap akan tetap aktif dalam percakapan NYSE yang sama. Pengguna juga dapat mengakhiri keseluruhan percakapan antara Excel dan Kutipan pada topik NYSE, sehingga tidak ada tautan data spesifik pada topik tersebut yang dapat dibuat tanpa memulai percakapan baru. Konsep Dynamic Data Exchange Bagian berikut menjelaskan konsep dan terminologi penting yang menjadi kunci untuk memahami pertukaran data dinamis. Klien, Server, dan Percakapan Dua aplikasi yang berpartisipasi dalam DDE dikatakan terlibat dalam percakapan DDE. Aplikasi yang memulai percakapan adalah aplikasi klien DDE, aplikasi yang merespons klien adalah aplikasi server DDE. Aplikasi dapat terlibat dalam beberapa percakapan sekaligus, bertindak sebagai klien di beberapa server dan di server lain. Percakapan DDE terjadi di antara dua jendela, satu untuk setiap aplikasi yang berpartisipasi. Jendela mungkin merupakan jendela utama dari aplikasi jendela yang terkait dengan dokumen tertentu, seperti pada aplikasi multiple-document interface (MDI) atau jendela tersembunyi (tak terlihat) yang satu-satunya tujuannya adalah memproses pesan DDE. Karena percakapan DDE diidentifikasi oleh sepasang pegangan ke jendela yang terlibat dalam percakapan, tidak ada jendela yang harus dilibatkan dalam lebih dari satu percakapan dengan jendela lain. Entah aplikasi klien atau aplikasi server harus menyediakan jendela yang berbeda untuk setiap percakapannya dengan aplikasi server atau klien tertentu. Aplikasi dapat memastikan sepasang jendela klien dan server tidak pernah terlibat dalam lebih dari satu percakapan dengan membuat jendela tersembunyi untuk setiap percakapan. Satu-satunya tujuan jendela ini adalah memproses pesan DDE. Application, Topic, and Item Names Protokol DDE mengidentifikasi unit data yang dilewatkan antara client dan server dengan hirarki aplikasi, topik, dan nama item tiga level. Setiap percakapan DDE didefinisikan secara unik oleh nama dan topik aplikasi. Pada awal percakapan DDE, klien dan server menentukan nama dan topik aplikasi. Nama aplikasi biasanya adalah nama aplikasi server. Sebagai contoh, ketika Excel bertindak sebagai server dalam percakapan, nama aplikasi adalah Excel. Topik DDE adalah klasifikasi data umum dimana beberapa item data dapat didiskusikan (dipertukarkan) selama percakapan berlangsung. Untuk aplikasi yang beroperasi pada dokumen berbasis file, biasanya biasanya sebuah nama file. Untuk aplikasi lain, topiknya adalah nama khusus aplikasi. Karena jendela klien dan server menangani bersama-sama mengidentifikasi percakapan DDE, nama dan topik aplikasi yang menentukan percakapan tidak dapat diubah selama percakapan berlangsung. Item data DDE adalah informasi yang berkaitan dengan topik percakapan yang dipertukarkan antara aplikasi. Nilai untuk item data bisa dilewatkan dari server ke client, atau dari client ke server. Data dapat dilewatkan dengan format clipboard standar atau dengan format clipboard terdaftar. Format khusus dan terdaftar bernama Link mengidentifikasi item dalam percakapan DDE. Untuk informasi lebih lanjut tentang format clipboard, lihat Clipboard. Aplikasi Topik Sistem harus mendukung topik sistem setiap saat. Topik ini memberikan konteks untuk informasi yang mungkin menarik bagi aplikasi lain. Nilai item data harus diberikan dalam format clipboard CFTEXT. Elemen individu dari nilai item untuk topik sistem harus dibatasi oleh karakter tab. Tabel berikut menunjukkan beberapa item untuk topik sistem. Menghentikan link data permanen. Sebuah aplikasi memanggil SendMessage untuk mengeluarkan pesan WMDDEINITIATE atau pesan WMDDEACK yang dikirim sebagai tanggapan terhadap WMDDEINITIATE. Semua pesan lainnya dikirim oleh PostMessage. Parameter pertama dari panggilan ini adalah pegangan ke jendela penerima. Parameter kedua berisi pesan yang akan dikirim ke parameter ketiga yang mengidentifikasi jendela pengiriman dan parameter keempat berisi argumen spesifik pesan. Aliran Pesan Dynamic Data Exchange Percakapan DDE yang khas terdiri dari kejadian berikut: Aplikasi klien memulai percakapan, dan aplikasi server merespons. Aplikasi pertukaran data dengan salah satu atau semua metode berikut: Aplikasi server mengirimkan data ke klien sesuai permintaan klien. Aplikasi klien mengirimkan data yang tidak diminta ke aplikasi server. Aplikasi klien meminta aplikasi server untuk memberitahu klien kapan pun terjadi perubahan data data (warm data link). Aplikasi client meminta aplikasi server untuk mengirim data kapanpun data berubah (hot data link). Aplikasi server menjalankan perintah pada permintaan klien. Entah aplikasi klien atau server menghentikan pembicaraan. Jendela aplikasi yang memproses permintaan dari klien atau server harus memprosesnya secara ketat sesuai urutan penerimaannya. Klien dapat membuat percakapan dengan lebih dari satu server server dapat melakukan percakapan dengan lebih dari satu klien. Saat menangani pesan dari lebih dari satu sumber, klien atau server harus memproses pesan percakapan secara bersamaan, namun tidak perlu memproses semua pesan secara serentak. Dengan kata lain, bisa berpindah dari satu percakapan ke percakapan lainnya sesuai kebutuhan. Jika sebuah aplikasi tidak dapat memproses permintaan yang masuk karena menunggu respons DDE, ini harus mencegah jalan buntu dengan memasang pesan WMDDEACK dengan anggota struktur DDEACK fBusy yang disetel ke 1. Sebuah aplikasi juga dapat mengirim pesan WMDDEACK yang sibuk jika , Untuk alasan apapun, tidak dapat memproses permintaan masuk dalam jangka waktu yang wajar. Aplikasi harus bisa menangani kegagalan client atau server untuk merespon suatu pesan dalam waktu tertentu. Karena interval time-out dapat bervariasi tergantung pada sifat aplikasi dan konfigurasi sistem pengguna (termasuk apakah terhubung ke jaringan), aplikasi harus menyediakan cara bagi pengguna untuk menentukan interval. Fungsi Packet Parameter Parameter lParam dari banyak pesan DDE berisi dua buah data. Misalnya, lParam dari pesan WMDDEDATA berisi pegangan data dan sebuah atom. Aplikasi harus menggunakan fungsi PackDDElParam untuk mengemas pegangan dan atom menjadi parameter lParam, dan fungsi UnpackDDElParam untuk menghapus nilainya. Aplikasi DDE harus menggunakan PackDDElParam dan UnpackDDElParam untuk semua pesan yang dikirim saat percakapan DDE. Aplikasi juga bisa menggunakan fungsi ReuseDDElParam dan FreeDDElParam. ReuseDDElParam memungkinkan aplikasi DDE untuk menggunakan kembali parameter lParam yang dikemas, membantu mengurangi jumlah reallokasi memori yang harus dilakukan aplikasi selama percakapan berlangsung. Aplikasi dapat menggunakan FreeDDElParam untuk membebaskan memori yang terkait dengan penanganan data yang diterima saat percakapan DDE. Dynamic Data Exchange dan Peniruan Identitas Untuk mengizinkan server meniru identitas klien, klien memanggil fungsi DdeSetQualityOfService. Struktur SECURITYIMPERSONATIONLEVEL digunakan untuk mengontrol tingkat peniruan yang mungkin dilakukan oleh server. Server DDE dapat meniru identitas klien DDE dengan memanggil fungsi ImpersonateDdeClientWindow. Server DDEML harus menggunakan fungsi DdeImersonateClient. Dynamic Data Exchange Menentukan kualitas layanan (QOS) aplikasi Dynamic Dynamic Data Exchange (DDE) yang diinginkan untuk percakapan DDE di masa depan yang diawali. QOS yang ditentukan berlaku untuk percakapan yang dimulai saat pengaturan tersebut dilakukan. Percakapan DDE kualitas pelayanan berlangsung selama percakapan berlangsung ke fungsi DdeSetQualityOfService selama percakapan tidak mempengaruhi percakapan QOS. Membebaskan memori yang ditentukan oleh parameter lParam dari pesan DDE yang dikirim. Aplikasi yang menerima pesan DDE yang dikirim harus memanggil fungsi ini setelah menggunakan fungsi UnpackDDElParam untuk membongkar nilai lParam. Mengaktifkan aplikasi server DDE untuk meniru konteks keamanan aplikasi klien DDE. Ini melindungi data server yang aman dari klien DDE yang tidak sah. Paket nilai DDP lParam ke dalam struktur internal yang digunakan untuk berbagi data DDE antar proses. Mengaktifkan aplikasi untuk menggunakan kembali parameter lParam DDE yang dikemas, daripada mengalokasikan paket lParam yang baru. Dengan menggunakan fungsi ini akan mengurangi realokasi untuk aplikasi yang melewati pesan DDE yang dikemas. Melepaskan nilai DDP lParam yang diterima dari pesan DDE yang dikirim. Pesan DDE Memulai percakapan dengan aplikasi server yang merespons aplikasi dan nama topik yang ditentukan. Setelah menerima pesan ini, semua aplikasi server dengan nama yang sesuai dengan aplikasi yang ditentukan dan yang mendukung topik yang ditentukan diharapkan untuk mengetahuinya. Pemberitahuan DDE Nnotify aplikasi DDE dari penerimaan dan pemrosesan pesan berikut: WMDDEPOKE. WMDDEEXECUTE. WMDDEDATA WMDDEADVISE WMDDEUNADVISE WMDDEINITIATE. Atau WMDDEREQUEST (dalam beberapa kasus). Aplikasi klien DDE mengirimkan pesan WMDDEADVISE ke aplikasi server DDE untuk meminta server menyediakan pembaruan untuk item data setiap kali item berubah. Aplikasi server DDE mengirimkan pesan WMDDEDATA ke aplikasi klien DDE untuk mengirimkan item data ke klien atau memberi tahu klien tentang ketersediaan item data. Aplikasi klien DDE mengirimkan pesan WMDDEEXECUTE ke aplikasi server DDE untuk mengirim sebuah string ke server untuk diproses sebagai serangkaian perintah. Aplikasi server ini diharapkan bisa mengirim pesan WMDDEACK sebagai tanggapan. Aplikasi klien DDE mengirimkan pesan WMDDEPOKE ke aplikasi server DDE. Klien menggunakan pesan ini untuk meminta server menerima item data yang tidak diminta. Server diharapkan membalas dengan pesan WMDDEACK yang menunjukkan apakah ia menerima item data. Aplikasi klien DDE mengirimkan pesan WMDDEREQUEST ke aplikasi server DDE untuk meminta nilai item data.

No comments:

Post a Comment