.NET Genel Anlatım

.NET Gelistirme Ortami

.NET Gelistirme Ortami, 1993’te Windows NT 3.0 ile çikan WIN32 API’lerinden beri
programlama ortami için yapilmis en büyük güncellemedir. Win32 API’leri
Win16’dan daha iyi bir programlama ortami sunmasina ragmen .NET alt yapisi ile
hem programlama teknigi hemde araçlari tamami ile degismis oldu.

Bu degisim yazilim uzmanlarina IIS web sunucusu ortaminda daha hizli uygulama
gelistirmeye izin verirken ortaya çikan ürünlerinde daha güvenilir ve
erisilebilir olmasini sagladi.

.NET gelistirme ortami asagidaki bilesenlerden olusmustur.

.NET Framework

.NET uyumlu tüm diller ayni alt yapiyi kullanarak program yazmamiza yardimci
olur. Sadece Microsoft ürünleri degil farkli firmalarin ürettikleri diller ile
de .NET için yazilim gelistirebilirsiniz. Tüm fonksiyonlar birer nesne olarak
hazir halde .NET altyapisi içinde bulunur. Tamami ile nesne yönelimli bir
ortamdir. Kullandiginiz dilin yazim yapisina uygun olarak bu fonksiyonlari
çagirir ve kullanirsiniz. Her dil ayni alt yapiyi kullandigi için birbirlerine
üstünlükleri de ortadan kalkmis olur.

Kullandiginiz dilin derleme araci kodunuzu MSIL (Microsoft Intermediate
Language) koduna çevirir (Java Byte Code gibi). Bu kod islemciden bagimsiz bir
koddur. Makine dili ile alakasi yoktur. Bu kodu çalistirmaya kalktiginizda CLR
(Common Language Runtime) devreye girer ve JIT Derleyici (Just in Time Compiler)
IL kodunu bilgisayarin anlayabilecegi makine diline çevirir. Bu arada programin
kontrol altinda çalismasi için hafiza yönetimi, hata denetimi, güvenlik gibi
unsurlarida kontrol eder. CLR altinda çalisan programlara kotrollü kod (managed
code) denir.

Ayni isi yapan bir C# programinin IL kodu ile VB.NET programinin IL kodu
arasinda hiç bir fark yoktur. Tek fark baslik kismindaki dil bilgileridir.

Farkli dillerde yazilmis ve IL kodu olarak derlenmis programlari tek bir çati
altinda toplamak mümkündür (Cross Language Compatibility). Cobol gibi eski
diller bile .NET sürümlerini çikartmaktalar. Böylece Microsoft teknolojilerini
ögrenmek isteyen mainframe programcilari ek bir egitim ile Windows ortamlarinda
yazilim gelistiriyor olacaklar.

CLR su anda sadece Microsoft isletim sistemlerinde çalisiyor. Fakat biliyorsunuz
HoTMaiL’i aldiklarinda sistemi Free-BSD üzerinde sunmaya devam etmislerdi ve su
anda Free-BSD üzerinde .NET programlarini çalistirabilmek için bir projeleri
var. Yakinda Linux ortaminda bile .NET programlarini çalistirabilecegiz (bilgi
için www.go-mono.com adresine bakiniz). Herhalde dünya globallesmeye dogru
giderken bilgisayar sektörüde bir miktar etkileniyor. Tekellesmesin de
globallessin ve herkese açik olsun.

.NET Yazilim Gelistirme Araçlari

Yazilim gelistirme araçlari Microsoft’un Visual Studio .NET sürümü ile gelen IDE
(Integrated Development Environment, Tümlesik Gelistirme Ortami) ve buna bagli
olarak Visual Basic .NET, Visual C#.NET, Visual C++.NET gibi dillerdir. Bu
ortamda CLR altinda çalisacak biçimde gelistirme, test ve kurulum islemlerini
yapacak araçlar mevcuttur.

Microsoft disinda RPG, Cobol, Fortran, Mercury, Perl, SmallScript, SmallTalk,
Component Pascal, Eiffel gibi diller de .NET sürümlerini çikartmaktalar
(ayrintili bilgi için

www.jasonbock.net/dotnetlanguages.html
adresinde bir liste bulabilirsiniz.).

