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.