MOBILE AGENT TEKNOLOJİSİ

Agent’lar, kişi veya kuruluşlar adına özerk olarak hareket edebilen bilgisayar programlarıdır. Ait olduğu kişinin işlerini yapabilecek, bilgisayarlar arasında hareket edebilen programlardır. Her Agent görevini kendi inisiyatifine göre yerine getirebilmesi için kendi çalışma sürecine sahiptir.

Agent’lar aşağıdaki özelliklerin bir veya birkaçını barındırabilirler :

·                      Özerk: Yaptığı işlemlerden doğrudan sorumlu olma ve kendi başına karar alabilen

·                      Adapte olabilen / öğrenebilen: Tecrübelerine dayanarak hareketlerini ayarlayabilen

·                      Devingen: Sistemler arasında hareket edebilen

·                      Sürekli

·                      Amaca yönelik: Hareketlerinin sadece içinde bulunduğu sisteme bağımlı olmama özelliği

·                      İletişim kurabilen/ortaklaşa çalışabilen: Başka agent veya kişilerle iletişim kurabilen

·                      Esnek: Hareketleri önceden belirli olmama özelliği

·                      Aktif/Proaktif: İçinde bulunduğu ortamda olup bitenlere tepki verebilme

Bu yazıda üzerinde durulacak Agent’lar, Sabit (Stationary) Agent ve Mobile Agent’lardır.

Çalışmasını sadece çalışmaya başladığı ortamda sürdüren Agent tipi Sabit Agent’tır. Başka bir sistemde bulunan bir bilgiye ihtiyaç duyduğunda veya başka bir sunucudaki Agent ile iletişim kurması gerektiğinde RPC (Remote Procedure Call) iletişim mekanizmasını kullanır. Sabit Agent’ın iletişim ihtiyaçları var olan dağıtık nesne sistemleri tarafından karşılanabilir. Bu sistemlere örnek olarak DCOM (Distributed Component Object Model), CORBA (Common Object Request Broker Architecture), RMI (Remote Method Invocation) gösterilebilir.

Mobile Agent teknolojisi, 80’li yıllarda dağıtık ve devingen nesneler, süreç aktarımı ve dağıtık yapay zeka üzerine yapılmış araştırmalar sonucunda ortaya çıkmıştır. Mobile Agent, çalışmaya başladığı ortama bağlı değildir. Ağdaki bir sistemden diğerine kendini transfer edebilme özelliğine sahiptir. Transfer olurken, çalışma durumunu (state) muhafaza ederek diğer sisteme geçer. Gezebilme yeteneği Agent’a, iletişim kurmak istediği nesne ile aynı sunucuda olabilme olanağı sağlar. Yukarıda bahsedilen sistemler Sabit Agent’ın iletişim ihtiyaçlarını karşılayabilseler de Mobile Agent’ın iletişim ihtiyaçlarını karşılayamamaktadırlar.

Dağıtık uygulamalar söz konusu olduğunda ağın bant genişliği önemli bir kaynaktır. İstemci ile sunucu arasındaki bir işlem veya sorgu, ağda fazla veri aktarımına sebep olabilir. Her veri alış verişi, ağ trafiğini artırır ve bant genişliğinin fazla kullanılmasına yol açar. Çok istemcili sistemlerde toplam bant genişliği ihtiyacı, mevcut bant genişliğini aşabilir ve bu durum uygulamanın başarımını olumsuz yönde etkiler. İşlemi gerçekleştirecek bir Mobile Agent oluşturup sunucuya göndererek bant genişliği daha verimli kullanılmış olur. Dolayısıyla, ara sonuçlar ve hat üzerinden bilgi aktarımı yerine sadece Mobile Agent’ın gönderilmesi gerekmektedir.

