Bu XML de neyin nesi ?

0
darkness
Kısa bir zaman öncesine kadar herhangi bir Veritabanı uygulamasından WEB üzerine bilgi aktarabilmek için ASP (Active Server Pages), OCX, DHTML gibi yöntemleri kullanıyorduk. Bu yöntemlerin her birinin birbirine göre avantaj ve dezavantajları vardı. ASP uygulamalarının geliştirilmesi kolay olmasına rağmen çok büyük kapasiteli sorgulamalarda pek de verimli çalışmadığı biliniyor.
ASP den daha da kolay geliştirilen OCX uygulamaları ise yüksek performans sağlamasının yanında kullanıcı tarafına yüklenmesi gereken ocx uzantılı dosyalara ihtiyaç duyması her zaman bir sorun olmakta ve genelde internet yerine intranet ortamlarında local çözümler olarak kullanılmaktaydı (bkz. Intranet ve OCX teknolojileri).

DHTML ise başta her şeye çözüm gibi lanse edilse de Microsoft Visual Studio 6.0‘ın ilk sürümlerinde artık DHTML standardını desteklemeyeceğini açıkladı. Buna rağmen Adobe firması meşhur Acrobat Reader'ı için bu teknolojiyi halen kullanıyor ama Adobe'un elindeki uygulamayı bilgisayarlara kurulumla dağıtmak gibi bir avantajı var, ve bu kullanış bizim gibi WEB üzerinde uygulama geliştirecek insanlar için ileriye dönük olarak bir gelecek vaat etmemekte.

Tam bu kısır döngünün içinde yönümüzü bulmaya çalışırken XML (Extensible Markup Language) ortaya çıktı ve alışıla gelmiş uygulama teknolojilerinden oldukça farklı bir yapısı olduğunu bizlere göstererek bir ümit ışığı oldu. MS SQL sunucu 2000 kurulumuyla standart olarak gelen XML desteği ile kullanımı oldukça kolay ve güçlü gözüküyor.

Peki nasıl yaparız?

SQL sunucu üzerinde bir `virtual server` (sanal sunucu) oluşturduktan sonra SQL sunucunun `Query Analyzer`ından yapabildiğimiz SELECT sorgularını aynen browserlarımız üzerinden de almamız mümkün olmakta. Fakat öncelikle XML’ın sorgularının nasıl sonuçlar verdiğini görmek için SQL server Query Analyzer üzerinde bir kaç deneme yapmakta fayda var. Fakat deneme yapacağınız tablo veya tabloların kayıt sayıları kabarıksa Tools/options menusunden maximum karakter setini 1000 gibi bir değer girmek durumundasınız. (Bu sayade sorgulama sonuçlarını tam olarak alma şansınız olacaktır) Query anayzer üzerindeyken yaptığımız herhangi bir sorgunun sonuna FOR XML RAW anahtarını girdiğimizde alışılagelmiş sonucun dışında bir sonuçla karşılarız. Evet hayırlı olsun ilk XML sorgunuz. Eğer sorgunuzu yapmadan önce tools menusunden query zamanlarını da göstermesini isterseniz normal sorgunuz ile XML sorgunuz arasındaki %40 lara varan bir fark olduğunu göreceksiniz yani XML daha hızlı çalışmakta. Sorguları internet tarayıcı üzerinden alabilmek içinse SQL sunucu üzerinde bir sanal sunucu oluşturmanız gerekir. Sanal Sunucu yarattıktan sonra tarayıcınızı açarak ve aşağıdaki biçimdeistediğiniz sorgulamayı girebilirsiniz.

http://localhost/htdata?sql=SELECT * FROM Personel WHERE ID=1 FOR XML AUTO

Bu sorguyu gönderdiğimizde tarayıcı hata verecektir çünkü boşluk karakterini anlayamayacaktır. Bu nedenle boşluk olan yerlere “+” girmemiz gerekecek ve biçimi biraz değiştirmeniz gerekecektir (* yerine fieldların hepsini yazmak gibi). Sonuç:

http://localhost/htData?SQL=SELECT+ID,+First_Name,+Last_Name+FROM+ Employee+FOR+XML+AUTO&Root=Employees

SQL standardının en bilindik komutu olan SELECT ile Veritabanları içerisindeki tablolardan ve görünüşlerden sorgulama yapabiliyoruz. SQL sunucunun bize ham olarak sunduğu bu datayı bilindik geliştirme yöntemleri ile kullanıcıların rahat olarak görebileceği ve anlayabileceği biçimlere sokabiliriz. İlk bakışta hiç anlaşılır olmayan XML sorgu sonuçlarının da aslında aynı mantık ile kullanıcıların anlayacağı biçimlere sokabiliriz. XML olarak alınan verinin ayrıştırılması oldukça zor gözükmekte fakat bu işlem insan gözü ve algılaması için zor olarak düşünülebilir. Yazılacak şablonlar ile ayrıştırma işleminin zorluğu tamamen bilgisayarlara bırakılabilir. Ee, zaten yapmaya çalıştığımız da hamal işleri işlemimizin engin gücüne bırakmak değil mi?

