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.