.NET

 

Aslında spekülatif bir yazı yazmak istiyorum, teknik detaylara bulaşmaksızın. O yüzden belki de yazıya ‘Noktanın Egemenliği’ diye bir başlık atmalıydım. Her iddialı spekülatif yazı gibi ben de hemen argümanımı söyleyeyim. Internet dünyasındaki en büyük savaş yeni başlıyor: Sun’ın ‘We are the dot in .com’una karşı Microsoft da ‘We are the net in .net’ dedi.

Nokta Net nedir? Nokta Net sihirli bir sözcük, onu söylediğinizde her kapının açılması gerekiyor. Henüz başlamadı ama yakında öyle olacak. Bunun için önce Microsoft’un Nokta Net’in içeriğini doldurmasını ve bunu Microsoft’un açtığı yolları takip eden tüm takipçilerine anlatması gerekiyor çünkü. Nokta Net bir çok şey: bir pazarlama sloganı, bir teknoloji, bir platformun adı, bir uygulama modeli, en önemlisi ise bir vizyon. Biz burada Nokta Net’in bizlere getirdiği yeni vizyonu ve yeni Internet dünyasını konuşacağız.

1990’ların ikinci yarısında dudaklarımızda dört şarkı vardı: Linux, Netscape, Internet ve Java. Ben küçükken (yıl 1996) okuldaki bilgisayar laboratuvarında Linux’un başına oturur, ‘start x’ der, Netscape 1.1’i çalıştırır ve javasoft.com’a bağlanır, Java dökümanları okurdum. Bu dört şarkı, zamanla Microsoft’a meydan okuyan birer efsaneye dönüştüler. Microsoft, Netscape ile girdiği rekabeti kazandı ama bu şirketin bölünmesi kararına kadar giden çok büyük bedellere maloldu Microsoft’a. Microsoft Internet dünyasına çok farklı alanlardan girdi: MSN, Hotmail, Internet Explorer, IIS, ASP, Passport, vesaire. Ancak iki tehdit daha vardı: Linux ve Java. Linux, ücretsiz bir işletim sistemi olarak kurumsal pazara yönelmiş olsa da aslında Microsoft’un en büyük iki gelir kalemi olan – ve biribirine artık geçmiş bulunan – ofis ve işletim sistemi pazarına (Office ve Windows, Microsoft cirosunun yarısını oluşturmaktadır) yönelik ciddi bir tehdit olamadı. Son dönemde Sun StarOffice ile bu tehditin boyutlarını büyütmek istiyor ama sonuç için bir şey söylemek oldukça güç ve bu yazının konusu da değil.

Son kalem Java dünyasında neler olmaktaydı? Aslında Java, bir zamanlar C programlama dilinin yapamadığını yapmaktaydı. C ve ardından gelen C++ standart birer dil olarak tüm platformlarda mevcut. Ancak UNIX’in başına gelene benzer bir hikaye ile C ve C++ programları da gerek kütüphaneleri gerekse işletim sisteminden işletim sistemine farklılık gösteren servisler (thread’ler, güvenlik servisleri, vesaire) yüzünden her platformda derlenip çalıştırılabilen programlar olmaktan çıktılar. Java, dilin kendisi kadar kütüphaneleri ve sistem fonksiyonlarını (thread’ler, senkronizasyon, güvenlik, veritabanı erişimi, grafik arabirimi gibi) da standartlaştırarak gerçekten de her programın Java Sanal Makinası’nın bulunduğu her ortamda çalışabilmesini garantiliyordu. Bugün bunun %100 gerçekleştirildiğini söylemek benim için fazla iddialı bir ifade olur ama yine de performans gibi sorunların da zaman içerisinde çözülmesi ile bu C++’dan basitleştirilerek türetilmiş dil ve bu dili koşturan platform, tüm geliştiricilerin gözdesi olmaya başladı. Microsoft, geliştiricileri neden sadece Microsoft platformları için ürünler geliştirmeleri konusunda ikna etmekte zorlanacak gibiydi.

