Daily Archives: 28/01/2007

AJAX NEDİR ? (SEMİNER NOTLARIM)

ajax.JPGBuradaki yazımda  Microsoft Türkiye’de Mehmet Nuri Çankaya tarafından verilen ASP.NET AJAX konulu seminere ait notlarımı sizlerle paylaşacağımı belirtmiştim ve daha yeni fırsat bulabildim.Bakalım seminerden geriye neler kalmış:
Artık günümüz web programcılığı daha fazla işlemin daha kısa sürede yapılmasını gerektiriyor. Yine aynı şekilde artan kullanıcı ihtiyaçları ve beklentileri web’in daha interaktif ve hızlı cevap verebilir olmasını gerektirmektedir. AJAX yani Asenkron Javascript ve XML de bu ihtiyaçtan doğmuş bir çözümdür. AJAX farklı teknolojileri birleştiren bir tasarım desenidir.

AJAX kullanarak uygulama geliştirilirken şu bileşenlerden faydalanılmaktadır:
HTML / CSS
DOM / Javascript
XML / XMLHttpRequest

Klasik bir istemci-sunucu ( client-server) uygulamasında kullanıcı tarafından yapılan her işlem sunucuya HTTP Request olarak gönderilir , yorumlanır ve veriler işletildikten sonra sonuçlar istemciye gönderilir. Bu da çok büyük bir ağ trafiğine neden olur. Örneğin: kullanıcınız bir email adresi girip , doldurduğu formu sunucuya gönderdi fakat email adresi istenilen formatta değil. Bundan sonra sunucudan tekrar form gönderilip kullanıcı tarafından düzletilir ve tekrar sunucuya yeni haliyle form gider. Bu da sunucu ve istemci arasındanki trafiğin büyümesine neden olur.
AJAX kullanıldığında ise istekler HTTP REQUEST yerine XMLHTTP REQUEST olarak gönderilir. Burada sunucu ve istemci arasında taşınan veriler  sıkıştırılmış  XML formatındadır. Bu sıkıştırılmış yapı istemci tarafında açılır böylece sunucu ve istemci arasındaki bant genişliği boş yere işgal edilmemiş olur.
AJAX ile sağlanan en büyük özellik de PARÇALI GÜNCELLEME’ dir. Bu sayade bütün bir sayfanın istemci ile sunucu arasında gidip gelmesiyle doğan ağ trafiğinin önüne geçilmiş olur.Önceden Meta taglerine refresh yazarak bu işlemi yapardık fakat bütün sayfa güncellenirdi ve kullanıcı bomboş bir sayfaya ile başbaşa kalırdı.

AJAX teknolojisiyle ilgili bence en önemli nokta AJAX’ın formlar ile etkileşimi düzenlemek için çok faydalı bir araç olmasına rağmen tek başına uygulama geliştirmeye elverişli olmamasıdır. Fakat akıllıca kullanıldığında uygulamalara hem görsellik hem de performans adına uygulamalara pek çok şey katabilir.

Ayrıca AJAX ile Amerika yeniden keşfedilmemiştir. Yıllardır kullanılan JAVASCRIPT ve XML birleştirilerek yeni bir uygulama deseni oluşturulmuştur. Bu düşünce önce JSP geliştiricileri tarafından ortaya atılmış daha sonra da Microsoft tarafından desteklenmiştir. Önceleri Microsoft bunu ATLAS olarak adlandırmış daha sonra da ASP.NET AJAX olarak desteğini sürdürmüştür. Burada Javascript denilince farklı tarayıcılarda farklı sonuçların ortaya çıkması gibi bir durum söz konusudur. Maalesef internet tarayıcılarımızı üreten firmalar W3C standartalarına sağdık kalmamaktalar ve bu da Javascriptlerin farklı  sonuçlar üretmesine neden olmaktadır. Microsoft ASP.NET AJAX mimarisinin içine istemciler için “Browser Compatibility” kütüphanesini de dahil etmiştir. AJAX ile ilgili olarak arama motorlarının siteyi indekslemesi sırasında da sorunlara neden olduğu haberleri ortalıkta dolaşmaktadır.

Artık Web 2.0 ile siteler kullanıcılarına daha iyi bir web deneyimi yaşatmayı amaçlıyorlar ve AJAX da bunun için iyi bir araç. Belki de bu nedenden ötürü Web 2.0 eşittir AJAX gibi bir düşünce yaygınlaşmıştır.
Bu deneyimin artması her şeyin real-time olarak çalışıyor izlenimi vermesi, daha interaktif olması ve içeriğin zenginleşmesi adına WPF/E teknolojisini Microsoft hayatımıza sokacak. Bu konu gerçekten geniş bir konu ve kaynak bulmak pek de kolay değil . Hala deneme aşamasında. (Şubat ortalarında resmen yayınlanmış olacak) Fakat fırsatım olursa bu konuya ait giriş niteliğinde bir yazı yazmaya çalışacağım. Belki de güzel örnekler bulup sizlerle paylaşırım.

Seminer sırasında aldığım notlar bunlar. Eklemek veya düzeltmek istediğiniz birşey olursa yorumlarınızı bekliyorum. Ayrıca aşağıdaki linklerden konuyla ilgili faydalı bilgilere ulaşabilirsiniz.Beni okumaya devam edin…

