BPEL - Menggunakan Penanganan Kesalahan
Untuk memahami cara menggunakan penanganan kesalahan, kita perlu mempelajari arsitektur dasar Service Composite di Oracle SOA Suite.
Service components- Proses BPEL, Aturan Bisnis, Tugas Manusia, Mediator. Ini digunakan untuk membangun aplikasi komposit SOA.
Binding components - Buat koneksi antara komposit SOA dan dunia luar.
Services - Menyediakan titik masuk ke aplikasi komposit SOA.
Binding - Mendefinisikan protokol yang berkomunikasi dengan layanan seperti SOAP / HTTP, adaptor JCA, dll.
WSDL - Menentukan definisi layanan dari layanan web.
References - Memungkinkan aplikasi komposit SOA untuk mengirim pesan ke layanan eksternal
Wires - Mengaktifkan koneksi antara komponen layanan.
Jenis Kesalahan
Sekarang mari kita lihat berbagai jenis kesalahan.
Kesalahan bisnis
Terjadi saat aplikasi menjalankan aktivitas THROW atau INVOKE menerima kesalahan sebagai respons. Nama kesalahan ditentukan oleh komponen layanan proses BPEL. Penangan kesalahan menggunakan nama Fault dan variabel Fault menangkap kesalahan ini.
Kesalahan runtime
Ini dilemparkan oleh sistem. Kesalahan ini berhubungan denganRunTimeFaultMessage dan termasuk dalam
http://schemas.oracle.com/bpel/extensionnamespace.
Cara Penanganan Kesalahan
Pada bagian ini, kita akan belajar tentang berbagai cara penanganan kesalahan.
Aktivitas Lempar
Aktivitas melempar secara eksplisit melempar kesalahan. Blok catch menangkap kesalahan ini dan tindakan terkait dieksekusi karenanya.
Menggunakan aktivitas lemparan, Anda dapat membuang kesalahan bisnis & dalam lingkup yang dibuat, Anda dapat menangkap kesalahan ini dan mengarahkan ke pemanggil (konsumen) untuk mengambil tindakan.
Alih-alih pendekatan di atas, Anda membuang kesalahan yang sama yang tertangkap dalam aktivitas tangkapan dari cakupan yang dibuat. Dalam lingkup utama, Anda bisa menangkap kesalahan ini menggunakan aktivitas catchall.
Kerangka Penangan Kesalahan (EHF)
2 file utama yang digunakan di EHF adalah -
- Fault-Policy.xml
- Fault-Bindings.xml
Setiap kali proses BPEL memunculkan kesalahan, EHF akan memeriksa apakah kesalahan tersebut ada di file Fault-Bindings.xml. Jika demikian, tindakan di file Fault-Policy.xml akan diambil. Jika tindakan tidak ditemukan, kesalahan akan terlempar dan akan ditangani di blok tangkap.
Kerangka kerja manajemen kesalahan (Fault-Policy.xml dan Fault-Bindings.xml) disimpan di dalam SOA Composite.
Penangan kesalahan seperti menangkap dan menangkap semua berada di dalam BPEL untuk menangkap semua kesalahan, tapi fault policies will only be executed when an invoke activity fails.