Mobile Agent mimarileri, güvenli olmayan veya sürekli olarak kullanılamayan hatların yarattığı sorunu da ortadan kaldırabilir. Günümüzdeki birçok ağ uygulaması, işlemlerin veya sorguların gerçekleşme süreçleri boyunca bağlantının mevcut olmasına ihtiyaç duyarlar. Bağlantı kaybolduğunda, istemci sorgu sürecini yeniden başlatmak zorundadır. Mobile Agent teknolojisi, bağlantı sağlıklı iken sorguyu tamamlamak üzere Mobile Agent yaratılıp sunucuya gönderilmesine olanak sağlar. Ardından istemci bağlantıyı kesebilir. Mobile Agent sorguyu veya işlemi kendi başına yerine getirir ve istemci tekrar bağlandığında sonucu istemciye bildirir.[5]

Bir başka avantaj olarak Agent’ların tasarım riskini ortadan kaldırmalarından bahsedilebilir. Agent mimarisi sayesinde çalıştırılacak kodun yerinin tespit edilme işlemi, sistem hakkında daha çok bilgi sahibi olduğumuz tasarım işleminin son safhalarına kaydırılabilir. Aslında bu mimari, sistem tasarlandıktan sonra değiştirilebilmesine de imkan sunmaktadır. [6]

 

İstemci / Sunucu sistemleri genellikle istemci ve sunucu olmak üzere iki kısımdan oluşur. Genellikle istemci ve sunucu farklı sistemler üzerindedir ve ortak bir ağ üzerinden iletişim kurarlar. İstemci, sunucunun sağladığı kaynaklara gereksinim duyduğunda sunucuya bir istek mesajı gönderir. Sunucu bu isteğe cevap verir ve bu el sıkışma işlemi geleneksel istemci/sunucu mimarilerinde defalarca tekrarlanır. Aşağıdaki şekil tipik bir İstemci / Sunucu sistemin çalışma şeklini görülmektedir.

 

             

 

        Şekil 5

 

Mobile Agent teknolojisinde de İstemci/Sunucu mimarisindeki gibi istemci ve sunucu taraflar vardır. Buradaki fark iki kısım arasındaki iletişim şeklinde gizlidir. İstemci sistemde bulunan Mobile Agent sunucuda bulunan bilgilere veya servislere erişmek istediğinde, istemci sunucudan doğrudan bir istekte bulunmak zorunda değildir. Aslında, istemci uygulama sunucuya taşınmaktadır. İstemci uygulama, sunucu ortamına girdiğinde isteklerini doğrudan karşılayabilir. Tüm işlem tamamlandığında istemci uygulama sonuçlarla birlikte dönecektir. Geleneksel istemci/sunucu mimarisini şekil 6’da görülen Mobile Agent mimarisi ile karşılaştırılabilir.

 

       

       Şekil 6

 

Bahsedilen avantajlar ve Internet’e erişim talebindeki artış doğrultusunda Mobile Agent teknolojisinin seçimine dair birkaç sebep gösterilebilir. Bu sebeplerden bazıları; Internet kullanıcı sayısının artması sonucunda teknolojinin sağladığı iletişim kapasitesini yetersiz kalması; Palmtop, WAP destekli cep telefonları gibi mobil iletişim araçlarının Internet’e erişim istekleri; Intranetler içerisinde yeni teknolojinin denenip geliştirilebilmesi ve en önemli sebep olarak ta Internet üzerinde sunulan bilginin artması ve gerçekten ihtiyacımız olan bilgiye erişmekte karşılaşacağımız zorluklar gösterilebilir.

 

Mobile Agent Teknolojisi İle Çözüm Önerisi

Çözüm önerisini açıklamak için bir alışveriş senaryosunun ayrıntılı şekilde incelenmesi yerinde olacaktır.