Diğer taraftan ne Java ne de Microsoft’un temel bileşen teknolojisi olan COM (Component Object Model – Bileşen Nesne Modeli) Internet uygulamaları için tasarlanmış değildi. Peki Internet uygulamalarından ne kastediyoruz? Bugünkü web siteleri mi aklımıza gelen - sadece bir web tarayıcısı ile konuşabildiğimiz? Artık değil. Dün olsa belki öyle olabilirdi çünkü dün Larry Ellison, PC’lerin öldüğünü söylüyordu. Sun, ‘Network is the computer’ diyordu. Herkes, genişbant kullanarak çok hızlı ağlar üzerinde çalıştırılacak, herkes evinden, televizyonundan, Palm Pilot’undan ya da cep telefonundan bir Internet sitesine bağlanacak ve istediği hizmetlere erişebilecekti. Microsoft, Nokta Net ile uygulama mimarileri açısından yeni bir vizyon çizdi. Aslında bu vizyon, sadece Microsoft’un üzerinde çalıştığı bir vizyon değil. Özellikle IBM’in de büyük efor sarfettiği ve artık adı çok daha sık anılan sihirli bir kelime var: Web Hizmetleri.

Web Hizmetleri, Internet üzerinde bağlanıp herhangi bir hizmeti alabileceğimiz herşeyin adı. Web Hizmetleri’nin mutlaka insanların tarayıcıları ile bağlanacağı bir site olması gerekmiyor. Örneğin Microsoft Passport bir Web Hizmeti. Hotmail de MSN de Microsoft’un haber gruplarına üye olma hizmetleri de onu kullanıyor. Bu açıdan Passport’u Microsoft’un güvenlik, kimlik tanıma, ve ileride kredi kartı işlemlerini de yapacak olan bir Web Hizmeti olarak düşünebiliriz. Neden böyle bir hizmete ihtiyacımız var peki? Bugün amazon.com gibi favori bir kaç kitapçınızda, Qualiflyer gibi bir havayolu ağında, travelocity.com’da, Oracle TechNet'de, Java Community’de ve egroups.com’da birer hesabı olan bir çok insan var. Her birisinde ayrı kullanıcı adları, ayrı şifreler, değiştiğinde tek tek güncellenmesi gereken adres bilgileri ve tercihleriniz, ayarlarınız bulunuyor. Eğer bu sitelerin hepsine de Hotmail’deki email hesabınız ile girmek mümkün olsa, bu siteleri ziyaretinizde tek tek kullanıcı adı ve şifre girmeniz gerekmeyecek (cookie’leri kullanırım demeyin lütfen şimdi). Passport’un güvenlik için verdiği hizmeti Weather.com belki hava durumu için verecek. Herhangi bir yazılım evinden aldığınız Kişisel Planlama programı siz farkına varmadan her açılışta weather.com’a SOAP (Simple Object Access Protocol: XML ile –şimdilik- HTTP’nin birleşimi olan ve .NET’in de temelinde yer alan uzaktaki nesnelere erişim protokolü) üzerinden bağlanarak şehrinizin üç günlük hava durumu tahminini indirecek. Bu arada İMKB.NET’den yine SOAP aracılığıyla favori hisse senetlerinizi masaüstü uygulamanıza indirebileceksiniz. Mesajı aldınız, artık gerek masaüstü uygulamalarının gerekse Internet tabanlı uygulamaların SOAP aracılığıyla kullanabileceği, Internet üzerinden her an erişilebilir servislerden bahsediyoruz. Bu vizyonun ticari tarafında tüm hizmetlerin abone sistemi ile çalışıyor olması var: Artık yazılımları satın almak yerine belli bir süre için o hizmetlere abone olacağız. Tek tek değil tabii, muhtemelen hepsi Passport’daki kredi kartı hesabımızdan yılda bir kaç dolar koparacaklar. Microsoft, çok ciddi olarak Office’in abone sistemiyle (subscription) çalışan bir versiyonunu 2001 yılının ilk yarısında İngiltere’de kurulacak bir ASP (Application Server Provider) aracılığıyla British Telecom’da deneyecek. Ancak Internet altyapısının hızından dolayı ciddi bir performans beklemediğini de açıkladı. Buna ek olarak muhasebe çözümlerini desteklemek için bundan bir kaç ay önce bir muhasebe programları geliştiricisi yazılımevini de bünyesine kattı.

