SİTE
İÇİ ARAMA |
|
Blogroll |
|
|
|
Web Servisleri ve Kayıtçılar (UDDI & RDF) |
|
Gönderiliyor lütfen bekleyin... |
|
|
Popülerliği gün geçtikçe artan web servisleri
ve bu servislerin kullanıcıya sunulduğu kayıtçılar, kayıtçıların gerçekleştirilme yöntemleri ve kullanılan teknolojiler karşılaştırılmalı olarak bu araştırmada anlatılmıştır.
1. GİRİŞ
Çok hızlı gelişen bilgisayar teknolojisinde, yeni bir kavram olan ve herkesin ilgisini çeken web servisleri önemini nereden alıyor? Bu sorunun cevabını vermeden önce, web servislerinin geçmişini incelemek yarar sağlayacaktır. Daha sonra ise web servislerinde önemli bir yeri olan kayıtçılar incelenecektir.
2. WEB SERVİSLERİ TARİHÇESİ
Dağıtık uygulama geliştirme, ilk olarak Çeşitli RPC’lerle başlamıştır. Daha sonra DCE (Distributed Computing Environment) ile ilk defa RPC’ler Standard hale getirilmiştir. DCE’den sonra CORBA (Common Object Request Broker Architecture) geliştirilmiş ve dağıtık süreç teknolojisini
standartlaştırmıştır. Bir topluluk tarafından geliştirilen CORBA’dan sonra, Microsoft’un DCOM uzak nesne protokolü ortaya çıkmıştır. Bu sıralarda en başarılı dağıtık mimariler web ve e-mail olarak gösterilebilir. CORBA ve DCOM (Distributed Component Object
Model)’den sonra çok popüler bir dil olan Java, RMI protokolü ile dağıtık sistemlerde büyük bir başarı yakalamıştır.
İlk web servisleri teknolojisi, işte bu gelişmelerden sonra, 1999 yılında HP laboratuarlarında http ve XML tabanlı olan e-Speak ile ortaya çıktı. Çok başarılı olmayan e-speak’den sonra, Userland, Dave Winter başkanlığında http ve XML’i birlikte kullanarak XML-RPC’yi yarattı. XML-RPC ile birlikte, XML ile yaratılan daha genel mesaj formatları da mevcuttur. Bunlara Allaine tarafından yaratılan WDDX (Web Distirubted Data Exchange)‘i örnek olarak verebiliriz.
XML mesaj formatları konusunda yürütülen çalışmaların içinde Microsoft’un yönettiği SOAP (Simple Object Access Protocol) XML formatlı datanın yapısal alımını ve gönderimini sağladı. SOAP çalışmalarına paralel olarak, Sun şirketi de ebXML çalışmalarını sürdürüyordu. Bu iki büyük çalışma projesinin amacı sadece web servisleriydi.
Yukarıdaki saydığımız aşamalardan sonra sıra, web servisleri meta datasını Standardlaştırma çalışmalarına gelmişti. İlk başta WIDL (Web Interface Definition Language), SDL (Service Description Language), SCL (SOAP Contract Language) gibi dillerden sonra IBM, Sun, Ariba ve diğer şirketler ortaklığıyla WSDL (Web Services Description Language) yaratıldı.
Bu noktada, web servislerinin diğer dağıtık teknolojilerden neden daha iyi, başarılı olduğunun nedeninin standartlar olduğunu söyleyebilir. Daha önce dağıtık teknolojilerin hiçbirinde standartlaştırma çalışmaları bu kadar büyük çapta ve katılımla gerçekleşmemiştir.
Şekil-1: Dağıtık Bilgisayar Teknolojisi Tarihi [2]
Web servisleri teknolojisi, işte bu adımlardan geçtikten sonra günümüzdeki halini almıştır.
3. WEB SERVİSLERİ ve UDDI
Web servislerinin altında yatan temel mantık, insanların web servisleri yaratıp, diğer kişilerin bu servisleri web üzerinden kullanmasıdır. Bu yüzden web servislerinin bilgilerinin bulunduğu, insanların ihtiyaçlarını karşılayacak servisleri arayarak nasıl kullanacaklarını öğrenebildikleri bir yapıya ihtiyaç duyulmuştur. Bu noktada, bu düşünceyi gerçekleştirmek için iki yöntem üzerinde çalışılmıştır.
Halen geliştirilmeye devam edilen ilk yöntem UDDI (Universal Description Discovery and Integration) projesi, halen Microsoft, IBM ve diğer şirketler tarafından desteklenen bir kayıtçı sistemidir. UDDI, web servislerinin sarı ve yeşil sayfaları olarak düşünülebilinir. Bir kullanıcı ihtiyaçlarına uygun servisi UDDI’ da arayarak uygun servisleri bulabilir, bu servisleri nerede bulabileceğini ve nasıl kullanacağını öğrenebilir ve ihtiyaçlarını karşılar. Genel olarak böyle çalışan sistem, tam olarak bitirilmiş değildir. UDDI, daha çok yeni olduğu için, sürekli yeni sürümleri çıkmaktadır ve eksikleri tamamlanmaya çalışılmaktadır. UDDI’ ı kullanmak için yaratılan API’ ler de tam olarak geliştirilmemiştir. Örnek olarak, bu konuda en büyük çabayı sarf eden şirketlerin başında gelen Sun Microsystems, geliştirmekte olduğu JAXR API’nin üzerinde çalışmaların devam etmekte ve yeni sürümlerini çıkarmaktadır.
Şekil-2: UDDI’ da Servis Bulma Senaryosu
UDDI’ a yakından bakacak olursak, bazı eksiklikler görürüz. UDDI’ da her servis için tanımlı meta data bilgisi sabittir. Ama farklı kriterlerdeki servislerinin, kriterlerine uygun olarak kendilerine özgü meta data’larının olması gerekmektedir. Şu anda bu ekstra meta datayı UDDI’ da birkaç yöntemle tanımlayabilmekteyiz (categoryBag, keyedReference gibi) ama bu yöntemler yeterli olmamakla birlikte, UDDI tarafından da desteklenmemektedir. Kullanılan API’ ler ile ekstra meta data ekleme yapmak mümkün olsa bile UDDI henüz desteklemediği için, bu işlemler yapılamamaktadır. [1]
4. RDF NEDİR?
Jena Rdf API ve RDF ‘e Giriş
Burada hem W3C`in Kaynak Tanım Çerçevesi hem de RDF için bir Java API olan Jena kısaca tanıtılacaktır. Aynı anda hem Data modeli hem de onun nasıl paralelde kullanıldığını anlatılacaktır.
RDF kaynakları tanımlamak için kullanılan bir standarttır. Kaynak nedir? Burada bizim için kaynak tanımladığımız ve RDF ile modelleyeceğimiz bir web servisi olacaktır.
Fakat öncelikle RDF ile genel bir bilgi vermek amacıyla örnekler kişilerle ilgili olacaktır. Bunlar VCARDS olan temsilin olduğu bir RDF`tir. RDF en iyi, düğüm ve yay diyagramları
formunda düşünülür. Basit bir vcard, RDF' de şu şekilde simgelenebilir:
Şekil-3: VCARD
Elips olarak gösterilen kaynak John Smith, URI(Uniform Resource Identifier) tarafından tanımlanmıştır, bu durumda"http://.../JohnSmith".
Kaynaklar özelliklere sahiptir. Bu örnekte John Smith`in iş kartı üzerinde oluşacak özelliklerin çeşitleriyle ilgileneceğiz. Şekilde sadece bir özellik gösterilmekte, John Smith`in tam ismi. Bir özellik bir arc tarafından betimlenir, ve özelliğin ismiyle etiketlenir. Özelliğin ismi de bir URI` dir, fakat URI’ ler oldukça uzun olduğundan, diyagram onu XML “qname” formda gösterir. ':' `den önceki bölüm “namespace prefix” olarak adlandırılır ve bir namespace`i betimler. ':' `den sonraki bölüm “local name” olarak adlandırılır ve namespace`de bir name`i temsil eder. Özellikler RDF XML olarak genellikle qname form`da betimlenir. Bu, text ve diyagramlarda göstermek için uygun ve kısa bir yoldur. Özellikler URI tarafından tanımlanır. Localname ile
birleşmiş namespace`in URI`si için, nsprefix:localname form kısayoldur. Internet tarayıcısı tarafından ulaşıldığında, özelliğin URI`sin herhangi bir şeye karar vermesi gerekmez. Her özelliğin bir değeri vardır. Bu durumda değer
literal, bunu string olarak düşünülebilir. Literaller dikdörtgen içinde gösterilmiştir.
RDF grafikleri işlemede ve yaratmada kullanılan Java API, Jena`dır. Jena grafikleri, kaynakları, özellikleri ve literalleri temsil etmek için obje sınıflarına sahiptir. Sırayla, kaynaklar, özellikler ve literaller Resource, Property ve Literal diye adlandırılır. Jena`da, bir grafik model olarak adlandırılır ve Model ara yüzü tarafından temsil edilir.
ModelMem bir sınıftır Model ara yüzü yorumlar ve bütün kendi verilerini ana bellekte tutar. Jena diğer verilerini Berkeley DB veritabanında tutan Model ara yüz uygulamalarını içerir.
İlk olarak John Smith kaynağının yaratılması gereklidir. Daha sonra ona özellik atanıyor. Özellik, VCARD şemada bütün tanımlamalarını temsil eden objeleri tutan “sabit” sınıf VCARD tarafından sağlanır. Jena , RDF, Dublin ve DAML gibi çok bilinen şemalar için sabit sınıflar sağlar. Kaynak yaratmak ve özellik eklemek için yazılan kod daha öz ve kısa biçimde “cascade” stilde yazılabilir.
Şekil-4: VCARD:N
Burada John Smith'`in isminin yapısını temsil eden vcard:N diye yeni özellik eklenmiş durumda. (Vcard:N özelliğin kendi değeri olarak kaynağı aldığına dikkat) Ayrıca bileşik ismi temsil eden elipsin URI`sinin olmadığına dikkat
edin. Bu "blank Node" olarak bilinir.
5. NEDEN RDF?
Çünkü ;
Web kaynakları için meta data, XML ilişkilidir
Chained statementlar’in Soyut modelidir
URI’ler kaynak tanımlayıcılardır
Esnek XML serilizasyonu
Container, reification ve schemalar içeren gelişmiş özellikleri vardır
6. RDF NEDEN WEB SERVİSLERİYLE İLGİLİDİR?
Web servislerin tanımlanması ve modellenmesi bir meta data yönetimidir.
RDF, servis tanımlamalarına ve obje modellerine semantik açıklık sağlayan olanaklara sahiptir.
RDF’ in yetenekleri eş olmayan yapısal grafikleri belirtmek bakımından XML’ e benzer veri belirtim gücü ile mükemmel ek sağlar.
RDF bilginin gösterimi tekniklerinde, ispatlanmış yeteneğe sahiptir.
RDF ispatlanmış ölçeklenebilirliğe sahiptir. RDF bir çok XML format ve teknolojileri ile bir arada kullanılabilir.
RDF daha yönetilebilir XML veri "deployment” sağlar Web servisleri, genel arama motorlarıyla birleştirilmesinde, RDF sorgularıyla daha avantajlıdır.
7. SONUÇ
Web servisleri ve kayıtçılar, iyi düşünülmüş ve tutarlı sistemler olmasına karşın halen çok yeni olması ve geliştirilmeye devam edilmesi yüzünden bugün tam anlamıyla kullanıma başlanacak bir yapı değildir. Yeni bir kavram olması yüzünden, henüz tam olarak ele alınmamış bazı sorunlar vardır.
Büyük firmalar, gelişimin bitip ürünlerini kullanıcıya web servisleri olarak sunmakta kararlılar. İleride, örneğin şimdi satın aldığınız bir paket programı satın almaktansa, işinize yarayan parçaları kiralayarak onları kullanmaya başlayabiliriz. Örneğin Microsoft Office Word programını satın almak yerine, istenilen parçaları seçilip internet aracılığıyla download edilip kullanılacaktır.
Kullanıcıya cazip gelen bu tür planlar, web servislerindeki cevaplanmamış soruların cevaplanmasıyla çözülecektir. Web servislerindeki başlıca sorun güvenliktir. Belirli ücretler ödenerek kullanılabilecek uygulamalarda yapılacak bilgi alışverişi nasıl güvenli hale getirilecektir? Ödemeler nasıl gerçekleştirilecektir? W3C, web servislerinde güvenlik için dijital imzalar gibi güvenlik yöntemleri geliştirme üzerinde çalışmalarına devam etmektedir fakat bu çalışmaların hem çok geç başladığını hem de yavaş ilerlediği söylenmektedir. Diğer bir sorun ise yavaşlıktır. Web servislerini kullanıcılar internet üzerinden kullanacağı için,
yavaş bağlantılı bir kullanıcının programları kullanması imkansız hale gelecektir ve bu da verimliliği düşürecektir. Bu sorunları yanı sıra, şu anda var olan programların hangi kısımlarının web servis olarak uyarlanacağı da uzun bir analiz aşaması gerektiren bir işlemdir.
Görüldüğü gibi web servisleri, henüz tam anlamıyla çalışmaya başlanacak ve yatırım yapılacak bir teknoloji değildir çünkü halen geliştirilmektedir ve açıkları bulunmaktadır. Bunun için yapılacak en iyi şey, gelişmelerden uzak kalmadan gelişmeleri ve sonuçlarını izlemek, ona göre adım atmak gerekmektedir. Web servislerinin ileride çok büyük önemi olacağı kesin, ama şu aşamada yatırım yapılamaması gereken, gelişmelerin bitmesinin beklenmesi gereken bir teknolojidir.
Burada verilen bütün örnekler de servislerin modellenmesi ve tanımlanmasının farklı iki yolu üzerinde yoğunlaşıldı, UDDI ve RDF(semantic web). Bu iki teknoloji de halen gelişme aşamasında olup, web servisleri tanımlamak için özelleştirilmiş XML formatlarını kullanır. Formatların belirli bir standarda oturtulması çalışmaları sürmektedir. İki sorun arasında kalınmıştır söz dizim ve semantik fakat şu an öncelikli olarak söz dizim problemleri üzerinde durulmaktadır. Esneklik de standardın oturtulmasında dikkat alınan sorunlardandır.
SOAP dışarıya görüntülenen bilgi ile içerdiği bilgiyi birbirinden ayırma imkanı sağlamaktadır. HTML gibi şu an kullanılan teknolojiler buna imkan vermemektedir. İçeriğin dışarıya görünümden ayrılması önemli bir kazanımdır. Fakat SOAP içerik sağlayıcılardan miras yoluyla bilgi sağlamaz
UDDI web servislerin yayılmasında gerekli bir teknolojidir. İyi bir isimlendirme(naming system) sistemi olmadan servislerin yönetimi olamaz. UDDI bu sorunu bir ölçüde de olsa giderebilmektedir. Güvenlik , tekrarlar ve servislerin kaydı UDDI alt yapısını etkilemektedir.
Semantik web ile bazı anlamsal problemlerin daha rahat çözüme kavuşturulması sağlanmıştır. Fakat servislerin nasıl tanımlanacağına dair bir standart henüz tam olarak belirlenememiştir. Örnek olarak RDF ‘i verecek olursak , RDF’ de herkesin ihtiyacını karşılayabilecek , herkesin kullandığı bir standart belirlenmiş değildir. Her bir kullanıcı kendi RDF şemasını yaratmak durumundadır. Semantik web ile anlamsal adresleme problemlerinin çözümü kolaylaşsa da servislerin direkt olarak adreslenmesini sağlamaz sadece adresleme için bir alt yapı sağlamaktadır.
Günümüzde kurumlar kullanıcılara göre özelleştirilmiş web servis tanımlamalarını sorgulamak ve yönetmek için gerekli araçların geliştirilmesi çalışmalarını yürütmektedir. Fakat su an için RDF tabanlı meta datayı sorgulamak ve yönetmek amacıyla birçok RDF aracı bulunmaktadır
RDF in web servislerinde kullanılmasının bir nedeni ise kaynak yönetimidir. RDF dokümanlarını okunabilirliği ve anlaşılabilirliği UDDI ‘a göre daha rahattır. UDDI daha çok makine okunabilir formattadır. Buda dokümanların yönetimi söz konusu olduğunda problem yaratabilmektedir.
Modülerlik yüksek kaliteli yazılım dizaynında ve ara yüzlerin meta datayla beraber kullanımında genelde önemli bir parçadır. Bununla beraber Şema gibi makine okunabilir dokümanların kullanılmasının bazı dezavantajları vardır, yeniden kullanılabilirliği ve yönetilmesini düşürmesi potansiyel tehlikesidir.
Bu sebeplerden dolayı RDF kullanılmasının birçok avantajı vardır. Çünkü RDF XML “serilalization” yetenekleri için çok esnek bir yapı, sağlar. WSDL’ in RDF formatına çevrilmiş hali orijinal halinden çok farklılık göstermez . Henüz bir standardı olmamasına karsın WSDL dokümanlarının RDF ‘e çevrimini standartlaştırılması konusunda çalışmalar sürmektedir. RDF ve XML veritabanlarının kullanımıyla web servis formatları arasında bilgi değişimi kolaylaşacaktır.
Servislerin bulunmasında “agentların” kullanımı bilgileri toplama ve eldeki bilgilerin filtrelenmesi bakımından önemlidir. Bundan dolayı servislerin agentlarla yönetimi geliştirilme aşamasındadır.
Şu anki RDF araçları Schema design, diagramming, etkili arama ve sorgulama,basit dil araçlarıdır.
Günümüzde iki teknoloji üzerinde de araştırma-geliştirme çalışmaları devam etmektedir. Yukarıda anlatıldığı gibi ikisinin de birbirine göre avantajları ve dezavantajları vardır, hangisinin bu yarıştan galip çıkacağı ise zaman ile belirlenecektir. [6]
KAYNAKÇA
[1] Java Web Services Tutorial, Sun Microsystems
[2] Web Services Community www.webservices.org
[3] IBM DeveloperWorks Magazine, November Issue
[4] Architecting Web Services
[5] CapeClear Software, www.capeclear.com
[6] Expert advice on web services strategies and pratices www.webservicesadvisor.com
Makale:
Web Servisleri ve Kayıtçılar (UDDI & RDF) XML ve Web Servisleri Başar Ö. Kahraman
|
|
|
-
-
Eklenen Son 10
-
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
|
|
|