Satıcı firma bir sipariş aldığında, o siparişin üretilmesi için gereken ara ürün tedarikçilerinden o ara ürünlerin teslimat tarihi, fiyatı, ve tedarik edilebilecek miktarı gibi bilgileri elde etme gereksinimi duyar. Bu bilgileri elde etmek amacıyla Mobile Agent’larda alınması gereken ürünlerin listesi, ürün tedarikçilerinin listesi, ürünün fiyatı, talep edilen miktar, teslimat zamanı gibi bilgiler bulunacaktır. Yaratılan bu Mobile Agent’lar tedarik zinciri ortaklarının bilgisayarlarına gönderilecektir. Tedarik zinciri ortağının bilgisayarına ulaşan Mobile Agent, orada bulunan Sabit Agent aracılığıyla o ürün hakkında istenen bilgileri elde eder. Sunulan bilgiler istenen şartları sağlıyorsa, Mobile Agent ürün için rezervasyon yapar. Ardından listedeki diğer tedarikçilere yönelir. Eğer sunulan bilgiler istenen şartların tamamını sağlamıyorsa, tedarik zinciri ortağı kendi firmasına ara ürün sağlayanlara göndermek üzere kendi Mobile Agent’larını yaratır ve kendi tedarik zinciri ortaklarının bilgisayarlarına gönderir. Böylece Mobile Agent’lar gerektiğinde bir zincirleme reaksiyon başlatmış olurlar. Rezervasyonu yapılmış ürünler için satın alma kararı Mobile Agent’a bırakılabileceği gibi alıcı firmadaki bir çalışana veya bir yazılıma da bırakılabilir. Tedarik zinciri ortaklarının bilgisayarlarını dolaşan aynı şirketin Mobile Agent’ları eğer aynı ortamda karşılaşırsa bilgi alışverişi yapabilirler. Anlatılan satın alma senaryolarının agent teknolojisi ile gerçekleştirilmesinin faydalarını daha ayrıntılı açıklanması için şekil 7 ve aşağıdaki maddeler yararlı olacaktır.

·                      Tedarik zinciri yönetiminde insanların yaptığı bazı işler Mobile Agent’lar tarafından daha çabuk ve daha hatasız bir şekilde yapılabilir. T0 firmasında çalışan bir satın alma memurunun tedarik zinciri ortağı firmaların temsilcileriyle telefon, e-mail gibi yollarla iletişim kurması veya web sayfalarındaki katalogları teker teker taraması yerine Mobile Agent’ların veri toplama ve süzme özellikleri kullanılarak hatalardan arınmış bilgi, daha kısa sürede elde edilmiş olacaktır.

·                      Tedarik zinciri ortaklarının firma içinde kullandığı yazılım ve donanımların farklı olması durumu bu sistemler arasındaki iletişimi zorlaştırmaktadır. Mobile Agent’ların çalışması için gereken platformu oluşturan yazılım, Mobile Agent’lar ile firmanın sahip olduğu yazılım arasında uygun bir ara yüz sağlamaktadır. Bu çözüm, tüm firmaların aynı yazılım kullanmasından daha ucuz olur. Örneğin T0 firmasındaki Oracle Applications yazılımı, T1 tedarikçisinde kullanılan Baan yazılımı ile bilgi alışverişini her ikisi üzerinde de bulunan Agent Sunucusu aracılığıyla gerçekleştirebilir. Mobile Agent’ın içerdiği bilginin XML (Extendable Markup Language) formatında saklanması yazılımdan bağımsız çalışmayı kolaylaştırmaktadır.

·                      Mobile Agent kullanımı sayesinde tedarik zinciri ortaklarının aynı anda Internet’e bağlı olması gerekmemektedir. Örneğin çevirmeli bağlantı (dial-up) ile diğer firmalarla iletişim içerisinde olan T4 firması Internete bağlı iken Mobile Agent gönderebilir ya da alabilir. Bulunduğu makinada bağımsız olarak çalışan Mobile Agent’lar bağlantı tekrar kurulduğunda sonuçları geri bildirmek üzere yaratıldıkları firmaya dönerler.