Görüşler

0
anonim
konuyla alakasi yok da sizin tepedeki banner saga kaymis gibi.1024'luk ekran kullaniyorum, iletisim kismi da calismiyordu.
kolay gele sizlere
0
anonim
o zaman ekranını düzelt hadi sanada kolay gele
0
SHiBuMi

XML`i ASP`nin ya da Relational DB`lerin yerine gececek bir teknoloji olarak görmek yanlis olur. Sonuc olarak RDBMS`ler verilerin SQL cercevesi icinde optimum düzeyde kullanimi icin hazirlanan yazilimlar. XML ise verileri optimum düzeyde saklayip optimum performans elde etmekten cok, bu verileri platformlar arasi bir düzen icersinde mümkün olan en esnek yapida ama en ufak hataya, standarttan sapmaya olanak vermeden saklamaya ve sunmaya dayali bir olay.

XML ile bütün bir müsteri veritabaninizi saklayamazsiniz ornegin bu büyük bir performans kaybi olur ama XML sayesinde daha dogrusu bir XML uygulamasi olan WML sayesinde bu bilgilerinize cep telefonunuz üzerinden yine RDBMS`nizin icinde yer alacak bicimde ulasabilirsiniz.

MSSQL`in XML`e maglup olmasina gelince, ona MSSQL`in ayibi diyelim ;o)

Görüş belirtmek için giriş yapın...

İlgili Yazılar

Değiştirilmeden hemen bakın

cayfer

Yılın olayı! MDAC (Microsoft Data Access Components) da yeni bir güvenlik gediği bulunmuş. Buraya kadar normal. Ne de olsa yazılımdır, hataları olabilir. Esas Microsoft'un çözüm önerisi ilginç!

What steps could I follow to prevent the control from being silently re-introduced onto my system?

The simplest way is to make sure you have no trusted publishers, including Microsoft. If you do that, any attempt by either a web page or an HTML mail to download an ActiveX control will generate a warning message.

Microsoft'un affına sığınarak web sayfalarından yukardakı paragrafı aynen aldım; yalnızca bir bölümünü kırmızıya boyadım. Umarım EULA'yı delmemişimdir :)

Microsoft .NET isminden vazgeçiyor

tongucyumruk

Microsoft ismi .NET Server olması beklenen yeni sunucu işletim sisteminin adını Windows Server 2003 olarak değiştirdi. Buna paralel olarak Exchange Server .NET gibi ürünlerin de adının benzer şekilde değiştirileceği ve .NET isminin ürünlerin adlarında kullanılmayacağı açıklandı. Buna karşılık ürünlerin tamamı üzerlerinde "Microsoft .NET Connected" logosu taşıyacaklar. Mirosoft'tan yapılan açıklama .NET isminin kullanıcıların aklında soru işaretlerine yol açabileceği bu nedenle isim değişikliğine gidildiği yönünde. Konuyla ilgili haberleri C|net ve ENT News'ten okuyabilirsiniz

Not: Konuyla ilgili Slashdot'ta girilen haberde yazarın yorumu ilginçti: Belki de .NET'in ne olduklarını anlayan kullanıcıların bundan kaçınacağını düşündüler

Oracle`dan E-Mail Server Sürprizi

elrond

Oracle CEO` su Gary Ellison Comdex`te bombayı patlatmış. (Harbiden patlayabilir bu gelişme ama neyse...) Basın toplantısınıda Exchange Serverı unreliable ve unsecure olarak niteleyip(!) (Şimdiye kadar nerdeydin diye sorarlar ama yine neyse)Oracle 9i` ye E-Mail Eklentisi ekleyeceklerini açıklamış durumda.

Sendo Microsoft´a Dava Açtı

FZ

İngiliz cep telefonu üreticisi Sendo, eski ortağı Microsoft'a dava açtı. Sendo'ya göre, Microsoft kendilerine ait teknik sırları Sendo'nun rakiplerine vermiş.

BBC'deki habere göre Sendo şirketi bir Texas mahkemesinde bulunan belgelere dayanarak Microsoft'un diğer telefon üreticileri ile de bilgi paylaştığını iddia ediyor.

Bill Gates yeniden Türkiye'ye geliyor

o_ozardic

Geçtiğimiz yıl iki kez ülkemizi ziyaret eden Bill Gates, yıllık olarak yapılan ve bu yıl Ocak ayında İstanbul’da toplanacak Microsoft Executive Summit’e ev sahipliği yapmak için üçüncü kez Türkiye’ye gelecek.