mġllġ prodüktġvġte merkezġ bġlgġ teknolojġlerġ bölümü

Transkript

mġllġ prodüktġvġte merkezġ bġlgġ teknolojġlerġ bölümü
MĠLLĠ PRODÜKTĠVĠTE MERKEZĠ
BĠLGĠ TEKNOLOJĠLERĠ BÖLÜMÜ
UZMANLIK TEZĠ
eDÖNÜġÜM KAPSAMINDA DEVLET KURUMLARI ARASINDA
BĠRLĠKTE ÇALIġABĠLĠR MĠNĠMAL BĠR SĠSTEM ALTYAPISI
VE ÖRNEK BĠR MODEL ÖNERĠSĠ
Hazırlayan
Erdoğan CEVHER
Tez DanıĢmanı
Prof. Dr. Hadi GÖKÇEN
Ankara - 2008
i
eDÖNÜġÜM KAPSAMINDA DEVLET KURUMLARI ARASINDA
BĠRLĠKTE ÇALIġABĠLĠR MĠNĠMAL BĠR SĠSTEM ALTYAPISI
VE ÖRNEK BĠR MODEL ÖNERĠSĠ
(Uzmanlık Tezi)
Erdoğan CEVHER
MĠLLĠ PRODÜKTĠVĠTE MERKEZĠ
BĠLGĠ TEKNOLOJĠLERĠ BÖLÜMÜ
ġubat 2008
ÖZET
Kamu
kurumları,
teknolojinin
geliĢmesiyle
birlikte
müĢterileri
statüsündeki vatandaĢa yönelik olarak verdikleri hizmetleri internet
platformuna
taĢımıĢ
sağlamıĢlardır.
kurumunun
ve
Ancak
olduğu
aynı
hizmetlerin
hizmetle
durumların
çevrimiçi
iliĢkili
hemen
birden
hemen
sunulmasını
fazla
kamu
hepsinde
kamu
kurumları, süreçlerde birbirlerinden bağımsız hareket etmiĢlerdir. Bu ise
süreçlerde etkinsizliğe neden olmuĢtur. Dolayısıyla, kullandıkları
teknolojileri
her
ne
kadar
iyileĢtirseler
de
kamu
kurumlarının,
eDönüĢümü gerçekleĢtirmek için ortak hareket etmeleri gereği ortaya
çıkmıĢtır. Bu aĢamada teknoloji, bu ortak hareket için kamu kurumlarına
yeni bir felsefe önermektedir: “Birlikte ÇalıĢabilirlik”. Bu çalıĢmada,
birlikte çalıĢabilirliği sağlayacak çözüm çatısının tek olmadığı, farklı
devletlerin değiĢik mimariler benimsediği bulunmuĢtur. Bu yüzden bu
tezde
birlikte
önerilmeyecektir.
çalıĢabilirliği
Farklı
sağlayacak
devletlerin
spesifik
kullandıkları
bir
farklı
mimari
mimariler
ii
sunularak olması gereken mimarinin asgari hangi koĢulları sağlaması
gerektiği verilecektir.
Bilim
Kodu:
280106
Örgütler
Arası
Bilgi
Sistemleri
Sınıflandırması)
Anahtar Kelimeler: eDönüĢüm, eDevlet, birlikte çalıĢabilirlik
Sayfa Adedi: 139
Tez Yöneticisi: Prof. Dr. Hadi GÖKÇEN
(RFCD
iii
AN INTEROPERABLE MINIMAL SYSTEM INFRASTRUCTURE
AMONG GOVERMENT AGENCIES IN THE SCOPE OF
eTRANSFORMATION AND A SAMPLE MODEL PROPOSAL
(Specialization Thesis)
Erdoğan CEVHER
NATIONAL PRODUCTIVITY CENTER OF TURKEY
DEPARTMENT OF INFORMATION TECHNOLOGY
February, 2008
Abstract
Government agencies have taken their services that they offer to
citizens having the status of their customers to the internet platform
along with the development of technology and thereby provided those
services to be offered online. But, in almost all of the cases that many
agencies are concerned with the same service, government agencies
handled the processes independently from each other. This lowered the
efficiency of the processes considerably. That is why, the need to the
collaboration
of
government
agencies
in
order
to
achieve
eTransformation appeared clearly no matter how much they improve
their
technologies
they
use.
At
this
point,
technology
offers
government agencies a new philosophy for the aforementioned
collaboration: interoperability. In this study, it has found that the
solution framework that can enable interoperability is not unique, and
iv
that different countries have adopted different architectures. That is
why, a specific architecture that can provide interoperability will not be
offered in this thesis. But rather, the minimum requirements that the
architecture needs to assure interoperability will be given by presenting
different architectures employed by different countries.
Science Code: 280106 Interorganisational Information Systems (RFCD
Classification)
Key Words: eTransformation, eGovernment, interoperability
Total Pages: 139
Advisor: Prof. Dr. Hadi GÖKÇEN
v
ĠÇĠNDEKĠLER
Sayfa
1. GĠRĠġ ..........................................................................................................1
2. DEVLET HĠZMETLERĠNĠN EVRĠMĠ ............................................................5
2.1 Gartner Olgunluk Modeli ...........................................................................6
2.1.1 Var olma ................................................................................................7
2.1.2 EtkileĢim ................................................................................................8
2.1.3 Hareket (iĢlem).......................................................................................9
2.1.4 DönüĢüm .............................................................................................11
2.1.4.1 Mevcut süreçlerin yeniden yapılandırılması ......................................14
2.1.4.2 Formların otomatik iĢlenmesine yönelik MS baĢvuru mimarisi ..........18
3. BĠRLĠKTE ÇALIġABĠLĠRLĠĞĠN FĠKĠRSEL ALTYAPISI ..............................21
3.1 Birlikte ÇalıĢabilirliğin Kısa Bir Tarihçesi .................................................21
3.2 Birlikte ÇalıĢabilirlik Öncesi Öncül Adımlar .............................................24
3.3 Microsoft‟un Bağlantılı Devlet Çatısı Çözümü .........................................25
3.3.1 Microsoft Teknoloji Olgunluk Modeli (altyapı optimizasyonu) ...............31
3.3.2 ĠĢ verimliliği altyapı optimizasyonu .......................................................32
3.3.3 Uygulama platformu altyapı optimizasyonu .........................................33
3.3.4 Bağlantılı devlet çatısı mimari tasarım düĢünceleri ..............................33
3.3.5 Dünyadaki bağlantılı devlet çatısı uygulamaları ...................................36
3.3.5.1 Mısır Hükümeti‟nin uygulaması .........................................................36
3.3.5.2 Çek Cumhuriyeti Sosyal Hizmetler Birliği (CSSA) uygulaması..........38
4. BĠRLĠKTE ÇALIġABĠLĠRLĠĞĠN TEKNĠK ALTYAPISI .................................41
4.1 Hizmet Odaklı Mimari (Service Oriented Architecture, SOA) ..................41
4.2 Simple Object Access Protocol (SOAP) ..................................................51
4.2.1 SOAP‟a GiriĢ ........................................................................................51
4.2.2 SOAP‟la Uzak Veriye EriĢim ................................................................53
vi
4.2.3 SOAP Discovery (DISCO, Discovery of Web Services) .......................57
4.2.4 Web Service Description Language (WSDL) .......................................57
4.2.5 SOAP‟ın ASP.NET‟le Kullanımı ...........................................................58
4.3 Web Servisleri .........................................................................................58
4.3.1 Bir Web Servisinin Yapımı ...................................................................59
4.3.2 Bir Web Servisinin Tüketimi .................................................................65
5. BĠR eDEVLET UYGULAMASI MODELĠNDE ................................................
KULLANILABĠLECEK ÖRNEK BĠR ALT MODÜL ÖNERĠSĠ ..........................72
5.1 Belediyeden VatandaĢa Hizmetler Alt Modülü ........................................80
5.2 Belediyeden Hastaneye Hizmetler Alt Modülü ........................................84
5.2.1 Mevcut sistemin durumu ......................................................................84
5.2.2 Mevcut sistemin yetersizlikleri ..............................................................84
5.2.3 Modellenen sistemin amaçları..............................................................84
5.2.4 Kritik baĢarı faktörü ..............................................................................85
5.2.5 Alt modülün iĢleyiĢi ..............................................................................85
5.3 Belediye Veritabanı .................................................................................86
6. SONUÇ VE ÖNERĠLER ............................................................................93
EK 1: Önerilen Modelin Kaynak Kodları ........................................................96
EK 2: eDevlet Kapısı (eKapı) ......................................................................122
EK 3: eDevlet Ağ Geçidi Projeleri ve eDevlet Mimarileri .............................135
vii
ġEKĠLLER
ġekil 2.1 Devlet hizmetlerinin evrimi: Gartner olgunluk modeli ...................... 6
ġekil 2.2 Gartner olgunluk modeli aĢamaları ................................................. 7
ġekil 2.3 Var olma aĢaması ........................................................................... 8
ġekil 2.4 EtkileĢim aĢaması ........................................................................... 9
ġekil 2.5 Hareket aĢaması ........................................................................... 10
ġekil 2.6 DönüĢüm aĢaması ........................................................................ 12
ġekil 2.7 Formların elle iĢlenmesine dayalı mevcut süreç ............................ 15
ġekil 2.8 Yeniden yapılandırılmıĢ süreçte formların otomatik iĢlenmesi ....... 17
ġekil 2.9 Microsoft Ofis ĠĢ Uygulaması BaĢvuru Mimarisi ............................ 19
ġekil 3.1 Teknoloji çözümlerinin farklılaĢan yatay platformları ..................... 22
ġekil 3.2 Microsoft Bağlantılı Devlet Çatısı .................................................. 29
ġekil 3.3 Microsoft teknoloji olgunluk modeli ................................................ 31
ġekil 3.4 ĠĢ verimliliği altyapı optimizasyonu ................................................ 32
ġekil 3.5 Uygulama platformu altyapı optimizasyonu ................................... 33
ġekil 3.6 Bağlantılı devlet çatısı mantıksal mimarisi ..................................... 35
ġekil 3.7 Mısır hükümeti bağlantılı devlet çatısı çözümü .............................. 37
ġekil 3.8 Çek Cumhuriyeti devlet ağ geçidi .................................................. 40
ġekil 4.1 Web servisleriyle, farklı ortamlardan gelen verilerin kullanımı ....... 44
ġekil 4.2 Ayrık iĢ kolu uygulamalarının tek bir hizmet gibi sunumu .............. 45
ġekil 4.3 Tipik bir üç katmanlı uygulama mimarisi........................................ 46
ġekil 4.4 Hizmet odaklı uygulama mimarisi .................................................. 46
viii
ġekil 4.5 Microsoft‟un hizmet odaklı altyapı tasarımı ................................... 47
ġekil 4.6 Microsoft‟un hizmet odaklı altyapıyı kurarken kullandığı ürünler ... 48
ġekil 4.7 Kurumsal hizmet veriyolu: hizmetin sağlayıcılarıyla tüketicileri
arasındaki köprü ................................................................................... 50
ġekil 4.8 Farklı ortamlarda SOAP istemi ...................................................... 54
ġekil 4.9 VH_BH.asmx cevabı (VH_BH web servisinden alınan cevap) ...... 65
ġekil 5.1 Üyelik öncesi menülere kısıtlı eriĢim ............................................. 73
ġekil 5.2 Üyelik modülüne iliĢkin dosya yapısı ............................................. 73
ġekil 5.3 Üyelik klasörünün varsayılan default.aspx dosyasına kısıtlı eriĢim 74
ġekil 5.4 Üyelik giriĢ ekranında sayfa düzeyi doğrulamalar ......................... 74
ġekil 5.5 Üyelik kayıt formu .......................................................................... 75
ġekil 5.6 Belediye taraflı alt sistemlere eriĢim isteği yapılan kayıt formu ..... 76
ġekil 5.7 Sisteme giriĢ sonrası açılan ekran ................................................ 76
ġekil 5.8 ÇalıĢılan kurum bilgisinin doğrulanması sonucu açılan ekran ....... 77
ġekil 5.9 Yönetici paneli modülüne iliĢkin dosya yapısı ............................... 77
ġekil 5.10 Yönetici paneli giriĢ ekranı .......................................................... 78
ġekil 5.11 Yönetici paneli ............................................................................. 78
ġekil 5.12 Yönetici paneli: çalıĢan bilgisi onaylama formu ........................... 78
ġekil 5.13 Belediye-VatandaĢ menünün Vergi ve Harçlar alt menüsü ......... 80
ġekil 5.14 Vergi ve Harçlar sayfası (http://localhost/BV_VergiHarc.aspx) .... 81
ġekil 5.15 Emlak vergisi hesaplanıĢı (V ....................................................... 82
ġekil 5.16 Web servisinin sonuç döndürümü ............................................... 82
ġekil 5.17 Web servisinin metotları .............................................................. 83
ġekil 5.18 Veri sağlayıcısı VH_BH.asmx web servisindeki metotlar ............ 85
ix
ġekil 5.19 Veri tüketicisi http://localhost/VHIstemci_BH_Secim.aspx sayfası
.............................................................................................................. 85
ġekil 5.20 Web servisinin cevabı ................................................................. 86
ġekil 5.21 Belediye veritabanıyla sonuçlanan birim iliĢki diyagramı ............. 87
x
ÇĠZELGELER
Çizelge 2.1 Devletlerin geldikleri eDevlet aĢaması……………………………13
Çizelge 2.2 Dünyadaki 198 ülkenin eDevlet derecesi…………………………14
Çizelge 4.1 Sınıfların, aduzaylarının ve derlemelerin adlandırma standardı.60
Çizelge 4.2 Adlandırma standardına eĢlik eden komut satırları ve kullanılan
dizinler……………………………………………………………………………………………………………………..……60
1
1. GĠRĠġ
20. yüzyılda baĢlayan biliĢim çağı toplumsal dönüĢümleri tetiklemiĢ ve sanayi
toplumundan bilgi toplumuna geçiĢ süreci yaĢanmıĢtır. Ancak bilgi toplumu
sürecine devĢirilmiĢ toplumlar arasında da teknolojiyi kullanma boyutu itibarı
ile oldukça büyük farklılıklar gözlemlenmiĢtir. Bu noktadaki geliĢmeleri ifade
etmek üzere “sayısal uçurum” gibi birçok değiĢik kavram ortaya çıkmıĢtır.
Toplumları koordine eden birimler olarak görülebilecek devletler ise
teknolojinin sürüklediği bu yarıĢta geri kalmamak için kendi toplumlarını
dönüĢtürebilmek adına hatırı sayılır yatırımlara imza atmaya baĢlamıĢlardır.
Ülkemize dönersek, kamu kurumları özeline inildiğinde, her kurum kendi
imkânları ölçüsünde teknolojik altyapılarını çağın gerektirdiği koĢullara
güncellemiĢ ve biliĢim tabanlı etkinliklerini artırmaya çalıĢmıĢtır. Kamu
kurumları arasında teknolojiyi donanımsal anlamda takip etme ve fikirsel
dönüĢümü gerçekleme anlamında bazı farklar ortaya çıksa bile genel itibarı
ile çoğu kurumda bütünlüklü bir dönüĢümü gerçekleĢtirmek için gerekli olan
donanımsal altyapı önemli ölçüde tedarik edilmiĢtir. Artan biliĢim yetkinlikleri
ile birlikte de birçok kurum, vatandaĢa sunmuĢ oldukları hizmetlerin önemli
bir bölümünü internet platformuna taĢımıĢtır. Hizmetlerin evrildiği bu süreçte,
kurumlar arası iĢbirliklerini gerektiren iĢ akıĢları gözönünde tutulduğunda,
kurumların tek baĢlarına kendi biliĢimsel politikalarını belirleyip dört dörtlük bir
platforma sahip olmaları artık yeterli olmamaktadır. Zira artık “dönüĢümle”
gerçekten algılanması gereken mana hakkıyla anlaĢılmaya baĢlanmıĢtır. Bu
mana, (e)dönüĢümün nasıl olması gerektiğini vermektedir: dönüĢüm ancak el
ele verip paylaĢılan iĢ süreçlerini önemli ölçüde sadeleĢtirip gereksiz iĢ
süreçlerini ortadan kaldırmakla mümkündür.
Ortak hareketin artık zorunlu olduğu noktaya gelindiğinde, ülkemizde de
önemli geliĢmeler yaĢanmıĢtır. Kurumların biliĢimsel koordinasyonunda ve
2
tek bir merkezden yapılandırılmalarında gerçi hala tek bir otorite merci
olabilen bir kurum oluĢturulamamıĢ ve görevlendirilememiĢ olsa da “eDevlet
Kapısı” gibi bazı önemli projelerde oldukça önemli ilerlemeler sağlanmıĢtır
(en azından bahsi geçen projede artık neyin nasıl olması gerektiği, yani
mimarinin nasıl yapılandırılması gerektiği çoğu kimse tarafından bilinen bir
Ģey olmuĢtur). Bu noktada eKapıdan bahsedilmesinin nedeni, yukarıda
bahsedilen bir otorite mercinin hizmet ve görev konusu olarak iĢleyebilecek
altyapıların yavaĢ yavaĢ ortaya çıkmıĢ olmasıdır.
Yukarıdaki paragraflar boyunca yapılan kısa giriĢte, dönüĢüm gerekliliğinden
bir parça bahsedilmiĢtir. Peki, o halde eDönüĢüm nedir? Sadece teknoloji
dönüĢümü müdür? Yoksa daha köklü bir değiĢim midir? eDönüĢümün
tanımına bakıldığında bu sorulara verilebilecek cevaplar apaçık hale gelir:
eDönüşüm ≡
Bilgi ve iletiĢim teknolojilerini etkin kullanarak, mevcut kültürün, iĢ modelinin,
iĢ süreçlerinin, ürün ve hizmetlerin; çalıĢan, vatandaĢ, iĢ ortakları ve diğer
tüm sosyal paydaĢlarının yararına, bir bütünlük içerisinde değiĢtirilmesidir [1].
eDönüĢümün gerçekleĢtirilmesi için, dönüĢümde yer alan tüm tarafların
(vatandaĢ, devlet, özel sektör) buna hazırlanması gerekmektedir. eDönüĢüm
tanımında geçen “bir bütünlük içerisinde” tabiri ile oluĢturulacak yapının tüm
tarafların aynı anda düĢünülüp kurgulanması zorunluluğundan hareketle;
biliĢimsel boyut perspektifinden bakıldığında bütünlüğün nasıl sağlanacağı
sorusu ile karĢılaĢılmaktadır. Bunun için hangi kavramlar ve bu kavramları
Ģekillendiren hangi teknolojiler vardır? Hangi teknolojiler sorusuna bu tezin
ilerleyen bölümlerinde doyurucu cevaplar verilmeye çalıĢılacaktır. Ancak
önce bu giriĢ kısmında, “birlikte çalıĢabilirlik” kavramının basit bir tanımı
yapılıp ardından tezin bölümlerinde sırasıyla hangi konuların iĢleneceği
verilecektir.
3
Birlikte çalışabilirlik ≡
Birden fazla sistemin veya bileĢenin bilgilerini değiĢebilme ve değiĢilen bu
bilgileri kullanabilme yeteneğidir (IEEE tanımı) [2].
Kamunun kendi kaynaklarını ve bilgilerini etkin yönetmesi için oldukça önemli
olan birlikte çalıĢabilirlik kavramı, teknolojik geliĢmeyle birlikte ciddi kapsam
kazanmıĢ ve biliĢim sektöründe çok daha önemli bir noktaya gelmiĢtir. Birlikte
çalıĢabilirlik eDönüĢümün anahtar oyuncusu olup ilerleyen bölümlerde bir
eDönüĢüm için gerekli olan altyapı verilecektir.
eDönüĢüm altyapısını sağlamak üzere tez içerisinde yer alan bölümlere
bakıldığında;
Ġkinci bölümde, eDönüĢümün aĢamaları olarak sıralanan “var olma”,
“etkileĢim”, “hareket”, “dönüĢüm” aĢamaları “Devlet Hizmetlerinin Evrimi için
Gartner Olgunluk Modeli” yardımıyla verilecektir. Dördüncü aĢama olan
dönüĢüm aĢamasında, mevcut süreçlerin yeniden yapılandırılıĢı iĢlenecektir.
Bu noktada, formların otomatik iĢlenmesine yönelik Microsoft baĢvuru
mimarisi de yeniden yapılandırılma bağlamında ele alınacaktır.
Üçüncü bölümde, birlikte çalıĢabilirliğin fikirsel altyapısı Ģekillendirilecektir.
Bölümün baĢında, birlikte çalıĢabilirliğin kısa bir tarihçesi verilecektir. Daha
sonra, birlikte çalıĢabilirlik öncesi atılması gereken öncül adımlara temas
edilecektir. Microsoft‟un birlikte çalıĢabilirlik için önerdiği Bağlantılı Devlet
Çatısı çözümünün iĢlendiği son kısımda Microsoft Teknoloji Olgunluk Modeli
(altyapı optimizasyonu), iĢ verimliliği altyapı optimizasyonu ve uygulama
platformu altyapı optimizasyonu verilecektir. Bölümün sonunda, bağlantılı
devlet çatısı mimari tasarım düĢünceleri yer alacaktır.
Dördüncü bölümde, birlikte çalıĢabilirliğin teknik altyapısına yönelik olarak
Hizmet
Odaklı
Mimari
(Service
Oriented
Architecture)
mantıksal
4
düĢüncesinden yola çıkılıp bu mantığı hayata geçirecek olan Simple Object
Access Protocol (SOAP) ve web servisleri gibi belli baĢlı teknolojiler
verilecektir.
SOAP‟ın iĢlendiği alt bölümde, bu teknoloji yardımıyla uzak veriye nasıl
eriĢileceği, SOAP Discovery, web service description language (WSDL) ve
SOAP‟ın ASP.NET‟le kullanımı konuları iĢlenecektir.
Web servislerinin iĢlendiği alt bölümde ise, bir web servisinin yapımı ve
tüketimi konuları iĢlenecektir.
BeĢinci
bölümde,
iki
farklı
örgütün
birlikte
çalıĢabilirlik
modeli
kurgulanılacaktır. Bu tezde bu iki örgüt için seçilen belediye ve hastane
tamamen kukla değiĢken olarak düĢünülebilir. Verilen mimari geniĢleyebilir
özellikte olup üçüncü ve dördüncü … örgütler de sunulacak olan modele
benzer mantık içerisinde katıĢtırılabilir. Tezin ekler kısmında bu bölümde
oluĢturulan birlikte çalıĢabilirlik modelinin kaynak kodları da verilmiĢ olup
konu üzerinde çalıĢan kimselere karınca kararınca da olsa bir katkı
sağlayabilmek arzu edilmiĢtir.
Altıncı bölümde, sonuç ve öneriler olarak birlikte çalıĢabilirliğin hangi kıstaslar
dikkate alınarak takip edilmesi gerektiği verilecektir.
Tezin EKLER kısmında ise; Türkiye‟nin eDevlet kapısının geliĢimine yer
verilecek, daha sonra ise
sunulacaktır.
Ayrıca
“eDevlet mimarileri ile ilgili bazı çizimler
yukarıda
bahsedilen,
beĢinci
bölümün
çalıĢabilirlik modelinin kaynak kodları da yine bu kısımda verilecektir.
birlikte
5
2. DEVLET HĠZMETLERĠNĠN EVRĠMĠ
ġu anda dünya üzerindeki devletlerin birçoğunda hizmetler, kâğıt tabanlı olup
elle yapılmaktadır. “Bağlantılı Devlet”in arkasında yatan fikir ise devletlerin
kâğıt tabanlı yürüyen ve elle yapılan süreçlerden alınıp oldukça farklı
elektronik eriĢim kanallarından (cep telefonu, kiosk, internet vb.) ulaĢılabilen
ve otomatik yürüyen hizmetlerin sunulması süreçlerine taĢınmasıdır.
Bağlantılı devlet çatısı altında pasaportlardan sürücü ehliyetlerine kadar
sıralanabilecek birçok hizmet için devletin müĢterisi olarak nitelendirilebilecek
olan vatandaĢ, bugünlerde ilgili kamu kurumuna gitmekte, bir form
doldurmakta, bu formu değiĢik onay makamlarından geçirmekte, böylelikle bir
masadan diğerine gitmektedir. Ġstenen ise tüm hizmetlerin elektronik ortamda
otomatik olarak alınmasıdır. Bağlantılı devlet çatısında bu tür hizmetler daha
etkin verilmektedir: vatandaĢ ilgili web sitesine girer, çevrimiçi olarak bir web
form doldurur ve tüm süreç otomatik olarak yürür. Böylelikle süreçler daha
hızlı ve kolay iĢlediğinden vatandaĢlar kamu hizmetlerinden daha kolay
yararlanabilir ve ilgili süreçlere daha kolay katılabilirler.
Devlet hizmetleri eDönüĢüm süreci içerisinde olgunlaĢırken, hizmetlerin
sunum kalitesi artmakta ve süreçler daha hızlı ve etkin bir biçimde
iĢlemektedir. Ġnternetin ortaya çıkıĢından önce, kamu hizmetlerinden
yararlanacak bir vatandaĢın, alacağı hizmetin veriliĢi ile ilgili ve süreçlerin
iĢleyiĢi ile ilgili konularda bile yeterince bilgi edinmek için ilgili kamu
kurumuna
bizzat
gitmesi,
hizmetle
ilgili
kılavuzları
takip
etmesi
gerekmekteydi. Daha sonra, kamu kurumları kendi web sitelerini oluĢturarak
verdikleri hizmetlerle ilgili bilgileri ayrıntılı olarak web ortamına taĢıdılar. Daha
sonraki aĢamada, aynı hizmetle ilintili kamu kurumları birbirleriyle iĢbirliği
yapma arayıĢına girdiler. En nihayet, süreçlerin yeniden analizinin yapılıp
gereksiz süreçlerin elenmesi ve süreçlerde tamamen otomatikleĢtirilmeye
gidilmesi
ihtiyacı
ortaya
çıktı.
Devlet
hizmetlerinin
evrimi
ile
ilgili
6
aĢamalandırma
çalıĢması
olan
“Gartner
Olgunluk
Modeli”,
devlet
hizmetlerinin evrimini (ġekil 2.1) daha da açıklayıcı olacaktır:
ġekil 2.1 Devlet hizmetlerinin evrimi: Gartner olgunluk modeli
2.1 Gartner Olgunluk Modeli
Oldukça karmaĢık bir konu alan eDevlet felsefesinin daha iyi kavranması,
konuyu değiĢik aĢamalara ayırarak daha kolay olabilmektedir. Bu aĢamaların
belirlenmesinde ise teknolojinin kamu hizmetlerini biçimlendirirken geçtiği
köĢe taĢları kullanılabilir. 1996-1998 yılları, devletler için eDevletin ve eDevlet
programlarının nasıl çalıĢtığının araĢtırıldığı yıllar olmuĢtur. Bu amaçla,
birçok devlet ileride sunacakları eDevlet hizmetlerinin geliĢimine yönelik
olarak geçirecekleri aĢamaları ele alan programlar hazırlamıĢlardır. Gartner
firması, geliĢtirdiği olgunluk modelinde, eDevletteki devlet hizmetlerinin
sunum derecelerini dört farklı aĢamada ele almıĢtır: var olma, etkileĢim, iĢlem
(transaction), dönüĢüm. Teknolojinin sürekli geliĢmesi ile birlikte önerilen
ayırım aĢamaları da farklılaĢabilmektedir. BaĢlangıçta farklı olarak algılanan
bazı aĢamalar teknolojinin ilerlemesiyle birlikte aynı algılanır hale de
7
gelmektedir. Geleneksel basit devlet hizmetlerinin sunumundan tamamen
bağlantılı hizmet sunumuna kadar uzanan Gartner olgunluk modeli,
devletlerin yaptıkları iĢleri nasıl iyileĢtirebileceklerini gösteren bir modeldir
(ġekil 2.2).
ġekil 2.2 Gartner olgunluk modeli aĢamaları
2.1.1 Var olma
Kamu kurumları hala web sayfaları yapıp, hizmetlerini çevrimiçi vermeye
çalıĢmaktadırlar. VatandaĢlara içerik sunulurken kamu kurumlarının çoğu
halen kurum odaklı bakıĢ açısıyla iĢleyiĢi ele almaktadır: her kurum kendi
web sitesinde kurum bilgilerinin sunuluĢunu ve sunulacak hizmetlerin
planlanıĢını ve daha sonra da bunların yayınlanıĢını kendisi planlamaktadır.
Yani her kurum “kendi gemisini kurtaran kaptan” edasıyla hareket etmektedir.
Birden fazla kamu kurumunu ilgilendiren bir hizmeti alacak bir vatandaĢ, ilgili
hizmet kurum odaklı planlandığından bir kurumdan öbürüne gitmek zorunda
kalmaktadır.
Bu
iyileĢtirilebilirdir.
yüzden,
devletlerin
sundukları
hizmetlerin
çoğu
8
Var olma aĢamasında (ġekil 2.3) webte var olma (bir servis sağlayıcıda site
barındırma), bilgi paylaĢımı, muhasebe kayıtlarının yansıtımı ve ofis
otomasyonu gibi faaliyetler yürütülmektedir.
ġekil 2.3 Var olma aĢaması
2.1.2 EtkileĢim
Bu aĢamadaki yeni kavram, “portal” kavramıdır. Portallarla bilgiler bir araya
getirilerek
vatandaĢın
daha
rahat
anlayabileceği
biçimde
vatandaĢa
sunulmaya baĢlandı. Portallar, internet kullanıcılarına çekici hizmetler,
bilgiler, link adresleri ve arama motorları vb. sunarlar. Ayrıca, bilgilerin
araĢtırılması ve farklı kullanıcı profiline sahip vatandaĢlara bilginin sorunsuz
bir biçimde iletilmesini sağlarlar. Böylelikle vatandaĢlarla kolay iletiĢim
kurulmasını mümkün hale getirirler. VatandaĢlar da bu rahat iletiĢim
sayesinde devletle daha rahat iletiĢim kurmaya baĢlayabilirler. Facebook ve
Myspace gibi toplumsal ağ sitelerinde bilgilerle kullanıcılar bir araya
getirilmiĢtir. Buna benzer bir devrim, kamu kurumları tarafında, teknolojinin
ilgili avantajları kullanılmadığından henüz görülememiĢtir. Kamu kurumları
9
vatandaĢa böyle bir yeniliği sunabilmek için bilgilerini olabildiğince paylaĢmalı
ve birden fazla kurumu ilgilendiren hizmetlerin sunumunda iĢbirliğine
gitmelidirler.
EtkileĢim aĢamasında web sitelerinden eFormların indirilmesi, basit iĢ
akıĢlarının
çevrimiçi
yapılması,
web
sayfaları
yayınlanmasının
otomatikleĢtirilmesi, basit iĢ kolu (muhasebe, tedarik zinciri yönetimi,
kurumsal kaynak planlaması vb.) uygulamaları, ePosta hizmetlerinin
sağlanması ve arama (search) gibi faaliyetler yürütülmektedir (ġekil 2.4).
ġekil 2.4 EtkileĢim aĢaması
2.1.3 Hareket (iĢlem)
Hareketlerin (iĢlem, transaction) çevrimiçi yapılabileceği düĢüncesinin öne
çıktığı hareket aĢamasına devlet perspektifinden bakıldığında oldukça ilginç
geliĢmeler gözlemlenmektedir. Sürücü ehliyetleri, pasaportlar, vergilerin
ödenmesi ile ilgili iĢlemlerin çevrimiçi verildiği bu aĢamada teknoloji
altyapısının tek baĢına yetkinliği yeterli olmamaktadır: teknolojik altyapıya
yasal çerçevenin eĢlik etmediği durumlarda birçok sorunla karĢılaĢılmaktadır.
10
Sayısal imza ihtiyaçları ve mevcut süreçlerin yeniden yapılandırılması ile ilgili
iĢ süreçleri analizleri bu aĢamada ortaya çıkmıĢtır. Hareketlerin çevrimiçi
gerçekleĢtirildiği bu aĢama, hem vatandaĢlar hem de kamu kurumları için
eDevletin gerçek faydalarının yavaĢ yavaĢ ortaya çıkmaya baĢladığı
aĢamadır.
Hareket
aĢamasında
self-servis
uygulamalar,
kamu
kurumları
arası
hizmetler, kamu kurumlarının iç portalları, ERP sistemleri, bütünleĢik iĢ
akıĢları, ileri düzeyde iĢ kolu uygulamaları, mobil personel desteğinin yanı
sıra belge ve kayıt yönetimi yer almaktadır (ġekil 2.5).
ġekil 2.5 Hareket aĢaması
11
2.1.4 DönüĢüm
Bu aĢama, teknolojinin devletlerin iĢ yapma biçimini iĢ dönüĢümleri
sayesinde gerçekten değiĢtirdiği aĢamadır. Normalde, bir okul için kaydolan
bir öğrencinin daha sonrasında iĢ hayatına atılması ve en nihayet vergi
vermeye baĢlayan bir vatandaĢ olması yaĢam döngüsü beklendik bir
durumdur. ĠĢte tam bu noktada, bir devletin tüm bu döngü içerisinde ortaya
çıkabilecek bilgileri bütünlükçü bir bakıĢ açısıyla ele alıp, yaĢam döngüsünün
içerisindeki
vatandaĢların
bilgileri
doğru
bütünlükçü
hizmetlere
bir
açıdan
doğru
yönetmesi
zamanda
sayesinde,
eriĢebilmeleri
sağlanmaktadır. Devletler artan bir biçimde teknolojiye yatırım yaptıklarından
çok yakın bir gelecekte birçok devletin bu aĢamaya geleceği söylenebilir. Bir
devlet dairesine gitme zorunluluğu olmadan vatandaĢın ilgili her iĢini otomatik
olarak yaptığı, doğru bilgiye zamanında ulaĢtığı ortamda, hayatın iĢleyiĢi hem
vatandaĢ hem de kamu kurumları açısından daha kolay ve daha verimli
olacaktır. Bu dördüncü aĢamaya daha erken geçen bir devletin bugünün
rekabet dünyasında bir adım öne geçeceği kolaylıkla söylenebilir: Bu
aĢamayı sağlayan bir devlet diğer alanlara ayırdığı yatırımı zamanla daha
kolay yapabilir hale gelecektir. Teknoloji, kamu kurumlarında hizmet için
ihtiyaç duyulan personel sayısını da azaltacaktır. Avrupa Birliği‟ndeki ve
Kuzey Amerika‟daki devletlerin Ģu sıralarda gelmeye çalıĢtıkları aĢama bu
aĢamadır. Bu aĢamaya gelebilmek için oldukça disipliner bir yöntem
izlenmelidir. Bu aĢamada, iĢ süreçlerinin iyileĢtirilmesi en üst düzeye
çıkarılacağından eDönüĢümün hizmet alımı noktasında vatandaĢa olan
katkıları daha belirgin olacaktır.
DönüĢüm aĢamasında, birden fazla elektronik kanaldan eriĢim stratejisi, aynı
hizmetin birden fazla kamu kurumu tarafından verilebilir hale getirilmesi,
bütünleĢik uygulamalar, bütünleĢik müĢteri bilgisi, bütünleĢik kimlik Ģeması
(ID schema), paylaĢılan hizmetler, performans yönetimi ve iĢ zekâsı yer
almaktadır (ġekil 2.6).
12
ġekil 2.6 DönüĢüm aĢaması
PaylaĢılan hizmetlere birkaç örnek olarak aĢağıdakiler verilebilir:
 eĠnsan Kaynakları (ĠĢ gücü bilgi ağı): Kamu kurumları birbirlerinin
personellerinden yararlanabilir. Devletin amacının vatandaĢa en iyi
biçimde
hizmet
etmek
olduğu
düĢünüldüğünde,
kamu
kurumları
birbirlerinin rakipleri değil, iĢ ortaklarıdır.
 eTedarik: Kamu kurumları bir bütün olarak düĢünüldüğünde bir kurumda
artık ihtiyaç duyulmayan bazı kalemlerin diğer bir kurumun tedarik etmek
için uğraĢ verdiği malzemeler olabileceği durumlar ortaya çıkacaktır.
 eAlım: Kamuyu bir bütün olarak düĢündüğümüzde bazen bir kurumun
eleman alım için yaptığı bir sınav baĢka bir kurumun eleman alım sınavıyla
çakıĢmaktadır. Kamu kurumları, KPSS sınavı sonrasındaki süreci de ortak
Ģekillendirmek zorundadır. Bu, kamuya eleman alım etkinliğini daha da
artıracaktır.
13
 eÖğrenme: Bir kamu kurumunun tedarik ettiği bir eÖğrenme (eLearning)
modülü baĢka bir kurumda da kullanılabilir. eÖğrenme modüllerinin
paylaĢılması kamuda maliyetlerin de düĢmesine neden olacaktır.
 eFinans: Kamu kurumları iĢleyiĢ süreçlerinde bir kurum yatırıma konu
meta arayıĢında iken baĢka bir kurumun mali yapısında bozukluklar
görülebilmektedir. Devlet kamu kurumlarının bütçe dengelerini eTakas
olanakları ile daha da sağlam bir zemine oturtabilir.
Devletlerin gelmiĢ oldukları eDevlet aĢamaları ve eDevletleĢme derecesi ile
ilgili birçok araĢtırma yapılmıĢtır. Bu araĢtırmalardan ikisinin sonucu aĢağıda
verilmektedir:
Çizelge 2.1 Devletlerin geldikleri eDevlet aĢaması
1.Var olma
2.EtkileĢim
Çin
Letonya
Lüksemburg
Hindistan
Slovakya Çek Cum.
Güneydoğu Asya Polonya
Yunanistan
Ġsviçre
Kıbrıs R.K.
Litvanya
3.Hareket 4.DönüĢüm
Almanya
Ġsveç
Belçika
Ġngiltere
Hollanda
Norveç
Ġspanya
Estonya
Ġtalya
Malta
Macaristan Avusturya
Portekiz
Ġzlanda
Ġrlanda
Fransa
Finlandiya
Danimarka
Slovenya
A.B.D.
Kaynak: Gartner olgunluk modeli temelinde Capgemini Consulting EU
araĢtırması: eGovernment Benchmarking 2006
Ġngiltere ve Kanada gibi ülkeler, eHizmetlerin verilebilmesine yönelik olarak
yasal
çerçevelerini
düzenleyerek
hareketleri
çevrimiçi
yapmaya
baĢlamıĢlardır. Ancak, her ne kadar Gartner‟ın 2006 yılı kıyaslamasında
Ġngiltere ve bazı ülkeler dördüncü aĢamada görünseler bile, aynı olgunluk
modeline
kendi
perspektifinden
değiĢik
bir
gözle
bakan
Microsoft
uzmanlarına göre dördüncü aĢamaya gelebilmiĢ bir ülke hala yoktur.
14
Microsoft, geliĢtirdiği “Connected Government Framework” yaklaĢımıyla,
devletleri bu dördüncü aĢamaya getirmeyi amaçlamaktadır.
Microsoft‟un
Bağlantılı Devlet Çatısı yaklaĢımı ilerleyen bölümlerde anlatılacaktır.
Çizelge 2.2 Dünyadaki 198 ülkenin eDevlet derecesi
Sıra
Ülke
Skor
Sıra
Ülke
Skor
1
Güney Kore
74,9
14
Dominik Cum.
41,0
2
Singapur
54,0
15
Bahreyn
40,3
3
Tayvan
51,1
16
Ekvator Ginesi
40,0
4
A.B.D.
49,4
16
LihtenĢtayn
40,0
5
Ġngiltere
44,3
18
Andorra
39,0
6
Kanada
44,1
19
Yeni Zellanda
38,4
7
Portekiz
43,8
20
Ġtalya
38,0
8
Avustralya
43,5
21
Ġspanya
37,7
8
Türkiye
43,5
22
Hong Kong
37,5
10
Almanya
42,9
23
Finlandiya
37,3
11
Ġrlanda
42,4
24
Vatikan
37,0
12
Ġsviçre
42,3
25
Malezya
36,9
13
Brazilya
41,1
Kaynak: Brown Üniversitesi Global eGovernment araĢtırması (2007 yılı)
DönüĢüm aĢaması ile mevcut süreçlerin oldukları halleriyle teknoloji
yardımıyla daha iyi iĢletilmesi kastedilmemektedir. Bundan çok farklı olarak,
bu
süreçlerin
yeniden
ele
alınması,
sadeleĢtirilebilecek
olanların
sadeleĢtirilmesi, gereksiz olanların iptal edilmesi, birleĢtirilebilecek olanların
birleĢtirilmesi, kısacası tüm süreçlerin yeniden ele alınarak yeniden
yapılandırılması ifade edilmektedir. Bir sonraki alt bölümde dönüĢüm
aĢamasına
hizmet etmek
üzere
mevcut
bir sürecin
nasıl yeniden
yapılandırılabileceği verilecektir.
2.1.4.1 Mevcut süreçlerin yeniden yapılandırılması
Süreçler yeniden yapılandırılarak (reengineering) dönüĢüm aĢamasında
eHizmetlerin daha etkin ve verimli bir biçimde verilmesi sağlanır. Yeniden
yapılandırılmıĢ süreçler (reengineered processes) dördüncü aĢamada
15
eDönüĢümün
katalizörleridirler.
ġimdi
mevcut
bir
sürecin
yeniden
yapılandırılıĢını inceleyelim [3]:
Mevcut Süreç:
Kamu kurumlarının çoğundaki mevcut uçtan uca süreçler, elle yapılan ve
zaman alıcı adımlara dayanmaktadır. Tipik bir akıĢta, vatandaĢ kamu
kurumunun web sitesine girer, bir uygulama formu indirir, indirdiği formu
yazdırır, bu formu doldurur ve sonra kamu kurumuna postalar. Diğer bir akıĢ
da Ģöyle olabilir: vatandaĢ kamu kurumunun bölge müdürlüğüne gider, formu
doldurup bir kurum çalıĢanına teslim eder. Burada, ilk akıĢa odaklanalım.
Sonuçta tanıtılacak çözüm mimarisi, “Ģahsen bölge müdürlüğüne gitmeyi”
önleyecek bir çözümü de sağlayacaktır.
ġekil 2.7 Formların elle iĢlenmesine dayalı mevcut süreç
VatandaĢın doldurduğu form kamu kurumu tarafından alındığında, gözden
geçirme/onaylama yetkisi olan bir kurum çalıĢanına (bundan sonra “onay
makamı” olarak anılacak) elle gönderilir. Onay makamı formun eksiksiz
doldurulup doldurulmadığına bakar;
vatandaĢın isteğine kabul/ret kararı
vermeden önce adres ve adli sicil doğrulama için gerek gördüğünde formu
dıĢ hizmet birimlerine gönderebilir. Süreçte kullanılan formlardaki veri ve
kabul/ret kararının sonuçları nedenleriyle birlikte elle arka uçtaki iĢ kolu dalı
16
bilgisayar sistemlerine girilir. Genellikle, kâğıt formlar, kayıt koruma ve ihtiyaç
duyulduğunda tekrar kullanmaya yönelik olarak dosya dolaplarında saklanır.
BaĢvuru sonucuna yönelik tebliğler vatandaĢlara/kullanıcılara genellikle bir
mektupla
bildirilir.
VatandaĢın/kullanıcının
ilgili
isteği
onaylanmıĢsa,
vatandaĢın/ kullanıcının istediği kâğıt belgeler de mektupla gönderilir.
Yeniden YapılandırılmıĢ Süreç:
Otomasyonun ana amacı, teknolojinin akıllı uygulamalarıyla süreçleri en iyi
hale getirmektir. Klasik form iĢleme süreçleri, kâğıt kullanımına ve hata
oluĢmasına meyilli elle yapılan iĢlere dayandığından vatandaĢ ve kamu
kurumu arasındaki hizmetin sunuluĢ süresi (istek + cevap) uzundur. Kamu
sektöründeki kurumlar dikkate alındığında, uçtan uca formların iĢlenmesinde
süreçlerin en iyi hale getirilmesi için birçok fırsat vardır. VatandaĢın form
gönderim sürecinde kâğıt kullanımı tamamen elenebilir ve kâğıtların yerini
eFormlar alabilir. VatandaĢlar, bir kamu kurumunun web sitesinden güvenli
biçimde formları elektronik olarak doldurup gönderebilirler. Formu alan kamu
kurumunun tarafında, eFormların otomatikleĢtirilmiĢ süreç iĢ akıĢları elle
yapılan adımların hamaliyesini yok eder. AĢağıda verilen eForm iĢleme
örneği, bir çözüm çatısı olup diğer benzer form iĢleme süreçlerinde uçtan uca
form iĢleyiĢ etkinliklerine uyarlanabilir.
17
ġekil 2.8 Yeniden yapılandırılmıĢ süreçte formların otomatik iĢlenmesi
Formların otomatik iĢlenmesine dayalı yeniden yapılandırılmıĢ süreç için
kamu kurumu tarafındaki ortaya çıkan fırsatlar Ģunlardır:
1. Süreç adımlarını otomatik onaylama (form gönderiminin eFormlar
yardımıyla otomatikleĢtirilmesi vb.)
2. Üçüncü Ģahısların yazdığı doğrulama hizmetleriyle web servis tabanlı
bütünleĢme
3.
VatandaĢ
senaryolarının
odaklı kullanıcı
iyileĢtirilmesi
tecrübelerinden
(formlara
yararlanarak
yönelik
iĢ
onaylama
akıĢlarının
otomatikleĢtirilmesi)
4. Kayıtların elektronik yönetimi
5. Gereksiz veri giriĢleri gerektirmeden kamu kurumundaki iĢ kolu
uygulamalarıyla veri bütünleĢmesi
6. VatandaĢın baĢlattığı sürecin eDurumunun bildirimi (state of application).
18
Sistemi kullananların (dıĢtaki kullanıcılar ve kamu kurumunun kendi
çalıĢanları) memnuniyeti ve formların daha iyi iĢleniĢine paralel olarak yüksek
yatırım dönüĢü bu fırsatlardan yararlanıldığında elde edilebilir.
Kamu kurumlarının eFormların iĢleniĢlerinde dikkat edilmesi gereken noktalar
olarak ise aĢağıdakiler sıralanabilir:

Güvenli form gönderimi

VatandaĢların kiĢisel gizliliği

Belge onaylama ilkeleri

Üçüncü Ģahısların hizmetleriyle bütünleĢmeye bağlı standartlar

Belge koruma ilkeleri

Olası aksiliklere karĢı sağlamlık (disaster recovery)

Düzenleyici ve uyumlaĢtırıcı gereksinimlerin değiĢimine esneklik
2.1.4.2 Formların otomatik iĢlenmesine yönelik MS baĢvuru mimarisi
Formların otomatik iĢlenmesine yönelik çerçevede, sektör lideri Microsoft‟un
Ofis ĠĢ Uygulaması BaĢvuru Mimarisi‟nin eForm iĢlemede sunduğu çözüm
çatısı ise aĢağıdaki Ģekilde verilmiĢtir (ġekil 2.9).
19
ġekil 2.9 Microsoft Ofis ĠĢ Uygulaması BaĢvuru Mimarisi
Form iĢlemeyi otomatikleĢtirmek ve form iĢleme sürecini iyileĢtirip en üst
düzeye çıkarmak için kullanılan teknoloji çözüm çatısının dört katmanı veri,
uygulama hizmetleri, verimlilik ve sunumdur. Veri katmanı, çözümün
etkileĢeceği veri depolarını içerir. Belgeleri depolamakta kullanılan içerik
veritabanları, iĢ kolu veri depoları, kimlik depoları ve kullanıcı dizinleri ve form
iĢlemede bir rolü olan üçüncü Ģahısların hizmetleri veri katmanını oluĢturur.
Uygulama hizmetleri katmanı, formları iĢleme hizmetleri ve bu hizmetlerin iĢ
akıĢları, arka uç iĢ kolu sistemleriyle ve üçüncü Ģahısların hizmet
sağlayıcılarıyla bütünleĢecek bütünleĢme hizmetlerinden oluĢur. Verimlilik
katmanı; belge oluĢturma ve arĢivlemenin yanı sıra içerik yönetim süreçleri
ile güvenli iĢbirliği ve iletiĢim için vatandaĢ odaklı arabirimlerin sunulduğu
hizmetlerden oluĢur. Sunum katmanı, dıĢ kullanıcılar/vatandaĢlar ve içteki
kurum çalıĢanları tarafından kullanılan kullanıcı arabirimi öğelerinden oluĢur.
20
eFormlarla ilgili dikkat edilmesi gereken birçok nokta vardır. DıĢ kullanıcılara
sunulan kullanıcı arabirimi, farklı platform ve tarayıcılarda çalıĢabilmelidir.
eFormların görsellenme yetenekleri yeterince esnek olmalıdır. eFormların
çatısı, istemci tarafındaki girdileri doğrulayabilmeli ve hataları anlayıp formu
gönderenleri
uyarabilmelidir.
Bu
noktada
“form
düzeyi
doğrulama”
kullanılabilir. Bu düzeyde, kullanıcı daha formu doldurduğu aĢamada yani
henüz gönder tuĢuna tıklamadan form elemanlarındaki doğrulama kuralları
yürütülür (programcı tarafında .NET platformundaki “RequiredFieldValidator”
nesnesine benzer olan diğer platformlardaki nesneler bu amaca yönelik
olarak kullanılabilir). Kurum çalıĢanlarının kullanacakları kullanıcı arabirimleri,
verimlilik istemcileriyle sorunsuz bütünleĢebilmelidir. Sunum katmanında yer
alan kullanıcı arabirimleri ve verimlilik istemcileri arasındaki farkı gösteren
somut bir örnek tezin beĢinci bölümünde sunulan uygulamada verilecektir.
21
3. BĠRLĠKTE ÇALIġABĠLĠRLĠĞĠN FĠKĠRSEL ALTYAPISI
Devlet hizmetlerinin evriminin anlatıldığı ikinci bölümde, Gartner‟ın olgunluk
modelinden bahsedilmiĢti. Bu modelin dördüncü aĢaması olan dönüĢüm
aĢamasının devletlerin eDevlet felsefesinin getirdiği avantajlardan gerçek
anlamda yararlanacakları aĢama olacağı verilmiĢti. DönüĢüm aĢamasının
anahtar kavramı olan birlikte çalıĢabilirliği sağlayan teknolojik altyapıya geçiĢ
yapacağımız bu bölümde, önce birlikte çalıĢabilirliğin kısa bir geçmiĢi
verilecek, daha sonra ise birlikte çalıĢabilirlik için öncül adımlardan biri örnek
olarak verilecektir. Bölüm sonunda Microsoft‟un birlikte çalıĢabilirliğe çözüm
için geliĢtirdiği Bağlantılı Devlet Çatısı iĢlenecektir.
3.1 Birlikte ÇalıĢabilirliğin Kısa Bir Tarihçesi
Günümüzde iĢ ihtiyaçlarını karĢılamaya yönelik teknoloji, çeĢitli yatay
platformlarda geniĢlemeye devam etmektedir. ĠĢ ihtiyaçlarını karĢılamaya
yönelik teknoloji farklılaĢtıkça, farklı teknolojileri benimseyen kamu kurumları
arasındaki iletiĢim ve veri değiĢimi de gittikçe zorlaĢmıĢtır. Teknoloji
çözümlerinin farklılaĢan yatay platformları aĢağıda gösterilmektedir (ġekil
3.1) [5]. ĠĢ ihtiyaçları için farklı teknolojileri kullanan kurumların etkileĢimi de
kullanılan teknolojiler arası iletiĢimin zorluğu arttığından zayıflamaya
baĢlamıĢtır. Bunu önlemek için birlikte çalıĢabilirliği sağlayacak bir takım
standartların geliĢtirilmesi zorunlu olmuĢtur. Birlikte çalıĢabilirliğin kısa bir
tarihçesinin verileceği bu bölümde birlikte çalıĢabilirliği sağlayıcı bu
standartlardan da bahsedilecektir.
22
Ġstemci Uygulamaları
Sunucu Uygulamaları
Open Office, Star Office, Microsoft Office, Adobe
Photoshop, Symantec, Norton, Firefox, Opera,..
Jboss, BEA, Zope, WebSphere, JD Edwards,
Oracle, SAP, Apache, Microsoft Biz Talk, .NET,..
Veritabanları
IBM, MS, Oracle
ĠĢletim Sistemleri & Aracı
Yazılımlar
Apple, HP, IBM, MS, Sun
Sistem Sağlayıcılar
HP, Sun, Fujitsu, IBM, Dell
Ağ Sağlayıcılar
Cisco, Extreme, Nortel, 3COM,
Juniper
ĠĢlemciler
X86-32, X86-64, Sparc, PPC,
IA64
Depolama
EMC, Dell, Network Appliance,
HP
ġekil 3.1 Teknoloji çözümlerinin farklılaĢan yatay platformları
Birlikte çalıĢabilirliğin tarihçesine bakıldığında [5];
IBM,
kiĢisel
bilgisayarı
ürettiğinde
bir
takım
teknik
belirtimler
(spesifikasyonlar) de yayınlamıĢtır. IBM‟in yayınladığı bu teknik belirtimler
“açık standartlar” değildi. Ancak, bu belirtimler üçüncü Ģahısların yeni çevre
birimleri
geliĢtirip
geliĢtirmelerine
bu
platform
etrafında
olanak
vermiĢtir.
Ġhtiyaç
rekabetçi
duyulan
en
bir
ekosistem
önemli
birlikte
çalıĢabilirlik istemi, büyük veri hacimlerini iĢlemek ya da birçok uçbirime
birden hizmet vermek üzere tasarlanmıĢ ana çatı bir bilgisayara 3270 uç
birim donanımın bağlanması olmuĢtur.
Daha sonra, Microsoft, kendi iĢletim sistemi için, sistemin fonksiyon ve
verilerini kullanmasına izin veren uygulama programı arayüzleri yayınlamıĢ,
böylelikle program geliĢtiricileri program geliĢtirebilmiĢtir. Microsoft‟a özel
olup açık olmayan bu arayüzler, güçlü ve rekabetçi uygulamalar pazarının
doğmasına neden olmuĢtur.
23
Daha sonra, müĢteriler bu cihazlar arasında kaynaklarını paylaĢabilmek
istemiĢlerdir. Birden fazla firma bu isteği karĢılayabilecek protokol geliĢtirip
tekelleĢmeye çalıĢmıĢlardır:

IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange):
Novell Netware iĢletim sistemleri kullanan ağlar için geliĢtirilmiĢtir.

NetBIOS (Network Basic Input/Output System): NetBIOS, Sytek firması
Tarafından IBM‟in kiĢisel bilgisayarlardan oluĢan ağı için 1983‟te
geliĢtirilmiĢtir.

Vines (Virtual Integrated NEtwork Service): Banyan firması, VINES
sistemini Unix üzerine geliĢtirilmiĢtir.
Pazar
geliĢip
belirgin
bir
büyüklüğe
ulaĢtığında,
müĢteriler
birlikte
çalıĢabilmek istemiĢlerdir. Birlikte çalıĢabilirlik çözümüne, açık bir standart
olan TCP/IP‟nin geliĢtirilmesiyle ulaĢılmıĢtır. Bugün, tüm üreticiler TCP/IP‟yi
varsayılan protokol olarak otomatik olarak desteklemektedirler.
TCP/IP‟nin geliĢtirilip kullanılmaya baĢlanması, cihazlar arasında daha büyük
ölçekli bağlantılılığı sağlamıĢ, bu ise ağ üzerinde kaynak paylaĢımı ve
sunumu için daha geliĢmiĢ protokollerin olmasını gerektirmiĢtir. Bu
gereksinim, sonuçta HTTP, HTML ve iliĢkili teknolojilerin keĢfedilip
geliĢtirilmesiyle sonuçlanmıĢtır.
Bu standartlar dünyanın her yerinde aynı anda kullanılabildiğinden, taban
iletiĢim altyapılarının karmaĢıklığını önemli ölçüde gidermiĢtir.
TCP/IP ve HTTP‟nin evrimiyle birlikte, iletiĢim altyapıları boyunca elektronik
iĢlemlerin (transaction) ve iĢ süreçlerinin yapılabilmesi için müĢteriler
makinaları birbirlerine bağlamanın faydalı olacağını anlamıĢlardır. Bu talep,
biliĢim sektörünün XML‟i ve web servisleriyle iliĢkili standartları geliĢtirmesiyle
24
sonuçlanmıĢtır. Bu standartlar sektördeki IBM, Sun ve Microsoft gibi birçok
oyuncu tarafından iĢbirliği içinde geliĢtirilmiĢtir.
Birlikte
çalıĢabilirlikle
ilgili
yukarıda
verilen
kısa
tarihçeden,
birlikte
çalıĢabilirliğin geliĢtirilmesi noktasında müĢteri talebinin anahtar etken olduğu
ve bu süreçte birçok aĢamanın olduğu sonucu çıkarılabilir.
GeçmiĢte yaĢanılan bu tarihi akıĢ içinde belirli bir döngünün gelecekte de
yaĢanacağı kolaylıkla söylenebilir:
1. Ġlk önce, herhangi bir yeni teknolojinin emekleme aĢamalarında müĢteri
talebini karĢılamak üzere birçok rekabetçi ve tekelci çözümler geliĢtirilecektir.
2. Sonra, talep gerçekten kritik sayılabilecek bir düzeye ulaĢtığında bir
konsensüs geliĢecek ve ortak ihtiyaçları karĢılamak üzere açık standartlar
ortaya çıkacaktır.
3. Sorun yığınları arttıkça müĢteri ihtiyaçlarını karĢılamak için biliĢim
sektöründe daha çok iĢbirliğine ihtiyaç duyulacaktır.
4. Sonuçta, teknolojinin bugünkü durumu itibarıyla, kendi geliĢim stratejisi
içerisinde birlikte çalıĢabilirliği odak nokta olarak ele almayan herhangi bir
sağlayıcı, müĢteri talebini karĢılayamayacaktır.
3.2 Birlikte ÇalıĢabilirlik Öncesi Öncül Adımlar
Yüksek düzey teknolojilerin kullanılmasını zorunlu kılan birlikte çalıĢabilirliğin
bir sistem olarak yerleĢtirilmesinden önce, dikkat edilmesi gereken bazı
noktalar vardır. Bu alt bölümde bu noktalardan biri örnek olarak iĢlenecektir:
Kamu kurumlarındaki veritabanları kurumsal ölçekli projelerde verimli
kullanılabilmeli ve buna bağlı olarak iĢ zekası ve entegrasyon gibi konulara
hizmet edebilmelidir. Veri, çok farklı teknolojilerle bilgiye dönüĢtürülebilir.
Verinin bilgiye dönüĢtürülmesinden önce ele alınabilecek konulardan biri,
hareketsel (iĢlemsel) sistemlerde yer alan verilerin tutarlılığı, temizliği ve
25
amaca hizmet etmesidir. Birlikte çalıĢabilirliği iĢlevlendiren yüksek düzey
biliĢim teknolojileri, bu özellikteki verilerden sağlıklı bilgi elde edebilir. Birçok
kurumda
ve
birçok
uygulamada,
iĢlemleri
yönetecek
operasyonel
veritabanlarında verinin tutarlılığı ve temizliği, ilgili veritabanlarından önce bu
verinin toplandığı uygulama ayağında baĢlamaktadır. Ġlgili verilerin toplandığı
uygulamada, kullanıcıya belirli bir desen ve standardı olmayan veri girme
imkânı sağlayan birçok zorunlu veya seçimli alan vardır. Bu değiĢik ölçekteki
kamu kurumlarının operasyonel uygulamalarında var olan bir durumdur.
Böyle uygulamalarla toplanan verinin bilgiye dönüĢtürülmesi sürecinde veri
madenciliği, veri modellemeye dayanan OLAP, raporlama gibi iĢ zekâsına
yönelik teknolojileri uygularken uygulamada toplanan verinin standardının
olmamasından dolayı bu veriden madencilik yaparak sonuç üretmek oldukça
güçtür. Belirli standartlar ortaya konularak, uygulamadan üretilen ve kurumsal
tabanda
biriktirilen
verilerin
eDevlet
ortamında
kurumlar
arasında
kullanılabilirliği garanti altına alınmalıdır. Örneğin, trafik kazalarının bilgilerinin
(kazanın yeri, tarihi, kazaya karıĢan araçlar vb.) toplandığı bir iĢlemsel
uygulamada, tutanağı hazırlayan kiĢiler kazaların yerini serbest alan (free
format) girebiliyorlarsa, veritabanına daha gelmeden önce uygulama
ayağında, aynı yer bilgisi için farklı yazımlar olabilecektir (Pendik KavĢağı,
Pendik KvĢ., Pendik E-5 2. Km vb.). Bu, aynı bilginin çok zor biçimde
standardize edilebilecek Ģekilde veritabanına alınmasına neden olur.
Dolayısıyla
uygulama
katmanında
veri
standartlaĢtırma
çalıĢmaları
yapılmalıdır. Bu standartlaĢtırma çalıĢmalarında her kurum kendi verisinin
temizliğinden sorumludur.
3.3 Microsoft’un Bağlantılı Devlet Çatısı Çözümü
Bir üst bölümde verilen veri desenlerinin standartlaĢtırılması gibi birçok
önemli unsur, eDevlete geçiĢte dönüĢüm aĢamasından çok çok daha önce
ele alınması gerekli unsurlardır. Bu bölümde artık bu tür sorunların aĢıldığı
varsayımı altında birlikte çalıĢabilirliğin sağlanmasına odaklanılacaktır.
26
Sunulan hizmetleri birbirleriyle bağlantılı hale getirip birlikte çalıĢabilir bir çatı
kurmaya yönelik olarak dünyadaki çalıĢmalar, ulusal çaptaki uygulamalar ile
yerel ve bölgesel uygulamalar olmak üzere ikiye ayrılabilir:
 Ulusal çaptaki uygulama örnekleri: Ġngiltere (Gateway), Kolombiya
(Connectividad), Hindistan(India One), Tayland (Gateway).
 Yerel ve bölgesel uygulama örnekleri: Ġtalya (Easi II), Avusturya ve Ġsviçre
(E-GORA),
Almanya
(eGSK),
Ġspanya
(Digital
Cities),
Hindistan
(Softframe), Endonezya (DIY), Latin Amerika (eGov.net), Ġsveç (Ġsveç
Yerel Devlet Perspektif Tasarımı), Letonya (Starter Kit), A.B.D. (CGF –
City of Camden, NJ).
Yukarıda
verilen
ulusal
çaptaki
uygulamalar
ile
yerel
ve
bölgesel
uygulamalarda birlikte çalıĢabilirlik noktasında çözüm üretmek için birçok
firma kendine özgü strateji geliĢtirmiĢtir. Bu tezde Microsoft‟un sunduğu
Bağlantılı Devlet Çatısı‟nın (BDÇ, Connected Government Framework)
incelenmesinin seçilmesi bu firmanın sektörde lider olması ve yönelim
belirleyici olmasından kaynaklanmaktadır (Burada buna yönelik olarak iki veri
vermek gerekirse: IDC 2004 yerel katma değer raporuna göre; MS 1 $‟lık ciro
karĢılığında 7,5 $‟lık bir iĢ hacmi yaratmaktadır; Türkiye biliĢim sektörünün
150000 çalıĢanının 99000‟i Microsoft ekosisteminde çalıĢmaktadır).
Microsoft, teknolojik geliĢme vizyonunu, birlikte çalıĢabilirlik noktasına
odaklamıĢ olup bu doğrultuda adımlar atmaktadır. Microsoft‟un birlikte
çalıĢabilirliğe bir çözüm olarak geliĢtirdiği bağlantılı devlet çatısının tanımına
gelindiğinde:
27
Microsoft Bağlantılı Devlet Çatısı (BDÇ) ≡
Kamu kurumlarında, eğitim ve sağlık sektöründe bağlantılı sistemlerin
gerçekleĢtirilmesini destekleyen, birlikte çalıĢabilirliğin sağlanmasında ortaya
çıkan sorunları gideren ve böylelikle birlikte çalıĢabilirliğe olanak veren, açık
ve geniĢleyebilir planlar, yeniden kullanılabilir fikri mülkiyet, yol haritaları ve
referanslar sağlayan bir çatıdır.
Microsoft, BDÇ‟nı zaman içinde geliĢtirmektedir. BDÇ, birlikte çalıĢabilirliği
baĢarmada bazı referanslara sahiptir (Ġngiltere, Ġtalya, Avusturya, Ġsviçre,
Almanya, A.B.D., Ġspanya, Ġsveç, Romanya, Çek Cumhuriyeti, Tayvan, Mısır,
Slovakya).
BDÇ‟nın özünde, açıkça altı farklı düzeye odaklanmıĢ devletin birlikte
çalıĢabilirliği planı vardır. Bunlar:
1. Altyapı ve Ağ OluĢturma
2. Veri EriĢimi
3. Hizmet ve BileĢenler
4. Hizmet ve Süreç BütünleĢmesi
5. Güvenlik ve Kimlik
6. Yönetim
BDÇ, devlet içerisinde teknoloji kullanımını iyileĢtirerek en üst düzeye
çıkarmayı amaçlamaktadır. Varlık amacı vatandaĢa ve kurumlara hizmet olan
devlet, BDÇ ile yapısını hizmet odaklı ve hizmetten geriye doğru
yapılandırdığından
bu
amacına
ulaĢabilmektedir.
eDevlete
geçiĢ
aĢamasında, devletin sahip olduğu teknolojilerden daha iyi yararlanabilmesini
sağlamak ve kullandığı teknolojiyi iyileĢtirmek oldukça önem kazanmıĢtır. Bu
amaçla,
devlet
hizmetlerinin
daha
etkin
sunumu
için
iĢ
süreçleri
oluĢturulmuĢtur. ĠĢte tüm bu iĢ süreçlerinin entegrasyonuna dayalı bir çözüm
çatısı olan BDÇ ile teknoloji kullanılarak devletin dönüĢtürülmesi, devleti
28
oluĢturan parçalarda sonuçların iyileĢtirilmesi ile mümkün olmaktadır. Bu
çatının ayrıntılı bir çizimi aĢağıda verilmektedir (ġekil 3.2) [4].
29
ġekil 3.2 Microsoft Bağlantılı Devlet Çatısı
30
Bu çatının katmanlarını inceleyecek olursak:
1. Ġlke Katmanı: Bu katman, ilkeler ve stratejiler katmanıdır. Bu katmanda
devletlerin eDevlete geçiĢlerinden önce aĢmaları gereken bazı adımlar yer
almaktadır. Dijital imzalar ve iĢ süreçlerinin yeniden yapılandırılması için
gerekli yasal çerçeve gibi bazı öğeler bu katmanda yer almaktadır.
Devletlerin politikalarının teknolojinin uygulanmasına etkileri bu katmanda
farklılık gösterebilmektedir. Microsoft, bu farklılıklara karĢı gereken duyarlılığı
gösterip yapıyı yeniden Ģekillendirebilme çalıĢmaları yapmaktadır.
2. Altyapı Katmanı: Örgütsel verimliliğe katkı sağlayan ve farklı devlet
organları arasında bilginin etkin paylaĢımına olanak veren SharePoint
teknolojisi ile Active Directory ve tüm güvenlik yönetimi ürünleri bu
katmandadır.
3. ĠĢlemsel Uygulamalar Katmanı: Gerekli olan temel hizmetlerin sunulduğu
katmandır. Burada gayet kapsamlı ve bağlantılı olan eDevlet hizmetlerine
odaklanılmaktadır. Bu katmandaki “MüĢteri Çağrı Merkezi” ile ilgili bir durum
olarak: bir çağrı merkezinden gelen ve birden fazla kamu kurumuyla iliĢkili bir
kamu hizmet isteği bilgisi ilgili kamu birimlerine yönlendirilebilir (bunun için
çağrı merkezinde kamu kurumlarından bir kiĢinin olması gerekmektedir). Bu
yönlendirme, ilgili süreci basitleĢtirir. Bunun gibi, birden fazla kamu kurumunu
ilgilendiren süreçlerde birçok sadeleĢtirmeye gidilebilir. Sürücü ehliyetleri,
ePasaport, çağrı merkezi gibi hizmetler bu katmanda bulunmaktadır.
Microsoft teknolojileri BDÇ‟nı gerçekleĢtirebilecek yapıdadır. Özel bir takım
gereksinimleri olan sağlık ve eğitim gibi alanlarda Microsoft fikri mülkiyetler
ve rehberlik hizmetleri geliĢtirmiĢtir. Bu spesifik alanlar için geliĢtirilen çözüm
önerileri benzer isimlendirme terminolojisini taĢımaktadır (Connected Health
Framework, Connected Education Framework).
Alt bölümlerde çok kısa bir biçimde değinilecek olan Microsoft‟un teknoloji
olgunluk modeli, iĢ verimliliği altyapı optimizasyonu ve uygulama platformu
altyapı optimizasyonu BDÇ‟nın gerçekleĢtirilmesine yardımcı modellerdir.
31
3.3.1 Microsoft Teknoloji Olgunluk Modeli (altyapı optimizasyonu)
Bağlantılı devlet çatısının gerçekleĢtirilebilmesinde; devletler, hizmet veriĢ
biçimlerini iyileĢtirmek için birtakım değiĢikliklere gitmek zorundadırlar.
Sektördeki en iyi uygulamalar dikkate alınarak geliĢtirilen “Teknoloji Olgunluk
Modeli”yle Ģirketlerin (daha genelde kurumların) teknolojiyi ne denli etkili
kullanabildikleri ölçülmektedir. Bu model sayesinde; Ģirketler sahip oldukları
teknolojiyi daha iyi kullanarak sahip oldukları teknolojiden daha çok
yararlanabilirler, teknolojik olarak bulundukları noktayı ve gelmek istedikleri
nokta için ihtiyaç duydukları teknolojileri de anlayabilirler.
ġekil 3.3 Microsoft teknoloji olgunluk modeli
Yukarıdaki çizimde soldan sağa gidildikçe “teknolojik yetkinliklerin” ve
“varolan teknolojinin kullanımının” olgunluğu gittikçe artmaktadır.
32
3.3.2 ĠĢ verimliliği altyapı optimizasyonu
ĠĢ verimliliği altyapı optimizasyonunda üç noktada ele alınmaktadır:

BirleĢik iletiĢim ve iĢbirliği: eDevletin etkin biçimde iĢleyebilmesi için
vatandaĢlarla devletin farklı eriĢim kanallarından iletiĢim kurabilmeleri
gerekmektedir.
Dolayısıyla,
ortak
çalıĢma
alanları
ve
portallar,
mesajlaĢma, anında mesajlaĢma/ses iletiĢimi, web konferansı gibi
teknikler olabildiğince mümkün olmalıdır.

Kurumsal içerik yönetimi: Kurumsal içerik yönetiminde, bilgi paylaĢımına
ve etkin biçimde yönetimine odaklanılır. Belgelerin ve kayıtların yönetimi,
web içerik yönetimi, formların yönetimi ve arama bu bağlamda ele alınır.
VatandaĢla devlet arasında etkin bilgi paylaĢımı döneminin baĢladığı
portallarla birlikte bilgilerin tekrar etmemesi ve gerekli bilginin hangi kamu
kurumunda tutulacağı belli olmalıdır. Bunun için kamu kurumları arasında
etkin bilgi paylaĢımı olmalıdır.

ĠĢ zekâsı: Son zamanlarda oldukça vurgulanılan iĢ zekâsı noktasında,
performans yönetimi, raporlama ve analizin yanı sıra veri depolama
incelenir.
ġekil 3.4 ĠĢ verimliliği altyapı optimizasyonu
33
3.3.3 Uygulama platformu altyapı optimizasyonu
Uygulama
platformu
altyapı
optimizasyonunda,
son
kullanıcıların
deneyimlerinden faydalanılarak sunulan hizmetlerin kalitesi arttırılmaya
çalıĢılmaktadır. 4. Bölüm‟de iĢlenecek olan hizmet odaklı mimari ile vatandaĢ
odaklı hizmet sunumlarının sağlanması kolaylaĢmaktadır.
ġekil 3.5 Uygulama platformu altyapı optimizasyonu
3.3.4 Bağlantılı devlet çatısı mimari tasarım düĢünceleri
Mimari tasarım ile ilgili açıklamalardan önce “mimari” ile neyin kastedildiğinin
verilmesi doğru olacaktır. “Mimari”, bilgi teknolojileri tabanlı çözümlerin
sunumu için temel oluĢturan standartlar ve teknolojiler kümesidir. Ġyi bir
mimarinin özellikleri olarak; göze alınabilir maliyetinin olması, güvenilirlik, BTtabanlı çözümlerin güvenli sunumu, sürekli değiĢen ihtiyaçlara hızlı ve etkin
bir biçimde uyarlanabilme esnekliği sayılabilir.
34
Microsoft‟un sunduğu birlikte çalıĢabilirlik çözümü olan BDÇ‟nda, kamu
kurumlarının hâlihazırda kullandıkları sistemler, birlikte çalıĢabilirlik sayesinde
mirasçı sistemler olarak kullanılmaya devam edilebilirler.
Teknolojik platformların çok sağlayıcılı ortamı ve sunulan yazılımların devam
eden yeni sürümlerinin ortaya çıkması da BDÇ çözümünde ele alınmıĢtır.
Hizmet odaklı mimariyi oluĢturan temel protokoller (web servisleri, XML,
SOAP, WSDL, BPEL) ve iliĢkili teknolojiler, iĢ ve teknoloji odaklı hizmetler,
uygulamaların
ölçeklenebilmesi
(hareket
(transaction)
hacimlerinin
geniĢlemesine duyarlılık, iĢlevsellik), güvenlik ile tasarım, program yazılım
geliĢtirme ve dağıtım, kimlik bütünleĢtirimi gibi etkenler de BDÇ‟nın
kurgulanmasında hesaba katılan diğer etmenler olmuĢlardır. BDÇ‟nın
mantıksal mimarisi aĢağıda verilmektedir (ġekil 3.6).
35
Hizmetin EriĢim Kanalları
Uygulama
Hizmetleri
Portal Hizmetleri
içerik
yönetimi
hizmetleri
içerik
yayınlama
hizmetleri
Sunum Hizmetleri
eForm hizmetleri
Kimlik Yönetimi
* Kullanım Ģartları
* Hizmete kaydolma
Doğrulama ve
Yetkilendirme
* Doğrulama
Metadata
Hizmetleri
Katma Değerli Hizmetler
MesajlaĢma Hizmetleri
Arama ve Dizinleme Hizmetleri
* Belge Gönderimi Hizmetleri
* ĠĢ süreci uyumlandırması
* Hizmet dizini
Kurum barındırımı (hosting)
Ödeme Hizmetleri
ĠĢ zekası
* Analiz * Tahmin * Temel Performans
Göstergeleri
Kurumsal veri deposu
Duyuru Hizmetleri
* ePosta * SMS
Altyapı Hizmetleri
Kurumsal Mimari
Altyapısı
Güvenli Devlet Ağı
DıĢ Bakanlıklar
EriĢim Kanalları
Yönetimi Hizmetleri
personel alımı hizmetleri
* Yetkilendirme
* Güvenlik jetonu
hizmeti
Yönlendirme ve
BütünleĢtirme Hizmetleri
Self-Servis
EriĢim Kanalları
(Ģirketler)
KiĢiselleĢtirme Hizmetleri
* Hizmet Yönetimi
* Hizmet yapılandırması
eDevlet Ağ Geçidi
Kimlik ve Güvenlik Hizmetleri
Self-Servis
EriĢim Kanalları
(devlet
çalıĢanları)
Çağrı Merkezi
Self-Servis
EriĢim Kanalları
(vatandaĢlar)
DıĢ Bakanlıklar
ġekil 3.6 Bağlantılı devlet çatısı mantıksal mimarisi
BirleĢtirilmiĢ
mesajlaĢma
BirleĢtirilmiĢ
iletiĢim
Yönetim ve
iĢlemler
Sistem iĢletimi ve
yönetimi
Yedekleme, geri
getirme hizm.
Dosya, yazıcı
hizm.
Yama (patch)
yönetimi hizm.
36
Önceki paragraflar boyunca, bağlantılı devlet çatısının mantıksal çerçevesi
çizilmeye çalıĢıldı. Bu mantıksal çerçeveyi gerçeklemek üzere, hizmet odaklı
mimari (SOA) son yıllarda en çok kendisinden bahsettiren çözüm olarak
ortaya çıkmaktadır. SOA tekniğine 4. Bölüm‟de ayrıntılı olarak giriĢ yapılacak
ve bu mimariyi gerçekleĢtirecek temel teknolojiler olan SOAP (simple object
access protocol) ve web servisleri de yine 4. Bölüm‟de tanıtılacaktır.
3.3.5 Dünyadaki bağlantılı devlet çatısı uygulamaları
Bu altbölümde Mısır‟da ve Çek Cumhuriyeti‟nde BDÇ‟nın uygulanmasına yer
verilecektir. Bu altbölümde verilecek iki çizim 4. Bölüm‟e bir ön hazırlık
niteliğindedir.
3.3.5.1 Mısır Hükümeti’nin uygulaması
Mısır‟daki eDevlet çalıĢmaları uygulamaları Ġdareyi GeliĢtirme Devlet
Bakanlığı ve ĠletiĢim ve Bilgi Teknolojileri Bakanlığı bünyesinde yürütülen bir
çalıĢmadır. Haziran 2007 itibariyle birçok hizmet çevrimiçi verilmeye
baĢlamıĢtır. “http://www.egypt.gov.eg/english/default.asp” sitesinden ilgili
çalıĢmaların içeriği hakkında daha ayrıntılı bilgi alınabilir.
GerçekleĢtirilen bağlantılı çatının ekonomiye katkısı büyüktür: sürücülerle ve
motorlu araçlarla ilgili tüm hizmetler tek bir baĢlık altında toplanmıĢtır;
vatandaĢlar bir araç kaydı veya sürücü ehliyetli almak için farklı ofislere
gitmek gibi durumlardan kurtulmuĢlardır. Elektrik ve telefon faturalarının
ödenmesi ve pasaport yenileme gibi iĢlemler kolaylaĢmıĢtır.
Mısır hükümeti için aĢağıdaki BDÇ çözümü önerilmiĢtir.
37
MISIR: eDEVLET PORTALI
XML ġema
mesajlaĢması
Yetkilendirme Motoru
ĠletiĢim Merkezi
Ġzleme Motoru
(Tracking Engine)
Öncelik Motoru
(Priority Engine)
Yönlendirme
Motoru
(Routing Engine)
Kaydolma Motoru
(Registration Engine)
Abone Motoru
(Subscription Engine)
Güvenli Profiller
Mısır Ağ Geçidi
Yönlendirme Motoru
Bağlama Motoru
(Binding Engine)
XML ġema
mesajlaĢması
XML ġema
mesajlaĢması
Hizmet Bağlayıcı
Hizmet Bağlayıcı
Hizmet Bağlayıcı
1. HĠZMET
2. HĠZMET
3. HĠZMET
ġekil 3.7 Mısır hükümeti bağlantılı devlet çatısı çözümü
Bu çatıda,
 eDevlet portalı: Çevrimiçi devlet hizmetlerine eriĢilmesini sağlar.
 Yetkilendirme motoru: Yetkilendirme, doğrulama ve kullanıcı üyelik bilgisi
sağlar.
 Yönlendirme motoru: ĠletiĢim izleme ve günlükleme (loglama) sayesinde
öncelik tabanlı içerik duyarlı yönlendirme sağlar.
 Hizmet
bağlayıcı
(SDK
adapter,
service
connector
gibi
isimlerle
anılmaktadır): Hizmetin arka ucuyla mesaj çevrimini ve bütünleĢmesini
sağlar. Hizmet bağlayıcı ile kamu kurumlarının içteki mirasçı uygulamaları
ve diğer uygulamaları, açık XML standardı sayesinde ağ geçidine
kolaylıkla bağlanmaktadır. Tüm iletiĢim XML üzerinde yürüdüğünden
çapraz platformlarda birlikte çalıĢabilirlik de mümkün olmaktadır.
38
3.3.5.2 Çek Cumhuriyeti Sosyal Hizmetler Birliği (CSSA) uygulaması
Çek Cumhuriyeti Sosyal Hizmetler Birliği (Czech Social Services Association,
CSSA) emeklilik sigortası, hastalık sigortası ve sağlık değerlendirmesi gibi
sosyal hizmetlerle uğraĢan bir kurum olup iĢlerinin bir kısmını merkezde bir
kısmını da 90 bölgesel ofisinde yürütmektedir. CSSA; ÇalıĢma ve Sosyal
ĠliĢkiler Bakanlığı, Sağlık Bakanlığı, ĠçiĢleri Bakanlığı, ġehirler Birliği, Bölgeler
Birliği ve bölgesel ve yerel düzeyde kamu idaresiyle iĢbirliği içerisindedir.
Birlik, sosyal hizmetlerle ilgili kimselere bilimsel veriler sağlamanın yanı sıra
üyelerine değiĢik ülkelerdeki tecrübeleri de aktarmaktadır. Birliğin üyeleri,
kurumlar ve gerçek Ģahıslardır. Bölgesel düzeyde 90 ofisiyle temsil edilen
CSSA‟nın bu ofisleri birbirlerinden bağımsız olup bölgesel kamu idaresi
noktasında iĢ ortakları olarak çalıĢmaktadırlar. Çek Cumhuriyeti‟nin bir nevi
Sosyal Güvenlik Ġdaresi olan CSSA‟nın diğer kurumlarla iliĢkisi aĢağıda
verilmektedir (ġekil 3.8).
BDÇ‟ndan önce CSSA‟nın hizmet verdiği kitle, CSSA‟yla nasıl iletiĢim
kuracağına
karar
verememekteydi.
CSSA,
bunu
önlemek
için
bilgi
sistemlerini geliĢtirerek müĢterilere sunulan hizmetin kalitesini iyileĢtirip
süreçlerle
yordamların
bütünleĢmesini
sağlayarak
müĢterilerin
bilgiye
herhangi bir zamanda herhangi bir ofisten eriĢmesini sağlamayı amaçlamıĢ
ve
bu
amacı
gerçekleĢtirmek
için
kendi
kurum
uygulamalarını
bütünleĢtirmiĢtir.
CSSA BDÇ modeli temelde Mısır‟da kullanılan BDÇ ile aynıdır: merkezi bir
ağ geçidi vardır; bu ağ geçidi sayesinde sunulan tüm farklı hizmetler
bütünleĢtirilebilir olup böylelikle tüm kamusal hizmetlere tek bir noktadan “one
stop shop” konseptiyle eriĢim mümkündür.
Kurum
uygulamalarının
bütünleĢtirilmesinde,
veri
bütünleĢmesi
web
servislerle; uygulama bütünleĢmesi Microsoft BizTalk Server 2004 tabanlı iĢ
akıĢı sistemleriyle yapılmıĢtır. BDÇ, iĢlerlik kazandıktan sonra, CSSA
39
müĢterileri bilgiye herhangi bir zamanda herhangi bir ofisten eriĢebilmiĢlerdir.
XML ve SOAP tabanlı standartlaĢtırılmıĢ iletiĢim kurulup varolan bilgi
sistemleri arasında akıllı veri değiĢimi sağlanmıĢtır.
BDÇ uygulamasının kazandırdıklarına gelince, Haziran 2005 itibarıyla
1.937.000 emeklilik formu (5811 kg kâğıt tasarrufu) iĢlenmiĢtir. Bu yönü
itibarıyla çevresel katkı ve iĢ gücü tasarrufu katkısı da büyük olmuĢtur.
Ağustos 2006 itibarıyla, 4.400.000 emeklilik ve sağlık sigortası formu kabul
edilmiĢtir (13200 kg kâğıt tasarrufu). Daha sonraları kabul edilen emeklilik ve
sağlık sigortası formu sayısı 11.000.000‟a çıkmıĢtır. CSSA, yaklaĢık
5.000.000 $ belge taraması ve teslimi giderinden kurtulmuĢtur (33000 kg
kâğıt tasarrufu). Uygulamayla birlikte kazanılan zaman tasarrufu da ayrıca
önemlidir [4].
ÇalıĢmalar sırasında Avustralya, Yeni Zelanda ve Sri Lanka‟nın yanı sıra
biliĢim alanında önde gelen ülkelerden olan Hindistan‟ın farklı eDevlet
mimarileri ile de karĢılaĢılmıĢtır. Bu mimariler tezin EKLER kısmında
verilmiĢtir.
40
Devlet Ağ Geçidi
Devlet Dairesi
Bilişim Bakanlığı
Çek Cumhuriyeti
Sosyal Güvenlik İdaresi
Maliye Bakanlığı
Çevre
Bakanlığı
Çek Cumhuriyeti
Gümrükler İdaresi
Ulaşım Bakanlığı
ġekil 3.8 Çek Cumhuriyeti devlet ağ geçidi
Orta Bohemya
Belediye Binası
Çek Cumhuriyeti
İstatistik Bürosu
41
4. BĠRLĠKTE ÇALIġABĠLĠRLĠĞĠN TEKNĠK ALTYAPISI
Üçüncü bölümün sonlarında, Mısır ve Çek Cumhuriyeti‟ndeki devlet ağ
geçitlerinin
çizimleri
yapılmıĢtı.
Bu
bölümde
bu
çizimlerin
fiziksel
gerçekleĢtirmelerini sağlamak üzere; önce hizmet odaklı mimari felsefesi ve
bu mimariyi gerçekleĢtirmek için kullanılan Simple Object Access Protocol
(SOAP) ve web servisleri teknikleri iĢlenecektir.
4.1 Hizmet Odaklı Mimari (Service Oriented Architecture, SOA)
Hizmet odaklı mimari, birlikte çalıĢabilirliğin gerçekleĢtirilmesinde her ne
kadar bir “felsefe” olsa da bu tezde 3. Bölüm ile teknik altyapının sunulacağı
4. Bölümü birleĢtirici bir tutkal olarak görev yapması uygun olacaktır. Çünkü
SOA felsefesinin bu bölümün baĢında verilmesi, SOA‟nın uygulanmasında
sıklıkla kullanılan SOAP ve web servisleri gibi temel teknolojilere düĢünsel bir
altyapı oluĢturmuĢ olacaktır.
Hizmet odaklı mimari, SOAP ve web servisleri bu tezde yararlanılan
kaynaklarda ([6], [7], [8]) oldukça basit ve yalın bir biçimde verilmiĢ olup bu
bölümde ilgili kaynaklardaki bilgiler daha da sadeleĢtirilerek sunulmaya
çalıĢılacaktır.
SOA, satılan bir bilgisayar yazılımı veya ürünü olmayıp birlikte çalıĢabilirliğin
gerçekleĢtirilmesinde çözümün nasıl olacağını söyleyen bir sistem tasarım
felsefesidir. SOA, web servis tabanlı standartlar ve protokollerle daha kolay
gerçekleĢtirilip
daha
kalıcı
olabilir.
SOA,
BT
kaynaklarının
nasıl
bütünleĢtirileceğini ve hangi servislerin kullanıma sunulacağını gösteren
mimari çizimler ve taslaklardan oluĢur. Web servisleri ise bir SOA çözümünü
gerçekleĢtirmek için belirli standartları ve dil protokollerini kullanır. Bu yüzden
web servisleri SOA‟nın uygulanma yöntemlerinden sadece birisidir.
42
Kamu tarafında çok değiĢik teknolojilerle bir arada çalıĢılırken karĢılaĢılan
asıl sorun, iĢ süreçleri birden fazla uygulamadan aynı anda faydalanmayı
gerektirdiği halde müĢteri iliĢkileri yönetimi ve kurumsal kaynak yönetimi gibi
önemli iĢ sistemlerinin diğer iĢ sistemlerinden ayrı olarak tek baĢlarına,
diğerleriyle bağlantısız çalıĢmasıdır. Bu sorunu aĢmak için kullanılan hizmet
oryantasyonunda (service orientation), dağıtık bilgi teknolojileri kaynakları
bütünleĢik
bir
çözüm
olarak
düzenlenir.
Bu
yolla,
BT
kaynakları
birimselleĢtirilirek bilgileri iĢ sistemlerinde bütünleĢtiren gevĢek bağlı iĢ
süreçleri oluĢturulur. SOA‟da bilgi teknolojileri altyapısının kısıtlarından
olabildiğince bağımsız iĢ süreçleri çözümleri üretilir. SOA‟nın yararlandığı
uygulamalarla, elle yapılan iĢler otomatikleĢtirilir, müĢteri ve paydaĢlarla
iliĢkiler dolayısıyla da iĢ süreçleri uyumlandırılır.
Hizmet oryantasyonunda farklı sistemler bütünleĢtirilir; her BT kaynağına
(uygulama, sistem, ticari bir paydaĢ vb.) arabirimlerle (genellikle arabirimler
web servisleridir) bir hizmet olarak eriĢilir. Hizmet sağlayıcıların iĢletim
sistemleri ve iletiĢim protokoleri farklıyken, hizmet sağlayıcılarına eriĢim
zordur. Hizmet oryantasyonunda, farklı sistemlerdeki iĢ mantığına ve bilgiye
eriĢirken standart protokoller ve arabirimler kullanılarak bu eriĢim sorunları
çözülür. Günlük iĢ uygulamalarının baĢarıyla gerçekleĢtirilmesinde ihtiyaç
duyulan temel hizmet yetenekleri ve arabirimler süreçlere devĢirilir (yani
“parçala böl yut”ta yutulmuĢlar birleĢtirilir). Her yeni süreç standart bir
arabirimle sunulduğundan, her bir hizmet sağlayıcının uygulaması, hizmet
tüketiliĢini etkilemeden değiĢtirilebilir. Bunun pratikte nasıl yapıldığı, 5.
Bölüm‟de adlandırma standardı oluĢturulup farklı web servisleri farklı
kitaplıklara derlenerek somut bir biçimde veilecektir.
SOA‟nın belirli bir hayat döngüsü vardır: Bir kurumun BT kaynaklarının (veri
sistemleri, mirasçı sistemler, iĢ kolu uygulamaları, paket uygulamalar ve ticari
paydaĢlara yönelik uygulamalar vb.) her biri, mal stokları ve müĢteri verileri
gibi çok özel çıktılar üretmekten sorumlu olan birer hizmet sağlayıcılarıdır.
Hizmet oryantasyonu, bu farklı ve bağlantısız bilgi kaynaklarını birbirine
43
bağlayıp, oldukça farklı iĢletim sistemleri, teknolojiler ve iletiĢim protokolleri
arasında köprü oluĢturur. Hizmet oryantasyonunun bu iĢleri yapıĢ süreci
tekrarlanır bir süreç olup yeni hizmetlerin oluĢturulması (“sun”), bu hizmetlerin
daha büyük toplu uygulamalara birleĢtirilmesi (“birleĢtir”), çıktıları tüketim
amaçlı olarak iĢ kullanıcılarına sunulması (tüket) döngüsünden oluĢmaktadır.
Bu döngünün aĢamalarına bakılırsa:
SOA‟nın sunum aĢaması: hizmetlerden hangilerinin taban uygulamalardan ve
verilerden oluĢturulacağına odaklanılır. Hizmet oluĢturumu ince veya iri
olabilir (sırasıyla: fine-grained ≡ tek bir hizmetin tek bir iĢ süreciyle eĢleĢmesi;
coarse-grained ≡ birçok hizmetin iliĢkili fonksiyonlardan oluĢan bir iĢ süreci
oluĢturması). Sunum aĢaması, hizmetlerin nasıl uygulanacağıyla da ilgilidir.
Taban BT kaynakları, web servisleriyle iletiĢime geçebildikleri ölçüde
iĢlevseldir.
SOA‟nın birleĢtirme aĢaması: Hizmetler oluĢturulduktan sonra, bu oluĢturulan
hizmetler daha karmaĢık hizmetlerin, uygulamaların veya çapraz iĢlevselliği
olan
(birden
fazla
oluĢturulmasında
bölüm
kullanılabilir.
baĢkanlığını
ilgilendiren)
iĢ
süreçlerinin
Hizmetler
birbirlerinden
ve
taban
BT
altyapısından bağımsız olarak varolduklarından, en üst düzey esneklikle
birleĢtirilip tekrar kullanılabilirler. ĠĢ süreçleri geliĢtikçe, yeni iĢ kuralları ve
pratikler oluĢabilir. Bu yeni iĢ kuralları ve pratikler, taban uygulamaların
kısıtlarından bağımsız olarak yeni durumlara uyarlanabilirler.
SOA‟nın tüketim aĢaması: Yeni bir uygulama veya iĢ süreci oluĢturulduktan
sonra, ya diğer BT sistemlerince ya da son kullanıcılar tarafından bu
iĢlevselliğe
eriĢilebilinmelidir
(tüketim).
Tüketim
sürecinin
amacı,
iĢ
performansında verimliliği ve anlayıĢı artıracak yeni ve dinamik uygulamalar
sunmaktır. Kullanıcılar, birleĢtirilmiĢ hizmeti; web portalları, zengin istemciler,
ofis iĢ uygulamaları ve mobil cihazlarla tüketebilirler.
44
Belirli bir sistemde hizmetlerin sağlanması farklı birçok ortamdan gelen
bilgilerin kullanılmasına dayanmaktadır: veritabanı uygulamaları, mirasçı
uygulamalar (bilgi iĢlem sisteminde önceden kalan uygulama programları), iĢ
kolu uygulamaları, paket uygulamalar, ticari ortaklara yönelik uygulamalar
(iĢletme için, bilgi paylaĢma durumunda olanlar). SOA felsefesiyle web
servisler kullanarak bu uygulamaların birlikte çalıĢabilirliği sağlanabilir.
Web 2.0
Paket
Uygulamalar
portal
Cihazlar ve
Ġnsanlar
Veritabanı
Uygulamaları
Mirasçı
İş Kolu
Uygulamalar
Uygulamaları
Paket uygulamalar
Ticari Ortaklara
Yönelik Uygulamalar
ġekil 4.1 Web servisleriyle, farklı ortamlardan gelen verilerin kullanımı
Web servislerinin ayrıntılı teknik açıklaması daha sonraki alt bölümlerde
iĢlenecek olup, bu noktada sadece SOA ile bağlantısı anlamında web
servislerine bir giriĢ yapılacaktır.
Web servisleri; iĢ süreçleri, veriler ve örgütsel bilgiler gibi çok farklı düzeyleri
birleĢtirirler. Tek bir tüketici uygulamayı düĢünelim (uygulama, internet
üzerinden Ģirketle etkileĢebilme özelliği olan bir uygulama olabilir). Bu
uygulama Ģirketteki bazı iĢ süreçlerine katılmak istediğinde, bu iĢ süreçlerini
mümkün kılmak için; Ģirketin içte iki ayrık sistemi (A: kurumsal kaynak
planlaması, B: müĢteri iliĢkileri vb. kombinasyonlar olabilir) kullanan bir süreç
45
çağırması gerektiği varsayıldığında, hizmet odaklı mimari sayesinde, uçtan
uca sürecin tümü, tüketici uygulamaya tek bir servis gibi sunulur.
Ġri web servisi
uygulamaları
Ġnce nesne ve
veritabanı çağrıları
Ġnce iç hizmet
iĢlemleri
ĠĢ
BileĢeni
A
Sistemi
ĠĢ
BileĢeni
B
Sistemi
Tüketici
Uygulama
Güvenlik
Duvarı
Uçtan uca iĢ
süreci
ġekil 4.2 Ayrık iĢ kolu uygulamalarının tek bir hizmet gibi sunumu
Mimari noktadan iĢleyiĢe yaklaĢırsak, iyi bir mimaride sorumluluklar
ayrılmalıdır. Örneğin, sunum katmanı sunum bileĢenlerini yönetir; iĢ mantığı
katmanı iĢ mantığı bileĢenlerini yönetir; veri eriĢimi katmanı ise veri eriĢimi
bileĢenlerini yönetir. Bu ayrım, sistemde hata toleransı, kolay bakım ve
sürdürülebilirliği
sağlar.
Ġyi
bir
hizmet
odaklı
mimari,
bir
bileĢenin
sorumluluklarını akıllıca ayırma (ve sunma) yolu olup klasik nesne yönelimli
fikirlere dayanmaktadır.
Hizmet odaklı bir mimaride; istemciler ayrık metot çağrılarını doğrudan
çağırmak yerine hizmetleri tüketirler. Üç katmanlı bir modelde (ġekil 4.3);
nesneler, süreç sınırları içerisinde sıralanır. Bir katmanın sadece bitiĢiğindeki
katmanla iletiĢimde olması buradaki temel felsefedir.
Mimari düzeyde, iletiĢim bağlantılarının sayısı, nesne yönelimli olmanın bir
dezavantajıdır. Ġstemci kodu, karmaĢık nesne modellerindeki sıkıntıları
gidermek
ve
alana
(domain)
özgü
mantığın
ayrıntılarını
anlamakla
46
sorumludur. Hizmet odaklı bir modelde, ayrıca bir “dolaylılık katmanı” vardır.
Bu dolaylılık katmanı, karmaĢık nesne modellerindeki sıkıntıların bazılarını
gidermektedir. AĢağıda verilen hizmetler katmanı, kara kutu iĢlevselliği sağlar
(ġekil 4.4).
Veri / Kalıcılık
ĠĢ Nesneleri
Sunum
Windows
Ġstemcisi
ġekil 4.3 Tipik bir üç katmanlı uygulama mimarisi
Sunum
Hizmetler
ĠĢ Nesneleri
Veri / Kalıcılık
Windows
Ġstemcisi
ġekil 4.4 Hizmet odaklı uygulama mimarisi
Hizmetlerin ve nesnelerin tasarlanması noktasına gelindiğinde;
Hizmet odaklı bir tasarımda, hizmetler iri (birçok hizmetin bir araya gelerek bir
süreç
oluĢturması)
olmalıdır.
Ġri
hizmetler,
iĢ
süreçlerinden
sonra
modellenirler ve böylelikle iĢ süreçleriyle aynı hizada olmaları sağlanır.
Nesneler ince (hizmetlerle iĢ süreçlerinin bire-bir eĢleĢmesi) olmalı ve gerçek
iĢ birimleriyle aynı hizada olmalıdır. Ġnce ve ayrık bu nesneler, iĢ mantığını
ayrıntılı olarak verirler. Her iĢ nesnesi, kendi davranıĢından ve iĢ kuralı
uygulamasından (veritabanı tablosu güncelleme, bir ePosta gönderme,
kuyruğa bir ileti koyma vb.) sorumludur. Her iĢ nesnesinin kendi
davranıĢından sorumlu olduğu bu özgüllük, ayrık iĢ nesnelerini yaparken iyi
bir nitelik olup örgütsel bilgiyi bir sistem Ģeklinde düzenlemenin iyi bir yoludur.
47
Hizmetler, ayrık iĢ nesnelerine yapılan çağrıları uyumlandırırlar, cevapları
yönetirler ve uygun biçimde davranırlar. Böylelikle, ayrıntılı iĢ nesnelerini
müĢterilere
tam
bir
hizmet
sunabilmek
amacıyla
uyumlandırırlar
(orkestrasyon: Bir birleĢik hizmet içinde yer alması gereken tüm web
servislerinin uygun bir iĢ akıĢı içerisinde tanımlanması ve yönetilmesidir).
Hizmet metotları, tüm bunları yaparken çok çeĢitli iĢ nesnelerini çağırabilir ve
yönetebilir.
Bu kısımda, son olarak, Microsoft‟un hizmet odaklı bir altyapıyı nasıl
planladığının çizimi ve bu altyapıyı gerçekleĢtirmek için hangi ürünlerini
kullandığı verilip literatürde karĢılaĢılan “kurumsal hizmet veriyolu” kavramına
da çok kısa bir biçimde değinilecektir.
Hizmet Odaklı Altyapı
Standart
Hizmet TK SOAP
Tüketici
si
Uyumlandırma
(Orchestration)
DönüĢtürme
Yönlendirme
Desteklenen
Hizmet
Sağlayıcı
Ayrıklık Yönetimi
(exception management)
HK SOAP
Yönetim Portalı
TK: Tüketici
Kesici
(consumer
interceptor)
HK: Hizmet
Kesici
(service
interceptor)
Doğal
(Native)
KHV Çekirdek Motoru
(ESB Core Engine)
Uyum (Adaptation)
Uyum (Adaptation)
Desteklenen
Hizmet
Doğal
Tüketicisi (Native)
Tedbir Çatısı
(provisioning framework)
Hizmet Kaydı / Havuzu
Hizmet Yönetimi
Güvenlik
ġekil 4.5 Microsoft‟un hizmet odaklı altyapı tasarımı
Standart
Hizmet
Sağlayıcı
48
Hizmet Odaklı Altyapı
Desteklenen
Hizmet
Doğal
Tüketicisi (Native)
Doğal
(Native)
Desteklenen
Hizmet
Sağlayıcı
Standart
Hizmet TK SOAP
Tüketici
si
Framework
HK SOAP
Standart
Hizmet
Sağlayıcı
Hizmet Kaydı / Havuzu
TK: Tüketici
Kesici
(consumer
interceptor)
HK: Hizmet
Kesici
(service
interceptor)
Hizmet Yönetimi
Güvenlik
ġekil 4.6 Microsoft‟un hizmet odaklı altyapıyı kurarken kullandığı ürünler
Literatürde, hizmet odaklı mimarinin anlatıldığı birçok yerde “Kurumsal
Hizmet
Veriyolu”ndan
(KHV,
Enterprise
Services
Bus,
ESB)
da
bahsedilmiĢtir. Bir yazılım mimarisi yapıtaĢı olan KHV ne tek bir ürün ne de
formal bir standart olduğundan açıklaması güç bir kavram olup, belli bir
mimarinin gerçekleĢtirilmesini sağlayan yazılım altyapısını göstermekte
kullanılmaktadır.
KHV,
bir
SOA
gerçekleĢtirmez
ancak
bir
SOA
gerçekleĢtirimi için bazı özellikler sağlar. KHV, web servis tabanlı olmak
zorunda değildir. Bir uygulama, KHV‟dan faydalanan kurumsal bir mimaride
veriyoluyla iletiĢim kurduğundan, veriyolu uygulamalar arasında bir mesaj
simsarıdır. Böyle bir yaklaĢım sayesinde, uygulamaların haberleĢebilmesi için
49
gerekli olan noktadan noktaya (sadece iki uçbirimi bağlantılayan veri kanalına
iliĢkin) bağlantı sayısı düĢer.
Farklı
uygulamalar
arasındaki
bilgi
temas
noktalarını
yöneten
merkezileĢtirilmiĢ aracı bilgi sistemi olan KHV, farklı uygulamaları bağlamak,
genel mimariyi basitleĢtirmek ve birden fazla sistemin kullanılmasını
gerektiren iĢ süreçlerini iyileĢtirmek için kullanılır. KHV, bağlantılı bir devletin
temel yapıtaĢı bloğudur. AĢağıdaki Ģekildeki (ġekil 4.7) kısaltmalar altta
verilmektedir:
 ERP: Kurumsal Kaynak Planlaması (Ent. Res. Mang.)
 BPM: ĠĢ Süreci Yönetimi (Business Process Management)
 CRM: MüĢteri ĠliĢkileri Yönetimi (Customer Relations Management)
 SFA: Stratejik Çatı Düzenlemesi (Strategic Framework Arrangement)
Hizmet Tüketicileri
50
Portallar
BPM
ERP, CRM, SFA
G2G
Mobil Uygulamalar
Hizmet Sağlayıcları
Kurumsal Hizmet Veriyolu (Enterprise Service Bus, ESB)
ERP, CRM, SFA
Kurumsal Veri
Mirasçı Sistemler
Web Servisleri
ġekil 4.7 Kurumsal hizmet veriyolu: hizmetin sağlayıcılarıyla tüketicileri arasındaki köprü
J2EE Uygulamaları
.NET Uygulamaları
51
4.2 Simple Object Access Protocol (SOAP)
SOA felsefesini hayata geçirmek için kullanılan bir SOA protokolü olan SOAP
.NET
platformunun
yanı
sıra
farklı
bilgi
iĢlem
ortamlarında
da
kullanılmaktadır. Bu alt bölümde SOAP ile ilgili değiĢik konular iĢlenecektir
[6].
ASP.NET platformu, dağıtık farklı tür (.NET, Java vb.) bilgi iĢlem ortamlarında
birlikte çalıĢabilirliği desteklerken açık internet standartlarını benimser.
ASP.NET‟le, uygulama istemcisi hangi iĢletim sistemi, programlama dili,
nesne modeli üzerinde kurulursa kurulsun iĢ mantığı herhangi bir uygulama
istemcisine sunulabilir ve böylelikle web servisler kullanılarak dağıtık
uygulamalar yapılabilir. Bu yaklaĢım, SOAP‟ın “istemcinin veya sunucunun
iĢletim platformu ne olursa olsun iletiĢimin herhangi bir tarafında herhangi bir
özel yazılım olmadan internetteki veya bir intranetteki iĢ nesnelerinin atıflarını
desteklemesi” özelliğiyle sağlanır.
4.2.1 SOAP’a GiriĢ
SOAP; sunucular, hizmetler, bileĢenler, nesneler üzerinde metot çağırmak
için kullanılan bir protokoldür. Ġnternet daima artan hizmetler ve uygulamalar
sunmak üzere geniĢlerken, CORBA (Common Object Request Broker
Architecture), COM (Component Object Model),
vb. çok farklı platformlar
arası iletiĢimin önemi; iĢten-iĢe, iĢten-ticarete, iĢten-herkese (B2B, B2C, B2E)
ortamlarındaki uygulamalar arasındaki iletiĢim ihtiyacı ortaya çıktığından
artmıĢtır.
Dağıtık ve farklı platformlarda bulunabilen yazılım nesnelerinin bir arada
çalıĢtırılması problemi için CORBA, Java RMI (Remote Method Invocation)
ve DCOM (Distributed COM) çözümünde bağlantının iki ucunda uyumlu
sistemler bulunmalıydı (sırasıyla: iki uçta aynı ORB (Object Request Broker)
uygulaması; iki uçta Java uygulaması; iki uçta Windows uygulaması). SOAP
52
ise Ġstem/Yanıt mesajlaĢmalarını birer birer zarflayarak iki uçta farklı türde
uygulamaların bulunmasını destekler.
SOAP‟tan önce, veri aramasını ve yayınını destekleyen Java Servlet olarak
yazılmıĢ bir iĢ bileĢeni nesnesini bir güvenlik duvarının karĢı tarafında çalıĢan
COM-tabanlı iĢ bileĢeniyle yansıtmak çok zordu. CORBA platformundaki
Java servlet‟i, dağıtık uygulamalardaki etkileĢim için normalde Nesne
Yönetim Grubu‟nun Ġnternet Inter-ORB Protokolünün (IIOP) kullanılmasını
isterken COM bileĢeni dağıtık nesneler arasındaki etkileĢim için COM
Ġnternet Servislerinin (CIS) yanısıra Distributed Component Object Model
(DCOM),
Remote
Data
Services
kullanılmasını isterdi. Bu yüzden,
(RDS)
veya
Remote
Scripting‟in
tüketici veya sağlayıcı uygulamalar
internette vekil sunucular ve güvenlik duvarları boyunca çok zor iletiĢim
kurardı.
Bu sorunun üstesinden gelmek üzere Microsoft, IBM, DevelopMentor,
UserLand tarafından W3C‟ye sunulan SOAP‟ın iki ana amacı vardır:
 TaĢıma protokolü için HTTP, veri kodlaması için XML kullanılarak internet
standartları üzerine kurulu standart nesne istem protokolü sağlamak
 Zamanla geliĢen geniĢleyebilir bir protokol ve bir taĢıma biçimi oluĢturmak
SOAP; atık toplama (garbage collection), tür güvenliği, sürümleme,
baĢvuruyla nesne geçirimi ve diğer benzer iletiĢim meselelerin nasıl ele
alınacağını belirtmeyerek DCOM ve IIOP gibi diğer dağıtık nesne istem
çözümlerindeki karmaĢıklığın çoğunu eler. SOAP; iletiĢimin herhangi bir
yanındaki iĢletim sistemi, programlama dili ve nesne modeline bağımlı
olmadan komutların ve parametrelerin HTTP istemcileri ve sunucuları
arasında geçirilmesinin tanımlanıĢına odaklanır.
53
4.2.2 SOAP’la Uzak Veriye EriĢim
SOAP‟ın, iki uygulamanın güvenlik duvarları boyunca çalıĢırken birbirlerine
servis sağlarkenki etkileĢimine izin veriĢi bu kısımda bir örnek yardımıyla
iĢlenilecektir.
www.soapla.com, müĢterilerine kiĢiselleĢtirilmiĢ portal sayfaları sunan teorik
bir web sitesi olsun. Sun Solaris platformunda çalıĢan www.soapla.com,
hisse senetlerine yönelik olarak, hisse senedi alım satım hizmetleri ve
sektördeki ilgili konulardaki çeĢitli araĢtırmaları müĢterilerine Java Servlets‟le
sunar (.jsp sayfaları olarak).
www.hissesenedisunucusu.com ise B2B hizmeti olarak gerçek zamanlı hisse
senetleri, satıĢ hacimleri ve ticari veri sağlayan bir servistir. Windows 2000tabanlı mimaride çalıĢan www.hissesenedisunucusu.com, hizmet verirken
ASP.NET kullanır. www.soapla.com, www.hissesenedisunucusu.com‟daki
HisseSenedi servisinin SenetGetir metoduna eriĢmek, sonrasında hizmetin
sonuçlarını www.soapla.com son kullanıcılarına döndürmek istemektedir.
SOAP‟tan önce, en basit çağrılar için bile bu türden bir iletiĢimin geliĢtirilmesi
uygulamalar iki farklı nesne modeli (CORBA ve COM) üzerinde çalıĢtığından
oldukça güçtü. SOAP‟la birlikte bu farklı ortamlar kolaylıkla haberleĢebilir ve
böylelikle
Java
Servlets,
www.hissesenedisunucusu.com‟daki
COM
nesnelerini kolaylıkla etkinleĢtirebilir.
AĢağıdaki Ģekilde, www.soapla.com müĢterisinin www.soapla.com web
sitesine eriĢmesi ve www.soapla.com‟un www.hissesenedisunucusu.com‟dan
çektiği hisse senedini alması çizilmiĢtir.
54
1. Ġstemci www.soapla.com ’u
ziyaret eder ve bir hisse senedi ister
9. Ġstemci, Sonuç içeren HTML
HTML + HTML
sayfasını alır
HTML + HTML
Ġnternet
HTML + XML
HTML + XML
HTML + HTML
HTML + XML
yalnız 80 portundan trafiğe izin veren
güvenlik duvarı
http://www.soapla.com
* Sun Solaris platformu
* Java Server sayfaları
http://www.hissesenedisunucusu.com
* Windows 2000 platformu
* ASP sayfaları
hissesenedi.jsp sayfası
hissesenedi.asmx sayfası
2. Son kullanıcıdan IBM’in hisse senedinin
alınması isteğini alır
5. www.soapla.com/hissesenedi.jsp ’den HTTP
isteği gelir, parametreler XML içinde kodlanmıĢtır
3. Sayfa hisse senedi vekil nesnesini oluĢturur
6. ASP.NET SenetGetir() metodunu çağırır
SOAP İstemci Vekil: SenetGetir()
4. Çağrıyı, her SOAP belirtimi için HTTP ve XML’e
çevirir ve http://www.hissesenedisunucusu.com/
hissesenedi.asmx ’e Postalar
10. Vekil, sonuçları HTTP üzerinden XML içinde alıp
fonksiyonun 110$ döndürülen değerini çevirir
8. Vekilden gelen sonuçları kabul eder,
sonuçları kullanıcıya HTML sayfasında gösterir
ġekil 4.8 Farklı ortamlarda SOAP istemi
Function SenetGetir(SenetSembolu as String)
Hisse senedi değerini SQL sunucudan getirir
Senet değerini tamsayı olarak döndürür
End Metot
7. ASP.NET, sonuçları SOAP olarak biçimleyip
döndürür, döndürüm XML ve HTTP’dir
55
ġekil, SOAP ĠletiĢiminde gerçekleĢen her adımı göstermektedir:
1. MüĢteri, www.soapla.com‟un hissesenedi.jsp sayfasını açıp bir hisse
senedi adı girip gönder tuĢuna basarak hisse senedi ister.
2. hissesenedi.jsp sayfası, kullanıcının girdiği hisse senedi sembolünü
(“IBM”) tutar.
3.
hissesenedi.jsp
sayfası
www.hissesenedisunucusu.com
SenetGetir
nesnesi için istemci vekil çağırır.
4. Bu vekil, bir SOAP istemci isteği üretip, bu isteği bir HTTP POST‟a
sarmalar:
POST /HisseSenedi.asmx HTTP/1.1
Host: www.hissesenedisunucusu.com
Content-Type: text/xml; charset=”utf-8”
Content-Length: nnn
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<m:SenetGetir xmlns:m=”Some-Namespace-URI”>
<symbol>IBM</symbol>
</m:SenetGetir>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Ġlk
dört
satır
standart
HTTP‟dir
http://www.hissesenedisunucusu.com/HisseSenedi.asmx‟ye
ve
içeriğin
gideceğini
gösterir. Ġçerik türü text/xml tanımlanarak sunucunun taĢınan verinin bir XML
iletisi olarak gideceğini bilmesi sağlanır.
SOAP, iki tür ileti (Call ve Response) tanımlar: istemcilerin uzak bir prosedür
çağırabileceği ileti ve sunucuda çağrılmıĢ prosedürün uygun değerlerle cevap
verdiği ileti.
56
Yukarıdaki Call örneği, zarfı (envelope) ve esas metni (body) standart XML
yapısında tanımlar. Bu yapı, SenetGetir metoduna eriĢildiğini ve parametre
olarak “IBM” değerinin geçirildiğini gösterir.
5. Bu istek, XML gömülü standart bir HTTP POST isteği olduğundan
www.hissesenedisunucusu.com
sitesini
koruyan
güvenlik
duvarından
sorunsuz geçer.
6. hissesenedi.asmx sayfası isteği aldıktan sonra isteğin XML yapısının
Ģifresini çözerek SenetGetir metodunu çağırarak parametre olarak “IBM”
değerini geçirir.
[SOAP, sağlayıcının kendindeki metotları nasıl çağırması gerektiğini
tanıtmadığından, sağlayıcının dil veya iĢletim sistemi ile ilgili tek kısıt
sağlayıcının SOAP protokolünü desteklemesidir].
7. Değer çekildikten sonra, bir SOAP cevap iletisi oluĢturulur:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=”utf-8”
Content-Length: nnnn
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<m:SenetGetirCevap xmlns:m=”Some-Namespace-URI”>
<result>110</result>
</m:SenetGetirCevap>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
8. www.soapla.com/hissesenedi.jsp‟de çağrılmıĢ vekil sunucu, yukarıdaki
SOAP cevap paketini kabul eder ve sonuçları çağıran fonksiyona geri geçirir.
9. Kullanıcı, hissesenedi.jsp sayfasınca biçimlendirilen HTML sayfasını alır.
57
4.2.3 SOAP Discovery (DISCO, Discovery of Web Services)
MüĢteri veya istemci, SOAP discovery belirtimi yardımıyla web servisinin
sağladığı hizmetleri ve metotları otomatik olarak belirleyebilir. Sağlayıcı,
uygulama tüketicisiyle diyalog kurulabilmek için SOAP discovery ile bu
bilgileri uygulama tüketicisine raporlayabilir. DISCO, keĢif belgesini bilinen bir
URL‟den almak için XML‟e bağlı bir belge biçimi ve bir ptotokol tanımlayan
belirtimdir. Bir yazılım geliĢtirici, DISCO‟yla belli bir URL‟de varolan
yayınlanmıĢ hizmetleri araĢtırabilir. DISCO‟yla, Web servisimizin potansiyel
istemci uygulamaları yayınlanmıĢ hizmetleri araĢtırabilir.
4.2.4 Web Service Description Language (WSDL)
WSDL ile web servisi istemci uygulamaları geliĢtiricileri web servisine
eriĢmek için ihtiyaç duydukları vekil oluĢturma bilgisini alırlar. WSDL; web
servisindeki public fonksiyonları, zorunlu ve seçimsel parametreleri, bu
parametrelerin sıralamasını ve veri türlerini tanıtır. WSDL, tüketicinin uygun
biçimde cevabı ele alması için döndürülen verinin biçimini, türünü ve yapısını
ayrıca belirtir. HisseSenedi Servisi için WSDL‟nin bir HTTP POST isteğiyle
gönderilen bu isteklerini tanıtan kısmı aĢağıdaki gibidir:
...
<httppost xmlns=”urn:schemas-xmlsoap-org:post-sdl-2000-01-25”>
<service>
<requestResponse name=”SenetGetir”
href=”http://www.hissesenedisunucusu.com/HisseSenedi.asmx/SenetGetir”>
<request>
<form>
<input name=”Symbol”/>
</form>
</request>
<response>
<mimeXml ref=”s0:double”/>
</response>
</requestResponse>
</service>
</httppost>
...
58
Bu örnekte, <request> etiketleri <symbol> girdi parametresini tanıtırken
<response> etiketleri bu servisten beklenebilen cevap biçimini (örnekte,
double değer türü) tanıtır.
Bu servis tüketicisinin servis sağlayıcıyı
kullanmaya baĢlamak için diğer bazı Ģeyler daha vardır:
4.2.5 SOAP’ın ASP.NET’le Kullanımı
SOAP, ASP.NET‟le web servisleri oluĢtururken kullanılan standart iletim
protokolüdür. Bu protokolle, gerekli isteklerin sağlanması için istenen belirli
bir XML kodunun uygulamasının ayrıntılarının bilinmesine gerek yoktur.
Ayrıca, ASP.NET‟in
bir belgenin
WSDL‟sini sunan tümleĢik olanağı
(herhangi bir .asmx dosyasının sonuna “?WSDL” eklenmesi) vardır.
Bir sonraki alt bölümde, ASP.NET‟in dağıtık bilgi iĢlem ortamını gerçeklerken
bu yayınlanmıĢ açık standartları ASP.NET web servisleriyle kullanıĢı
iĢlenecektir.
4.3 Web Servisleri
Bu bölümde, web servisinin ne olduğu, görevi, bir web servisi oluĢturulması,
web servislerinin tanıtılıĢı ve web servislerine programlamayla eriĢim
iĢlenecektir.
Ġnternet Ģu anda sunucular, iĢletim sistemleri, veritabanları vb. gibi oldukça
farklı tür birimlerden oluĢmuĢtur. Konu bu farklı birimler arasındaki iletiĢim
olunca, baĢkalığın içte ve dıĢta olması kötüdür. Herkesin iletiĢimde
kullanabildiği standartlar kümesi oluĢturmak bu problemi çözmenin bir
yoludur. Ancak, herkes kendi standartlar veya protokoller kümesine sımsıkı
sarılmıĢken evrensel bir standart üzerinde uzlaĢmak neredeyse imkânsız
hale gelir. Bu durumda ne yapılabilir? Herkesin kullandığı bir Ģey(ler) alınır,
birleĢtirilir ve böylelikle bir standart yapılır. Bu bir Ģeyler, HTTP ve XML‟dir.
HTTP (Hypertext Transfer Protocol), tüm web tarayıcılarının web sayfaları
59
isterken ve tüm sunucuların web sayfaları sunarken kullandığı protokoldür.
XML (Extensible Markup Language), HTTP üzerinden gönderilen bilgileri
kodlamak için bir çapraz platform metodudur.
.NET Çatısında HTTP ve XML‟e web servislerini çağırma rolü vermiĢtir. Web
servisi, sunucudaki nesnelerin HTTP‟yle bir istemciden gelen istekleri kabul
etmesinin ve XML-tabanlı cevap döndürmesinin sorunsuz bir yoludur. Web
servisleri HTTP ve XML üzerine kurulduklarından, pratikte internetteki herkes
tarafından kullanılabilir. Bu kısımda, web servisi yapımı ve baĢkalarının web
servislerinin keĢfedilip kullanımı gösterilecektir.
4.3.1 Bir Web Servisinin Yapımı
Bir web servisinin yapımı bir örnek ile iĢlenecktir. Bir veritabanındaki
(belediye.mdb; tezin eki olarak verilen destekleyici CD‟de bulunmaktadır)
veriyi sunan web servisi yazılacaktır. Bir web servisi yapmak için herhangi bir
metin editörü (Notepad vb.) veya Visual Studio kullanılabilir.
Web servislerinin dosya uzantısı .asmx olup bu yönüyle .aspx uzantısına
sahip ASP.NET sayfalarından farklıdırlar. Bu yüzden, VH_BH.asmx adlı bir
dosya
oluĢturacağız
(Veri
Hizmetleri:
BelediyedenHastaneye).
Uygulamalarda Çizelge 4.1‟de verilen adlandırma standardı kullanılacaktır.
Çizelgedeki ilgili dönüĢtürümlerin nasıl yapılacağı ilerleyen paragraflarda
örneklerle verilecektir.
60
Çizelge 4.1 Sınıfların, aduzaylarının ve derlemelerin adlandırma standardı
web servisi
(Veri sağlayıcısı)
Dosya
Ad
.asmx
X
Sınıf,
.asmx
dosyaya
yazılır.
BaĢına
<WebService(Namespace:="XVB")>
yazılır.
sınıf
WSDL.exe ile .asmx dosyadan .vb dosya elde edilir
(class)
(X.vb). vbc.exe ile X.vb dosyası derlenerek X.dll elde
edilir.
Sınıfın bildirildiği .asmx dosyasında sınıf bildiriminin
olduğu satırda sınıf bildiriminden önce
<WebService(Namespace:="XVB")> yazılarak
aduzayı
aduzayı tanıtılır. X‟nin yanındaki “VB” eki dosyada
(namespace)
visual basic kodlarının olduğunu ve dosyanın visual
basic derleyicisi (vbc.exe) ile elde edildiğini
göstermek için eklenmektedir.
kurgu
X.dll assembly dosyası vbc.exe ile X.vb dosyasından
(assembly)
elde edilir.
.aspx. Veri istemcisini temsil eden .aspx dosyasının
baĢında
Veri istemcisi
<%@ Assembly Name="X" %>
<%@ Import Namespace="XVB" %>
bildirimleri eklenir.
*: veri istemcisinin iĢlevini belirten herhangi bir ad verilebilir.
X
XVB
X
*
Çizelge 4.1‟de verilen adlandırma standardına eĢlik eden komut satırları
Çizelge 4.2‟de verilmiĢtir.
Çizelge 4.2 Adlandırma standardına eĢlik eden komut satırları ve kullanılan
dizinler
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\WSDL.exe
WSDL /language:VB http://localhost/X.asmx?WSDL /namespace:XVB
C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe (VB.NET)
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe (C Sharp.NET)
(Not: csc.exe baĢka bir klasöre taĢındığında tek baĢına çalıĢmamaktadır)
Cd /d D:\edevlet\araclar
cd /d C:\Windows\Microsoft.NET\Framework\v2.0.50727\
vbc
/out:D:\edevlet\bin\X.dll
/t:library
/r:System.dll
/r:System.Xml.dll
/r:System.Web.Services.dll /r:System.Data.dll d:\edevlet\Araclar\X.vb
61
VH_BH.asmx dosyası açılıp dosyanın baĢına aĢağıdaki kod yazılır:
<%@ WebService Language="VB" Class="VH_BH" %>
Bu kod satırı, dosyayı web servis olarak tanımlayıp hizmetin yazımında
VB.NET kullanılacağını gösterir. class özniteliği, web servisinin sunacağı
sınıfı gösterir.
ASP.NET
sayfasında
yapıldığı
gibi,
VH_BH
web
servisinin
gerçekleĢtirilmesinde gerekli aduzayları çekilir (import edilir). Belediye.mdb
veritabanına
eriĢileceğinden,
System.Data,
System.Data.OleDb
ve
System.Data.OleDbClient aduzayları çekilir. Ayrıca, web servis yazılırken
System.Web.Services aduzayı da çekilmelidir. AĢağıdaki Imports deyimleri
VH_BH.asmx dosyasına eklenir:
Imports System
Imports System.Web.Services
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.OleDbClient
Ġhtiyaç duyulan aduzayları çekildiğinden gerçekleĢtirim için gerekli sınıflara
eriĢilebilir; VH_BH sınıfını bildirelim. VB.NET sınıfı tanımlama yapısı
aĢağıdadır:
Class [Sınıf Adı]
„ Özellikler ve Metotlar
End Class
VH_BH sınıfının bildirimi aĢağıdaki gibi olacaktır:
Class VH_BH
„Özellikler ve Metotlar
End Class
62
Web servis olarak iĢleyecek sınıf kullanıldığından, sınıf WebService
sınıfından türetilmelidir. Ayrıca, VH_BH sınıfı VH_BHVB aduzayı içine
konacağından VH_BH sınıfının bildirimi aĢağıdaki gibi değiĢtirilir:
<WebService(Namespace:=" VH_BHVB")> Class VH_BV Inherits : WebService
„Özellikler ve Metotlar
End Class
VH_BH sınıfının WebService sınıfından türetilmesi isteğe kalmıĢ bir Ģeydir,
ancak böyle bir türetim kod okunabilirliğini artırır.
VH_BH web servisinin bir Ģey yapabilmesi istendiğinden, VH_BH sınıfına bir
metot eklenir. Eklenecek metoda ToplamPrimOdemeGunuSayisi diyelim.
ToplamPrimOdemeGunuSayisi metodu,
parametre olarak TC Kimlik No
geçirildiğinde bir VeriKümesi döndürecektir. Bu VeriKümesinde belediyede
çalıĢan
personelin
sosyal
güvenlik
kurumuna
yapmıĢ
olduğu
prim
ödemelerinin sayısı bir alan içinde görünecektir. VB.NET‟te bir sınıfa public
bir metot aĢağıdaki gibi eklenir:
Metodun web servisi yoluyla çağrılabilir olması için fonksiyon tanımına
<WebMethod()> özniteliği eklenir. ToplamPrimOdemeGunuSayisi metodu,
gerçekleĢtirim kodu öncesi aĢağıdaki gibidir:
<WebMethod()> Public Function
TCKimlikNo As String) As DataSet
„ GerçekleĢtirme kodu
End Function
ToplamPrimOdemeGunuSayisi(ByVal
VH_BH sınıfının tam kodu (VH_BH.asmx):
(AĢağıda verilen kodlardan yararlanacak olanlar için kod satırlarının editörde
alt satırlara sarkmaması gerektiği gerçeğinden hareketle kodlar yatay
sayfaya basılmıĢtır. Okur, kodları denerken bu gerçeği göz önünde
bulundurmalıdır.)
63
<%@ WebService Language="VB" Class="VH_BH"%>
Imports System
Imports System.Web.Services
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.OleDbClient
<WebService(Namespace:="VH_BHVB")> Class VH_BH : Inherits WebService
<WebMethod()> Public Function ToplamPrimOdemeGunuSayisi(ByVal TCKimlikNo As String) As DataSet
Dim Baglantim As OleDbConnection = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA
Source=d:\edevlet\belediye.mdb")
Dim Komutum As OleDbCommand
Dim VeriBagdastiricim As OleDbDataAdapter
Dim Parametrem As OleDbParameter
Dim VeriKumem As New DataSet
Dim tckimlikten_calisan_no_denetimi As IDbCommand
Dim SQLim As String
Dim atanan_teklik_sn As Integer = 0
SQLim = "SELECT calisan_sn FROM [calisan] WHERE [TCKimlikNo]='" & TCKimlikNo & "'"
Baglantim.Open()
tckimlikten_calisan_no_denetimi = New OleDbCommand(SQLim, Baglantim)
TCKimlikNo = tckimlikten_calisan_no_denetimi.ExecuteScalar()
Parametrem = New OleDbParameter("@TCKimlikNo", OleDbType.VarChar, 100)
Parametrem.Value = TCKimlikNo
Komutum = New OleDbCommand
64
Komutum.CommandType = CommandType.TableDirect
Komutum.CommandText = "select * from calisan_sgk where calisan_sn=" & TCKimlikNo
Komutum.Parameters.Add(Parametrem)
Komutum.Connection = Baglantim
VeriBagdastiricim = New OleDbDataAdapter
VeriBagdastiricim.SelectCommand = Komutum
VeriBagdastiricim.Fill(VeriKumem, "calisan_sgk")
VeriBagdastiricim.Dispose()
VeriBagdastiricim = Nothing
Komutum = Nothing
Baglantim.Dispose()
Baglantim = Nothing
Return VeriKumem
End Function
End Class
65
Artık web servisi baĢarıyla yazılmıĢtır. ġimdi, VH_BH web servisi kurulup
iĢletime alınmalıdır. Web servislerinin dağıtımı için, ASP.NET‟te IIS‟den yerel
sürücüde dosyaları barındıran klasör bir web sitesi olarak tanıtılır.
VH_BH web servisini web tarayıcısından çağırmak için web servisinin yolu
girilir. VH_BH web servisinin yolu: http://localhost/VH_BH.asmx
ġekil 4.9 VH_BH.asmx cevabı (VH_BH web servisinden alınan cevap)
VH_BH web servisinin Ģekildeki cevabı Web Services çalıĢma zamanı
tarafından otomatik olarak üretilmiĢtir. Bu cevapta, web servisin adı, web
servisince gerçekleĢtirilen metotlar, VH_BH web servisinin metotlarını
çağırırken kullanılabilecek gerekli parametreler, dönüĢ veri türü ve protokoller
(SOAP, HTTP GET, HTTP POST vb.) vardır. Ayrıca, VH_BH web servisinin
test edileceği bir olanak eklenmiĢtir. TCKimlikNo metinkutusuna belediyede
çalıĢan bir personelin TC Kimlik No‟su girilip Çağır düğmesine basıldığında
yapılan istek için yeni bir tarayıcı penceresi açılır, VH_BH web servisinin XML
cevabı verilir.
4.3.2 Bir Web Servisinin Tüketimi
Temelde bir web servisini kullanmanın iki yolu vardır: ya daha önce yapıldığı
gibi web servisi tarayıcıdan doğrudan çağrılır ya da web servisini programla
çağırmak için bir uygulama kullanılabilir. Doğrudan bir tarayıcı isteği yapmak
kolaydır, bir web servisine programla eriĢmek kullanılmak istenen web servisi
hakkında hiçbir Ģey bilinmediğinde zordur. Bir web servisiyle haberleĢebilmek
için web servisinin desteklediği metotlar, girdi parametrelerinin ne olduğu, her
66
metodun ne döndürdüğü bilinmelidir. Yani, web servisiyle bir nevi iletiĢim
sözleĢmesi yapılmalıdır. Web servislerinin kendi kendilerini tanıtmalarıyla bu
bilgiler elde edilir. .NET web servisleri, kendilerini tanıtan XML-biçimli WSDL
belgesini otomatik olarak üretirler. Bir web servisinin URL‟sine “?WSDL”
eklenince istemci bir uygulamaya web servisinin keĢfedilmesini sağlayan bir
WSDL belgesi döndürülür.
VH_BH web servisinin WSDL belgesi için
http://localhost/ VH_BH.asmx?WSDL URL‟si kullanılır.
Bu yapılınca, tarayıcı penceresinden bir XML belgesi alınır. Bu XML-biçimli
WSDL belgesi VH_BH web servisini tanıtan “iletiĢim sözleĢmesi”dir. Bu
WSDL, web servisince desteklenen HTTP GET, HTTP POST, SOAP gibi
protokollerin ayrıntısını ve hizmetlerin çağrılıĢlarının ve döndürülen değerlerin
anlambilimini (semantics) verir.
Artık VH_BH web servisinin konumunu ve desteklediği metot(lar)ı biliyoruz.
Artık, bir uygulamadan VH_BH web servisine eriĢmek için bir vekil sınıf
oluĢturmaya ihtiyaç duyulmaktadır (örneğimizde bu bir ASP.NET sayfasıdır).
Aslında vekil (proxy), yerel bir nesne gibi davranan bir sınıftır, gerçekte
VH_BH web sitesiyle iletiĢim için bir mekanizmadır. Vekil, metot isteklerini
sıralar (serialize), gönderir, alır, deserialize eder (Bu faaliyetlere, sıklıkla
sıralama (marshaling) ve taĢıma (transport) faaliyetleri denir). Komut satırı
araçlarını kullanarak bir web servis vekili oluĢturulabilir.
WSDL.exe (VS2005 varsayılan konumlarla kurulduğunda, C:\Program
Files\Microsoft Visual Studio 8\SDK\v2.0\Bin klasöründedir) komut satırı
aracıyla bir vekil oluĢturulacaktır. WSDL.exe; bir WSDL belgesine bağlı
olarak vekil sınıf oluĢturan bir komut yardımcı programıdır. Kendi vekil
sınıfımızı oluĢturduktan sonra, bu vekil sınıfı bir kurguya (assembly)
derleyebilir ve bir web servisi çağırırken sıralama veya taĢıma mantığı
yazmaya gerek kalmadan kullanabiliriz.
67
Eğer web sitemizin yerel dosyalarını “d:\edevlet” klasörüne yerleĢtiriyorsak,
bu dizin altında iki klasör açmakta fayda vardır: Bunlardan birincisi bazı
komut satırı yardımcı programlarını içine koyacağımız “Araclar” klasörü,
diğeri ise kurguların (.dll dosyalarının) konacağı “bin” klasörü. WSDL.exe
programı tek baĢına çalıĢabilen bir program olduğundan C:\Program
Files\Microsoft
Visual
Studio
8\SDK\v2.0\Bin
klasöründen
kopyalanıp
“d:\edevlet\araclar” klasörüne alınabilir. vbc.exe dosyası da tek baĢına
çalıĢabilen
bir
program
Framework\v2.0.50727”
olduğundan
klasöründen
“C:\Windows\Microsoft.NET\
kopyalanıp
“d:\edevlet\araclar”
klasörüne alınabilir.
VH_BH web servisine bağlı olarak bir vekil sınıf oluĢturmak için,
bilgisayarımızın komut satırında
WSDL /language:VB http://localhost/ VH_BH.asmx?WSDL /namespace:
VH_BHVB
yazıldığında “\VH_BH.vb” iletisi alınır.
VH_BH.vb vekil sınıfı, varsayılan olarak WSDL.exe‟nin çalıĢtırıldığı dizinde
oluĢturulur.
Vekil sınıfın oluĢturulacağı fiziksel yol, /o[ut]: anahtarıyla
varsayılandan farklı da belirtilebilirdi: Örneğin, /o:C:\.
VH_BH.vb vekil sınıfı oluĢturulduğundan, artık bir kurguya derlenebilir.
VH_BH.vb vekil sınıfına bağlı VH_BH.dll kurgusu oluĢturup /bin dizinine
koymak için
vbc /out:D:\edevlet\bin\VH_BH.dll /t:library /r:System.dll /r:System.Xml.dll
/r:System.Web.Services.dll /r:System.Data.dll d:\edevlet\Araclar\VH_BH.vb
komutu çalıĢtırılınca VH_BH.dll üretilir.
68
Derleyici, /r[eference]: anahtarıyla belirtilen bir kurguyu içerir. Bir web servisi
derlenirken, System.XML.dll ve System.Web.Services.dll daima içerilmelidir.
VH_BH web servisinde ADO.NET kullanıldığı için System.Data.dll dâhil edilir.
VH_BH.dll bileĢeni /bin dizinine dağıtıldığından, bir ASP.NET sayfasından
VH_BH web servisi çağrılabilir. Örnek
(VHIstemci_BH_Secim_.aspx):
AĢağıda verilen kodlardan yararlanacak olanlar için kod satırlarının editörde
alt satırlara sarkmaması gerektiği gerçeğinden hareketle kodlar yatay
sayfaya basılmıĢtır. Okur, kodları denerken bu gerçeği göz önünde
bulundurmalıdır.
69
<%@ Page Language="VB" debug="true"%>
<%@ Assembly Name="VH_BH" %>
<%@ Import Namespace="VH_BHVB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<script language="VB" runat="server">
Sub tiklandiginda(ByVal Sender As Object, ByVal E As EventArgs)
Dim oDS As DataSet
Dim Hizmet As New VH_BHVB.VH_BH
Dim k As String
k = Operand1.Text
oDS = Hizmet.ToplamPrimOdemeGunuSayisi(k)
dgMembers.DataSource = oDS.Tables(0).DefaultView
dgMembers.DataBind()
End Sub
</script>
<html>
<head>
<script type="text/javascript" id="sothink_dhtmlmenu"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
70
//--> </script>
<title>Music</title></head>
<body>
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/eBelediye.js"></script>
</div>
<div align="center">
<form id="Form2" runat="server">
<table border="2">
<tr>
<td>
<br />
<strong>
Toplam Prim Ödeme Günü Sayısı Kontrolü</strong><br />
<br />
TC Kimlik No:<asp:TextBox id="Operand1" runat="server"/><br />
<input type="submit" id="Mesken" value="Denetle" OnServerClick="tiklandiginda" runat="server">
<asp:DataGrid id="dgMembers" BorderWidth="1" GridLines="both" runat="server" />
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
71
Bu basit örnekle iĢlerin nasıl yürüdüğü anlaĢılabilir. Hizmet değiĢkeni bildirimi
için “Dim Hizmet As New VH_BHVB.VH_BH” kullanıldı. Bu satırda,
VH_BHVB aduzayındaki VH_BH sınıfına bağlı olarak yeni bir nesne
oluĢturulmaktadır.
Hizmet
nesnesi
oluĢturulduğundan
bu
nesnenin
ToplamPrimOdemeGunuSayisi metodu çağrılabilir.
Web servislerinin kurgular içine derlenip veri istemcilerine bu Ģekilde
sunulması bir zorunluluk değildir. Yani .asmx sayfaları oldukları hal ile web
sunucularına konup oyunun içinde bırakılabilirler. Ancak, .asmx sayfalarından
WDSL.exe ve vbc.exe süreçleri sonrasında .dll elde edilip veri istemcisi .aspx
sayfasından bu .dll çekildiğinde aduzayı baĢvuruları ile karĢılaĢılan sorunlar
tamamen ortadan kalkmaktadır. Bu gerçekten hareketle, bu tezde böyle bir
yaklaĢım benimsenmiĢtir.
72
5. BĠR eDEVLET UYGULAMASI MODELĠNDE
KULLANILABĠLECEK ÖRNEK BĠR ALT MODÜL ÖNERĠSĠ
Bu bölümde eBelediye ve eHastane uygulamalarını birleĢtiren ve bu
uygulamaların birlikte çalıĢabilirliğini destekleyen çok basit bir eDevlet
uygulaması gerçekleĢtirilmeye çalıĢılacaktır. Seçilen “belediye” ve “hastane”
kurumları tamamen tesadüfî olup oluĢturulan model herhangi iki kurum
arasında uygulanabilir ve sisteme bütünleĢik yapı bozulmadan üçüncü,
dördüncü… kurumlar da eklenebilir.
Sistemdeki alt modüller Ģu Ģekildedir:
 Belediyeden ÇalıĢana
 Belediyeden Hastaneye
 Belediyeden VatandaĢa
 Hastaneden ÇalıĢana
 Hastaneden Belediyeye
 Hastaneden VatandaĢa
Yukarıda bahsedilen alt modüllere geçmeden önce sistemin üyelik ve
yönetim tabanlı iĢleyiĢinden biraz bahsetmek sisteme okuru alıĢtırmak için
faydalı olacaktır.
Sistemde üyelik öncesi ana menüden açılan alt menüler oldukça kısıtlıdır
(ġekil 5.1). Bir belediye (veya hastane) çalıĢanının kendi kurumuyla ilgili
kendine has iĢlemlerin yapılabildiği menülere eriĢebilmesi için üyelik
ekranından giriĢ yapması gerekmektedir. Kullanıcı sisteme giriĢ yapmadan
önce eBelediye ve eHastane menüsünde eriĢebileceği kısım kısıtlıdır.
Kullanıcı sisteme kayıt esnasında belediye (hastane) çalıĢanı olduğu bilgisini
girer ve bu bilgi sistem yöneticisi tarafından onaylanırsa eBelediye
(eHastane) menüsünde “Belediyeden ÇalıĢana” (“Hastaneden ÇalıĢana”) alt
menüsü açılır.
73
ġekil 5.1 Üyelik öncesi menülere kısıtlı eriĢim
Kullanıcının üyeliğine yönelik olarak kurgulanılan Üyelik Modülü‟nün dosya
yapısı aĢağıdadır (ġekil 5.2). Üyelik modülüne iliĢkin kaynak kodları tezin
ekler kısmındadır.
ġekil 5.2 Üyelik modülüne iliĢkin dosya yapısı
http://localhost/uyelik/default.aspx‟ten
yapılan
bağlantılarda
http://localhost/Uyelik/giris.aspx?ReturnUrl=%2fUyelik%2fdefault.aspx
sayfasına yönlendirim vardır (ġekil 5.3). Kullanıcı adı ve Ģifresi girildiğinde
default.aspx‟den giriĢ.aspx‟e yönlendirim ortadan kalkar.
74
ġekil 5.3 Üyelik klasörünün varsayılan default.aspx dosyasına kısıtlı eriĢim
Hiçbir kullanıcı adı ve Ģifre girilmeden “Gir” tuĢuna basıldığında sayfa düzeyi
doğrulamalar (page level validation) olduğundan kullanıcı uyarılmaktadır:
ġekil 5.4 Üyelik giriĢ ekranında sayfa düzeyi doğrulamalar
Daha önceden kayıtlı olmayan bir kullanıcı “Kayıt Olunuz!” bağlantısına
tıkladığında bilgilerini girip kayıt olabileceği bir form açılmaktadır:
75
ġekil 5.5 Üyelik kayıt formu
Yukarıdaki formdan elde edilen kullanıcı bilgileri veritabanında toplanır.
Kullanıcılar bu sayfaya hem belediyenin hem de hastanenin sayfasından
eriĢebilirler. EriĢilen yere bağlı olarak çalıĢılan kısım bölümünde diğer kurum
seçilmiĢse ilgili veri ihmal edilebilir. Eğer kullanıcı bir belediye çalıĢanı olup
belediyenin sunmuĢ olduğu Telefon Bilgi Sistemi ve Bordro Bilgi Sistemi gibi
belediye taraflı sistemlere eriĢmek istiyorsa kayıt formunda ilgili kısımda bu
isteğini belirtecek harfi girer (ġekil 5.6).
76
ġekil 5.6 Belediye taraflı alt sistemlere eriĢim isteği yapılan kayıt formu
Kullanıcı kayıt olduğunda giriĢ ekranına tekrar yönlendirilir ve kayıtta verdiği
kullanıcı adı ve Ģifreyi girerek sisteme giriĢ yapar (ġekil 5.7). Belediyede
çalıĢtığı bilgisini giren kullanıcının bu bilgisi, teyit edilmek üzere yönetici
paneline düĢer, yönetici panelinde sistem yöneticisi bu bilgiyi doğrularsa
eBelediye hizmetleri kısmında “Belediyeden ÇalıĢana” alt menüsü görünür
hale gelir (ġekil 5.8).
ġekil 5.7 Sisteme giriĢ sonrası açılan ekran
77
ġekil 5.8 ÇalıĢılan kurum bilgisinin doğrulanması sonucu açılan ekran
Sistemin gerek belediye tarafında gerekse hastane tarafında ayrı ayrı sistem
yöneticisi vardır. Dolayısıyla belediye çalıĢanı olduğunu bildiren birisinin bu
kontrolü belediye tarafındaki sistem yöneticisi tarafından sağlanmaktadır
(ġekil 5.9).
Yönetici Paneli
ġekil 5.9 Yönetici paneli modülüne iliĢkin dosya yapısı
Kullanıcıların yapmıĢ oldukları çalıĢılan kurum bildirimlerini onaylayan sistem
yöneticisinin onay formları da web form tabanlı olup yönetici paneline de web
üzerinden eriĢilebilmektedir. Yönetici paneline eriĢmek için sistem yöneticisi,
kullanıcı adı ve Ģifre girmelidir (ġekil 5.10).
78
ġekil 5.10 Yönetici paneli giriĢ ekranı
Yönetici doğru kullanıcı adı ve Ģifre sağladığında yönetim paneli açılır (ġekil
5.11).
ġekil 5.11 Yönetici paneli
Yönetici panelinde daha önce de bahsedildiği gibi yöneticinin, kullanıcıların
çalıĢan bilgisini onaylayabileceği bir form vardır (ġekil 5.12). Yine ayrıca bu
panelde sisteme geçersiz bilgiler girerek kayıt yaptıran kullanıcıların
silinebileceği bir form daha vardır.
ġekil 5.12 Yönetici paneli: çalıĢan bilgisi onaylama formu
79
Sistemle ilgili dosya yapılandırmasına gelindiğinde; veri hizmetleri sağlayan
her bir alt modülün kendine özgü web servisi vardır. Dolayısıyla alt modüller
itibarıyla, veri sağlayıcısı konumundaki bu web servislerin dosya adları
aĢağıdaki gibidir:

VH_BC.asmx (Veri Hizmetleri: Belediyeden ÇalıĢana)

VH_BH.asmx (Veri Hizmetleri: Belediyeden Hastaneye)

VH_BV.asmx (Veri Hizmetleri: Belediyeden VatandaĢa)

VH_HC.asmx (Veri Hizmetleri: Hastaneden ÇalıĢana)

VH_HB.asmx (Veri Hizmetleri: Hastaneden Belediyeye)

VH_HV.asmx (Veri Hizmetleri: Hastaneden VatandaĢa)
Veri sağlayıcısı olarak hizmet eden bu web servisler gerek belediye tarafında
gerekse
hastane
tarafında
kullanıcıların
iĢlemlerine
veri
istemcileri
(tüketicileri) vasıtasıyla yanıt verirken iki durum söz konusu olabilir. Birinci
durumda, kullanıcı veritabanından sadece seçme yapar, yani veritabanında
bir değiĢiklik söz konusu değildir. Bu durumu ifade etmek için, ilgili veri
istemcisi .aspx dosyasının adına “_secme” ibaresi eklenecektir. Ġkinci
durumda
ise
veritabanından
veri
çekmenin
ötesinde
veritabanında
değiĢikliklere gidilmekte bazı kayıtların içeriği değiĢmekte bazende yepyeni
bir kayıt ortaya çıkmaktadır. Bu durumu ifade etmek için, ilgili veri istemcisi
.aspx dosyasının adına “_islem” ibaresi eklenecektir.
Dolayısıyla yukarıdaki yapılandırmaya eĢlik eden dosya adları aĢağıdaki
gibidir:

VHIstemci_BC_Secim.aspx

VHIstemci_BC_Islem.aspx

VHIstemci_BH_Secim.aspx

VHIstemci_BH_Islem.aspx

VHIstemci_BV_Secim.aspx

VHIstemci_BV_Islem.aspx

VHIstemci_HC_Secim.aspx

VHIstemci_HC_Islem.aspx

VHIstemci_HB_Secim.aspx

VHIstemci_HB_Islem.aspx

VHIstemci_HV_Secim.aspx

VHIstemci_HV_Islem.aspx
80
5.1 Belediyeden VatandaĢa Hizmetler Alt Modülü
Bu alt modül belediyenin vatandaĢlara hizmet sağlamakla sorumlu olan
modülüdür. Bu modülün bir çok alt modülü olabilir (Vergi ve Harclar, Online
Nikah, Bilgi Edinme, Veterinerlik, ĠĢ BaĢvurusu vb.).
eBelediye menüsündeki “Belediyeden VatandaĢa” alt menüsünün “Vergi ve
Harçlar” alt menüsüne tıklandığında (ġekil 5.13) Vergi ve Harçlar ile ilgili
hizmetlere
eriĢilebilinecek
baĢka
bir
sayfaya
(http://localhost
/BV_VergiHarc.aspx) yönlendirme yapılmaktadır (ġekil 5.14). Burada dikkat
edilmesi gereken nokta BV_VergiHarc.aspx sayfasının sunum katmanının ilk
kısmını oluĢturduğu gerçeğidir. Veri istemcisine gelmeden önce sunum
katmanındaki
sayfanın
http://localhost/BV_VergiHarc.aspx
yapılıĢ
amacı
sunum
katmanının
sayfasına
ikinci
eriĢilir.
kısmını
Bu
oluĢturan
http://localhost/ VHIstemci_BV_Secim.aspx veri istemcisi sayfasına seçilecek
hizmet türünü gösteren bir parametre geçirmektir. Sunum katmanındaki
VHIstemci_BV_Secim.aspx sayfası asıl veri istemcisi (tüketicisi) durumunda
olan sayfadır.
ġekil 5.13 Belediye-VatandaĢ menünün Vergi ve Harçlar alt menüsü
81
ġekil 5.14 Vergi ve Harçlar sayfası (http://localhost/BV_VergiHarc.aspx)
Bu sayfada Belediye Vergileri kısımındaki “Emlak Vergisi” seçildiğinde
kullanıcı
bir
sonraki
sayfaya
BV_VergiHarc_hizmet_no=1
parametre
değeriyle yönlendirilir:
http://localhost/ VHIstemci_BV_Secim.aspx?BV_VergiHarc_hizmet_no=1
http://localhost/VHIstemci_BV_Secim.aspx sayfası artık sunum katmanındaki
veri istemcisi sayfa olup veriyi tüketecek olan sayfadır (ġekil 5.15).
82
ġekil 5.15 Emlak vergisi hesaplanıĢı (VHIstemci_BV_Secim.aspx)
Veri istemcisi (tüketicisi) bu sayfada bir değer girilip ilgili vergi türüne
tıklandığında bu sayfa veri sağlayıcısının içinde gömülü olduğu VH_BV (Veri
Hizmetleri: BelediyedenVatandaĢa) kurgusuna yönelir. Bu kurgu veri
istemcisi sayfada çekilmiĢtir. Kurgunun içinde bulunan metot sayesinde
gerekli vergi hesaplamaları yapılır ve perde gerisinde duran VH_BV.asmx
sayfasının (veri sağlayıcısının) etkimesi bu kurgu vasıtasıyla sağlanır.
ġekil 5.16 Web servisinin sonuç döndürümü
http://localhost/VH_BV.asmx sayfasında VH_BV web servisinin metotları
görülmektedir (ġekil 5.17):
83
ġekil 5.17 Web servisinin metotları
84
5.2 Belediyeden Hastaneye Hizmetler Alt Modülü
Bu alt modül belediyenin hastaneye hizmet sağlamakla sorumlu olan
modülüdür. Bu modülün bir çok alt modülü olabilir (sosyal güvenlik ile ilgili
hizmetler vb.).
5.2.1 Mevcut sistemin durumu
Mevcut durumda bir devlet hastanesine gidecek belediye çalıĢanı hastaneye
giderken vizite kâğıdını götürmektedir. Bu kâğıdın temelde sağladığı katkı
hastanenin belediye çalıĢanının 90 günlük asgari çalıĢma süresini karĢılayıp
karĢılamadığını göstermektir.
5.2.2 Mevcut sistemin yetersizlikleri
Mevcut süreç eDönüĢümü gerçekleĢtirmek için oldukça önemli ipuçları
vermektedir. Sistemde birçok gereksiz iĢ akıĢı vardır. Örneğin, izinde olan bir
çalıĢan hastaneye gitmek istediğinde bazı hastaneler tarafından hala vizite
kağıdı istenebilmektedir. Böyle bir durumda ilgili çalıĢan izin süresi içinde
kendi iĢ yerine uğrama mecburiyeti ile karĢı karĢıya kalmaktadır.
5.2.3 Modellenen sistemin amaçları
Modellenen belediyeden hastaneye hizmetler alt modülünde, mevcut
sıkıntıları ortadan kaldırmak için çalıĢanın toplam prim ödeme süresini
gösteren
belediye
tarafındaki
bir
web
servisin
hastane
tarafından
eriĢilebilmesi ve çalıĢanın prim ödeme süresi ile ilgili sorgulamaların bu web
servis aracılığıyla yapılabilmesi amaçlanmıĢtır.
85
5.2.4 Kritik baĢarı faktörü
Modellenen sistemde, belediye tarafındaki ilgili web servisin hastane
tarafından belediyenin web sitesine girilmeden doğrudan hastaneni web
sitesinden belediye tarafındaki vekil sınıftan yararlanılarak gerçekleĢtirilmesi
bir kritik baĢarı faktörüdür.
5.2.5 Alt modülün iĢleyiĢi
Bu alt modül VH_BH.asmx web servisindeki ToplamPrimOdemeGunuSayisi
metodunu kullanmaktadır.
ġekil 5.18 Veri sağlayıcısı VH_BH.asmx web servisindeki metotlar
Hastane tarafındaki bir yetkili, http://localhost/VHIstemci_BH_Secim.aspx veri
istemcisi sayfasını açarak sorgulamak istediği çalıĢanın TC Kimlik No‟sunu
girer (ġekil 5.19)
ġekil 5.19 Veri tüketicisi http://localhost/VHIstemci_BH_Secim.aspx sayfası
86
Sorgunun sonucunu verebilmek için web sevis, belediyenin veritabanına
bakar. “5.2”deki yapının “5.1”deki yapıdan önemli bir farkı budur. Çünkü
buradaki alt modülde artık veri katmanı da iĢin içindedir. Oysaki, “5.1” alt
bölümündeki yapıda süreç en nihayet iĢ katmanında sonuçlanıyordu. Web
servisi sorgunun sonucunu hastane yetkilisine bildirir (ġekil 5.20).
ġekil 5.20 Web servisinin cevabı
Burada tanıtılan süreç ile vizite kâğıdının iĢlevselliği tamamen ortadan
kalkmaktadır.
5.3 Belediye Veritabanı
Belediye veritabanı (belediye.mdb) bütünleĢik sistemin belediye tarafındaki
iĢlemleri yürütmekten sorumlu olan veritabanıdır. Bu veritabanına neden olan
birim iliĢki diyagramı ve belediye veritabanının iliĢkisel veri modeli aĢağıda
verilmektedir (ġekil 5.21, ġekil 5.22).
87
Vatandas_iletisim
M
1
Vatandas
YöneticiPaneli
M
1
1
1
Görevler
1
M
Calisan_sgk
1
Calisan
1
1
1
Teklik
1
1
Ġller
1
M
Calisan_iletisim
M
1
M
M
OnlineNikah
Bordro
ġekil 5.21 Belediye veritabanıyla sonuçlanan birim iliĢki diyagramı
88
ġekil 5.22 Normalizasyonu zayıf iliĢkisel veri modeli
89
Veritabanındaki tablolar incelendiğinde;
Teklik tablosu ÇalıĢan ve VatandaĢ tablolarının süpertürü olarak iĢlev
görmektdir.
ġekilde görüldüğü gibi tablolar arasında bire çok ve çoka çok iliĢki vardır:
Ġller-ÇalıĢan_ĠletiĢim: Aynı il ietiĢim bilgisine sahip birçok çalıĢan olabilir.
Görevler-ÇalıĢan_sgk: Aynı görevde olan birçok çalıĢan olabilir.
ÇalıĢan-ÇalıĢan_iletiĢim: Bir çalıĢan birden fazla iletiĢim adresi verebilir.
ÇalıĢan-ÇalıĢan_sgk: Bir çalıĢanın SGK bilgileri yalnız bir tanedir ve iliĢki ters
yönde de geçerlidir.
ÇalıĢan-Yöneticipaneli: Buradaki iliĢkinin bire çok olmasının nedeni aynı
çalıĢan için farklı kullanıcı adları tasarlanıp bu çalıĢanın ilgili kullanıcı adı
sayesinde sistemin farklı alt modüllerine eriĢebilmesi sağlanabilir. Böylelikle
yöneticiler arasında da bir ayrıĢım gerçekleĢtirilebilir.
ÇalıĢan-Bordro: ÇalıĢanların ay bazında bordro bilgisi tabloya iĢlendiğinden
iliĢkinin bire çok olduğu açıktır.
ÇalıĢan-Teklik: Buradaki iliĢki bire birdir. ÇalıĢan tablosu Teklik tablosunda
tutulan hizmet yararlanıcılarının belediye çalıĢanlarına bir projeksiyonudur:
Teklik |Belediye =ÇalıĢan
Teklik-VatandaĢ: Buradaki iliĢki bire birdir. VatandaĢ tablosu Teklik
tablosunda tutulan hizmet yararlanıcılarının belediye çalıĢanları olmayanlara
bir projeksiyonudur:
90
Teklik |
Belediye𝐶
=ÇalıĢan
VatandaĢ-VatandaĢ_iletiĢim: Bir vatandaĢ birden fazla iletiĢim adresi
verebilir.
Teklik-Online Nikâh: Bir kimse (belediye çalıĢanı veya değil) birden fazla kez
nikâh baĢvurusu yapabilir. BoĢanma durumları olduğu gibi mevcut evlilik
durumundan vazgeçip baĢka bir kimseyle evlenmek için yeniden baĢvurabilir.
Bu birim iliĢki diyagramının ürettiği iliĢkisel veritabanı normalizasyon
açısından oldukça zayıf kalmaktadır.
Teklik, VatandaĢ ve ÇalıĢan tabloları Kullanıcı adlı tek bir tabloda
birleĢtirildiğinde ve vatandaĢ ve çalıĢanın iletiĢim bilgileri kullanıcı_iletiĢim
adlı tek bir tabloya alındığında normalize edilmiĢ bir yapı elde edilir (ġekil
5.23)
91
ġekil 5.23 Normalize edilmiĢ iliĢkisel veri modeli
92
Bordro tablosu, kurum personeline ait bordro bilgilerinin saklandığı veri
dosyasıdır. Tabloda tüm çalıĢanlara ait ay bazında brüt ve net ücretler
saklamaktadır. Bordro_sn burada anahtar (primary key) alanıdır. Yani her
bordro numarası için bir kayıt söz konusudur.
Görevler tablosu, hem belediye içindeki çalıĢanların hem de birleĢik sistemi
kullanacak vatandaĢların meslek bilgilerinin tutulduğu tablodur. Gorev_sn bu
tablo için anahtar alandır.
ÇalıĢan_sgk tablosu, belediye çalıĢalarının Sosyal Güvenlik Kurumu‟na
yönelik bilgilerinin tutulduğu tablodur.
Bir kiĢi iĢini bırakıp baĢka bir iĢte
çalıĢabilir ve sonra tekrar kendi iĢine geri dönebilir. Bu ve buna benzer
durumlar
için
bu
tabloda
calisan_sgk_sn
adlı
bir
birincil
anahtar
oluĢturulmuĢtur.
Yönetici paneli tablosunda sistem yöneticilerine ait bilgiler tutulmaktadır.
Kullanıcı tablosunda sistemin kullanıcılarının (hem belediye çalıĢanı hem de
belediye çalıĢanı olmayan) bilgileri tutulmaktadır.
Kullanıcı
iletiĢim
tablosuna
sistemin
kullanıcılarına
yönelik
bilgiler
tutulmaktadır.
Online nikah tablosunda sistemdeki kullanıcılardan online nikah için baĢvuran
kullanıcılara ait nikah talep bilgisi tutulmaktadır.
93
6. SONUÇ VE ÖNERĠLER
Bu tezde eDevlet dönüĢümünün gerçekleĢtirilmesi adına farklı teknolojiler
somut örnekler verilerek iĢlenmiĢtir. Bu farklı teknolojiler farklı eDevlet
mimarilerinin ortaya çıkmasına neden olmuĢtur. Ancak bu farklı mimarilerin
önemli
bir
ortak
özelliği
vardır:
eDevlet
mimarileri,
temel
internet
standartlarına bağlı hizmet odaklı mimariye doğru geliĢmektedirler [5]. Etkili
bir mimari bu temel internet standartlarına bağlı olarak çok farklı tekniklerle
gerçekleĢtirilebilir:
Bazıları bu tez kapsamında ayrıntılı olarak verilen temel internet standartları
özetlenirse [5]:
 TCP/IP (Transmission Control Protocol/Internet Protocol): iki makine
arasında internet ortamında bilgi paketlerinin değiĢimine imkân veren
temel iletiĢim protokoleridir.
 HTTP (HyperText Transfer Protocol): World Wide Web‟in üzerine
kurulduğu temel protokoldür.
 HTML (HyperText Markup Language):
World Wide Web‟te tarayıcıda
bilginin nasıl gösterileceğini tanımlamakta kullanılan dildir.
 XML (eXtensible Markup Language): Ġki veya daha fazla uygulama veya
sistem arasında yapılandırılmıĢ bilgi değiĢimini kolaylaĢtıran bir dildir.
 SOAP (Simple Object Access Protocol): Bir sistem üzerinde baĢka bir
sistem
tarafından
hizmet
yürütümünü
sağlayan
XML
tabanlı
bir
protokoldür.
 WS* (Web Services*):
Ġnternet altyapısı üzerinde sürdürülebilir dağıtık
uygulamalar yapılmasını kolaylaĢtıran SOAP ve XML üzerine kurulu
hizmetler kümesidir.
94
Birlikte çalıĢabilirlik ekolüne Milli Prodüktivite Merkezi (MPM) perspektifinden
bakıldığında, araĢtırma projeleri bir web servisi aracılığıyla sunulabilir.
Bunun ötesinde KOBĠ‟lerle ilgili veritabanı oluĢturulmasında web servisleri
tüketicileri tasarlanabilir. Ayrıca, Merkez, web arayüzüyle verdiği hizmetlerin
bazılarının veriliĢ biçimini değiĢtirebilir ve web servislerin kullanıldığı
platformları iĢlevlendirebilir. MPM, web servisleriyle ilgili geliĢmeleri takip
ederken aĢağıdaki sonuç paragrafına odaklandığında yatırım dönüĢünü daha
kolay hale getirebilir:
eDevlet mimarisinin gerçekleĢtirilmesinde bahsi geçen hizmet odaklı
mimarinin nasıl gerçekleĢtirileceği 4. Bölüm‟de ayrıntılı olarak iĢlenmiĢtir.
DeğiĢen teknolojinin değiĢim yapısının nasıl olduğunu ve standartların
oluĢum sürecinin döngüsel yapısını özetleyen “3.1” alt bölümünün sonuç
paragrafı göz önünde bulundurularak; eldeki mevcut sistemlerin Ģu an
itibarıyla yeni olanların bile değiĢim karĢısında mirasçı sistem durumuna
düĢeceği göz ardı edilmemelidir. Bu noktadan hareketle, eDevlet çatısı
hizmet odaklı yapılandırılırken kurgulanan çatının yıllar itibarıyla atıl duruma
düĢmemesi için ortaya çıkan yeni standartlara uygun yapılanmaya gidilmesi
zorunluluğu
bileĢenlerinin
ortadadır.
Ülkemizde
sonuçlandırılma
de
eKapı
aĢamasına
gibi
eDevlet
yaklaĢıldığı
çatısının
bugünlerde,
bileĢenlerin sürdürülebilir yapılandırılması “yeni ortaya çıkan standartların”
yakın bir biçimde takibinden geçmekte olduğu unutulmamalıdır.
95
KAYNAKÇA
[1] Arifoğlu, A., 2004, “eDönüĢüm: Yol Haritası, Dünya, Türkiye”, SAS BiliĢim
Yayınları, 1. Basım, Ankara, s.3-6.
[2] Institute of Electrical and Electronics Engineers, 1990, “IEEE Standard
Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries”,
New York, NY.
[3] Ravindran, K., “Office Business Application Reference Architecture Pack
(OBA RAP): eForms Processing in the Public Sector: Business Enablement”
(http://www.microsoft.com)
[4] Bruno, C., 2007, “Microsoft Connected Government Framework”,
BiliĢim‟07 Etkinlikleri, Ankara.
[5] Ramusack, R., “eGovernment Services Foundation Interoperability and
the GAP Principles”, (http://css.escwa.org.lb/ictd/19dec06/S62.ppt)
[6] Butler, J. and Caudill, T., 2002, “ASP NET Database Programming
Weekend Crash Course”, Hungry Minds, Inc., New York.
[7] Irek, C., “Realizing a Service-Oriented Architecture with .NET”,
(http://www.15seconds.com/issue/031215.htm)
[8] Learn About Service Oriented Architecture (SOA)
(http://www.microsoft.com/biztalk/solutions/soa/overview.mspx)
[9] Gökçen, H., 2007, “Yönetim Bilgi Sistemleri”, Palme Yayımcılık, Ankara.
[10] Erten, M., 2007, “eKapı‟nın tanımı, dünyadaki uygulamaların standartları
ve benzer örnekleri”, BiliĢim‟07 Etkinlikleri, Ankara.
[11] Tanrıverdi, C., (Türk Telekom) “eDönüĢüme Türk Telekom‟un Katkıları”,
BiliĢim‟07 Etkinlikleri, Ankara.
[12] Kaplan, A., (Türksat) “eKapı ve Türksat”, BiliĢim‟07 Etkinlikleri, Ankara.
[13] Tabak, H., (OYTEK) “eDevlet Kapısı”, BiliĢim‟07 Etkinlikleri, Ankara.
96
EK 1: Önerilen Modelin Kaynak Kodları
BELEDĠYEDEN HASTANEYE YÖNELĠK HĠZMETLER MOLÜLÜ:
[VH_BH Web Servisi (Veri Sağlayıcısı): VH_BH.asmx]
<%@ WebService Language="VB" class="VH_BH" %>
Imports System
Imports System.Web.Services
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.OleDbClient
<WebService(Namespace:="VH_BHVB")> Public Class VH_BH : Inherits WebService
<WebMethod()> Public Function GetTitleAuthors() As DataSet
Dim MyConnection As OleDbConnection = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA
Source=d:\edevlet\belediye.mdb")
Dim MyCommand1 As OleDbDataAdapter = New OleDbDataAdapter("select * from calisan_sgk", MyConnection)
Dim MyCommand2 As OleDbDataAdapter = New OleDbDataAdapter("select * from calisan", MyConnection)
Dim DS As New DataSet
MyCommand1.Fill(DS, "calisan_sgk")
MyCommand2.Fill(DS, "calisan")
Return DS
End Function
<WebMethod()> Public Function PutTitleAuthors(ByVal DS As DataSet) As Integer
Return DS.Tables(0).Rows.Count
End Function
<WebMethod()> Public Function CalisanSNdenSureGetir(ByVal clsn As Integer) As DataSet
Dim oConn As New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=d:\edevlet\belediye.mdb")
Dim oCmd As New OleDbDataAdapter("SELECT * FROM calisan_sgk WHERE [calisan_sn]=?", oConn)
Dim oParam As New OleDbParameter("stor_id", OleDbType.Integer)
oParam.Value = clsn
oCmd.SelectCommand.Parameters.Add(oParam)
Dim oDS As New DataSet()
97
oCmd.Fill(oDS, "calisan_sgk")
Return oDS
End Function
End Class
[Veri Ġstemcisi (Tüketicisi): VHIstemci_BH_Secim.aspx]
<%@ Page Language="VB" debug="true"%>
<%@ Assembly Name="VH_BH" %>
<%@ Import Namespace="VH_BHVB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="VB" runat="server">
Sub tiklandiginda(ByVal Sender As Object, ByVal E As EventArgs)
Dim oDS As DataSet
Dim Hizmet As New VH_BHVB.VH_BH
Dim k As String
k = Operand1.Text
oDS = Hizmet.ToplamPrimOdemeGunuSayisi(k)
dgMembers.DataSource = oDS.Tables(0).DefaultView
dgMembers.DataBind()
End Sub
</script>
<html>
<head>
<script type="text/javascript" id="sothink_dhtmlmenu"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
//--> </script>
<title>Music</title></head>
98
<body>
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/eBelediye.js"></script>
</div>
<div align="center">
<form id="Form2" runat="server">
<table border="2">
<tr>
<td>
<br />
<strong>
Toplam Prim Ödeme Günü Sayısı Kontrolü</strong><br />
<br />
TC Kimlik No:<asp:TextBox id="Operand1" runat="server"/><br />
<input type="submit" id="Mesken" value="Denetle" OnServerClick="tiklandiginda" runat="server">
<asp:DataGrid id="dgMembers" BorderWidth="1" GridLines="both" runat="server" />
</td>
</tr>
</table>
<!-- <asp:Label id="Sonuc" runat="server"/> -->
</form>
</div>
</body>
</html>
BELEDĠYEDEN VATANDAġA YÖNELĠK HĠZMETLER MOLÜLÜ:
[VH_BV Web Servisi (Veri Sağlayıcısı): VH_BV.asmx]
<%@ WebService Language="VB" Class="VH_BV" %>
Imports System
Imports System.Data
Imports System.Data.OleDb
99
Imports System.Web.Services
<WebService(Namespace:="VH_BVVB")> Public Class VH_BV : Inherits WebService
<WebMethod()> Public Function Emlak_Mesken_Vergisi_Hesapla(ByVal A As System.Single) As System.Single
Return A * 0.001
End Function
<WebMethod()> Public Function Emlak_Isyeri_Vergisi_Hesapla(ByVal A As System.Single) As System.Single
Return A * 0.002
End Function
<WebMethod()> Public Function Emlak_Arsa_Vergisi_Hesapla(ByVal A As System.Single) As System.Single
Return A * 0.003
End Function
<WebMethod()> Public Function Emlak_Arazi_Vergisi_Hesapla(ByVal A As System.Single) As System.Single
Return A * 0.001
End Function
End Class
[Veri Ġstemcisi (Tüketicisi): VHIstemci_BV_Secim.aspx]
<%@ Page Language="VB"%>
<%@ Assembly Name="VH_BV" %>
<%@ Import Namespace="VH_BVVB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDbClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head id="Head1" runat="server">
<script type="text/javascript" id="sothink_dhtmlmenu"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
//--> </script>
<script language="VB" runat="server">
Dim Op1 As Single = 0
Dim Op2 As Single = 0
100
Public Sub Submit_Click(Sender As Object, E As EventArgs)
Try
Op1 = Single.Parse(Operand1.Text)
' Op2 = Single.Parse(Operand2.Text)
Catch Exp As Exception
' Ignored
End Try
Dim Hizmet As VH_BVVB.VH_BV = New VH_BVVB.VH_BV()
Select (CType(sender,Control).ID)
Case "Mesken"
Sonuc.Text = "<b>Sonuç</b> = " & Hizmet.Emlak_Mesken_Vergisi_Hesapla(Op1).ToString()
Case "Isyeri"
Sonuc.Text = "<b>Sonuç</b> = " & Hizmet.Emlak_Isyeri_Vergisi_Hesapla(Op1).ToString()
Case "Arsa"
Sonuc.Text = "<b>Sonuç</b> = " & Hizmet.Emlak_Arsa_Vergisi_Hesapla(Op1).ToString()
Case "Arazi"
Sonuc.Text = "<b>Sonuç</b> = " & Hizmet.Emlak_Arazi_Vergisi_Hesapla(Op1).ToString()
End Select
End Sub
</script>
<title>Ödeme Hizmetleri</title>
</head>
<body style="font: 10pt verdana; color: #000000; text-align: center;">
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/eBelediye.js"></script>
</div>
<br />
<strong>Web Servisleriyle Veri EriĢimi: Veri Ġstemcisi (Tüketicisi) </strong>
<br />
<form id="Form1" runat="server">
<%
Dim BV_VergiHarc_hizmet_no As Integer
BV_VergiHarc_hizmet_no = Request.QueryString("BV_VergiHarc_hizmet_no")
%>
101
<%Select Case BV_VergiHarc_hizmet_no%>
<% Case 1%>
01: Emlak Vergisi
<div>
Lütfen emlak vergisi matrahınızı girip, ilgili emlak vergisi türüne tıklayınız:<br />
<br><asp:TextBox id="Operand1" Text="15" runat="server"/><br>
<!-- 1. Sayi <br><asp:TextBox id="Operand2" Text="15" runat="server"/><br> -->
<input type="submit" id="Mesken" value="Mesken" OnServerClick="Submit_Click" runat="server">
<input type="submit" id="Isyeri" value="Isyeri" OnServerClick="Submit_Click" runat="server">
<input type="submit" id="Arsa" value="Arsa" OnServerClick="Submit_Click" runat="server">
<input type="submit" id="Arazi" value="Arazi" OnServerClick="Submit_Click" runat="server">
<p>
<asp:Label id="Sonuc" runat="server"/>
</div>
<% Case 2%>
02: Ġlan ve Reklam Vergisi
<div>
1. Sayi <br><asp:TextBox id="TextBox1" Text="15" runat="server"/><br>
2. Sayi<br><asp:TextBox id="TextBox2" Text="5" runat="server"/><p>
<input type="submit" id="Submit1" value="Add" OnServerClick="Submit_Click" runat="server">
<input type="submit" id="Submit2" value="Subtract" OnServerClick="Submit_Click" runat="server">
<input type="submit" id="Submit3" value="Multiply" OnServerClick="Submit_Click" runat="server">
<input type="submit" id="Submit4" value="Divide" OnServerClick="Submit_Click" runat="server">
<p>
<asp:Label id="Label1" runat="server"/>
</div>
<%End Select %>
</form></body></html>
ÜYELĠK MODÜLÜ:
[default.aspx]
<%@ Page Explicit="True" Language="VB" Debug="True" validateRequest="false" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script language="VB" runat="Server">
102
Sub Page_Load()
KullaniciDogrulama.Text = User.Identity.Name
End Sub
Sub CikisYap(Src As Object, E As EventArgs)
FormsAuthentication.SignOut()
Response.Redirect("giris.aspx")
End Sub
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<script type="text/javascript" id="Script2"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
//--> </script>
<title>Uyelik Modulu</title>
</head>
<body>
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/eBelediye_BelCal.js"></script>
</div>
<div align="center">
<br />
<table border="1" cellpadding="0" cellspacing="0">
<form runat="server">
<tr>
<td><font face="Tahoma" size="2">Belediye ÇalıĢanı: <font color="#0000CC">
103
<asp:Label Runat="server" ID="KullaniciDogrulama"></asp:Label></font> Özel Alanı.
<br /><!--(bu sayfadaki kod diğer sayfalar için kullanılabilir)--> </font></td>
<td>
<a href="logout.aspx">
<asp:LinkButton Runat="server" OnClick="CikisYap" ID="linkLogout">ÇıkıĢ</asp:LinkButton>
</a></td>
</tr>
</form>
</table>
</div>
</body>
</html>
[giris.aspx]
<%@ Page Explicit="True" Language="VB" Debug="True" validateRequest="false" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script language="VB" runat="Server">
Sub btngiris_OnClick(Src As Object, E As EventArgs)
If Page.IsValid Then
Dim Adresim As String
Dim Baglantim As OleDbConnection
Dim SQLim As String
Dim KayitKumem As String
Dim Sayacim As OleDbCommand
Dim Sifrem As OleDbCommand
Dim KullaniciSayisi As Integer
Dim strSifre As String
If Request.QueryString("ReturnUrl") = "" Then
Adresim = "default.aspx"
Else
Adresim = Request.QueryString("ReturnUrl")
End If
SQLim = "SELECT COUNT(*) FROM teklik Where kullanici_adi = '" & txtkullanici_adi.Text & "'"
104
KayitKumem = "SELECT sifre FROM teklik Where kullanici_adi = '" & txtkullanici_adi.Text & "'"
Baglantim = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("/belediye.mdb") & ";")
Sayacim = New OleDbCommand(SQLim, Baglantim)
Sifrem = New OleDbCommand(KayitKumem, Baglantim)
Baglantim.Open()
KullaniciSayisi = Sayacim.ExecuteScalar()
strSifre = Sifrem.ExecuteScalar()
Baglantim.Close()
If KullaniciSayisi > 0 Then
If strSifre = txtsifre.Text Then
FormsAuthentication.SetAuthCookie(txtkullanici_adi.Text, True)
Response.Redirect(Adresim)
Else
lblMsg.Text = "Geçersiz ġifre"
End If
Else
lblMsg.Text = "Geçersiz K.Adı"
End If
Else
Exit Sub
End If
End Sub
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html" lang="tr" />
<script type="text/javascript" id="sothink_dhtmlmenu"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
105
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
//--> </script>
<title> eBELEDĠYE & eSAĞLIK ENTEGRASYONU </title>
</head>
<body>
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/eBelediye.js"></script>
</div>
<div align="center">
<form id="Form1" runat="server">
<table cellpadding="0" cellspacing="2" width="100" height="50" class="tblMain" border="2">
<tr>
<td height="20" align="center" width="80" colspan="2" style="text-align: right">
<asp:Label CssClass="Treb10Blue" Runat="server" ID="lblMsg">Üye Giri&#351;i</asp:Label>
</td>
</tr>
<tr>
<td height="20" width="68"><font face="Tahoma" size="2">
<label for="txtkullanici_adi">K.Adı:</label></font></td>
<td height="20">
<asp:TextBox ID="txtkullanici_adi" CssClass="Treb10Blue" Runat="server" width="80"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator27" Runat="server" ErrorMessage="*" Display="Dynamic"
ControlToValidate="txtkullanici_adi"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td height="20" width="68"><font face="Tahoma" size="2">
<label for="txtsifre">ġifre:</label></font></td>
<td height="20">
<asp:TextBox ID="txtsifre" CssClass="Treb10Blue" Runat="server" TextMode="Password"
width="80"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator26" Runat="server" ErrorMessage="*" Display="Dynamic"
ControlToValidate="txtsifre"></asp:RequiredFieldValidator>
</td>
106
</tr>
<tr>
<td height="20" align="right" width="74"></td>
<td height="20" align="center" width="80">
<asp:Button ID="btngiris" Runat="server" CssClass="button" Text="Gir" OnClick="btngiris_OnClick"></asp:Button>
</td>
</tr>
</table>
</form>
</div>
<div align="center">
<a href="kayit.aspx">Kayıt Olunuz!</a>
<br>
<font face="Tahoma" size="2">GiriĢ yaparsanız <a href="default.aspx">bu</a> sayfaya tekrar yönlendirilmezsiniz!</font></div>
</body>
</html>
[kayit.aspx]
<%@ Page Explicit="True" Language="VB" Debug="True" validateRequest="false" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server" language="VB">
Function Fixquotes(thesqlenemy as String)
Fixquotes = Replace(thesqlenemy, "'" , "''")
End Function
Sub btnkayit_Onclick(Src As Object, E As EventArgs)
If page.IsValid Then
Dim Baglantim
As IDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
server.MapPath ("/belediye.mdb") & ";")
Dim chkkullanici_adi
As IDbCommand
Dim atanan_teklik_sn_denetimi
Dim atanan_vatandas_sn_denetimi
Dim atanan_vat_ilt_sn_denetimi
As IDbCommand
As IDbCommand
As IDbCommand
107
Dim teklikten_vatandasa_denetimi
As IDbCommand
Dim teklikten_vatandas_iletisime_denetimi As IDbCommand
Dim teklik_doldurumu
As IDbCommand
Dim vatandas_doldurumu
As IDbCommand
Dim vatandas_iletisim_doldurumu As IDbCommand
Dim strSQL1 As String
Dim strSQL2 As String
Dim strSQL3 As String
Dim strSQL4 As String
Dim strSQL5 As String
Dim strSQL6 As String
Dim strSQL7 As String
Dim strSQL8 As String
Dim strSQL9 As String
Dim atanan_teklik_sn As Integer
Dim atanan_vatandas_sn As Integer
Dim atanan_vat_ilt_sn As Integer
Dim strUserCount As Integer
strSQL1 = "SELECT COUNT(*) FROM [teklik] WHERE [kullanici_adi]='" & Fixquotes(txtkullanici_adi.Text) & "'"
strSQL2 = "INSERT INTO [teklik] ([TCKimlikNo], [bel_calisani_mi] , [kullanici_adi], [sifre])"
strSQL2 = strSQL2 & " VALUES "
strSQL2 = strSQL2 & "('" & Fixquotes(txtTCKimlikNo.Text) & "', '" & Fixquotes(txtBelCal.Text) & "', '" & Fixquotes(txtkullanici_adi.Text) & "', '" &
Fixquotes(txtsifre.Text) & "');"
strSQL3 = "INSERT INTO [vatandas] ([ad], [soyad] , [gorevi])"
strSQL3 = strSQL3 & " VALUES "
strSQL3 = strSQL3 & "('" & Fixquotes(txtad.Text) & "', '" & Fixquotes(txtsoyad.Text) & "', '" & Fixquotes(txtgorev.Text)& "');"
strSQL4 = "INSERT INTO [vatandas_iletisim] ([telno], [adres] , [semt], [postakod], [il], [eposta])"
strSQL4 = strSQL4 & " VALUES "
strSQL4 = strSQL4 & "('" & Fixquotes(txttelefon.Text) & "', '" & Fixquotes(txtadres.Text) & "', '" & Fixquotes(txtsemt.Text)& "', '"
strSQL4 = strSQL4 & Fixquotes(txtpostakodu.Text) & "', '" & Fixquotes(txtil.Text) & "', '" & Fixquotes(txteposta.Text) & "');"
' vatandas tablosundan üretilen vatandas_sn‟yi bul
strSQL5 = "SELECT max(vatandas_sn) FROM [vatandas]"
' teklik tablosundan üretilecek teklik_sn‟yi bulmak için
strSQL6 = "SELECT max(teklik_sn) FROM [teklik] "
108
' vatandas_iletisim tablosundan üretilen vat_ilt_sn‟yi bul
strSQL8 = "SELECT max(vat_ilt_sn) FROM [vatandas_iletisim]"
Baglantim.Open()
'Veritabanından bir alandan bir değer getirmek için aĢağıdaki iki satır güzel mantık veriyor
chkkullanici_adi = New OleDbCommand(strSQL1, Baglantim)
strUserCount = chkkullanici_adi.ExecuteScalar()
If strUserCount = 0 Then
'teklik tablosunu doldur
teklik_doldurumu = New OleDbCommand(strSQL2, Baglantim)
teklik_doldurumu.ExecuteNonQuery()
' teklik tablosundan üretilen teklik_sn‟yi bul
atanan_teklik_sn_denetimi = New OleDbCommand(strSQL6, Baglantim)
atanan_teklik_sn = atanan_teklik_sn_denetimi.ExecuteScalar()
' vatandas tablosunu doldur
vatandas_doldurumu = New OleDbCommand(strSQL3,Baglantim)
vatandas_doldurumu.ExecuteNonQuery()
' vatandas tablosundan üretilen vatandas_sn‟yi bul
atanan_vatandas_sn_denetimi = New OleDbCommand(strSQL5, Baglantim)
atanan_vatandas_sn = atanan_vatandas_sn_denetimi.ExecuteScalar()
' Vatandas tablosunda teklik_sn‟ye teklik tablosunda üretilen teklik_sn‟yi koy
strSQL7= "UPDATE [vatandas] SET [teklik_sn]= " & atanan_teklik_sn & " WHERE vatandas_sn = "& atanan_vatandas_sn &";"
'Vatandas tablosunda teklik_sn yerine teklik tablosundan üretilen teklik_sn yi koy
teklikten_vatandasa_denetimi = New OleDbCommand(strSQL7, Baglantim)
teklikten_vatandasa_denetimi.ExecuteNonQuery()
'vatandas iletisim tablosunu doldur
vatandas_iletisim_doldurumu = New OleDbCommand(strSQL4,Baglantim)
vatandas_iletisim_doldurumu.ExecuteNonQuery()
' vatandas_iletisim tablosundan üretilen vat_ilt_sn‟yi bul
atanan_vat_ilt_sn_denetimi = New OleDbCommand(strSQL8, Baglantim)
atanan_vat_ilt_sn = atanan_vat_ilt_sn_denetimi.ExecuteScalar()
' Vatandas_iletisim tablosunda teklik_sn‟ye teklik tablosunda üretilen teklik_sn‟yi koy
strSQL9= "UPDATE [vatandas_iletisim] SET [teklik_sn]= " & atanan_teklik_sn & " WHERE vat_ilt_sn = "& atanan_vat_ilt_sn &";"
'Vatandas_iletisim tablosunda teklik_sn yerine teklik tablosundan üretilen teklik_sn yi koy
teklikten_vatandas_iletisime_denetimi = New OleDbCommand(strSQL9, Baglantim)
teklikten_vatandas_iletisime_denetimi.ExecuteNonQuery()
109
Baglantim.Close
Response.Redirect("giris.aspx")
Else
lblMsg.Text = "Böyle bir kullanıcı adı zaten var. Lütfen baĢka bir kullanıcı adı seçiniz."
End If
Baglantim.Close()
End If
End Sub
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<script type="text/javascript" id="sothink_dhtmlmenu"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
//--> </script>
<title>Kayıt Sayfası</title>
</head>
<body>
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/eBelediye.js"></script>
</div>
<form runat="server" id="Form1">
<div align="center">
<table cellpadding="0" cellspacing="2" height="80" class="tblMain" style="width: 364px" border="2" id="TABLE1" onclick="return
TABLE1_onclick()">
<tr>
<td height="25" align="center" width="400" colspan="2" style="text-align: right">
110
<asp:Label CssClass="Treb10Blue" ID="lblMsg" Runat="Server">Üyelik Formu</asp:Label>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
<span style="font-size: 8pt; font-family: Arial"><em>"<span style="color: #ff3333">*</span>":zorunlu
alanlar</em></span></td>
</tr>
<tr>
<td height="20" width="129"><font face="Tahoma" size="2">
<label for="txtkullanici_adi">
<span style="font-size: 8pt">Kullan&#305;c&#305; Ad&#305; <span style="color: #ff3333; font-family: Arial">
<strong>*</strong></span> :</span></label></font></td>
<td height="20" width="100">
<asp:TextBox width="120" ID="txtkullanici_adi" CssClass="Treb10Blue" Runat="server" Font-Names="Arial" FontSize="8pt"></asp:TextBox>&nbsp;
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtkullanici_adi"
Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator><span style="color: #ff3333"></span></td>
</tr>
<tr>
<td height="20" width="100"><font face="Tahoma" size="2">
<label for="txtsifre">
<span style="font-size: 8pt; font-family: Arial;">&#350;ifre <span style="color: #ff3333">
<strong>*</strong> </span>:</span></label></font></td>
<td height="20" width="80">
<asp:TextBox width="120" ID="txtsifre" CssClass="Treb10Blue" Runat="server" TextMode="password"></asp:TextBox>&nbsp;
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtsifre"
Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator><span style="color: #ff3333"></span></td>
</tr>
<tr>
<td height="20" width="129"><font face="Tahoma" size="2">
<label for="txtTCKimlikNo">
<span style="font-size: 10pt"><span style="font-size: 8pt; font-family: Arial">TCKimlikNo
<span style="color: #ff3333"><strong>*</strong></span></span>:</span></label></font></td>
<td height="20" width="100">
<asp:TextBox width="120" ID="txtTCKimlikNo" CssClass="Treb10Blue" Runat="server"
MaxLength="11"></asp:TextBox>&nbsp;
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtTCKimlikNo"
111
Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td colspan="2" style="height: 18px; text-align: center">
<span style="font-size: 8pt; font-family: Arial">Çal&#305;&#351;&#305;lan Kurum (e
veya h girilir):</span></td>
</tr>
<tr>
<td colspan="2" style="height: 18px; text-align: center">
<span style="font-size: 8pt"><span style="font-family: Arial">Belediye(e/h):</span><span
style="font-family: Tahoma"> &nbsp; <strong>&nbsp; </strong></span></span>
<asp:TextBox width="29" ID="txtBelCal" runat="server" CssClass="Treb10Blue" MaxLength="1"></asp:TextBox>&nbsp;<span
style="font-family: Arial"> &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; </span>
<label for="txtHasCan"><span style="font-size: 8pt;
font-family: Tahoma"><span style="font-family: Arial">Hastane</span>(e/h): <strong>&nbsp;&nbsp;
&nbsp;</strong><asp:TextBox
ID="txtHasCal" runat="server" CssClass="Treb10Blue" Width="29px" MaxLength="1"></asp:TextBox></span></label></td>
</tr>
<tr>
<td style="height: 18px" width="100">
<span style="font-size: 8pt; font-family: Arial">Ad&#305; <span style="color: #ff3333">
*</span>:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox width="120" ID="txtad" runat="server" CssClass="Treb10Blue" Font-Names="Arial" Font-Size="8pt"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtad"
Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td style="height: 18px" width="100">
<span style="font-size: 8pt; font-family: Arial">Soyad&#305; <span style="color: #ff3333">
*</span>:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox width="120" ID="txtsoyad" runat="server" CssClass="Treb10Blue" Font-Names="Arial" Font-Size="8pt"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="txtsoyad"
Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator></td>
112
</tr>
<tr>
<td style="height: 18px" width="100">
<span style="font-size: 8pt; font-family: Arial">
Görevi:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox width="120" ID="txtgorev" runat="server" CssClass="Treb10Blue" Font-Names="Arial" FontSize="8pt"></asp:TextBox></td>
</tr>
<tr>
<td style="height: 18px" width="100">
<span style="font-size: 8pt; font-family: Arial">
Tel. No.:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox width="120" ID="txttelefon" runat="server" CssClass="Treb10Blue" Font-Names="Arial" FontSize="8pt"></asp:TextBox></td>
</tr>
<tr>
<td style="height: 18px" width="100">
<span style="font-size: 8pt; font-family: Arial">
Adres:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox width="120" ID="txtadres" runat="server" CssClass="Treb10Blue" Font-Names="Arial" FontSize="8pt"></asp:TextBox></td>
</tr>
<tr>
<td style="height: 18px" width="100">
<span style="font-size: 8pt; font-family: Arial">
Semt:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox width="120" ID="txtsemt" runat="server" CssClass="Treb10Blue" Font-Names="Arial" FontSize="8pt"></asp:TextBox></td>
</tr>
<tr>
<td style="height: 18px" width="100">
113
<span style="font-size: 8pt; font-family: Arial">
Posta Kodu:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox width="120" ID="txtpostakodu" runat="server" CssClass="Treb10Blue" Font-Names="Arial" Font-Size="8pt"
MaxLength="6"></asp:TextBox></td>
</tr>
<tr>
<td style="height: 18px" width="100">
<span style="font-size: 8pt; font-family: Arial">
&#304;l:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox width="120" ID="txtil" runat="server" CssClass="Treb10Blue" Font-Names="Arial" Font-Size="8pt"></asp:TextBox></td>
</tr>
<tr>
<td style="height: 18px" width="100">
<span style="font-size: 8pt; font-family: Arial">ePosta <span style="color: #ff3333">
*</span></span><span style="font-size: 10pt;
font-family: Tahoma">:</span></td>
<td style="height: 18px" width="100">
<asp:TextBox ID="txteposta" width="120" CssClass="Treb10Blue" Runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txteposta"
Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator15" ControlToValidate="txteposta" ValidationExpression=".*@.*\..*"
ErrorMessage="*" Display="Dynamic" Runat="server"></asp:RegularExpressionValidator></td>
</tr>
<tr>
<td colspan="2" height="20" style="text-align: center">
&nbsp;<asp:Button ID="btnkayit" Runat="server" CssClass="button" Text="Kaydol" OnClick="btnkayit_OnClick" Font-Names="Arial"
Font-Size="8pt"></asp:Button>
</td>
</tr>
</table>
</div>
<div align="center">
<font face="Tahoma" size="2"><span style="font-size: 8pt; font-family: Arial">Hesabınızı hatırladınız mı? </span>
114
<a href="giris.aspx"><span style="font-size: 8pt; font-family: Arial">
Buradan GiriĢ Yapınız!</span></a></font></div>
</form>
</body>
</html>
[web.config]
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<customErrors mode="Off"></customErrors>
<compilation debug="true"/>
<authentication mode="Forms">
<forms name="DogrulamaFormu" loginUrl="giris.aspx"/>
</authentication>
</system.web>
<location path="default.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>
YÖNETĠCĠ PANELĠ MODÜLÜ:
[Default.aspx]
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
115
<script type="text/javascript" id="sothink_dhtmlmenu"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
//--> </script>
<title>Birlesik Sistemin Belediye Yönetici Paneli</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body style="text-align: center">
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/yoneticipaneli_bel.js"></script>
</div>
<strong><span style="font-family: Arial">
<br />
<br />
Belediye Taraf&#305; Yönetici Paneli</span></strong>
<br />
<br />
Bu panel ile üyelerin bilgilerini do&#287;rulama ve sisteme yanl&#305;&#351; üyelik
bilgileriyle girenlerin silinmesi gibi yönetim i&#351;lemlerini gerçekle&#351;tirilebilir.
</body>
</html>
[belediye_calisani_onayla.aspx]
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.OleDbClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
116
Dim Baglantim As OleDbConnection
Dim Komutum1 As OleDbCommand
Dim Komutum2 As OleDbCommand
Dim VeriOkuyucum As OleDbDataReader
Dim strOnaylanacakKayitlar As String
Dim arrSilinecekKayitlar As Array
Dim I As Integer
' OleDb bağlantı dizgisiyle bağlantı nesnesi oluĢtur
Baglantim = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + Server.MapPath("\belediye.mdb"))
' Veritabanı bağlantısını aç
Baglantim.Open()
' Komut nesnesi oluĢtur
Komutum1 = New OleDbCommand()
Komutum1.Connection = Baglantim
' Komut nesnesi oluĢtur
Komutum2 = New OleDbCommand()
Komutum2.Connection = Baglantim
' Onaylanacak kayıt olup olmadığını görelim.
strOnaylanacakKayitlar = Request.Form("chkOnayla")
If strOnaylanacakKayitlar <> "" Then
' Tablomuza SQL injection atak olmadığından emin olalım
arrSilinecekKayitlar = Split(strOnaylanacakKayitlar, ",")
For I = LBound(arrSilinecekKayitlar) To UBound(arrSilinecekKayitlar)
If Not IsNumeric(arrSilinecekKayitlar(I)) Then
strOnaylanacakKayitlar = "0"
Exit For
End If
Next I
Komutum1.CommandText = "update teklik set bel_calisani_onay ='e' WHERE teklik_sn IN (" & strOnaylanacakKayitlar & ");"
'Response.Write(Komutum1.CommandText)
Komutum1.ExecuteNonQuery()
lblRecordsDeleted.Text = "Onaylanan Kayıtların teklik_sn'ları: " & strOnaylanacakKayitlar
Else
lblRecordsDeleted.Text = Nothing
End If
117
' Tabloda geriye kalan satırları çekip gösteriyoruz
Komutum1.CommandText = "SELECT * FROM teklik ;"
Komutum2.CommandText = "SELECT * FROM vatandas ;"
' ExecuteReader metoduyla sorguyu çalıĢtırıp sonuçları döndürelim
VeriOkuyucum = Komutum1.ExecuteReader(CommandBehavior.CloseConnection)
'DataGridimize verileri veri bağlayalım (DataBind)
dgRecKill.DataSource = VeriOkuyucum
dgRecKill.DataBind()
' Veriokuyucu ve bağlantının kapatalıĢı
VeriOkuyucum.Close()
Baglantim.Close()
End Sub
</script>
<html>
<head>
<script type="text/javascript" id="sothink_dhtmlmenu"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
//--> </script>
<title>Belediye ÇalıĢanı Onayla</title>
</head>
<body>
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/yoneticipaneli_bel.js"></script>
</div>
<form runat="server"
onsubmit="return(confirm('Seçili kayıtları gerçekten onaylamak istiyor musunuz?'));">
<p>
<asp:Label id="lblRecordsDeleted" runat="server" />
</p>
118
<p style="text-align: center">
<asp:DataGrid id="dgRecKill" runat="server" EnableViewState = "False" BorderWidth = "1" CellSpacing = "2" CellPadding = "2"
HeaderStyle-Font-Bold = "True" AutoGenerateColumns = "False" ShowFooter = "True" Font-Size="Smaller" >
<Columns>
<asp:BoundColumn HeaderText="teklik sn"
DataField="teklik_sn" />
<asp:BoundColumn HeaderText="TC Kimlik No"
DataField="TCKimlikNo" />
<asp:BoundColumn HeaderText="bel calisani mi" DataField="bel_calisani_mi" />
<asp:BoundColumn HeaderText="bel calisani onay" DataField="bel_calisani_onay" />
<asp:BoundColumn HeaderText="kullanici adi"
DataField="kullanici_adi" />
<asp:BoundColumn HeaderText="sifre"
DataField="sifre" />
<asp:TemplateColumn HeaderText="Onayla?">
<ItemTemplate>
<input type="checkbox" name="chkOnayla" value="<%# DataBinder.Eval(Container.DataItem, "teklik_sn") %>">
</ItemTemplate>
<FooterTemplate>
<input type="submit" value="Onayla!">
</FooterTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateColumn>
</Columns>
<HeaderStyle Font-Bold="True" />
</asp:DataGrid>
</p>
</form></body></html>
gereksiz_kullanici_sil.aspx
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.OleDbClient" %>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
Dim Baglantim As OleDbConnection
Dim Komutum1 As OleDbCommand
Dim Komutum2 As OleDbCommand
119
Dim VeriOkuyucum As OleDbDataReader
Dim strSilinecekKayitlar As String
Dim arrSilinecekKayitlar As Array
Dim I As Integer
' OleDb bağlantı dizgisiyle bağlantı nesnesi oluĢtur
Baglantim = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + Server.MapPath("\belediye.mdb"))
' Veritabanı bağlantısını aç
Baglantim.Open()
' Komut nesnesi oluĢtur
Komutum1 = New OleDbCommand()
Komutum1.Connection = Baglantim
' Komut nesnesi oluĢtur
Komutum2 = New OleDbCommand()
Komutum2.Connection = Baglantim
' Silinecek kayıt olup olmadığını görelim.
strSilinecekKayitlar = Request.Form("chkDelete")
If strSilinecekKayitlar <> "" Then
' Tablomuza SQL injection atak olmadığından emin olalım
arrSilinecekKayitlar = Split(strSilinecekKayitlar, ",")
For I = LBound(arrSilinecekKayitlar) To UBound(arrSilinecekKayitlar)
If Not IsNumeric(arrSilinecekKayitlar(I)) Then
strSilinecekKayitlar = "0"
Exit For
End If
Next I
Komutum1.CommandText = "DELETE FROM teklik WHERE teklik_sn IN (" & strSilinecekKayitlar & ");"
'Response.Write(Komutum1.CommandText)
Komutum1.ExecuteNonQuery()
Komutum2.CommandText = "DELETE FROM vatandas WHERE teklik_sn IN (" & strSilinecekKayitlar & ");"
Komutum2.ExecuteNonQuery()
lblRecordsDeleted.Text = "Silinen Kayıtların teklik_sn'ları: " & strSilinecekKayitlar
Else
lblRecordsDeleted.Text = Nothing
End If
' Tabloda geriye kalan satırları çekip gösteriyoruz
120
Komutum1.CommandText = "SELECT * FROM teklik ;"
Komutum2.CommandText = "SELECT * FROM vatandas ;"
' ExecuteReader metoduyla sorguyu çalıĢtırıp sonuçları döndürelim
VeriOkuyucum = Komutum1.ExecuteReader(CommandBehavior.CloseConnection)
'DataGridimize verileri veri bağlayalım (DataBind)
dgRecKill.DataSource = VeriOkuyucum
dgRecKill.DataBind()
' Veriokuyucu ve bağlantının kapatalıĢı
VeriOkuyucum.Close()
Baglantim.Close()
End Sub
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" id="sothink_dhtmlmenu"> <!-st_siteroot="file:///D|/edevlet";
st_jspath="/js/stmenu.js";
if(!window.location.href.indexOf("file:") && st_jspath.charAt(0)=="/")
document.write('<script type="text/javascript" src="'+st_siteroot+st_jspath+'"><\/script>');
else
document.write('<script type="text/javascript" src="'+st_jspath+'"><\/script>');
//--> </script>
<title>Veritabanı Gereksiz Kullanıcı Silimi</title>
</head>
<body>
<div style="text-align: center">
<script type="text/javascript" language="JavaScript1.2" src="/js/stmenu.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/js/yoneticipaneli_bel.js"></script>
</div>
<form runat="server"
onsubmit="return(confirm('Seçili kayıtları gerçekten silmek istiyor musunuz?'));">
<p>
<asp:Label id="lblRecordsDeleted" runat="server" />
121
</p>
<p style="text-align: center">
<asp:DataGrid id="dgRecKill" runat="server" EnableViewState = "False" BorderWidth = "1" CellSpacing = "2" CellPadding = "2"
HeaderStyle-Font-Bold = "True" AutoGenerateColumns = "False" ShowFooter = "True" Font-Size="Smaller">
<Columns>
<asp:BoundColumn HeaderText="teklik sn"
DataField="teklik_sn" />
<asp:BoundColumn HeaderText="TC Kimlik No"
DataField="TCKimlikNo" />
<asp:BoundColumn HeaderText="bel calisani mi" DataField="bel_calisani_mi" />
<asp:BoundColumn HeaderText="bel calisani onay" DataField="bel_calisani_onay" />
<asp:BoundColumn HeaderText="kullanici adi"
DataField="kullanici_adi" />
<asp:BoundColumn HeaderText="sifre"
DataField="sifre" />
<asp:TemplateColumn HeaderText="Sil?">
<ItemTemplate>
<input type="checkbox" name="chkDelete" value="<%# DataBinder.Eval(Container.DataItem, "teklik_sn") %>">
</ItemTemplate>
<FooterTemplate>
<input type="submit" value="Sil!">
</FooterTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateColumn>
</Columns>
<HeaderStyle Font-Bold="True" />
</asp:DataGrid>
</p>
</form>
</body>
</html>
122
EK 2: eDevlet Kapısı (eKapı)
Bu bölümde “BiliĢim 2007” etkinliklerinde verilen eKapı ile ilgili bazı
seminerlerin bir özeti verilecektir:
eDevlet Kapısı Projesi Tanıtımı [13]
 Devlet kapısı teknik altyapısının kurulması görev ve sorumluluğu
eDönüĢüm Ġcra Kurulu 03.12.2004 tarih ve 4915 sayılı yazısı üzerine,
Bakanlar Kurulu‟nun 25.01.2005 tarih ve 2005/8409 Sayılı Kararı ile Türk
Telekomünikasyon A.ġ.‟ye verilmiĢtir.
 Türk Telekomünikasyon A.ġ., söz konusu kararname ile kendisine verilmiĢ
olan görev doğrultusunda yürüttüğü ihale süreci sonunda Oyak Teknoloji
BiliĢim ve Kart Hizmetleri A.ġ. ve Crimson Logic ortak giriĢimi ile
07.11.2005 tarihinden itibaren bir yıllık bir sözleĢme imzalayarak
çalıĢmalara baĢlamıĢtır.
 Türk Telekomünikasyon A.ġ., hisselerinin %55‟i özel sektöre devredilmek
suretiyle
14.11.2005
tarihinde
özelleĢtirilmiĢtir.
Bu
geliĢmeler
çerçevesinde, Devlet kapısının kurulması ve yönetilmesi görev ve
sorumluluğunun
baĢbakanlık
adına
UlaĢtırma
Bakanlığı‟nca
üstlenilmesinin uygun olacağı kararlaĢtırılmıĢtır.
 Türk Telekomünikasyon A.ġ. tarafından eDevlet kapısı teknik altyapısının
kurulmasına yönelik iĢ ve iĢlemler ile bu amaçla tahsis edilmiĢ olan mali
kaynaklar da dahil olmak üzere bütün hak ve sorumluluklar 20.04.2006
tarih ve 2006/10316 sayılı Bakanlar Kurulu kararnamesi çerçevesinde
Türksat Uydu HaberleĢme ve Kablo TV iĢletme Anonim ġirketine
devredilmiĢtir.
eKapı’nın Tarihçesi ve Finansal Boyutu:
eDevlet kapısının geçmiĢi 2005 yılının ilk aylarına kadar gitmektedir: 2005 yılı
içerisinde OYTEK (OYAK Teknoloji) ve Crimson Logic konsorsiyumu, konu
ile ilgili düzenlenen ihaleyi kazanmıĢ, akabinde bu konsorsiyum sözleĢmeyi
imzalamıĢtır. Bu sözleĢme çerçevesinde, 2006 yılı sonuna kadar 19 kamu
123
hizmetinin 10‟unun eDevlet kapısından hizmet vermesi gerekmektedir. Devlet
Planlama TeĢkilatı‟nın hazırlamıĢ olduğu Bilgi Toplumu Stratejisi ve ekinde
Eylem Planları, Temmuz 2006‟da Yüksek Planlama Kurulu tarafından
onaylanmıĢtır. Bilgi Toplumu Stratejisine ve Eylem planına bakıldığında, mali
portresi yaklaĢık 3 milyar YTL‟yi bulan 111 tane eylem bulunmaktadır; bu
eylemlerden 71 no‟lu olanı “eDevlet Kapısı Hizmetlerinin YaygınlaĢtırılması”
baĢlığını taĢımaktadır ve proje değeri yaklaĢık 14,6 milyon YTL‟dir. Bu 111
eyleme eDevlet kapısıyla ilgili olarak bakılırsa: eDevlet kapısıyla ilgili 39
eylem (71. Eylem de dâhil) vardır (toplam eylemlerin %35‟i). 111 eylemin yer
aldığı projenin finansal karĢılığı yaklaĢık 3 Milyar YTL olup 871,6 milyon
YTL‟si yani bütün harcamaların yaklaĢık %30‟u bu 39 eylemi kapsamaktadır.
eKapı’nın TaĢıması Gereken Özellikler:
eKapı, bazı araĢtırmacılara göre bir portal (devletin eriĢim portalı) olarak
görülmektedir [10]. eKapı ister bir portal olarak görülsün, ister ise daha
geliĢmiĢ
bir
yapı
olarak
düĢünülsün,
karĢılayacağı
bazı
özellikleri
barındıracaktır. eKapı‟da kullanıcıların aradıklarını kolayca bulmaları, sayfa
içeriklerinin düzenlenmesi, bilgi ve uygulamaların kullanıcılar açısından
anlamlı ve mantıksal olarak gruplanması, eKapı‟nın kullanım kolaylığını
artırıcı unsurlar olarak ortaya çıkmaktadır. Ayrıca, oluĢturulacak listeler de
dolaĢımı/eriĢimi kolaylaĢtıracak bir tekniktir.
eDevlet yaklaĢımıyla hizmet üretim zinciri kurum bankosuyla geri plandaki
sanal banko arasında bölünmüĢtür. Kamu kuruluĢları, verdikleri hizmetleri
elektronik ortamda da vermeye baĢlamıĢlardır. eDevlet kapısı yaklaĢımları bu
aĢamada kamu kuruluĢları ile vatandaĢlar ve özel sektör kuruluĢları arasında
yaratıcı iletiĢim olanakları sağlarlar: Sadece kurumun verdiği hizmetlerden
değil; aynı zamanda, amaçlara uygun olarak tüm devlet hizmetlerinden de
yararlanabilmesi gerekmektedir.
eDevlet kapısı, sadece bir web sayfası değil, kamu hizmetlerinin verildiği
tümleĢik bir eriĢim noktasıdır. VatandaĢların ve özel sektörün kamu
124
hizmetlerine kesintisiz eriĢimine ve bu hizmetlerden yararlanmasına olanak
tanır. Kamunun bürokratik yapısından bağımsız olarak, tüketici kesiminin ve
özel sektörün çıkarlarına yönelik bilgi iĢlem olanağı sağlar. Kamudaki mevcut
hizmetler entegre olarak verilebilir, yani verilen hizmetler entegre olarak
çalıĢabilir. MüĢteri ĠliĢkileri Yönetim Sistemi (CRM) homojen olarak bütün
kamu kurumları arasında uygulanabilir. eKapı, ortak bir görünüm ve ortak bir
eriĢim olanağı sağladığı için kamuya olan eriĢimlerde rahatlık sağlar.
Kurumlar arasında teknoloji paylaĢımını güçlendirmesi açısından da bu
önemli bir yaklaĢım olup eKapı ortak fonksiyonları destekler. eKapı‟ya değiĢik
kanallardan eriĢilebilir. Her kamu kurumu kendi içeriğinin sürümünü kontrol
edebilir. Güvenli eriĢim için kimlik doğrulama gibi fonksiyonları destekler.
eKapı‟nın web sayfasından önemli bazı farkları vardır [10]. Bunlar:
Kamu kuruluĢları web sayfaları
eKapı
Ana sayfa kamunun yapısına göre Ana sayfa kullanıcıların ihtiyaçlarına
düzenlenmiĢtir.
ve ilgi alanlarına göre düzenlenmiĢtir:
Örneğin,
pasaport
alacak
biri
emniyet, maliye ve askerlik Ģubesine
eriĢebilir, bütün bunlar bir arada
sağlanmıĢtır.
Genellikle
eriĢilebilecek
kamu Kullanıcının amacına göre farklı iĢ
kuruluĢlarının ve hizmetlerinin listeleri seçenekleri sunar.
bulunur.
Esas olarak statik bilgi vardır ve az Sadece bilgi değil, etkileĢim ve iĢlem
sayıda iĢlem olanağı sunar.
Kamu
kuruluĢları
birbirlerinden
farklıdır,
yapabilme olanağı sunar.
sayfaları Tüm kuruluĢların sayfaları için ortak
ortak
bir bir görünüm sunar.
görünüm yoktur.
Sayfa
içinde
eriĢim
kuruluĢtan Tutarlı bir eriĢim sistemi sunar: Ortak
kuruluĢa farklılıklar gösterir.
bir navigasyon sistemi vardır.
KuruluĢun bilgi sistemleri ile farklı Mevcut bilgi sistemleri ile tutarlı bir
125
Ģekillerde
entegre
olan
bağımsız entegrasyon sunarlar.
sayfalardır.
Gerektiğinde sorulara cevap vermek EtkileĢimli
Sesli
Yanıt
sistemine
amacıyla insanların devreye girmesini bağlantıları bulunan MüĢteri ĠliĢkileri
sağlayan bir sesli yardım sistemi Sistemi veritabanı ve geri besleme
bulunabilir.
mekanizmaları vardır.
eDevlet kapısının mimarisi ise aĢağıdaki gibidir [10]:
 Fiziksel ağ eriĢimi: Standart ağ eriĢimine, cep telefonu (kameralı cep
telefonu, PDA cep telefonu, GSM telefon, bluetooth telefon veya GPS
telefon) eriĢimine açıktır. Sesli yanıt desteği de bulunabilir.
 Sayfanın sunuluĢu ve organizasyonu: Sayfanın kullanıcı gruplarının
ihtiyaçlarına göre planlanması gerekir. Bağlantılar (linkler) buna göre
düzenlenmelidir. Kullanıcı grupları (vatandaĢlar, kamu kurumları, özel
sektör, ziyaretçiler) net bir biçimde belirlenmelidir. Belediyeler ise
ihtiyaçları biraz daha farklı bir kesimdir. Yani, sayfa ihtiyaçlara göre
düzenlenmelidir.
 Konu temalarına göre gruplandırma: sanal kamu kuruluĢları da yaygın bir
biçimde kullanılmaktadır. Örneğin, turizm ve rekreasyon sanal kamu
hizmeti gibi bir Ģey düĢünülürse, Turizm Bakanlığı, Çevre Bakanlığı, belki
belediyenin Park ve Bahçeler Müdürlüğü ve Ġmar Müdürlüğü de böyle bir
hizmet için devrede olacaktır. Dolayısıyla eKapı‟daki sanal kamu kuruluĢu
bütün bu ilgili sanal oluĢumlara eriĢim olanakları sağlamalıdır.
 Ortak Portal Fonksiyonları: Arama motorları, hava durumu, trafik durumu
gibi bazı bilgilerdir. ePosta hizmeti ortak portal hizmeti olarak verilebilir.
Sıkça Sorulan Sorular bölümü konulabilir. Bazı olayların duyuruları da
verilebilir. Dolayısıyla, eKapının ortak hizmet veren bütün kuruluĢlara
hizmet veren fonksiyonları bulunması gerekir.
 PaylaĢılan servis modülleri: Örneğin, ev kirasını kredi kartıyla yatırılmak
istensin. Dolayısıyla kredi kartı merkezlerine bir eriĢim olanağı olması
lazımdır. Dolayısıyla bu olanaklara her kamu kurumu kendisi açısından
126
baktığı için farklı önlemler alınabilir. Ama eKapının kendisine sağlamıĢ
olduğu altyapıdan da yararlanabilmelidir. Güvenlik açısından kimlik
doğrulama, pin kodları, kripto, biyometrik araçlar gibi güvenlik önlemleri
eKapı‟da kullanılabilir. Keza MüĢteri ĠliĢkileri Yönetimi (CRM) ortak olarak
paylaĢılabilinmelidir. Ayrıca, sesli yanıt sisteminin bir desteği olmalıdır.
 Kurum Bilgi ĠĢlem servisleriyle iliĢkiler: Virüslere ve saldırılara karĢı eKapı
altyapısı, kamu kuruluĢlarının bilgi iĢlem sistemlerini korumalıdır. eKapı
kurulduktan sonra bütün bilgi iĢlem hizmetlerine buradan ulaĢılacağı için
kurumların bilgi iĢlem merkezlerinin önemleri daha da artacaktır, çünkü
eKapı‟ya
etkileĢimli
hizmet
verdikleri
için
altyapılarını
daha
da
güçlendirmeleri gerekecek, daha da fazla önem kazanacaklardır.
eDevlet kapısının cevap vermesi gereken diğer hususlara bakıldığında;
 EriĢilebilirlik
ve
“Sayısal
BölünmüĢlük”:
EriĢelemeyen
bir
portalın
kullanılması da düĢünülemez.
 Sunulacak bilgiler: Her bilgi verilemeyebilir, bazı bilgiler kontrollü verilebilir.
 Tanıtım-pazarlama-marka:
eKapının
duyurusu
ve
tanıtımı
çok
iyi
yapılmalıdır.
 Yönetim/YönetiĢim: eKapıyı kim yönetecek, kim güncelleyecek, kararlar
nasıl alacak, koordinasyon nasıl yürütülecek gibi sorulara cevap
verilmelidir.
 Maddi ve teknik destek: “eKapı finansal olarak nasıl desteklenecek?”,
“Kamu kuruluĢları eKapının yürütülmesine maddi ve teknik açıdan katkı
yapacaklar mı?” soruları yanıtlanmalıdır.
 Maddi kaynaklar ve gelir üretimi: “Verilen hizmetlerden ücret alınacak
mı?”, “Alınan ücretler nasıl paylaĢılacak?” soruları yanıtlanmalıdır.
eKapı, eDönüĢümün bir parçası olup eKapı‟nın yanı sıra eDönüĢümün diğer
bileĢenlerine Türk Telekom‟un olası katkılarına bakıldığında [11]:
eDönüĢüm sürecinde Türk Telekom‟un bu dönüĢüme önemli katkıları olabilir.
127
eDevlet iĢleyiĢ üçgenini; 1. Organizasyon, 2. EriĢim – alt yapı – ortak veri
merkezi, 3. ĠĢbirliği tamamlamaktadır. Bu üçgeni sağlayabilmek için ise
eDevlet altyapısı ihtiyaçları aĢağıdaki gibi sıralanabilir:
 GeniĢ bant eriĢim altyapısı: Hem eriĢim bazında “vatandaĢ ve eriĢim” +
“omurga bazında geniĢ bant eriĢim altyapısı”
 Ortak veri merkezleri
 Kurumların bilgi altyapıları / içerik
 Ortak bilgilerin derlenmesi, paylaĢılması, güvenliği
 Tanımlama ve onay kurumları
Türk Telekom eDevlet platformunda, 1. EriĢim – GeniĢ Bant Veri Omurgası,
2. Ortak Veri Merkezi, 3. Çağrı Merkezi üçgeninde platforma destek
sağlayabilecek
konumdadır.
Türk
Telekom,
eDevlet
Yatırım
Projelendirmelerinde oldukça büyük bir katkı sağlayabilecek bir kurumdur.
eDevlet altyapısına yönelik olarak Türk Telekom altyapısı üzerinden yürüyen
büyük çapta projeler bulunmaktadır. Bunlar:
 VEDOP I-II / Vergi Daireleri (VEDOP III sürmekte olan bir projedir)
 ULAKNET / Üniversiteler (Tüm üniversitelerin altyapısına yönelik olarak
devam eden ve hızla geliĢmekte olan bir projedir. Türk Telekom‟un 5
MB‟den 1 GB‟e kadar geniĢ bantta hizmet verebilen Metro – Ethernet
altyapısı üzerinden bu proje yürütülmektedir).
 MERNĠS / Nüfus ve VatandaĢlık
 UYAPNet / Yargı – Adliye
 PolNet, MOBESE / Emniyet Birimleri
 MUHASEBAT
/
Saymanlıklar
(proje
ile
tüm
ülke
genelindeki
saymanlıkların bir altyapı üzerinde birleĢtirilmesi amaçlanmıĢtır).
 MEB / Okullar: 28412 okul internet eriĢimi altyapısına entegre edilmiĢ
durumdadır.
 SSK-SGK / Ġlgili birimler
 Yüksek Seçim Kurulu / Ġlgili Birimler
 Devlet Hava Meydanları ĠĢletmesi (DHMĠ) / Hava Alanları
 Türk ĠĢ Kurumu / Ġlgili birimler
128
 Kara UlaĢtırması Genel Müdürlüğü / Gümrük
 Numune Hastanesi
Yukarıda sayılan hizmetler mevcut veri hizmetleri ile yürütülmekte olup bu
veri hizmetlerinin tüm il ve ilçelere yaygın alt yapı ile gitmesi en önemli
noktalardan biridir; en uç noktalara kadar gitmesi sayesinde hizmetlerden
faydalanacakların eriĢim olanağı da oldukça artmıĢtır.
eDevlet‟te kullanılabilecek GeniĢ Bant Altyapı‟na yönelik olarak, Türk
Telekom‟un aĢağıdaki hizmetleri bulunmaktadır:
 Frame Relay (FR)/ATM/Leased Line (LL): Yukarıdaki büyük projeler için 2,
34, 155, 622 Mbps bant geniĢliği eriĢim kapasitesinin kullanılmasını
desteklemektedir.
 Asenkron DSL: Uç kullanıcılara yönelik olarak sunulan hizmet 4 MBps‟e
kadar hizmet verebilmektedir.
 Senkron DSL (g.shdsl): 2 MBps‟e kadar hizmet verebilmektedir.
 Metro – Ethernet: 5 MBps‟tan – 1 GBps‟a kadar değiĢebilen geniĢ bant
hizmeti.
 Ġnternet Veri Barındırma Merkezi (IDC): 2x622 MB bant geniĢliğindedir.
Yukarıda sayılan Türk Telekom‟un mevcut hizmetleri, eDevlete yönelik
projelendirmelerde gerek eriĢim gerekse altyapı bazında kullanılabilir.
Türk Telekom 10 GBps‟lik veri altyapısında link kapasitesine sahiptir.
YaklaĢık 114 km toplam fiber altyapısına sahiptir. 3 lokasyonda 90 GBps yurt
dıĢı kapasitesi bulunmaktadır (Bu kapasitenin 10‟dan fazla lokasyonda
Avrupa, ABD yurtdıĢı terminasyonu sağlanmıĢtır).
Türk Telekom’un eDönüĢüme destek olabilecek bazı GeniĢ Bant Altyapı
hizmetleri de planlanmıĢtır:
TT-VPN hizmeti: 64 Kbps – 1 Gbps aralığında; Çoğu eriĢim tiplerini
destekleyen gerçek zamanlı, kritik, standart servis sınıfları olan, çok
noktadan çok noktaya IP eriĢim sağlayan (IP‟nin ölçeklenebilirliğini ve
esnekliğini katan) Servis Seviyesi (Service level assurance; SLA) garantisine
129
sahip ülke çapında geniĢ bir yaygınlığı olan (300‟den fazla lokasyonda
yaygınlık olanağını verecek) altyapı da planlanmıĢtır.
Türk Telekom bu altyapıyı hayata geçirdiğinde eDevlet projelendirmesine ve
altyapısına
IP-VPN‟nin
esnekliğinden
dolayı
daha
fazla
katkıda
bulunabilecektir.
Planlanan EriĢim Altyapısına Bakılırsa:
Uç kısımda eriĢim bazında yüksek hızda DSL (VDSL) 2008 yılının çok yakın
planlamaları içerisinde bulunmaktadır. Uç kullanıcılara 25 – 30 Mbps kadar
bant geniĢliği eriĢim imkanı verme imkanı bulunmaktadır.
Türk Telekom Veri Merkezi:
Bilginin en değerli Ģey olduğu günümüzde, bilginin taĢınması, korunması,
depolanması, yedeklenmesi, paylaĢılmasına yönelik ortak veri merkezlerine
ihtiyaç bulunmaktadır. Türk Telekom‟un eriĢim ve altyapı faaliyetlerinin yanı
sıra bir de ortak veri merkezi bulunmaktadır. Bu merkez, kurumların veri
barındırma ihtiyaçlarını karĢılamak amacıyla kurulmuĢtur ve Türkiye‟nin
büyük kapasiteli veri barındırma merkezlerinden birisidir. Ġlk olarak, eDevlet
iĢleyiĢ üçgeninde Ortak Veri Merkezleri‟nden bahsedilmiĢti. Türk Telekom‟da,
Ģu anda bir tane olan ortak veri merkezi sayısı felaket kurtarmaya (disaster
recovery) yönelik olarak planlananla birlikte ikiye çıkarılacaktır. Türk Telekom
Veri Merkezi‟nin biliĢim mimarisi, eDevlet projelendirmelerine bir olanak
olarak hızlı internet bağlantısı sunabilir, güvenli ve yedekli ağ ve sunucu
altyapısına sahiptir, özel ve paylaĢtırılmıĢ hizmetler verebilir. Türk Telekom
Veri Merkezi, eDevlet projelerine yardımcı olma imkânını Ģu yapısıyla
sunmaktadır: Sunucu barındırma (PC veya Rack VPN, Firewall); IDC Ġnternet
eriĢimi (64 Kbps – 1000 Mbps); Yüksek kapasitede depolama (1 GByte‟dan 1
Tera Byte‟a); Web ve ePosta hosting; bütünleĢik güvenlik hizmeti. Ayrıca,
Veri Merkezi‟nde kesintisiz güç kaynağı, havalandırma sistemi, yangın
söndürme sistemi, güvenlik alarmı, güvenlik görevlileri, sunucu sistemleri,
Ģebeke
sistemleri
varolup,
Merkez‟deki
uzman
personel
kurulum,
130
konfigürasyon ve entegrasyon, iĢletim ile ilgili konularda 7gün/24 saat teknik
destek imkanı sunmaktadır.
Altyapı ve insan kaynağı yatırımlarından tasarruf yapılarak, yatırım ve iĢletim
maliyetlerinde önemli bir düĢüĢle, geniĢ bantlı eriĢim, eDevlet, eSağlık,
eEğitim, eĠĢ kısaca eToplum hizmet ve uygulamalarına altyapı olanağı
bulunmaktadır. Bu da Türk Telekom‟un elinde bulunan potansiyellerinden bir
tanesidir.
Türk Telekom çağrı merkezi:
Kamu kurumlarının istek ve taleplerine göre farklı çağrı merkezi hizmetleri
verme olanağı bulunmaktadır. Ġlk örneğini Türk Telekom RTÜK ile
baĢlatmıĢtır.
eKapı’ya Türksat perspektifinden bakıldığında [12] :
Türksat Bilgi Teknolojileri direktörlüğü, eKapı projesini Nisan 2006 tarihinde
bakanlar kurulu kararıyla, UlaĢtırma Bakanlığı koordinasyonunda almıĢtır.
Daha sonra yüklenici firma OYTEK‟le çalıĢmaya baĢlamıĢtır. Ġlk amaç, sistem
odasının teslim edilip kullanıma açılması olmuĢtur. eKapı projesinin devir
süreci ve tekrardan bir takım maddi sorunların aĢılması aĢamaları geçildikten
sonra sistem odası teslim edilmiĢ, yüklenici firma cihazları kurmuĢ, yazılımları
kurmuĢ, montajı tamamen kabul edilecek aĢamaya getirmiĢ ve montajı
bitirmiĢtir. Türksat bu esnada, kamu kurumlarının üst düzey temsilcilerinden
oluĢan bir kurulu her ay düzenli olarak toplayıp, eKapı hakındaki geliĢmeleri
ve hangi kurumdaki hangi hizmetlerin nasıl bağlanabileceği hususunda
devamlı bilgilendirme yapmıĢ ve görüĢ birliği sağlamıĢtır. 2. Toplantıda
eKapının tasarımı oylamaya sunulmuĢ ve bir taslak belirlenmiĢtir, tasarımın
olgunlaĢması zaman almıĢtır. Daha sonra kullanıcı kaydında değiĢik
alternatifler önerilmiĢtir. Kullanıcı kayıt senaryosunda eĠmzanın yeri, Ģifre
dağıtılması meselesi (PTT yoluyla dağıtılması, valilik yoluyla dağıtılması vb.)
karara bağlanmıĢtır. Daha sonra logo ve slogan yarıĢması düzenlenmiĢtir.
131
eDevlet logosu:
, slogan: “Devletin kısa yolu” belirlenmiĢtir.
Türksat birçok kurumla bağlantılarını yapmıĢtır. Nüfus ve VatandaĢlık ĠĢleri
G.M.lüğü ilk planda kurum bağlantısında Türksat‟ın önünü açmıĢtır ve login
kısmındaki bütün bağlantı aĢamalarını geçmesini sağlamıĢtır. Türksat,
Sosyal Güvenlik Kurumu‟nu oluĢturan üç kurumla da ayrı ayrı çalıĢarak
bağlantı iĢlemlerini bitirmiĢ ve web servislerini bağlamıĢtır. BaĢbakanlık
BĠMER sistemi, Türksat‟a web servis bağlantısını sunmuĢtur. Aynı Ģekilde,
Ģifre dağıtım esnasında kayıtlı verileri sorgulama çalıĢmalarında gerekli
altyapı oluĢturulup ilgili bağlantılar yapılmıĢtır.
Türksat, dağıtılacak Ģifrenin basımı dağıtımı konusundaki testlerde ilerleme
kaydetmiĢtir. Bu arada proje kapsamında yürüyen Milli Güvenliği Yönetim
Sistemi çalıĢmalarında da, eKapı projesinin bir ayağında da ĠSO 27001
(eKapının Bilgi Güvenliği Yönetim Sistemi) belgesinin alınmasına yönelik
çalıĢmalarda Türksat etkinliğini artırmıĢ ve risk analizleri incelemesini
tamamen bitirmiĢtir.
eKapı projesi sayesinde devlet, ilk defa sunduğu hizmetlerin bir envanterini
çıkartmıĢtır. BaĢbakanlık Ġdareyi GeliĢtirme Merkezinin baĢkanlığında 2000‟e
yakın devlet hizmeti baĢlık olarak listelenmiĢtir. Türksat da bunun 1300‟e
yakın olanının detay bilgisini (“hizmetin vatandaĢ tarafından alınıĢ biçimi”)
çıkarmıĢtır. Türksat, kategoriler konular altkonular denilen bir kırınım
tasarlamıĢtır. Her bir kamu kurumu hangi konuda veya alt konuda kendi
hizmeti var bunu belirlemiĢ, buna dair olarak Türksat bu bilgileri, yaptığı bir
yazılımla kamu kurumlarından almıĢtır.
eKapı ile ilgili fizibilite çalıĢmaları noktasında; ilk baĢtaki fizibilite ile Türksat‟ın
yaptığı fizibilitenin Ģu farkı vardır: Ġlk baĢtaki fizibilite “Hangi hizmetler pilot
olarak verilebilir?” anlayıĢına sahipken Türksat‟ın bu proje kapsamında
yapılan fizibilitede, bundan sonraki 19 pilot hizmetin alınmasından sonraki
132
hizmetler neler olabileceği (vatandaĢın fayda/maliyet analizi en yüksek
vatandaĢ memnuniyetine ulaĢılacak hizmetler neler olmalı?) esas alınmıĢtır.
Türksat bu analizleri DPT‟ye vermiĢtir. ġu anda 90 elektronik hizmetin analizi
yapılmıĢtır.
Analizlerin
DPT
tarafından
kullanılmasıyla
da
yapılacak
hizmetlere ait yatırım planlarında kamu kurumları çok daha rahat bütçe
sağlayabileceklerdir.
Ödeme birimi, eKapının en önemli ayaklarından birisidir. Ödeme biriminden
kastedilen herhangi bir devlet hizmetinden alınması gereken harç, vergi gibi
bir takım parasal iĢlemlerin eKapı üzerinden yapılmasını sağlamak. Bu
konuda da Türksat bankalar birliğiyle 10‟un üzerinde bankayla ve Maliye
Bakanlığı‟yla birebir çalıĢmaktadır. Türksat‟ın amacı: devletin bankalarla olan
çalıĢmalarını tek elden yürütmek ve herhangi bir hizmetin eKapı tarafından
verilmesi durumunda eKapının bilgiyi vatandaĢa sunması, vatandaĢın
bankasını seçmesi, bankada gerekli iĢlemler yapıldıktan sonra ödendi
bilgisinin kuruma iletilmesi, aynı zamanda Maliye‟ye tahakkuk bilgisinin
iletilmesine dair bütün bu aĢamalarda eKapının aracı rol üstlenerek iĢlemleri
kolaylaĢtırmasıdır.
Kurumların hizmet verirken en büyük sıkıntılarından biri kullanıcı kimlik
doğrulama iĢlemleridir. eKapı da Ģifre ve eĠmza uygulamasıyla yapının
geliĢtirilmesi hedeflenmiĢtir. Türksat, hizmetleri verirken mevzuatta sıkıntılar
yaĢamıĢtır: Sıkıntıları aĢmak için “Ģahsen verilir” “eline verilir” vs. gibi
terimlerin elektronik ortamda verilmeye imkân taĢıyacak hale getirmek
amaçlanmıĢtır.
Entegrasyon standartları konusunda, Türksat‟ın ilk yaptığı iĢ bir Veri Sahipliği
kavramının kamu kurumlarında oturtulması olmuĢtur. “Hangi kurum hangi
verinin sahibi?”. Birçok kurum vatandaĢların adresleri gibi değiĢik bilgiler
tutuyor. “Bilgiler hangi kurumda daha güncel?”, “bir bilgi diğer kurumdan
alınsa daha mı doğru olur?” gibi soruları yanıtlamak için verinin sahibinin kim
olduğunun bilinmesi gereklidir. Veri sahipliği konusunda Türksat kurumlardan
133
veriler toplamıĢtır (“verilerin tutulduğu format”). Bir sonraki aĢama: bu
verilerin paylaĢılması için Service Layer Agreement aĢaması.
ġu an gelinen aĢamada, Türksat 16 Ekim 2006‟da sistem odasını yüklenici
firmaya teslim etmiĢtir. eKapı proje süresi 1 yıl olduğundan 16 Ekim 2007‟de
yüklenici firma OYTEK‟in süresi dolmuĢtur. Türksat, Kasım 2007 sonuna
kadar OYTEK‟e süre vermiĢtir. Bu süre içerisinde OYTEK‟in bu yazılımı
bitirmesini beklemiĢtir. Türksat, hali hazırda kamu kurumlarından içerik
bilgilerinin toplanmasını tamamıyla bitmiĢtir. Entegrasyon Standartları
konusunda çalıĢmalar yapmıĢtır.
eDevlet kapısı, bir iletiĢim altyapısı bütünleĢmesidir [13]:
eKapının Katmanları:
eKapı, üç katmandan oluĢmaktadır:
1. DıĢ kullanıcıların eriĢimine yönelik olarak kullanıcı katmanı
2. Kamu kurumlarının güvenliği söz konusu olduğundan kamu kurumlarının
eriĢebileceği katman
3. Üzerinden geçen trafiğin tutulduğu (loglandığı) depolama bölümü.
Kullanıcı Katmanı
Uygulama Katmanı
Veritabanı
ve
Sunucu Katmanı
EriĢim Kontrolü (FW/VPN)
Trafik Kontrolü (IPS)
Uygulama Denetimi (App
FW)
Ġçerik Kontrolü
Virüs Kontrolü
SSL VPN
EriĢim Kontrolü (FW/VPN)
Trafik Kontrolü (IPS)
Uygulama Denetimi (App
FW)
Uygulama Sunucuları
Kamu Kurum Bağlantıları
EriĢim Kontrolü (FW/VPN)
Trafik Kontrolü (IPS)
Uygulama Denetimi (App FW)
DMZ Sunucuları
Web Sunucuları
SAN Altyapısı
Depolama Üniteleri
Felaket Kurtarım Merkezi
Bağlantıları
Kritik
134
Kamu Kurumlarının eKapı ile Bağlantıları [13]:
eDevlet Kapısı
2. Katman
VPN Sonlandırıcılar
# Kurum yerel alan ağına dolaylı erişim
#
Kullanılacak
ürünler:
Uygulama
sunucusu, Geniş alan ağı erişim cihazları
(yönlendirici, modem vb.), Firewall ve
VPN yazılımı (Erişim kontrolü, VPN
tünelleme)
VPN Tünel
# Geniş alan ağı üzerinde VPN tünelleme
Firewall/VPN
Uygulama sunucusu
(İşletim sistemi,
Antivirüs yazılımı,
Kurum
Yerel Alan Ağı
Yönetim yazılımı)
Her kamu kurumunun kendi ağ geçidine koyduğu web servisler ile kurumun
sunmuĢ olduğu hizmetlerle ilgili yapılara eriĢilir.
eDevlet Kapısı‟nın güvenliği ile ilgili olarak üç seviye vardır:
1. Seviye: EriĢim kontrolü (FW/VPN); Trafik kontrolü (IPS)
2. Seviye: Ġçerik kontrolü, Virüs kontrolü
3: Seviye: Uygulama denetimi (Application Firewall)
135
EK 3: eDevlet Ağ Geçidi Projeleri ve eDevlet Mimarileri
eDevlet Ağ Geçidi Projeleri:
Romanya: http://www.e-guvernare.ro
Slovakya: http://www.obcan.sk
Çek Cumhuriyeti: http://portal.gov.cz/
Bulgaristan: http://egateway.government.bg/
Polonya: http://www.wrotamalopolski.pl
İngiltere: http://www.gateway.gov.uk/
136
Hindistan eDevlet Mimarisi
137
Yeni Zelanda eDevlet Mimarisi
138
Avustralya eDevlet Mimarisi
139
.Sri Lanka eDevlet Mimarisi
140

Benzer belgeler