Internet Robot Sistemi: Web tabanlı veriler, uygulamalar ve servisler için bir entegrasyon aracı Taner KÖRPE Siemens Business Services, Sistem Entegrasyonu Bölümü ODTÜ Teknokent ANKARA taner.korpe@sbs.com.tr Özet Bu bildiride, web kaynaklarından veri toplama ve entegre etme iini yapan, SBS Türkiye de gelitirilmi bir uygulama olan Internet Robot Sistemi tanıtılacaktır. IRS, HTN (Hierarchical Task Network) planlama mimari yaklaımını kullanmaktadır. Kullanıcı tarafından tanımlanan, hangi web kaynaına nasıl eriileceini belirten plan dosyaları IRS Planner tarafından aynı anda ve özerk bir ekilde ifa edilir. IRS ile uygulama gelitirme olanaklarının kolaylatırılabilmesi için, grafiksel kullanıcı arabirimi gelitirilmitir. IRS, ticari bir ürün olarak kullanılmak üzere, birçok uygulama için configure edilmitir. Abstract We introduce Internet Robot System (IRS), which is a web resource composer tool that has been developed in Siemens Business Services Turkey section. IRS users can develop valuable applications by composing various web resources such as data, applications and services. IRS uses hierarchical task network planning approach as the underlying formalism for the composition of web resources. User defined plan files, which describe what web resources are to be composed and how, are executed by the IRS planner in an autonomous and concurrent manner on the behalf of its users. Both to simplify the application development with IRS and to make the underlying composition formalism transparent to the users, a considerable effort has been spent on the development of visual interfaces of the tool. As a commercial tool, IRS has been configured and used in several different applications. 1.Giri Günümüz web ortamında, kullanıcıların ihtiyaçlarını karılamak üzere web kaynaklarını kullanarak küçük ancak kullanılı uygulamalar gelitirmeleri mümkündür. Web tabanlı uygulama gelitirmede web servis teknolojilerinin kullanımının en popüler metodlardan biri olmasına parallel olarak, web kaynaklarının entegrasyonu konusunda önceki çalımalar da temel olarak web servisleri entegrasyonuna dayanmaktaydı. Sonuçta, semantik web servislerinin entegrasyonu için birçok yöntem ortaya çıktı [1]. Sektörden gelen tecrübemiz gösterdi ki, özellikle de e-devlet alanında, müterilerimiz u özelliklere sahip bir web entegrasyon aracına ihtiyaç duymaktdırlar: i) kullanıcılara web servislerinin haricinde HTML, HTTP tabanlı uygulamalar gibi veri kaynaklarını entegre etme yetenei vermesi ii) gelitirme sürecini grafik arayüzlerle kolaylatırma iii) web kaynakları entegrasyonu formalizasyonunun kullanıcılar tarafından anlaılır olması. Bu özellik ayrıca, görsel arayüzlerle web
kaynaının tanımlanmasına olanak vererek desteklenecektir. Sanayi penceresinden baktıımızda, böyle bir aracın gelitirilmesi büyük öneme sahiptir. Siemens Business Services (SBS) Türkiye, üniversiteden akademik destek alarak, yukarıda özellikleri sıralanan bir web entegrasyon aracı gelitirmitir. Internet Robot System (IRS) adı verilen araç, planlama modülü de içerdiinden, otonom ve e zamanlı olarak kullanıcının tanımladıı planları kullanıcı adına yerine getirme yeteneine sahiptir. Plan dosyaları ile hangi web kaynaklarının nasıl entegre edilecei tanımlanır. Bir web kaynaından dier web kaynaına veri aktarımı, form gönderme ilemi ya da karılıklı veri/parameter iletiimi kurulması bu dosyada yapılacak tanımlarla mümkündür. Böyle bir gelitirme aracını kullanırken u temel adımlar takip edilmelidir. lk adım birletirilecek en küçük birimi temsil eden ilkel yapının tanımlanmasıdır. Bu özelletirilmi yapılara görev diyoruz. Buradaki yaklaım, her derlenecek ve birletirilecek web kaynaı için bir görev yapısı tanımlamak gereklilii eklindedir. kinci adım, bu ilkel görev yapılarının nasıl karmaık görevler olarak biraraya getirilebileceinin tanımlanmasıdır. Karmaık görevleri plan olarak adlandırabileceimizden, hiyerarik görev aı (HTN), basit görevlerin karmaık görevler olarak formalize edilmesi yöntemiyle tanımlanması mümkün olmutur. Dolayısıyla IRS de web kaynaklarının derlenmesinin formalizasyonunda HTN planlama yaklaımı kullanılmıtır. Son adım ise, HTN tabanlı web kaynaklarının derlenmesini içeren karmaık görev tanımlarını ifa edecek planlama modülünün gelitirilmesidir. Bildirinin geri kalan kısmında, IRS çekirdek mimarisini, IRS modüllerini ve mimaride belirtilen her katmanının açıklandıı mantıksal mimarisini inceleyeceiz. Halihazırda birçok projede kullanılmı olan IRS nin gerçek hayat kullanım örnekleri ve kullanım senaryolarından bahsedecek ve son olarak da sonuç ve planlanan çalımalardan ve referanslardan sözedilecektir. 2.Çekirdek IRS Mimarisi IRS web tabanlı verileri ve uygulamaları entegre edebilen, web kaynaklarından veri toplayabilen bir araçtır. IRS bu ileri yapmak için kullandıı görev tanımlarını ve planları otonom olarak ve aynı anda gerçekletirebilir. Her görev tanımı, eriilecek web kaynaını ve alınacak verilecek verilerle ilgili detaylı bilgi içerirken plan tanımları da bu görevlerin birlikte nasıl ifa edileceini belirten bilgileri içerir. Görev tanımları için DF (Task Definition Files) kullanılır. Bu dosyalar önceden tanımlanmı standart bir yapıdadır ve web kaynaı ile ilgili tüm bilgi ve fonksiyonaliteleri içerir. IRS de her tip görev için bir XML ema tanımlanır ve görev tanımı bu emaya uygun olarak XML formatında DF olarak hazırlanır. Her görev dosyasının birbiriyle ilikilendirilerek karmaık görevler oluturulabilmesi için formal bir model seçilmitir. HTN (Hierarchical Task Network) [5] adı verilen, üst seviye karmaık görevleri basit görevlerle ifade etme prensibine dayalı yöntem ile temel görevler palnlar haline getirilmitir. Web kaynaklarını derlemek için kullanılan bu formal yöntemin haricinde, standartlara dayalı tanımlanmı bir sözdizim gereklidir. Bu amaçla görevlerin yerine getirilme sırasını, yapısını ve fonksiyonunu tanımlayan bir XML ema hazırlanmıtır. Bu emaya uygun olarak hazırlanan planları (PF) yerine getirmek üzere IRS modüllerinden biri olan Planlama Modülü gelitirilmitir.[3] WebTask Görev Yapısı Bu görev web den veri eriimi, gözatma operayonlarından ve web uygulamalarının çalıtırılmasından oluur. Bu görevin çıktısı XML yapısında bir dokümandır. Bu görev için görev tanım emasının kök
elementi Connnection elementidir. Bu element balanılacak olan web kaynaı ile ilgili temel özellikleri içererir ve birden fazla Request ve Response elementinden oluur. Table-1 de Connection (balantı) elementinin özellikleri görülmektedir. Özellik URL Açıklama Web kaynaının URL adresi. Name Kullanıcı tarafından balantıya verilen mantıksal isim. Port Hedef balantının port numarası. Varsayılan port numarası 80, 443 ise SSL balantılar için ayrılmıtır. Method Balantı yöntemi ( HTTP ya da HTTPS). SaveFileName AcceptCookie ProxyHost ProxyPort LogFileName AuthUserName AuthPassword Kayıt edilecek sonuç dosyasının adı Çerez (Cookie) dosyaları aktif yada deil Varsa proxy yada firewall için URL/IP adresi Proxy yada Firewall için port numarası. Log dosyasının adı Yetkilendirme için gerekli olan kullanıcı adı Yetkilendirme için gerekli olan ifre Tablo 1. Connection (balantı) elementinin özellikleri Request elementi web kaynaına gönderilecek istekle ilgili gerekli bilgiyi içerir. Request elementinin temel Table-2 de görülmektedir. Özellik Açıklama Name Kullanıcı tarafından Request e verilen mantıksal isim. Type Request (istek) yöntemi (GET, POST, PUT) IsAutonomous Request in periyodik olarak uygulanıp uygulanmacaını belirtir TimePeriod IsActive IsAutonomous deerine balı olarak, zaman periyodunun deerini taır Request in aktif olup olmadıı deerini taır. Tablo 2. Request (stek) elementinin özellikleri
Request elementi RequestParameter elementini de barındırabilir. RequestParameter elementi bir web kaynaındaki HTML formdan otomatik olarak alınan yada kullanıcı tarafından salanan parameter deerlerini taımak için kullanılır. ekil-1 de belirlenen bir kaynaktan veri toplamak üzere hazırlanmı bir görev tanımını ifade eden WebTask XML dokümanı gösterilmektedir. ekil-1 deki XML dokümanında, firewall yada proxy sunucusu kullanılmadıı varsayılarak, Connection elementinin ProxyPort ve ProxyHost özellikleri kullanılmamıtır. Aynı ekilde hedef sitenin kullanıcı adı ve ifre istemeyen bir web kaynaı olduu varsayıldıından authorization ve authentication özelliklerine de yer verilmemitir. ekil 1. An example XML document, which shows the use of connection and request elements. Sonuçta, WebTask görevinin çıktısını ifade etmek üzere Connection elementinin bir alt elementi olan Response elementi kullanılmıtır. WebTask görevinin çıktısı Response elementinin alt taglarına göre ekillenmi olan bir XML dosyasıdır. Operation Görev Yapısı Bu görevin amacı web kaynaından elde edilen veriler üzerinde, dört ilem, mantıksal ilemlerle karılatırma, metni bölme ve parçalama gibi ilemler yapabilmek, sonuçları XML olarak kayıt etmektir. Bu görevi, dier görevlerden veri alıp bunları ileme sokarak çıktıya veya dier görevlere iletmek üzere hazırlayan aracı bir görev olarak kabul edebiliriz. ekil 3. OperationTask tanımlama yapısı ekil-3 de bu görevi tanımlayan örnek bir XML dokümanı görülmektedir.
ServiceTask adı verilen görev ile IRS web servislerine eriebilmektedir. Web servis istemleri bir arabirim ihtiyacı olmadan kullanıma olanak salayan DII (Dynamic Invocation Interface) kullanılarak gerçekletirilmitir[2]. Derleme Yalaımı ve Planlama u ana kadar tanımlanan web kaynaklarına eriimi salayan temel görev yapılarını inceledik. Bu bölümde birden fazla görev yapısının derlenerek karmaık bir göreve yani plan haline gelmesi için kullanılan formalizasyon modeline deineceiz. HTN (Hierarchical Task Network) planlama yaklaımı [5] bu modelin temelini oluturmaktadır. HTN yaklaımı temelde basit görevleri kullanarak karmaık görev (plan) tanımlamak prensibi üzerine kurulur. HTN yaklaımı ayrıca web servislerinin de derlenmesi ve entegre edilmesinin planlanmasında kullanılır[4]. IRS kullanılarak gelitirdiimiz yaklaımda HTN sadece web servislerini deil, farklı türdeki web kaynaklarını da derlemek amaçlı kullanılmıtır. HTN yapısında görevler arasındaki ilikiler bir görevin çıktısını dier görevin girdisine balamak suretiyle tanımlanabilir. Basit bir HTN yapısı örnei ekil-4 de verilmitir. ekil 4. Örnek bir HTN planı. ekil-4 de verilen yapıda, bir görev (WebTask) kullanıcının internet bankacılıı kaynaından aldıı hesap bilgisini OperationTask ile hesapta bir deiiklik olup olmadıını control ederek baka bir göreve iletir. Bu görevde aldıı bilgiyi SMS sitesine balanarak kullanıcıya SMS atar. Banka sitesine ve SMS sitesine balanmak için gerekli olan hesap kullanıcı adı bilgileri ekil-4 de ReadTask yardımı ile belirtilen XML dosyalarından okunur. 3.Mantıksal IRS Mimarisi IRS nin çekirdek mimarisinden sonra, IRS nin genel tasarımı hakkında fikir verebilmek amacıyla genel mimariden ve modüllerinden bahsedeceiz. ekil-5 de ifade edilen yapı üç temel modülden oluur. Data Wrapper modülü yerine getirilmi görevlerin XML çıktılarını hazırlar. Data Wrapper modülünün üstündeki 4 modül temel görev yapılarını ifa etmek için gerekli kodu içerir. XMLData Binding modülü görev ve plan tanım dosyalarının XML olarak hazırlanmasından sorumludur.
ekil 5. Genel IRS Yapısı ve modülleri Configuration Generation Interface- CGI (DF oluturma grafiksel arayüzü) kullanıcılara bir browser benzeri grafiksel arabirim ile görev tanım dosyası (DF) oluturma olanaı verir. Plan Generating Interface- PGI (PF oluturma grafiksel arayüzü) kullanıcılara grafik arabirim ile görevleri (DF dosyalarını) birbirlerini balama, görevler arasında operasyonel ilemler tanımlama ve bir plan dosyası oluturma olanaı verir. 4.Uygulama Örnekleri IRS birçok projede kullanılmı ticari bir üründür. Bu uygulamalardan bazıları hakkında bilgi verirken bazılarının ekran görüntülerini ve açıklamalarını sunacaız. T.C. Kimlik Numarası Dorulama Bu uygulama ile web servisleri deil, TCKimlik numara sorgulaması yapıiabilen web sitesi kullanılarak numara sorgulama ve verilen numaranın doruluunu control etme iini yapan bir IRS uygulaması gelitirilmitir. Haber Ajanı Bu sistemde IRS, tanımlanan 3 farklı dilde, dünyanın en ünlü 10 dan fazla haber sitesinden tanımlanan katagori ve balıklarda haberleri XML olarak toplamakta ve kullanıcılara ekil-6 da gösterilen arayüzle sunmaktadır. Ayrıca hangi zaman periyodunda haber kaynaklarının control edilmesi istendii ve hangi
kaynaklardan veri toplanması istendii gibi bilgileri kullanıcıların parametric olarak arayüz vasıtasıyla tanımlamasına olanak tanınmıtır. ekil 6. Haber Ajanı ekran görüntüsü Banka Hesap Yönetimi Bu uygulama ile verilen banka hesabındaki deiimler IRS tarafından izlenerek bir deiim olduunda kullanıcıya SMS atan bir uygulama gelitirilmitir. IRS 15 saniyede bir verilen internet banka hesabına giri yaparak control etmekte ve deiimleri SMS olarak bildirmektedir. IRS nin bu uygulaması HTN yaklaımı ile üretilen planın kullanıldıı bir örnektir. IRS nin grafik arayüze sahip plan oluturma arayüzü kullanılarak oluturulan planın oluturulma yöntemine ilikin ekran görüntüsü ekil-7 de, ekil-8 de ve ekil-9 da verilmitir. ekil 7. Görevleri tanımlama ve ilikilendirme arayüzü.
ekil 8. likinin özelliklerini belirleme arayüzü Tüm tanımlamalar görsel arayüzlerle yapılmakta ve otomatik olarak XML olarak plan dosyası haline getirilmektedir. Oluturulan plan ekil-9 da görüldüü gibi test edilmek üzere Run PD menüsü seçilerek çalıtırılabilmektedir. Bütün bu arayüzler IRS çekirdek modülünü kullanmak üzere Java ortamı kullanılarak implement edilmi uygulamalardır. ekil 9. Planı oluturma
5.Sonuç ve Planlanan Çalımalar Web sadece web servislerinden olumamaktadır. Web dünyasında birçok web uygulaması ve standartlardan baımsız ciddi miktarda HTML verisi bulunmaktadır. Bu duruma ve müteri geribildirimlerini deerlendirerek TÜBTAK destei ile gelitirmi olduumuz bu uygulama ile, kullanıcılar hertür web kaynaını entegre eden ve web kaynaklarından (HTML) XML formatında bilgi toplayabilen uygulamalar gelitirebileceklerdir. Gelecekte IRS yi semantik web destei olan bir araç haline getirmek üzere akademik aratırmalarımız ve çalımalarımız devam etmektedir. 6. Kaynakça [1] Milanovic, N., ve Malek, M. Current solutions for web service composition. IEEE Internet Computing. 8(6):55-59, 2004. [2] Monson-Haefel, R. J2EE web services, Pearson Education, Inc., 2004. [3] Siemens Business Services. IRS planning module design document. SBS Turkey Application Development Bölümü, 2004. [4] Sirin, E, Parsia, B., Wu, D., Hendler, J., ve Nau, D. HTN planning for web service composition using SHOP2. Journal of Web Semantics, 1(4):377-396, 2004. [5] Williamson, M., Decker, K., ve Sycara, K. Unified information and control flow in hierarchical task networks. AAAI-96 notları ve "Theories of Action, Planning, and Control" konusunda çalıtay, Austos 1996. (http://www.ri.cmu.edu/pubs/pub_2178.html)