ASP.NET

ASP.NET eski ASP’yi ortadan kaldirmak için gelistirilmis ve özellestirilmis bir
sinif kütüphanesidir. Web sunucu uygulamalari ve dinamik web içeriklerini
olusturmak için kullanilir. Genel örütbagi protokollerini (HTML, XML, SOAP)
kullanarak baglanti kurar. Eski ASP gibi yorumlanan bir dil degil, derlenen bir
dildir. Böylece hafizada derli biçimde bulundugu için ASP veya CGI’dan çok daha
hizli çalisir.

ADO.NET

ADO.NET veritabani ile olan tüm iliskilerimizde kullanacagimiz sinif
kütüphanesidir. Eski ADO’dan farkli olarak veritabanina sürekli bagli kalmaz.
ADO.NET’in 3 adet katmani vardir. Bunlar:

Fiziksel veri kaynagi: Kaynak bir OLE veritabani, XML dosya
yada SQL Veritabani sunucusu olabilir.
Veri Sunucusu: Connection (baglanti) nesnesi ve hafizada
verinin bir kopyasini yaratacak komutlardan olusur.
Data Set: Hafizadaki tablolar ve aralarindaki iliskileri temsil
eder.

Veri Sunucusu fiziksel veri kaynagi ile data set arasinda soyutlama yapar. Data
Set olusturulduktan sonra nereden geldigi veya hangi biçimde saklandigi fark
etmez. Bu mimari disconnected (baglantisiz) olarak isimlendirilir çünkü veri
kaynagindan bagimsiz hale gelmistir.ADO.NET’te iki tür baglanti nesnesi vardir.
Bunlar:
OleDbConnection: SQL Server 7.0 disinda baglanilacak veritabani sunuculari için
kullanilir.
SQLDbConnection: SQL Server 7.0 ve üzeri sürümler için gelistirilmistir.

XML dosyalar için ADO.NET kütüphaneleri içinde ReadXML ve WriteXML metodlari
vardir. Bu metodlar ile her türlü XML dosyasi bir veritabaniymis gibi
kullanilabilir.

Veritabanina bagli olmadan çalismanin sebebi, örütbagi üzerinden çalisirken
zamanin büyük bir kisminin veriatabani ile iliskili olmamasindan ileri geliyor.
Güncelleme amaci ile bir veri okunduktan sonra veritabani baglantisi kesilir.
Güncelleme için veriyi geri yolladiginizda dataset içindeki orjinal veri ile
veritabani karsilastirilir ve fark varsa kullanici uyarilir. Eger yoksa
güncelleme yapilir. Dataset içinde birden fazla iliskili tablo olabilir.
Dataset’i istemci tarafinda hafizada barinan bir veritabani gibi
düsünebilirsiniz. Fakat eger örütbagi üzerinde bir veritabani isleminden
bahsediyorsak, dataset sunucu tarafinda barinacaktir.

Dataset’i XML dosya olarak saklayabiliriz. Diyelim ki bir müsteri temsilcisi
olarak dizüstü bilgisayariniza isyerinizdeki veritabani sunucusundan bir dataset
aldiniz ve 1 ay sirkete ugramayacaksiniz. Türkiye’nin her yerini gezip müsteri
ziyaretleri ve yeni siparisleri alacaksiniz. Hafizadaki dataset’in kaybolmamasi
için veriyi XML dosya olarak saklayabilir ve her sabah dizüstü bilgisayarinizi
açtiginizda XML dosyayi okuyup hafizaya bir datasetmis gibi
yerlestirebilirsiniz. 1 ay sonra sirketinize döndügünüzde dizüstü
bilgisayarinizdaki dataset’i veritabani sunucusuna gönderebilir ve gerekli
güncellemeleri yapabilirsiniz.

XML Web Services

Web Hizmetleri, örütbagi üzerinden kullanima sunulan programciklardir. Bir Web
sunucusu yardimi ile yayinlanirlar. Herhangi bir web hizmetini kullanabilmek
için metodlarini ve bu metodlarin parametrelerini bilmek gerekir. Web hizmetleri
bir windows programindan da kullanilabilir. Gönderilen ve alinan her türlü veri
XML formatindadir, SOAP (Simple Object Access Protocol) protokolünü kullanir ve
html çikti sunabilir.