Nokta Net işte burada kısa bir giriş yapmaya çalıştığımız yeni bir dünyanın geliştirme platformu olarak tasarlanmış. SOAP ve Web Hizmetlerini temel alan Nokta Net, COM ve DCOM gibi Microsoft’un hemen hemen tüm ürünlerinin içinde artık erimiş olan bileşen teknolojierini tamamen terketmiş. DCOM’un yerini dünya üzerinde her makinanın anlayabileceği HTTP ve XML gibi iki standart üzerine kurulmuş olan SOAP almış. Bu yeni dünya için, geçmişten gelen hiç bir arızayı bünyesinde barındırmayan Java’ya oldukça benzer C# adlı bir dil uygulama geliştiricilere sunulmuş. Sun’un aksine C#’ın ve MSIL’in (Microsoft Intermediate Language) standartlaştırılması için Microsoft ECMA’ya başvurdu. Yeni vizyonlarının ve platformlarının Windows’la sınırlı kalmaması için bir Linux paketleyicisi de olan Corel ile Nokta Net’in Linux’a taşınması için bir anlaşma imzalanmış. Solaris için de neden olmasın deniyor. Uygulamaların bileşenlerin farklı versiyonlarla çalışabilmesi, böylece 7x24 servis sunabilmeyi mümkün kılmak için dll’ler birer versiyon, güvenlik ve veritipi kapsamı olan assembly’ler ile çevrelenmiş. Artık iyice hantallaşan Registry tamamen devreden çıkartılmış, uygulamaların konfigürasyonu için XML tabanlı dosyalar kullanılmaya başlanmış. Bileşenler upuzun CLSID’ler yerine artık birden fazla dil desteğini de doğal olarak içeren kuvvetli isimlerle (strong names) çağrılmaya başlanmış. DevelopMentor’un ilk Essential.NET kursunda duyduğumuza göre Microsoft 1997 yılından bu yana 500 kişilik bir ekiple Nokta Net’i hazırlamaktaymış.

Microsoft’un yeni vizyonunun gereçleri de betalarıyla da olsa arz-ı endam etmeye başladı: önce Visual Studio.NET’in Beta 2’si çıktı. Peşinden geçtiğimiz aylarda Java geliştiricilerini (ve özelde Visual J++ geliştiricilerini) C# dünyasına taşıyacak JUMP (Java User Migration Path – Java Kullanıcısının Göç Yolu) adlı paketin betası pazara düştü. SOAP Toolkit bir süredir betalarını yeniliyor zaten. Öte yandan Microsoft tüm Internet sunucularını (SQL Server’dan tutun da Host Integration Server’a kadar) çoktan Nokta Net Sunucuları olarak etiketledi. Pek yakında Nokta Net’i iyice içine sindirmiş Windows XP ve Office XP de aramıza katılacak. Böylece Microsoft’un tüm vizyonu ve altyapısını oluşturan yeni teknolojilerle yeni uygulama geliştirme mimarileri için yelkenlerimizi dolduracak kadar çok rüzgarımız olmuş olacak. Vira vira…

 

Mehmet Kerem Kızıltunç

 

 

Yazıyla ilgili görüş ve yorumlarınızı yorum@teknoTurk.org ve kiziltunc@yahoo.com adreslerine yollayabilirsiniz.