·                      T3 firmasının T6 ve T7 tedarikçilerinden ürün temin etmesinden dolayı T6 ve T7, T3 deki stokla doğrudan ilgilenmektedirler. T3 deki kendileriyle ilgili bir ara ürün miktarının belirli bir kritik düzeyin altına düşmesi T3’ün ürün talebine yol açacağından, bu durumdan en kısa sürede haberdar olmak isteyeceklerdir. T3 üzerinde bulunan T6 ve T7’ye ait Mobile Agent’lar, stoktaki ilgili ürünün miktarının gözlemleyerek, kritik düzeye ulaştığında yaratıldıkları firmaya dönerek haber vereceklerdir.

·                      Firmaların kullandığı materyal ihtiyaç programlama yazılımları genelde çok fazla işlemci gücüne ihtiyaç duydukları için çalışmalarını çok uzun sürede tamamlarlar. Agent teknolojisinin dağıtık çalışabilme özelliği, yapılması gereken işlemlerin Mobile Agent’lar arasında paylaştırılmasını kolaylaştırabilir.

·                      Firmaların, ürünlerinde yaptıkları değişiklikler ve iyileştirmeler konusunda posta veya e-mail vasıtasıyla alıcılara bilgi vermeleri yöntemi yerine, satıcı firmanın bilgisayarında bulunan alıcının Mobile Agent’ları, değişiklik olduğunda kullanıcılara haber verebilir. Örneğin T6 firmasının ürünlerinden faydalanan T3 firması ürün üzerinde herhangi bir değişiklik yapılırsa hemen bilgilendirilmek isteyecektir. Buna göre T6 firmasının belirli bir ürününde yapılacak bir değişiklik, T3’e ait Mobile Agent tarafından takip edilecek ve yapılan değişiklik konusunda yaratıldığı firma olan T3’e bilgi verecektir.

·                      Alıcıların bir ürün için ödemeye hazır oldukları maksimum fiyat genelde bellidir. Satıcıların ise bir ürün için belirledikleri bir minimum fiyat değeri vardır. Mobile Agent’lara verilebilecek bu parametreler vasıtasıyla Agent’lara pazarlık yapma yeteneği kazandırılabilir.

Mobile Agent teknolojisi Yapay zeka, güvenlik, nesne tabanlı programlama, uzman sistemler gibi bilgisayar bilimleri konularını içerdiğinden ilgi çekici bir konudur. Bilişim sektöründe kendini kanıtlamış kuruluşlar bu teknolojiye yönelik ürünler piyasaya sürmektedirler. Bunlara örnek olarak IBM’ in Aglet Workbench (Tahiti), General Magic’in Telescript’i ve Mitsubishi’nin Concordia’sı gösterilebilir. Bu ürünler Agent uygulama geliştirme ortamları sunmaktadırlar. Çeşitli Agent geliştirme ortamlarının mevcut olmasına rağmen, Agent teknolojisi kullanılarak geliştirilmiş ürünler piyasada yaygınlaşmamıştır.

 

MOBILE AGENT TEKNOLOJİSİNİN TEDARİK ZİNCİRİ YÖNETİMİNDE KULLANIMI

 

Klasik Satın alma İşlemi

Klasik tedarik zinciri yönetim sisteminde insan, veri işleyen ve dönüştüren elemandır. Görevli kişi tedarik zinciri ortaklarından gelen verileri gerekiyorsa elektronik ortama aktarır, veriyi şirket içinde kullanılan formata çevirir. Bu işlemlerde hata oluşma olasılığı bilgisayarlar tabanlı sistemlerden daha yüksektir. Buna ek olarak verilerin toplanma ve standart biçime dönüştürme zamanı bilgisayar tabanlı sistemlerden daha fazla zaman almaktadır. Her firma kendi içinde farklı veri saklama yöntemleri kullanmaktadır. Dolayısıyla standartlarda ve sistemlerde varolan bu çeşitlilik, tedarik zinciri ortaklarının sistemlerinin entegrasyonu için önemli bir sorun teşkil eder.

Yukarıda bahsedilen işlemlerin gerçekleştirilmesinde bilgisayarın veri işleyen eleman olarak kullanılmasıyla daha doğru ve kesin sonuçlara daha hızlı ulaşılabilecektir. Bu durum özellikle çeşitli sistemleri kullanan birçok tedarikçi içeren tedarik zincirlerinde entegrasyonu kolaylaştıracaktır.

 

