Olay Yönelimli İletişim Modelinin Anlamsal Web Servislerine Uygulanması İçin Bir Ontoloji Çağdaş Uysal TURHAN Özgür GÜMÜŞ
İçerik WSRF ve kavramlar WS-Notification belirtimi Olay yönelimli iletişim modeli Anlamsal web servis ontolojisi Geliştirilen ve ve genişletilen servis ontolojisi
Giriş Anlamsal Web Servisleri, OWL-S SOA, EDA, CEP, Dağıtık İşleme WSRF, WS-*, Web servisleri, OO Programlama, Event handling gibi konuları ilgilendirmektedir.
Web servisleri Stateless web servis kullanımı
Web servisleri Statefull web servis kullanımı
WS-Resource Kaynak yaklaşımı * Web servis aynen korunurken durum bilgisi tamamıyla farklı bir yapıda saklanabiliyor. * Her kaynak bir uniqu key sahibi olacak * Stateful bir etkileşim için hangi kaynağın kullanılacağı web servise iletilecek
WS-Resource * Belirli bir web servis kaynağının adresi “endpoint reference” olarak adlandırılmaktadır. * WS-Addressing belirtiminde tanımlanmaktadır.
WS-Notification Belirtimi Web servisleri için tanımlanan Yayımla-üye ol mesajlaşma desenlerini içeren bir belirtimdir. (Publish and subscribe messaging for web services) Belirtimdeki roller: – Bildirim Tüketicisi – Bildirim Üreticisi – Bildirim Üyesi – Bildirim Aracısı Belirtimdeki kavramlar: – Bildirim, Üyelik, Konu, Mesaj
WS-Notification Belirtimi Tipik bir WS-Notification etkileşimi
WS-Notification: Roller WS-BaseNotification
WS-Notification: Roller WS-BrokeredNotification
Olay yönelimli iletişim modeli Bir durum değişikliğini, belirli bir duruma (state) erişildiğini bildiren yapılardır. Bir yöntem (method) çağrımından daha gevşek bağlı uygulamalar geliştirilmesine olanak verirler. Olayı tetikleyen/başlatan/yayımlayan nesne durumu konusunda bilgi sunar. Dinleyici nesneler yayımlanan olaylara ilgi gösterebilir ve tepkide bulunabilir. Olayı bildiren, olayla sunulan bilgiyi kullananı bilmez, kullanıcının tepkileri de olayı yayımlayanı ilgilendirmez. Sınıflar olayları tanımlar, nesneler başlatır (tetikler). Olay dinleyici/işleyici/yakalayıcı sınıflar kendilerini olay dinleyicisi olarak tanımlar. İşletim sırasında ilgili nesneler kendilerini belirli bir olayı dinlemek üzere kaydettirir.
ABAP Olay Örneği CLASS lcl_airplane DEFINITION. PUBLIC SECTION. METHODS: constructor IMPORTING im_name TYPE string im_planetype TYPE saplane-planetype, display_attributes. METHODS: get_name RETURNING value(ex_name) TYPE string. Yöntem içerisinden yayımlanabilecek hatalar METHODS: get_technical_attributes IMPORTING im_type TYPE saplane-planetype EXPORTING ex_weight TYPE s_plan_wei ex_tankcap TYPE s_capacity RAISING cx_bc401_invalid_planetype. Sınıf içerisinde yayımlanabilecek olaylar EVENTS: airplane_created. ENDCLASS. CLASS lcl_airplane IMPLEMENTATION. METHOD constructor. name = im_name. planetype = im_planetype. n_o_airplanes = n_o_airplanes + 1. RAISE EVENT airplane_created. ENDMETHOD. "constructor ENDCLASS. CLASS lcl_rental DEFINITION. PUBLIC SECTION. Olayı yakalayan method METHODS: add_airplane FOR EVENT airplane_created OF lcl_airplane IMPORTING sender. ENDCLASS CLASS lcl_rental IMPLEMENTATION. METHOD constructor. SET HANDLER add_vehicle FOR ALL INSTANCES. ENDMETHOD. ENDCLASS.
Amaç OWL-S ile anlamsal yapıları içerecek şekilde tanımlanan servislerin, yayımlayacakları olayları ve bu olaylara ilişkin üyelik bilgilerini de anlamlı olarak sunması gerekecektir. Anlamsal web servis ontolojisinin genişletilerek bildirim ve üyelik yapılarına destek vermesi sağlanmalıdır.
Anlamsal Web Servis Ontolojisi OWL-S servis ontolojisi
Süreç (Process) Ontolojisi
Profil (Profile) Ontolojisi
OWL-S servis profil tanımı
Servis profili genişletilmiş yapısı
Olay Ontolojisi Olay ontolojisi
Bildirim sınıf yapısı Bildirim ontolojisindeki Notification sınıf yapısı
Üyelik sınıf yapısı Bildirim ontolojisindeki Subscription sınıf yapısı
Teşekkürler...