SEMİNERE AİT SUNUM  (Mehmet Bey’den aldığım bilgiye göre sunucusunda bir problem var ve en kısa sürede düzelecek)

ASP.NET AJAX FRAMEWORK

ASP.NET AJAX CONTROL TOOLKIT

AJAX13

GÜVENLİK SANATI -1

secure.JPG 

Uzun zamandan beri yazmayı düşündüğüm konuya bugün nihayet giriş yapıyorum. Kategorinin de başlığın da adı ” GÜVENLİK SANATI ” ve başlıkta yazan rakamdan bunun ikisinin, üçünün, dörüdünün de geleceğini anladığınızı umuyorum.

cember.JPGBu yazı serisinde sizlere güvenlik konusunda bilgi vermeye çalışacağım. Elbette ki güvenlik çok geniş bir kapsama sahip ama tüm bunların kesiştiği noktalar da var. Yani ben bilgi güvenliğiyle ilgili yazmayı planlıyorum ama düşünsenize şirketinizde verilerinizi tuttuğunuz sunucunuzda yazılımsal olarak her türlü güvenliği sağladınız. Anti-virüs , firewall ne var ne yok kurdunuz, herkesin erişim haklarını kısıtladınız. Artık verileriniz güven de mi? Bence değil. Mesela şirketinizde bir yangın çıktı (Allah korusun) ve siz de bu konuda hiçbir önlem almadıysanız bilgileriniz yine tehdit altında. İşte yazının başında bahsettiğim o kesişen noktalar kavramı bu. Güvenlikle ilgili çemberi genişletmek mümkün. (Soldaki şekilden bunu rahatça görebiliriz)Bilgisayar güvenliği, norsec1.JPGşirket güvenliği , şehir güvenliği dersek bunun içinden çıkamayız. Mutlaka bu yazıda bir yere kadar  değineceğim. Genelde senaryolar ve örnekler olacak. Yine aynı şekilde gündemi meşgul eden “PERSONAL PRIVACY ” ile ilgili birşeyler bulacaksınız bu yazı dizisinde.

Peki bu yazıda ne bulamayacaksınız ? Mümkün olduğunca alın bu programı kurun ,şu ayarları yapın gibi şeyler yazmayacağım. Belki birşeyleri anlatırken şunu denedim bende iyi çalışıyor gibi tavsiyler olabilir. Ama anti-xxxx araçlarını kıyaslamak ve bunlar hakkında görüş belirtmek benim haddim değil. Bunun için sizleri GOOGLE ile başbaşa bırakıyorum :) . Yada gidin şu siteye bakın adamlar yapmış alın okuyun yada alın kullanın gibi şeyleri beklemeyin.

Benim amacım sizlerde bir Güvenlik Kültürünün oluşmasını sağlamak. Aslında ne kadar güvende olduğunuzu sanarken burada yazacaklarımı okuduktan sonra hiç de güvende olmadığınızı düşebilirsiniz. Sizleri telaşlandırıp sinir bozmak gibi bir amacım yok. O nedenle neler yapabileceğinizi de yazmaya çalışacağım.

Eğer tehlikeleri bilirseniz ona göre önlem alma şansınız var ama bilmiyosanız kimin ,neyin nerden saldıracağını bilemezsiniz. (Bknz: SANAL BANKA MAĞDURLARI) Eğer yanda linkini verdiğim siteye giderseniz göreceksinizki binlerce sanal banka mağduru var. Peki neden oluyor bunlar. İşte bahsettiğim güvenlik kültürünün, bilincinin olmamasından. Bu nedenle konularda güvenliği programlar bazında değil de sosyal yada beşeri bazda ele alacağım. Bu şu demek oluyor: Mesela evde bilgisayarınızda tutuğunuz verilerinizi hep şifreli dosyalar veya klasörlerde saklıyorsunuz. (Mesela klasör kitlemek için bir uygulama kurdunuz). Burada size ait önemli bilgiler var. Peki evinizden birileri bunları bir sohbet sırasında başkalarına söylerse ? Yani belki o dosyaların açılmasına hiç gerek kalmadan , konuyu bilen birinin ağzından bilgileri alırlarsa? Buna benzer şeyler…

İlk yazımı bitirmeden önce bir hatırlatma yapmak istiyorum. Güvenlik konusunda en büyük düşmanınız “KÜÇÜMSEME ” dir bunu asla unutmayın. Hiçbir şekilde ” aman beni kim ne yapsın“ yada “aman canım bişi olmaz “ gibi yaklaşımlar sergilemeyin. Herkesin güvenlik konusunda bilinçli olması lazım. Belki kendi verilerinizi önemsemiyorsunuz ama başkalarının verilerine de sahipsiniz. Yani tanıdıklarınızın , ailenizin ,şirketinizin bilgileri de sizde yüklü . O nedenle kendi adınıza birşeyler yapmak istemiyorsanız bari onlar adına yapın diyorum. Şimdilik benden bu kadar. Güzel bir yazı dizisi olması diliyorum. Beni okumaya devam edin…