|
||||
| Giriş >Bileşenler ve Mimari Yapı > Adaptör Web Servisleri |
|
Sağlık Net Web Servisleri ile Sağlık Net Adaptörü Web Servisleri Farkı |
Web Servisleri sözkonusu olduğunda, tüketici olan veya kullanıcı olan tarafı en çok ilgilendiren kısım, bu web serv islerinin interfaceleri olan, karşılıklı anlaşma metni olarak da tanımlanabilen wsdl dosyalarıdır.
Kabaca değinilecek olursa, Xml formatı ile ilgili olarak çalışmalar başladığında, xmlin en büyük avantajı olan sınırsız esnekliğin aynı zamanda en büyük dezavantajı olacağı farkedilerek, karşılıklı kullanılmak üzere bir xml dosyası formatı tanımlama dili (XSD) oluşturuldu. Bu dil, herbir kullanım için farklı şekilde, o kullanım için geçerli olacak xml formatının şeklini tanımlamakta kullanıldı. Bu şekilde kullanımı devam etmektedir.
Xml tabanlı olarak çalışan web servisleri için bu problem daha da ciddi idi, artık birbirlerinden bağımsız iki farklı sistemin mesajlaşma yapılarını birbirlerine açmak sözkonusu idi. Xml formatı tercih edilince tabii ki xsd düşünüldü ve wsdl yapısı içerisine xsd yerleştirildi. Buradan hareketle, wsdl dosyaları, bir web servisin nasıl mesaj beklediğini gösteren kontratıdır. Bu kontrattaki şarta uyan taraflar bu wsdlın sahibi web servisleri ile haberleşebilirler. Sağlık Net Web Servisleri ile sağlık Net Adaptörü Web Servislerinin wsdlları birbirlerinden çok farklıdır. Wsdl okuması güç olduğu için xml dosyalarından örnek vermek daha doğru olacaktır. Aşağıda, Sağlık Net Adaptörü Web Servislerinin kabul ettiği formatta Muayene Gönderim Şeması mevcuttur.
Dikkat edileceği gibi, bu mesaj içerisinde usvs ye yabancı bir başlık yoktur. Bu sayede, hem iletişime sağlanan efor azalır, hem yanlışlar daha oluşmadan ortadan kalkmış olurlar. Yukarıdaki mesaj, aynı zamanda wsdl tanımında da bu şekilde istendiğinden, herhangi bir programlama dili ile wsdldan kod oluşturma seçeneğini seçtiğinizde, oluşan objeler, ControlActEvent gibi tuhaf objeler değil, MudahaleBilgisi gibi usvs içerisinde belirtilen objeler olacaktır. Benzer bir mesaj için HL7 v3 karşılığı aşağıdaki gibidir. Not: Mesaj, büyüklük gösterme amaçlı olarak küçük fontla yazılmıştır, mesajı incelemek isterseniz lütfen aşağıdaki kısmı kopyalıp bilgisayarınızda herhangi bir doküman ileyiciye kopyalayıp fontu büyütünüz.
Sağlık Net Adaptör Web Servisi'nin yaptığı şeylerden birisi, üstteki mesaj şeklindeki mesajları alıp, alttaki mesaja çevirmektir. Sağlık Net'in istediği mesaj verisinin tümü Adaptör Web Servisi formatı ile toplanmaktadır. Aradaki tek fark, Sağlık Net servislerinin hl7 cda e uyabilmek için eklediği ekstra alanlar veya yapılması gereken çevrimlerdir. Bu işlemler her seferinde aynı olduğu için, Sağlık Net Adaptörü bu işlemleri yaparak Sağlık Net tarafına iletmektedir. |
| Çalışma Şekli |
Sağlık Net Adaptörü Web Servisleri, dışarıdan doğru xml yapısıyla çağırılır. Web Servisler, bu xml dosyasını alarak ilk önce Mesaj veritabanına yazarlar. Daha sonra, Sağlık Net Adaptörü Web Servisi, bu mesajı ulusal Sağlık veri Sözlüğü objelerine çevirir ve bu objeleri Usvs dönüştürücüsüne gönderir. Usvs dönüştürücüsü, gönderilen veri sözlüğü objelerini, hl7 objelerine çevirebilen bir mekanizmadır. Bu mekanizma içerisine giren veri sözlüğü objeleri HL7 v3 Objelerine dönüştürülür. Daha sonra bu hl7 objeleri, adaptör web servisleri tarafından hl7 XML ne çevirilirerek Sağlık Net çağrısı yapılacak hale gelir. Bu aşamalar içerisinde herhangi bir noktada hata oluşursa, Sağlık Net Adaptörü exception fırlatır. Bu fırlatılan exception, SOAP mekanizması içerisinde fault mesajına dönüşerek kullanıcıya iletilir. Oluşturulan HL7 XML i ile çağrı yapılırken, bu çağrı ile ilgili bilgiler gene Mesaj Veritabanına yazılır. Sağlık Net Serverlarına çağrı yapıldıktan sonra, bu çağrının cevabı beklenir. Eğer çağrı hatalı sonuçlanmış ise (mesaj uygun değil, serverlara ulaşılamadı, timeout vb.) adaptör exception fırlatır ve exception fault olarak tarafınıza döner. Eğer fault mesajı gelmez ise Adaptör çağrısı başarılı olmuştur. Gelen cevap gene Mesaj Veritabanına yazılır. Mesaj veritabanı Web Uygulaması tarafından kullanıldığından, bu işlemler sürerken Web Uygulaması ndan ilşlemler ile ilgili bilgi almak mümkündür. Süreç kabaca numaralandırılırsa,
Tabii burada bahsedilen süreç sadece kaydetme veya işleme sürecidir. Bunun sonrasında bir de sorgulama süreci mevcuttur. Sağlık Net Adaptörü Veritabanı kullanıcıları, bu işlemi aynı web servisin Sorgula isimli metodundan yapar. Hl7 eşleniğine göre kullanımı çok daha basit olan bu sorgulama fonksiyonu sayesinde işlem sonuçları alınır. |
Kullanım |
Kullanım ile ilgili bilgileri Kullanım kısmından alabilirsiniz. |
http://www.sagliknetadaptoru.com |