Pemrosesan Host-Initiated
Pemrosesan yang dimulai host (HIP) memungkinkan aplikasi host untuk memanggil metode objek COM atau .NET, meneruskan parameter ke metode , dan menerima parameter kembali dari metode . Saat data melakukan perjalanan terlebih dahulu dari host ke klien dan kemudian dari klien ke host, data diubah dari format yang dapat dimengerti oleh host ke format yang sesuai untuk klien
Pemrosesan yang dimulai host diimplementasikan dalam langkah-langkah berikut:
Proses layanan HIP, yang disebut aplikasi, mulai mendengarkan koneksi masuk pada daftar titik akhir yang ditentukan oleh definisi lingkungan lokal.
Aplikasi klien, yang berjalan di host, memulai koneksi TCP ke sistem HIP menggunakan salah satu titik akhir
Proses layanan HIP memeriksa apakah ada hubungan yang terjalin antara titik akhir dan nama host klien atau alamat IP. Jika tidak ada asosiasi yang ditemukan, koneksi dibatalkan.
Asosiasi secara unik mengidentifikasi rencana kerja yang merupakan urutan alur kerja yang akan dilakukan untuk menyelesaikan permintaan klien. Ada tiga jenis rencana kerja:
Titik akhir
Pesan Permintaan Transaksi
Data.
Titik akhir
Rencana kerja titik akhir terdiri dari satu alur kerja akhir. Asosiasi langsung dipetakan ke metode objek COM yang akan dipanggil untuk pemrosesan permintaan klien. Alur kerja titik akhir melakukan hal berikut:
Menerima data klien
Membuka kemasan data dan mengisi parameter untuk metode
Membuat objek dan memanggil metode
Paket mengembalikan parameter ke dalam data klien
Mengirim data klien
Menutup koneksi.
Pesan Permintaan Transaksi
Rencana kerja Pesan Permintaan Transaksi (TRM) terdiri dari dua alur kerja: TRM dan Alur kerja akhir. Alur kerja TRM menangani bagian awal percakapan saat klien mengirim TRM dan alur kerja membalas dengan Balasan TRM. Bergantung pada jenis TRM, alur kerja TRM dapat menggunakan salah satu dari tiga Penangan TRM: Microsoft Concurrent Server, Microsoft Link, IBM Concurrent Server. Alur kerja TRM melakukan hal berikut:
Menerima dan membongpas kemasan TRM menggunakan format input yang ditetapkan
Meneruskan TRM ke handler yang ditetapkan
Handler mengembalikan informasi resolusi dan Balasan TRM positif
Informasi resolusi, yang diharapkan menjadi data karakter, dikonversi ke Unicode menggunakan halaman kode yang terkait dengan lingkungan host
Alur kerja mengkueri database jika ada pemetaan ke metode objek yang ditentukan untuk informasi resolusi
Jika kecocokan tidak ditemukan, handler dipanggil untuk mendapatkan Balasan TRM negatif
Balasan TRM dikemas menggunakan format output yang ditetapkan dan dikirim. Dalam kasus negatif, koneksi dibatalkan
Alur kerja meneruskan kontrol ke alur kerja Akhir bersama dengan identitas metode yang ditemukan
Data
Rencana kerja penenjuk data terdiri dari dua alur kerja: Penendeta Data dan Alur kerja akhir. Alur kerja Penendeminan Data melakukan praproses data klien yang mencoba menemukan kecocokan dengan salah satu determinan yang ditentukan untuk asosiasi. Determinant menyertakan string karakter dan posisi string dalam data klien. Setiap determinan dipetakan ke metode objek. Pada startup, penentu telah dikonversi ke semua halaman kode host yang terkait dengan penentu. Aturan diberlakukan bahwa penentur untuk titik akhir - asosiasi host tidak diduplikasi atau satu penentur bukan bagian dari yang lain. Alur kerja mengikuti langkah-langkah berikut:
Daftar penentu untuk kombinasi Titik Akhir – Host yang diberikan diperoleh dan diurutkan berdasarkan jumlah panjang dan posisi dalam urutan naik
Penendeta pertama diambil dari daftar
Bagian dari data klien diterima
Data diperiksa apakah cocok dengan penentu
Jika tidak ada kecocokan, penenjuk berikutnya diambil dari daftar, lebih banyak data klien yang diterima jika diperlukan, data dibandingkan dengan determinan
Ketika tidak ada determinan yang tersedia yang cocok dengan data, koneksi dibatalkan
Jika penentu ditemukan, kontrol diteruskan ke Alur kerja akhir bersama dengan identitas metode dan data klien yang sudah dibaca. Mungkin ada situasi ketika data yang menentukan terletak di dalam atau bahkan setelah data klien dipetakan ke parameter metode.
Catatan
Klien MVS HIP harus melakukan pematian soket segera setelah soket mengirim dan sebelum soket menerima. Kegagalan untuk melakukan pematian soket langsung menyebabkan runtime TI menolak data, memutuskan koneksi, dan mencatat pesan peristiwa 808 (aplikasi HIP Integrator Transaksi menerima lebih banyak data dari yang diharapkan.) ke log peristiwa aplikasi server. Selain itu, paket yang berisi data yang dikirim ke stasiun kerja mungkin tampak menyesatkan: Microsoft Network Monitor menunjukkan data dalam paket dan panjang data yang tidak berlebihan.