İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ Akıllı Fiyat Arama Motoru Bitirme Ödevi Kadir Kemal Dursun Hakan Demirtaş 040000643 040000684 Bölüm : Bilgisayar Mühendisliği Anabilim Dalı : Bilgisayar Bilimleri Danışman : Yrd. Dç. Dr. Feza Buzluca Mayıs 2005 2 Akıllı Fiyat Arama Motoru TiLQi.Net 1. Projenin Tanımı: Proje, günümüz dünyasının gelişen teknolojisiyle birlikte yükselişe geçen sektörü olan internetten online satış yapan alışveriş sitelerinden, akıllı fiyat arama motoruyla ürün bilgilerini toplayan arama motoru modülü, arama motorunun topladığı bilgileri diğer arayüzlere ve diğer sistemlere sunabilen web servisi modulü, web servisinin sunduğu bilgileri internetten veya mobil cihazlardan siteye ulaşan ziyaretçilere kullanışlı ekranlar yardımıyla getiren bir web ve wap arayüz modulü ve bütün bu arayüzlerin birbiriyle koordinasyon ve senkronizasyonlarını sağlayan bir admin modulünden oluşmaktadır. 2. Sistem Modülleri: 2.1 Sunulan Servisler: Sisteme ait modüller Şekil 2.1’de verilmiştir. kullanıcılarına dört servis sağlar. Şekilde görüldüğü gibi, sistem a) Fiyat Arama Motoru Modulü: Fiyat arama motoru modulü arka planda sürekli olarak çalışarak akıllı bir arama algoritmasıyla alışveriş sitelerinden ürünlerle ilgili bilgileri toplayarak veritabanına işler.. b) Web Servisi Modulü: Web servis modulü fiyat arama motorunun veritabanına işlediği bilgileri diğer arayüzlere ve istenildiğinde diğer sistemlere sunabilen sistemler arası iletişimi sağlayan bir ara katmandır. c) Web Modulü: Web modulü fiyat arama motorunun bulduğu bilgileri web servis aracılığyla ulaşarak internetten siteye ulaşan ziyaretçilere sunan webden sitenin yayınını yapan katmandır. d) Wap Modulü: Wap modulü fiyat arama motorunun bulduğu bilgileri web servis aracılığyla ulaşarak mobil araçlarıyla siteye ulaşan ziyaretçilere sunan Wap’dan sitenin yayınını yapan katmandır. e) Admin Modulü: Admin modulü sistemde çalışan arayüzlerin birbirleiyle konfigrasyonlarını ve senkronizasyonlarını sağlayan, sistemin yönetimini kolaylaştıran bir katmandır. 3 Web ve Wap Modulü Admin Modulü Ziyaretçi Yönetici TiLQiAdmin TiLQiWeb TiLQiWap Web Servis Modulü Sunucu TiLQiService Fiyat Arama Motoru TiLQi Şekil 2.1: Akıllı Fiyat Arama Motoru Modülleri 2.2 Modül Senaryoları: 2.2.1 Fiyat Arama Motoru Modulü ( Search Engine Module – TiLQi): İnternette gezinen ve gerekli bilgileri toplayan metodları barındırır. Metodlar internette bulunan bilgileri, daha önce bulananlarla eşleyen yordamlar içerir. Metodlar ayrıca saklı yordamlar aracılığıyla veritabanına ulaşır. Saklı yordamlar ( Stored Procedures) veritabanında gerçekleştirilmek istenilen sorguyu barındırır. Bu modüle ail ilgili şekil 2.2.1’de verilmiştir. sayfalardan cekilen bilgiler online alisveris web sayfalari Yeni bilgiler ile eskileri eslestiren yordam Veri tabanina islenecek,bilgiler TiLQi Arama Motoru DataBase Şekil 2.2.1: TiLQi Arama Motoru Modülü internet 4 2.2.2 Web Servisi Modulü ( Web Service Module - TiLQiService) Web servisi metodları barındırır.. Metodlar saklı yordamlar aracılığıyla veritabanına ulaşır. Saklı yordamlar ( Stored Procedures) veritabanında gerçekleştirilmek istenilen sorguyu barındırır. Web servisinin katmanlı ve modüler yapısı sayesinde pda vb diğer mobil araçlar da sisteme erişebilirler. Bu modüle ait ilgili şema Şekil 2.2.2’de verilmiştir Web Wap Database WebService Admin Diger Sistemler Şekil 2.2.2: Web Servis Modülü 5 2.2.3 Web Modülü( Web Module - TiLQiWeb) Ziyaretçi web sitesine giriş yapar. Ziyaretçi aradığı ürünü tanımlar ve ara butonuna basar. Web sayfası web servisinin ilgili metodunu çağırır. Web servisi ziyaretçinin aradığı ürünün hangi sitede hangi fiyata, hangi şartlarda ve kalitede bulabilceğinin içeren veri döndürür. Web sayfası web servisinden aldığı bilgiyi kullanışlı bir ekran aracılığıyla ziyaretçilere sunar. Bu modüle ait ilgili şema Şekil 2.2.3’te verilmiştir. ......... Ziyaretçiler ............ Web Web Service Database 6 2.2.4 Wap Modulü( Wap Module - TiLQiWap): Ziyaretçi wap sitesine giriş yapar. Ziyaretçi aradığı ürünü tanımlar ve ara butonuna basar. Wap sayfası web servisinin ilgili metodunu çağırır. Web servisi ziyaretçinin aradığı ürünün hangi sitede hangi fiyata, hangi şartlarda ve kalitede bulabileceğini içeren veri döndürür. Wap sayfası web servisinden aldığı bilgiyi kullanışlı bir ekran aracılığıyla ziyaretçilere sunar. Bu modüle ait ilgili şema Şekil 2.2.4’te verilmiştir. ......... Ziyaretçiler ............ Wap Web Service Database 7 2.2.5 Admin Modulü ( Admin Module – TiLQiAdmin): Admin modulü sistemdeki tüm arayüzlerin birbiriyle senkronizasyon işlerini yürütür. Sistemin yönetim sayfasıdır. Yönetici sisteme girer ve dilediği konfigrasyonu yapar. Bu modüle ait ilgili şema Şekil 2.2.5’te verilmiştir. Web ADMIN Service Database Wap koordinasyon ve 8 3. Mimari: Proje üç ana basamaktan oluşmaktadır. Mimariye ilişkin tablo, Şekil 3’te verilmiştir. Arama Motoru Basamağı (Search Layer) : İnternet ortamında bulunan bilgileri toplayan ve bu bilgileri istenilen şekilde işleyen sınıfların bulunduğu basamaktır. Veri Basamağı: (Data Layer) Veri basamağı kendi içinde üç katmandan oluşur. Veri Bileşenleri: Web servislerine erişim bu katmandan sağlanır. Kullanılan her web servisi için ayrı bir veri bileşeni sınıfı yazılmıştır. Web Servisleri: Veri tabanı ile ilgili işlemlerin gerçekleştiği katmandır. Hem bilgisayar ve pda ile web üzerinden hem de mobil telefonlar ile Wap üzerinden erişim aynı web servislerini kullanarak gerçekleştirilir. Böylelikle aynı web servisler iki farklı ara yüz için kullanılmış olur. Sql Server 2000: Sisteme ait tüm tabloların tutulduğu “tilqi” veri tabanı burada yer alır. Web servisi veri tabanı üzerindeki işlemelerini “stored procedure” kullanarak gerçekleştirir. Ara yüz Basamağı (Interface Layer): Kullanıcının sisteme ulaşmasını sağlar. Kullanıcılar, hem bilgisayar veya pda yardımıyla web üzerinden, hem de mobil telefonlar yardımıyla wab üzerinden erişebilirler. 9 C# .NET Search Engine TANIM : Web ortamından alınan bilgiler veri tabanında birbiri ile eşlenir. Search Layer C# .NET Match Engine TANIM : SQL Server 2000 “TiLQi” database veri tabanı Web servislerine erişimin yapıldığı sınıftır. Bu sınıflardaki metotlar kullanılarak web servislerine bağlanılır ve gerekli işlemler yapılır. TANIM : TiLQiService Data Layer SqlDataProvider (all with Stored Procedures) Web Servisler TiLQiService Veri basamağını oluşturur, veri tabanına erişim bu katmandan olur. Veri tabanına erişim stored procedure kullanımı ile sağlanmıştır. TANIM : Data Components SqlProvider(Data Classes) Veri Sınıfları Bütün tablolar “TiLQi” adlı veritabanında tutulmaktadır. TANIM : System ŞekilInterfaces 3: Sistem Mimaris Interface Layer Web and Wap Interfaces Web ve Wab Arayüzleri Kullanıcıların sisteme erişmesini sağlayan arayüzler.