Client Uygulamaları

Oğuz~#>

Kıdemli Üye
5 Tem 2009
4,772
17
Bursa
Kullanıcılar SQL Server ve Analiz Servisine direct olarak ulaşamaz; verilere erişmek için yazılmış client uygulamaları kullanırlar. Bu uygulamalar SQL Server aşağıdaki yöntemlerle ulaşırlar;
Transact-SQL : Bu sorgulama dili SQL’in farklı bir versiyonudur. SQL Server kullanıcıları için birincil bir sorgulama ve programlama dilidir.
XML: Bu format bir sorgu ve prosedürün çalışması sonucu gelen verinin HTTP üzerinden URL veya şablonlar kullanılarak iletilmesidir. XML’I veritabanina veri girerken, güncellerken ve silerken kullanabilirsiniz.
MDX: MDX bir OLAP veritabanı içindeki çok boyutlu objelerin, sorguların ve çok boyutlu verilerin düzenlenmesini ifade eder.
OLE DB ve ODBC API’leri: Client uygulamaları veri tabanına komut gönderirken OLE DB ve ODBC API’lerini kullanırlar. Bu API’leri kullanarak gönderilen komutlar T-SQL dilini kullanırlar.
ActiveX Data Objects ve ActiveX Data Objects (Multidimensional)
ADO ve ADO MD Visual Basic, ASP, VB Script programlama dillerinde OLE DB’yi kapsamak için kullanılır. OLTP veritabanları içindeki verilere erişmek için ADO kullanılır. Analiz Servisi veri küpleri içindeki verilere erişmek için ise ADO MD kullanılır.
English Query: Bu uygulama ile kullanıcılar doğal dillerini kullanarak karmaşık T-SQL ve MDX yapılarını kurarak veritabanıdan bilgi elde edebilirler. Örneğin bir kullanıcı “Satış bölümünün bu ay ki cirosu nedir ?” diye bir soru sorabilir. Adındanda anlaşıldığı gibi sorularda ingilizce dili kullanılır.
Client-Server Bileşenleri
SQL server verileri saklamak ve tekrar almak için client, server bileşenlerini içerir. SQL server uygulamaları temel network ve protokollerden izole etmek için katmanlı iletişim modelini kullanır.Bu yapı uygulamanız farklı network ortamlarında kullanmanızı sağlar.
Client-Server Mimarisi
SQL server iş yükünü azaltmak için server ve clientlar üzerindeki iş yükünü parçalara böler.

  • Client uygulama ticari hesaplama ve bunların kullanıcıya gösterilmesinden sorumludur. Bunlar her ne kadar client üzerinde çalışsa bile veri sorgularken server üzerinde çalışır.
  • SQL Server birden fazla gelen istekleri karşılayabilmek için disk, bellek, işlemci ve bant genişliği gibi kaynakları yönetebilir.
Client-Server mimarisi ile çeşitli ortamlar için uygulamalar dizayn edip geliştirebilirsiniz. Client uygulaması çeşitli bilgisayar ortamlarında çalışır ve SQL Server ile network üzerinden haberleşir.


Client Bileşenleri:


Haberleşme mimarisinde client bileşenleri aşağıdakileri içerir;
Client Applications: Bir client uygulamasındaki amaç T-SQL kodlarını göndermek ve sonuçları almaktır. Veritabanı API’si kulanarak bir client uygulaması geliştirebilirsiniz. Böylece SQL Server ile haberleşmek için kullanılan network protokolünü bilmeye gerek yoktur.
Database API: Database API’leri bir driver veya DLL kullanarak T-SQL kodlarını geçirir ve sonuçları alır. Bu T-SQL kodlarını gönderirken ve sonuçları alırken client uygulama ile SQL Server arasında kullanılan bir arayüzdür.


Client Net-Library : Client Net-Library network bağlantılarını control eder ve verileri client’a yönlendirir. Bu bir çeşit veritabanı isteklerini ve sonuçlarını paketleyip çeşitli network ortamlarında taşıyan haberleşme yazılımıdır.
Server Bileşenleri:
Haberleşme mimarisinde server bileşenleri aşağıdakileri içerir;


Server Net-Libraries : SQL Server aynı anda birçok Net-Library’leri izleyebilir. Bağlantının sağlanabilmesi için Client Net-Library ve Server Net-Libraries aynı olmalıdır. SQL Server şu protokollere destek verir; TCP/IP, Named Pipes, NWLink, IPX/SPX, VIA ServerNet II SAN, VIA GigaNet San, Banyan VINES ve AppleTalk.


Open Data Services : SQL Server’ın bir bileşeni olan bu uygulama network bağlantılarını izler, client isteklerini çalıştırmak üzere SQL Server’a geçirir ve sonuçları tekrar client uygulamaya döndürür. Open Data Services SQL Server’a yüklenmiş olan tüm Net-Libraries’I dinler.
Relational Engine: T-SQL kodlarını çalışabilir parçalara böler, optimizasyonunu yapar, tanımlanmış diğer kodları çalıştırır ve güvenliği sağlar.
Storage Engine: Storage Engine veritabanı dosyalarını, dosyalardaki boş alanları, fiziksel sayfalara veri giriş çıkışını, veri önbelleklerini, loglamaları, kurtarma operasyonlarını yönetir.


Client-Server Haberleşme İşlemleri


Client ve Serverlar tipik olarak bir network üzerinden haberleşirler. Aşağıdaki adımlar bir sorgunun veritabanı API’si kullanılarak hangi aşamalardan geçtiğini göstermektedir.


1. Bir client uygulaması sorgu gönderir. Client uygulama API’yi çağırır ve sorguyu verir. API driver veya DLL’I kullanarak sorguyu bir veya daha fazla TDS (Tabular Data Stream) paketlere gruplar ve Client Net-Library’e geçirir.
2. Client Net-Library bu paketleri networkte taşınabilecek şekilde paketler. Client Net-Library windows interprocess communication (IPC) API’sini çağırır ve işletim sisteminde yüklü olan protocol üzerinde bu paketleri server net-libraries’e gönderir. Server net-libraries bu network paketlerini çözer ve TDS paketlerinin elde eder. Data sonar bu TDS paketlerini Open Data Services’e geçirir.
3. Open Data Services bu TDS paketlerini açar ve sorguyu relational engine’e verir. Relational engine bu sorguyu derler ve optimizasyonu yapılmış çalışabilir bir şekle çevirir ve çalıştırır. Relational engine storage engine ı ile OLE DB arayüzünü kullanarak haberleşir.
4. Storage engine databaseden dönen verileri data buffer’a oradan relational engine’e verir. Relatinal Engine gelen verilere son şeklini verir ve Open Data Services’e geçirir.
5. Open Data Services bu verileri Server Net-libraries, network protokolü, client net-library ve database API kullanarak client’a iletir. Bu sonuçlar XML şeklinde de iletilebilir.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.