Application Model (Longsor - kerangka kerja aplikasi untuk Java)

Application Model (Longsor - kerangka kerja aplikasi untuk Java)


"Longsoran - kerangka kerja aplikasi untuk Java" - implementasi teknologi perbedaan yang kabur
antara panggilan ke kode lokal dan jarak jauh. Toleransi kesalahan, skalabilitas,
modifiability, ketersediaan terus menerus dibundel dengan bonus bagus.

Model aplikasi yang dipertimbangkan dalam artikel ini lahir atas dasar pengalaman kami sendiri dalam implementasi dan pengoperasian berbagai interaksi integrasi sistem informasi (IS) dan terutama ditujukan untuk mengurangi penggunaan berbagai sumber daya (keuangan, tenaga kerja, waktu, dll.) Dalam implementasi solusi integrasi ini.

Sebagian besar perusahaan mengoperasikan banyak sistem berbeda yang mengotomatiskan proses individu atau pekerjaan unit atau departemen struktural individu. Akibatnya, ada kebutuhan untuk mengatur pertukaran informasi antara sistem ini atau dengan sistem informasi organisasi terkait untuk mengurangi biaya operasi, menghilangkan pengenalan data duplikat dan inkonsistensi data dalam berbagai sistem (mis. NSI), mengurangi dampak faktor manusia, dan mengurangi waktu yang dihabiskan untuk pertukaran informasi.

Kebutuhan untuk integrasi muncul tidak hanya dalam perangkat lunak khusus pengembangan sendiri atau kustom, tetapi juga dalam solusi "kotak". Biaya penjualan dapat melebihi pengurangan yang diharapkan dalam biaya operasi.

Cara yang ada untuk mengatasi integrasi sistem TI:

  • Berbagi file
  • Olahpesan (jenis berbagi file)
  • Integrasi pada tingkat model data, misalnya, membuat objek database khusus atau prosedur tersimpan
  • Menggunakan teknologi RCP (prosedur panggilan jarak jauh), misalnya, CORBA, RMI, SOAP, DCOM, dll.

Semua metode penerapan solusi integrasi ini memiliki kelemahan yang sama: kompleksitas implementasi dan modifikasi, pengulangan yang rendah, kebutuhan untuk menyelesaikan masalah toleransi kesalahan, ketidakmampuan untuk bekerja dalam mode multi-versi selama pemasangan perubahan, kompleksitas operasi, dan pemeliharaan dokumentasi operasional yang terkini.

Sebagai hasil dari pencarian alternatif solusi yang ada, ide tersebut dirumuskan untuk mengkonversi model MVC (MODEL - VIEW - CONTROLLER) ke model MVFA (MODEL - VIEW - FUNGSI - APLIKASI), memecah CONTROLLER menjadi dua lapisan program FUNGSI dan APLIKASI di mana jaringan transmisi data dapat ditempatkan (SPD) )



Pembagian ke dalam fungsi-fungsi dalam pengontrol hadir untuk satu derajat atau yang lain di semua sistem TI modern, terutama jika pengembangan dilakukan menggunakan bahasa pemrograman berorientasi objek. Dan pemisahan fungsi-fungsi ini dalam lapisan perangkat lunak yang terpisah memecahkan masalah penggunaannya kembali oleh sistem TI lainnya.

Memisahkan objek "aplikasi" menjadi lapisan program terpisah membakukan panggilan tidak hanya untuk fungsinya sendiri, tetapi juga ke fungsi sistem lain, yang menghapus semua perbedaan dalam panggilan fungsi "sendiri" dan "asing".

Untuk menerapkan model MVFA, model perangkat lunak berikut ini diusulkan:

  1. Function (Fungsi), objek apa pun yang memiliki metode untuk mengimplementasikan fungsionalitas apa pun;
  2. Adaptor, objek yang dideklarasikan yang tidak memiliki implementasi. Objek ini menyediakan koneksi objek "aplikasi" dengan fungsi lokal atau jarak jauh. Untuk mengakses fungsi jarak jauh, objek "antarmuka" digunakan;
  3. Connector (Penghubung), menyediakan akses ke fungsi lokal objek jarak jauh menggunakan objek "publikasi";
  4. Publikasi (Publikasikan), menerbitkan fungsi lokal di konektor;
  5. Antarmuka (Interface), menyediakan akses ke adaptor ke fungsi jarak jauh;
  6. Aplikasi (Aplikasi), melakukan konversi data antara presentasi dan fungsi / fungsi, juga dapat bertindak sebagai "fungsi" untuk objek lain dari "aplikasi".



Sepasang "antarmuka" - "konektor" membentuk saluran data melalui protokol antara sistem yang berbeda atau node yang berbeda dari sistem yang sama. Saluran yang diimplementasikan harus memiliki kemampuan untuk melewatkan jumlah data yang diperlukan.

Ada implementasi khusus "antarmuka" yang tidak memiliki pasangan "konektor" elemen, misalnya, antarmuka ketersediaan tinggi yang memungkinkan Anda untuk membuat sistem informasi toleran kesalahan. Tujuan utama dari antarmuka ketersediaan tinggi adalah untuk mengarahkan ulang beban ke duplikat node ketika merencanakan atau di luar shutdown yang direncanakan dari salah satu node sistem.

Model MVFA yang dipertimbangkan diimplementasikan dalam Avalanche - framework aplikasi untuk produk perangkat lunak Java, yang termasuk dalam kategori perangkat menengah dan dirancang untuk membuat cluster perangkat lunak atau sistem informasi ketersediaan tinggi yang toleran terhadap kesalahan.

Tentu saja, seperti halnya teknologi apa pun, Avalanche - framework aplikasi untuk Java memiliki beberapa keterbatasan:

  1. Setiap objek (tipe) yang dideklarasikan dalam adaptor (input dan parameter pengembalian) dapat ditransmisikan melalui jaringan, dan karenanya objek ini harus mengimplementasikan antarmuka java.lang . Objek lokal dipanggil secara langsung, tanpa menggunakan operasi baca dan tulis ke stream.
  2. Tidak semua objek dapat ditransfer melalui jaringan. Misalnya, objek yang keadaan atau kinerjanya bergantung pada konfigurasi node sistem tempat mereka dibuat. Objek tersebut termasuk objek yang mengimplementasikan spesifikasi javax.sql.DataSource.
  3. Node sistem duplikat harus ditempatkan pada perangkat keras yang berbeda.
  4. Node sistem duplikat tidak boleh dimatikan (diservis) secara bersamaan.

Contoh aplikasi sederhana dijelaskan dalam artikel - Aplikasi Pertama (Longsor - kerangka kerja aplikasi untuk Java)

Source: https://habr.com/ru/post/id477500/


All Articles