Metodologi untuk Pembangunan Perkhidmatan Web – Pembangunan Aplikasi Mudah Alih, Perkhidmatan Web, Seni Bina SOA - Teknologi
Langkau ke kandungan

Metodologi untuk Pembangunan Perkhidmatan Web – Pembangunan Aplikasi Mudah Alih, Perkhidmatan Web, Seni Bina SOA

Iklan

Coulouris mendefinisikan sistem teragih sebagai "sistem di mana komponen perkakasan dan/atau perisian yang wujud dalam rangkaian komputer berkomunikasi dan menyelaraskan tindakan mereka dengan bertukar-tukar mesej".

Konsep ini menjadi popular sejak beberapa tahun kebelakangan ini kerana beberapa faktor. Faktor pertama yang menggalakkan pembangunan sistem teragih ialah kemunculan rangkaian tempatan berkelajuan tinggi. Satu lagi faktor penting ialah kemajuan teknologi dalam prestasi komputer peribadi dan pembangunan perisian untuk menyokong aplikasi yang diedarkan. Sistem yang diedarkan dikaitkan dengan konsep Web dan Internet. Dengan evolusi Web, dan kemunculan kawasan, interaksi, keperluan dan aplikasi baharu, konsep Web 2.0 muncul. Istilah ini dicipta oleh Tim O'Reilly pada tahun 2004 untuk merujuk kepada generasi kedua dalam sejarah Web berdasarkan komuniti pengguna dan rangkaian perkhidmatan istimewa, seperti rangkaian sosial, blog, wiki atau folksonomi, yang menggalakkan kerjasama dan tangkas. pertukaran maklumat antara pengguna.

Seni bina pertama yang boleh dianggap berorientasikan perkhidmatan (SOA) adalah berdasarkan CORBA (Common Object Request Broker Architecture), yang bertindak sebagai lapisan abstraksi untuk menyambungkan elemen berbeza seni bina dan membina perkhidmatan. Teknologi awal lain ialah DCOM (Model Objek Komponen Teragih) atau RPC (Protokol Prosedur Jauh). Dengan keperluan untuk mereka bentuk dan melaksanakan sistem yang diedarkan di Web dengan cekap, beberapa cabaran timbul, sesetengahnya tertumpu pada pembangunan itu sendiri (prestasi, pengalaman pengguna, dll.) dan yang lain saling melengkapi, berdasarkan kebolehgunaan semula dan keserasian perkhidmatan. Daripada keperluan ini timbul Perkhidmatan Web, yang menyediakan mekanisme piawai untuk menghubungkan pengguna yang berbeza dengan pelayan maklumat.

SENIBINA BERORIENTASI PERKHIDMATAN

Menurut SOA (Seni Bina Berorientasikan Perkhidmatan) ia adalah seni bina perisian yang mentakrifkan penggunaan perkhidmatan untuk menyokong keperluan perniagaan, objektifnya adalah untuk mencapai gandingan minimum yang mungkin antara ejen perisian. Perkhidmatan ialah unit kerja yang dilakukan oleh penyedia perkhidmatan untuk mencapai hasil akhir yang diinginkan oleh pengguna perkhidmatan. Kedua-dua pembekal perkhidmatan dan pengguna perkhidmatan adalah peranan yang dimainkan oleh ejen perisian, bukan pemiliknya. Dalam pengertian umum, seni bina berorientasikan perkhidmatan ialah penyelesaian perisian yang bertujuan untuk membolehkan syarikat mengatur dan menggunakan pelbagai proses. Dengan SOA, aplikasi perisian bukan lagi blok besar fungsi dan proses. Sebaliknya, aplikasi ini terdiri daripada perkhidmatan modular yang dipasang. Ingat bahawa perkhidmatan ialah fungsi perisian yang mudah (seperti membatalkan main semula pada CD). Ia boleh dijalankan atas permintaan oleh mana-mana sistem, tidak kira sistem pengendalian, platform, bahasa pengaturcaraan atau lokasi geografi.

Apa yang revolusioner tentang SOA bukanlah konsep itu sendiri, yang telah wujud sejak sekian lama, tetapi hakikat bahawa ia boleh dilaksanakan melalui WWW (World Wide Web). Sama seperti halaman web dimuatkan pada mana-mana platform, perkhidmatan web berfungsi dengan cara yang sama tanpa mengira platform semasa ia dibina menggunakan
piawaian sejagat.

bergambarIdea SOA berpunca secara langsung daripada pengaturcaraan berorientasikan objek, yang mencadangkan hubungan antara data dan pemprosesannya. Oleh itu, mereka secara rasmi mentakrifkan perkhidmatan melalui antara muka yang bebas daripada platform asas dan bahasa pengaturcaraan. Antara muka ini menyembunyikan keanehan pelaksanaannya, yang menjadikannya bebas daripada pembangun dan bahasa pengaturcaraan. Melalui seni bina ini, adalah mungkin untuk mereka bentuk dan melaksanakan sistem berskala tinggi yang mencerminkan logik perniagaan dan pada masa yang sama memudahkan interaksi antara sistem proprietari atau pihak ketiga yang berbeza. Sebab kami mahu seseorang melakukan kerja untuk kami adalah kerana mereka pakar. Menggunakan perkhidmatan biasanya lebih murah dan lebih berkesan daripada melakukannya sendiri. Jadi, kebanyakan kita faham bahawa kita tidak boleh menjadi pakar dalam segala-galanya. Peraturan yang sama boleh digunakan untuk membina sistem perisian.