Smart Devices

Visual Studio .NET 2003 ile versiyon 1.0 “framework” yerine 1.1 “framework”
geliyor. Çok fazla degisiklik olmamakla beraber sadece VB tarafinda çok küçük
bir degisiklik var. Yeni eklenen seyler arasinda cep telefonlari veya el
bilgisayarlari için yazilim yapabilecegimiz ortamlari sayabiliriz. Bu cihazlara
sahip olmadan (smart devices) emülatörler yardimi ile gelistirme yapabiliriz.
Daha önceki 2002 sürümünde bu ekleme için “plug-in” indirmek gerekiyordu artik
kutudan çikiyor. C++ için 2002 sürümünde “windows forms” gelistirmek için proje
yoktu bu sürümde buda geliyor. Ayrica ANSI/ISO uyumlulugu %98’e çikarilmis.
Böylece Türkçe karakter kullanimi sorun olmaktan çikiyor(mu acaba). Ag
hizmetlerinde (web services) yeni gelismeler de var (Web Services
Enhancements,WSE). Bunlar arasinda gelistirilmis güvenlik ve yönlendirme
standartlarini sayabiliriz.

2003 sürümü ile beraber dil olarak J#’ta artik piyasaya adim atiyor fakat daha
çok evrenkentler de egitim amaçli kullanilacak. Ayrica Java projelerini veya kod
parçalarini J# koduna çevirecek eklentilerde gene kutudan çikiyor. VB6
projelerini VB.NET’e çevirecek araçlarda daha gelistirilmis olarak yeni sürümde
mevcut. Kod yazarken kullandigimiz “intelli sense” biraz daha akillanmis örnegin
textbox1. yazdiginizda intelli-sense size textbox’in tüm özelliklerini alfabetik
sirada bastan baslayarak gösteriyordu. Baska bir satirda tekrar textbox1.
yazinca artik bir önceki kullandiginiz özellikten baslayarak gene alfabetik
olarak siraliyor. Yani bir önceki kullandiginiz özelligi hatirlayip ona göre
davraniyor.

Standard Kod Gelistirme

.NET ile beraber Microsoft’un hazirladigi standartlarda gelistirme yaptigimizda
ve tüm testleri geçtigimizde “.NET Connected” logosunu kullanmaya hak
kazaniyoruz. Tabii ben burada bir yazilim gelistirici olarak herkes bu logoyu
alsin ve pazarda ürün alirken bu logonun bulunmasina dikkat edelim demiyorum.
Sadece bu standartlara uyarak gelistirme yapalim diyorum. Böylece her seyin bir
standardi olur ve tekrardan standart dökümanlari yazmak zorunda kalmayiz. Bu
standartlarin adreslerini yakinda verecegim.

Yazilim Gelistirmek için Gerekenler

Evinde yazilim yapan arkadaslar sanirim ürünlerin pahalliligindan ve yeterli
sistemlere sahip olamamalarindan yakiniyordur. Bir ögrenci olarak yada maasli
çalisan bir kimse olarak gerçektende bu fiyatlari karsilamak pek mümkün degil.
Fakat kisitlida olsa bazi imkanlar var. Öncelikle .NET Framework SDK (Software
Development Kit)’i Microsoft’un sitesinden indirmeniz gerekiyor. Bu ücretsiz
fakat çok büyük bir dosya. Indirip kurduktan sonra www.asp.net/webmatrix
sitesinden ASP.NET ile kod yazmak için ücretsiz bir editör indirebilirsiniz.
Bunlardan sonra sisteminizde bir IIS5.0 (Internet Information Server), SQL
Server Developer Edition (SQL Server’in bir basit versiyonu) gerekiyor. Tabii ki
WinXP yada Win2000 isletim sistemi (tercihen service pack1 ile) veya .NET Server
2003 ailesinden herhangi bir sunucu isinizi görür. Microsoft 360 günlük deneme
sürümlerini veriyor bu sunucularin. Yeni, hizli ve hard-diski büyük bir
bilgisayar içinde anne babaya biraz yalvarmak gerekiyor.

Posted in Bilişim, Türkçe.