BPEL - Hata İşlemeyi Kullanma

Hata işlemenin nasıl kullanılacağını anlamak için Oracle SOA Suite'teki bir Hizmet Bileşikinin temel mimarisini öğrenmemiz gerekir.

  • Service components- BPEL Süreçleri, İş Kuralı, İnsan Görevi, Arabulucu. Bunlar, bir SOA bileşik uygulaması oluşturmak için kullanılır.

  • Binding components - Bir SOA bileşiği ile dış dünya arasında bağlantı kurun.

  • Services - SOA bileşik uygulamasına bir giriş noktası sağlar.

  • Binding - SOAP / HTTP, JCA adaptörü vb. Gibi servisle iletişim kuran protokolleri tanımlar.

  • WSDL - Bir web hizmetinin hizmet tanımını tanımlar.

  • References - Bir SOA bileşik uygulamasının harici hizmetlere mesaj göndermesini sağlar

  • Wires - Servis bileşenleri arasında bağlantı sağlar.

Hata Türleri

Şimdi farklı hata türlerini görelim.

İş hataları

Uygulama THROW aktivitesini yürüttüğünde veya bir INVOKE, yanıt olarak hata aldığında oluşur. Hata adı, BPEL süreç hizmeti bileşeni tarafından belirlenir. Hata adı ve Hata değişkenini kullanan hata işleyici bu hatayı yakalar.

Çalışma zamanı hataları

Bu sistem tarafından fırlatılır. Bu hatalar aşağıdakilerle ilişkilidir:RunTimeFaultMessage ve dahildir

http://schemas.oracle.com/bpel/extensionnamespace.

Arıza İşleme Yolları

Bu bölümde, arıza işlemenin farklı yollarını öğreneceğiz.

Aktivite At

Fırlatma etkinliği açıkça hatayı atar. Yakalama bloğu bu hatayı yakalar ve ilgili eylemler bu şekilde yürütülür.

  • Fırlatma etkinliğini kullanarak iş hatalarını atabilir ve oluşturulan kapsam dahilinde bu hatayı yakalayabilir ve harekete geçmek için arayana (tüketiciye) yönlendirebilirsiniz.

  • Yukarıdaki yaklaşımın yerine, oluşturulan kapsamın catch etkinliğinde yakalanan aynı hatayı atarsınız. Ana kapsamda, catchall etkinliğini kullanarak bu hatayı yakalayabilirsiniz.

Hata İşleyici Çerçevesi (EHF)

EHF'de kullanılan 2 ana dosya şunlardır:

  • Fault-Policy.xml
  • Fault-Bindings.xml

BPEL işlemi her hata verdiğinde, EHF, hatanın Fault-Bindings.xml dosyalarında olup olmadığını kontrol eder. Öyleyse, Fault-Policy.xml dosyasındaki eylem gerçekleştirilecektir. Eylem bulunamazsa, hata fırlatılacak ve yakalama bloğunda ele alınacaktır.

Hata yönetimi çerçevesi (Fault-Policy.xml ve Fault-Bindings.xml) bir SOA Bileşiği içinde tutulur.

Yakala ve yakala gibi hata işleyiciler, tüm hataları yakalamak için bir BPEL içindedir, ancak fault policies will only be executed when an invoke activity fails.