Antara muka adalah sangat penting, jika ia tidak ditakrifkan dengan baik atau tidak berfungsi, sistem tidak akan berfungsi. Mengintegrasikan lebih banyak antara muka adalah mahal dan juga meningkatkan kemungkinan ralat dalam aplikasi yang diedarkan. Antara muka jauh adalah bahagian paling perlahan dalam kebanyakan aplikasi yang diedarkan. Dengan semua ini, bukannya membina antara muka baharu untuk setiap aplikasi, lebih masuk akal untuk menggunakan semula antara muka generik untuk semua aplikasi.

Oleh itu, oleh kerana kami hanya mempunyai beberapa antara muka generik yang tersedia, kami mesti memasukkan semantik khusus aplikasi dalam mesej. Kami boleh menghantar sebarang jenis mesej melalui antara muka kami, tetapi terdapat beberapa peraturan yang perlu dipatuhi untuk mengatakan bahawa seni bina adalah berorientasikan perkhidmatan.

– Pertama, mesej mestilah deskriptif, bukan instruktif, kerana pembekal perkhidmatan bertanggungjawab untuk menyelesaikan masalah. Sebagai contoh, ia akan sama dengan situasi pergi ke restoran dan memberitahu pelayan apa yang anda ingin minum dan pilihan anda, tetapi kami tidak sepatutnya menerangkan kepada tukang masak cara menyediakan hidangan anda, langkah demi langkah.

‐ Kedua, penyedia perkhidmatan tidak akan dapat memahami permintaan anda jika mesej mereka tidak ditulis dalam format, struktur dan perbendaharaan kata yang boleh difahami oleh semua orang yang terlibat. Oleh itu, mengehadkan perbendaharaan kata dan struktur mesej adalah a
diperlukan untuk komunikasi yang berkesan. Lebih terhad mesej, lebih mudah difahami.

‐ Ketiga, kemungkinan sambungan adalah sangat penting. Dunia adalah tempat yang sentiasa berubah, dan begitu juga persekitaran di mana perisian hidup. Perubahan ini memerlukan perubahan yang sepadan kepada perisian sistem, pengguna perkhidmatan, pembekal dan mesej yang mereka tukar. Jika mesej tidak boleh dilanjutkan, pengguna dan pembekal akan dikunci kepada versi perkhidmatan tertentu. Kekangan dan kebolehlanjutan adalah sangat berkaitan, anda memerlukan kedua-duanya, dan meningkatkan satu bermakna mengurangkan yang lain. Yang ideal adalah untuk mencapai keseimbangan yang betul.

– Keempat, SOA mesti mempunyai mekanisme yang membolehkan pengguna menemui penyedia perkhidmatan dalam konteks perkhidmatan yang dicari oleh pengguna. Mekanisme mestilah fleksibel dan tidak boleh menjadi pendaftaran berpusat.

‐ Kelima, Perkhidmatan tanpa kewarganegaraan: Setiap mesej yang dihantar pengguna kepada pembekal mesti mengandungi semua maklumat yang diperlukan untuk pembekal memprosesnya. Sekatan ini menjadikan pembekal perkhidmatan lebih berskala kerana pembekal tidak perlu menyimpan maklumat keadaan antara permintaan. Ini boleh dipanggil "perkhidmatan pengeluaran besar-besaran" kerana setiap permintaan boleh dikendalikan secara umum. Sekatan ini juga memberikan lebih keterlihatan, kerana mana-mana perisian pemantauan boleh memeriksa permintaan bebas dan mengekstrak niatnya. Ini juga membolehkan pemulihan mudah daripada kegagalan separa kerana tiada keadaan perantaraan, menjadikan perkhidmatan lebih dipercayai.

‐ Keenam, permintaan idempoten (yang tidak membuat perubahan): permintaan pendua yang diterima oleh ejen perisian mempunyai kesan yang sama seperti permintaan tunggal. Keperluan ini membolehkan pembekal dan pengguna meningkatkan kebolehpercayaan keseluruhan perkhidmatan, hanya mengulangi permintaan jika sebarang kegagalan telah berlaku.

Oleh itu, kita boleh mengatakan bahawa SOA bukan alat, sebaliknya satu set piawaian untuk membina aplikasi baharu, lebih dinamik dan kurang bergantung. SOA memudahkan akses kepada logik perniagaan dan maklumat antara perkhidmatan yang berbeza dengan cara yang sistematik, dan juga boleh mengatur beberapa perkhidmatan jauh untuk membentuk satu perkhidmatan. Majoriti daripada Takrifan mengenal pasti penggunaan Perkhidmatan Web, yang akan kita lihat dalam bab seterusnya, dalam pelaksanaan seni bina berorientasikan perkhidmatan. Walau bagaimanapun, ia boleh dilaksanakan menggunakan mana-mana teknologi berasaskan perkhidmatan lain.