SOA vs Perkhidmatan Web
Perkhidmatan web digunakan untuk membina aplikasi yang boleh menghantar / menerima mesej menggunakan SOAP melalui HTTP. Perkhidmatan web adalah pakej yang dipublikasikan yang ditawarkan di web. SOA adalah satu set konsep seni bina yang digunakan untuk pembangunan dan integrasi perkhidmatan. Perkhidmatan web boleh digunakan untuk melaksanakan SOA. Tetapi ia hanya satu kaedah untuk merealisasikan aplikasi berasaskan SOA.
Apakah Perkhidmatan Web??
Perkhidmatan Web adalah kaedah komunikasi melalui rangkaian. Menurut W3C, perkhidmatan Web adalah sistem yang didedikasikan untuk menyokong transaksi mesin ke mesin melalui rangkaian. Ia adalah API Web yang diterangkan dalam WSDL (Web Description Service Language), dan perkhidmatan Web biasanya lengkap dan tersusun sendiri. Perkhidmatan web boleh ditemui menggunakan protokol UDDI (Universal Description, Discovery and Integration). Dengan bertukar-tukar mesej SOAP (Simple Access Protocol) biasanya melalui HTTP (dengan XML), sistem lain boleh berinteraksi dengan perkhidmatan Web.
Perkhidmatan web digunakan dalam beberapa cara seperti RPC (Remote Procedure Calls), SOA (Architecture Oriented Architecture) dan REST (Transfer State Representative). Terdapat dua kaedah reka bentuk automatik untuk membangunkan perkhidmatan Web. Kaedah pendekatan paling bawah dengan membuat kelas pertama dan kemudian menggunakan alat generasi WSDL untuk mengarang kelas ini sebagai perkhidmatan Web. Pendekatan top-down berkaitan dengan menentukan spesifikasi WSDL dan kemudian menggunakan alat penjanaan kod untuk menghasilkan kelas yang sesuai. Perkhidmatan web mempunyai dua kegunaan utama. Mereka boleh digunakan sebagai komponen aplikasi boleh guna dan / atau untuk menyambung aplikasi web yang berjalan pada platform yang berbeza.
Apa itu SOA?
SOA (Seni bina berorientasikan perkhidmatan) adalah satu set konsep seni bina yang digunakan untuk pembangunan dan integrasi perkhidmatan. SOA menangani pengkomputeran yang diedarkan, di mana pengguna menggunakan satu set perkhidmatan interoperable. Pelbagai pengguna boleh menggunakan perkhidmatan tunggal dan sebaliknya. Oleh itu, SOA sering digunakan untuk mengintegrasikan pelbagai aplikasi yang menggunakan platform yang berbeza. Untuk SOA untuk beroperasi dengan baik, perkhidmatan harus digabungkan dengan sistem operasi dan teknologi aplikasi asas. Pemaju SOA membuat perkhidmatan menggunakan unit fungsi, dan menjadikannya tersedia melalui internet. Perkhidmatan web boleh digunakan untuk melaksanakan seni bina SOA. Dalam hal ini, perkhidmatan web menjadi unit fungsi SOA diakses melalui internet. Perkhidmatan web boleh digunakan oleh sesiapa tanpa peduli dengan platform atau bahasa pengaturcaraan yang digunakan untuk membangunkannya. SOA dibina secara langsung berdasarkan prinsip orientasi perkhidmatan, yang bercakap tentang perkhidmatan dengan antara muka mudah yang boleh diakses secara bebas oleh pengguna tanpa perlu bimbang tentang pelaksanaan platform sebenar perkhidmatan.
Apakah perbezaan antara SOA dan Perkhidmatan Web?
Terdapat beberapa perbezaan utama antara perkhidmatan Web dan SOA. Perkhidmatan web menentukan teknologi web yang boleh digunakan untuk membina aplikasi yang boleh menghantar / menerima mesej menggunakan SOPA melalui HTTP. Walau bagaimanapun, SOA adalah satu model seni bina untuk melaksanakan aplikasi berasaskan perkhidmatan yang lama digabungkan. Perkhidmatan web boleh digunakan untuk melaksanakan aplikasi SOA. Walaupun pendekatan perkhidmatan web kepada SOA telah menjadi sangat popular, ia hanya satu kaedah untuk melaksanakan SOA. SOA boleh dilaksanakan dengan menggunakan teknologi berasaskan perkhidmatan lain (mis. CORBA dan REST).