Etmen Tabanlı Tedarik Zinciri Yönetiminin Tasarımı

Tedarik zincirinde firmalar üretim için ara ürünlere ve hizmetlere gereksinim duyarlar. Dolayısıyla tedarik zincirinin Mobile Agent teknolojisiyle entegrasyonunda firmalar hem tedarikçi hem de alıcı rolü üstlenebilirler. Her firma kendi içinde faaliyetlerini elektronik ortamdan yürütmektedir. Firmalar arası faaliyetlerin yönetilmesi için gereken iletişimi ise Gezici Etmen’ler sağlamaktadır. Bir tedarikçinin sisteminde bulunması gereken elemanlar Şekil 5.1’de gösterilmiştir.


 

        Şekil 5.1 - Tedarikçi Sisteminin Genel Tasarımı

 

Tedarikçi sistemi kapsamında tasarlanan etmenler ve işlevleri şunlardır:

 

Generator Agent

 

Herhangi bir satın alma isteğinin veri tabanına kaydedilmesi durumunda o satın alma işlemini yerine getirecek olan Mobile Agent’in oluşturulmasından sorumludur. Satın alınacak ürünün hangi tedarikçilerden alınabileceğini yerel veri tabanından elde eden Generator Agent tedarikçi bilgileriyle beraber satın alma işleminde karşılaştırma için kullanılacak kriterleri de Mobile Agent’e bildirir. Tedarikçi bilgileriyle satın almada kullanılacak kriterleri bildirmek için Mobile Agent’e gönderilen paketin genel yapısı Şekil 5.2’de belirtilmiştir.


 


 

Şekil 5.2 – Mobile Agent’e gönderilen paketin yapısı

 

·                     Başlık sahası: Satın alınmak istenen ürünün kod numarasını ve satın alma kriterlerinin bittiği ve tedarikçi listesinin başladığı yeri gösteren sahadır.

·                     Arama Kriterleri: Aramada kullanılacak kriter isimlerinin ve değerlerinin tutulduğu sahalardır.

·                     Tedarikçiler: Generator Agent’i tarafından tespit edilen tedarikçilerin adreslerinin tutulduğu sahadır.

·                     Ev: Mobile Agent’in tüm tedarikçilerden bilgi topladığında yaratıldığı sisteme geri dönmesi için paketin en sonuna yaratıldığı sistemin adresi eklenmiştir.

 

Mobile Agent

Yaratıldığı sistemin dışında çalışma yetisine sahip olan tek Etmen türüdür. [9] Generator Agent’ından aldığı arama kriterleri doğrultusunda listesindeki tedarikçileri dolaşır. Her tedarikçi sistemde ilgili kriter sorgusunu gerçekleştirir. Tedarikçilerin uygun tekliflerini bünyesinde saklar ve sorgu bitiminde listesindeki diğer tedarikçi sisteme gider. Listedeki tedarikçilerin tamamını dolaştığında  yaratıldığı sisteme geri döner ve sakladığı sonuçları veri tabanına aktarır.

 

Service Agent

Sisteme gelen Mobile Agent’in yerel veri tabanına erişimini sağlamakla görevlidir. Mobile Agent’in kendisine gönderdiği kriter listesine uygun SQL sorgularını oluşturur. Sorgunun sonuçlarını tekrar Mobile Agent’in iletir.

Yaratıldığı sisteme geri dönen Mobile Agent, yaratıldığı sistemdeki Service Agent vasıtasıyla sonuçları veri tabanına aktarır. Service Agent ana veri tabanına erişim yetkisi olan tek agent’tır.

Şekil 5.3, tedarikçi sistemlerin Internet gibi paylaşımlı bir ağ kullanarak bir arada çalışmasını şekilsel olarak özetlemektedir.

 


Şekil 5.3 – Mobile Agent’ların tedarikçiler arasında dolaşımı