Interoperabilitas sistem perangkat lunak
Pada artikel ini, saya akan berbicara tentang hubungan antar program. Hubungan antara program atau, dengan kata lain, interaksi program satu sama lain dalam sebagian besar kasus adalah untuk menerima data dari satu program dari yang lain. Misalnya, program penawaran elektronik dapat meminta nilai tukar mata uang dari beberapa program lain. Atau editor teks dapat dikirim oleh pengguna memasukkan teks oleh sistem operasi menggunakan driver keyboard. Program dapat menyediakan serangkaian fungsi untuk interaksi - API. Atau bahkan memiliki seluruh mekanisme interaksi yang disebut protokol ketika banyak panggilan fungsi berturut-turut digunakan, misalnya, untuk koordinasi parameter yang kompleks. Langkah besar ke depan adalah penciptaan struktur universal - XML โโdan Json. Program dapat berinteraksi dengan program lain dengan cara yang โtidak sopanโ - tanpa protokol dan API terbuka: menginjak data halaman jika ada pengeruk, memperkenalkan dirinya ke dalam file yang dapat dieksekusi sebagai virus atau, sebaliknya, membunuh mereka jika ada antivirus.Dalam teknologi informasi, seperti ekosistem hidup, ada pengaruh timbal balik yang sangat kuat dari sistem perangkat lunak pada satu sama lain dan, secara umum, dapat terdiri dari dua jenis:- Pertama, sistem dapat menggunakan lapisan yang mendasarinya sesuai dengan tingkat hierarki (sementara, sebagai aturan, lapisan yang berada di atas tidak memengaruhi lapisan yang mendasarinya).
- Kedua, suatu sistem dapat berinteraksi dengan sistem lain pada tingkat hierarki yang sama menggunakan berbagai antarmuka.
Anda dapat berbicara tentang hierarki secara terpisah, tetapi menyederhanakannya, maksud kami lapisan seperti berikut: OS (pada gilirannya dengan lapisannya sendiri), platform, program, add-on (plugins), dll.Selain itu, berdasarkan sifat dari program yang berinteraksi, interaksi dapat dari dua jenis: bagian yang berbeda berinteraksi atau sama. Pengamatan menunjukkan bahwa dalam kasus pertama, jumlahnya bisa relatif kecil - misalnya, dengan selusin organ dalam tubuh atau beberapa komponen komputer, dan jika istilahnya sama, maka biasanya ada banyak dari mereka: sel-sel dalam organ, transistor dalam prosesor, orang dalam peradaban, program juga terdiri dari jutaan instruksi mesin dari beberapa puluh jenis. Selain itu, setiap perintah mesin, sel, setiap transistor atau setiap neuron dalam jaringan saraf melakukan fungsi yang sangat sederhana. Dapat diasumsikan bahwa pada dasar dari segala sesuatu, dari suatu sistem, adalah komponen dasar yang sangat sederhana.Perbedaan dari satwa liar adalah bahwa sistem pada tingkat yang berbeda cukup independen dan dapat terus bekerja ketika lapisan yang mendasarinya berubah ke yang lain: misalnya, situs web akan terus terbuka jika Anda mengubah kabel Ethernet twisted-pair ke Wifi.Secara umum, interaksi sistem perangkat lunak dapat dari beberapa jenis:- Dibangun di atas "infrastruktur" (misalnya, pada sistem operasi atau pada beberapa platform - misalnya, Catatan IBM, atau dalam jaringan sosial).
- Ini menggunakan sistem perangkat lunak lain (misalnya, situs web dapat menggunakan DBMS relasional, seperti MySQL, MS SQL Server atau Oracle).
- Terdiri dari (berbagai perpustakaan dan produk individual dapat digunakan, misalnya, situs menggunakan tinyMCE atau komponen untuk menampilkan kalender).
- Ini terintegrasi dengan (misalnya, sistem CPM kami terintegrasi dengan 1C, sistem IP-telephony, sistem perolehan. Situs dapat diintegrasikan dengan sistem pembayaran, dengan jaringan sosial, dll.).
Seperti sistem lainnya, program ini terdiri dari komponen. Dalam pemrograman, mereka suka menggunakan kembali komponen jika mereka sudah memiliki komponen yang mengimplementasikan fungsi serupa. Ini lebih cepat daripada menulis komponen Anda, men-debug dan kemudian mempertahankannya. Mengirim surat adalah satu komponen, menulis ke log adalah komponen lain, grafik adalah yang ketiga, editor teks di situs adalah tineyMCE, dan pencarian adalah lucene. Karena itu, banyak program menggunakan komponen yang sama.Seringkali program memungkinkan Anda untuk memperluas fungsionalitas Anda: editor teks dan spreadsheet memungkinkan Anda membuat makro, browser - menambahkan ekstensi, semua CMS - melengkapi mereka dengan komponen dan plug-in pihak ketiga. Beberapa program melangkah lebih jauh di sepanjang jalur ini dan pada dasarnya adalah platform untuk meluncurkan aplikasi lain: misalnya, browser atau catatan lotus ibm.Sistem operasi itu sendiri adalah program yang tujuan utamanya adalah keberadaan program lain. Ini menyederhanakan keberadaan mereka, mengisolasi dari besi, menyediakan kemampuan untuk menggunakan antarmuka grafis dan memberikan akses ke jaringan, tujuannya adalah untuk memastikan pekerjaan program lain.Pada saat yang sama, sistem operasi, platform, dan bahkan CMS, yang dipasang karena satu komponen, dalam banyak kasus jauh lebih rumit daripada program yang digunakan, mereka dapat mencakup banyak fungsi berbeda yang menyediakan pekerjaan: berbagi sumber daya, menyediakan mekanisme otorisasi , mempermudah akses ke database. Ini karena fleksibilitasnya (misalnya, sistem operasi Windows berisi beberapa subsistem Win32, OS / 2) untuk memastikan operasi untuk semua program yang mungkin.Fleksibilitas selalu mengarah pada kompleksitas ekstra. Ini juga berlaku untuk komponen-komponen yang digunakan programmer ketika menulis sebuah program, mereka jauh lebih kompleks dan memiliki serangkaian fungsi yang jauh lebih besar, banyak di antaranya tidak diperlukan dan tidak digunakan. Program sering dipaksa untuk memberikan kompatibilitas ke belakang - misalnya, di Windows dimungkinkan untuk menjalankan aplikasi DOS. Ketika sistem berinteraksi, beberapa efek menarik dapat terjadi.Yang pertama disebut sinergidan idenya adalah bahwa istilah tersebut lebih dari sekedar jumlah dari persyaratan. Artinya, jika Anda menambahkan beberapa lainnya ke satu teknologi, maka dengan sinergi teknologi yang dihasilkan akan melampaui yang pertama dan yang kedua. Dan itu bisa menjadi produk yang berbeda secara kualitatif. Artinya, jika Anda menambahkan kerangka besi ke komputer dengan program ini, Anda akan mendapatkan robot yang lebih besar dari potongan besi dan komputer. Interaksi sejumlah besar hal-hal sederhana dapat menyebabkan semacam interaksi yang kompleks. Jumlah hal-hal sederhana membuat sulit - satu set transistor menciptakan komputer, satu set atom menciptakan objek, sel-sel dalam tubuh membuat organ. Jumlah orang - peradaban - bukan hanya tujuh miliar orang, itu adalah sesuatu yang lebih.Pikiran kedua disuarakan oleh Peter Norvig dalam laporan Everything is Miscellaneous. Tampaknya mengejutkan bagi saya: jika Anda melihat satu simpanse dan satu orang, Anda akan melihat bahwa ada banyak kesamaan di antara mereka. Yaitu, jelas bahwa simpanse sedikit lebih kuat, orang itu sedikit lebih pintar, tetapi secara umum, penampilan mereka sedikit mirip, kemampuan fisik dan bahkan intelektual mereka sebanding. Tetapi sekarang jika Anda melihat budaya simpanse dan budaya kemanusiaan, Anda akan melihat perbedaan yang sangat besar. Peradaban manusia bahkan tidak bisa dibandingkan dengan peradaban simpanse. Untuk beberapa alasan, ini mengingatkan saya bahwa 0,99 dan 1,01 tampaknya tidak terlalu berbeda, tetapi ketika dinaikkan ke tingkat yang besar, satu angka akan cenderung ke nol, dan yang lainnya akan menjadi tak terbatas.Bagi mereka yang hanya menggulir sampai akhir: interaksi program dapat dari berbagai jenis dan hasilnya dapat mengarah ke tingkat yang baru secara fundamental dari sistem perangkat lunak. Keseluruhan tidak selalu mencerminkan apa yang terjadi di bagian-bagian penyusunnya. Terima kasih atas perhatian anda! Source: https://habr.com/ru/post/id399489/
All Articles