SQL Server 2005’te yeni ne var – II [Programlama]

Önceki yazıda SQL Server 2005 veri tabanı yöneticileri için geliştirdiği yenilikleri vermeye çalıştık. Bu yazıda da uygulama geliştiriciler için gelmiş olan yeni özellikleri, T-SQL’deki değişiklikleri özetlemeye çalışacağız. SQL Server 2005 ile birlikte programcılar için gelen en önemli iki özellik, .NET Framework desteği ve daha kullanışlı, yetenekli bir XML teknoloji desteğidir. .NET Framework desteği, VS.NET IDE’sinde SQL Server’in yönetimini, XML desteği de sunucunun farklı platform ve cihazla iletişimi sağlamaktadır.
Developerlar için sunulan yenilikleri şu başlıklarda toplayabiliriz:
Genişletilmiş dil desteği (Expanded language support)
Geliştirilmiş geliştirme araçları (Improved development tools)
Genişleyebilirlik (Extensibility)
Geliştirilmiş Veri Erişim (Improved data access)
XML ve Web servisleri (XML and Web services)
Uygulama çatısı (Application framework)
Genişletilmiş Dil Desteği ve CLR/.NET Framework Entegrasyonu
Common Language Runtime(CLR) SQL Server Database Engine içerisine gömüldüğü için developerlar, uygulama geliştirirken kısıtlı T-SQL dilinin haricinde daha gelişmiş gerçek programlama dili olan VB.NET, C# dillerini de kullanabilecekler. Böylece programcılar, SQL Server ortamında .NET dilleriyle geliştirdikleri fonksiyon ve prosedürleri veya Microsoft tabanlı olmayan thirty party bileşenlerini de kullanma imkanı elde etmiş olacaktır.
SQL Server 2005’in CLR/.NET teknolojisini destekliyor olması, programcılara veri tabanı uygulamalarında nesne tabanlı programlama yaklaşımını(encapsulation, inheritance ve polymorphism yöntemlerini) kullanma özgürlüğü sunduğu gibi programcıların daha güçlü bir hata yönetimi yapmalarını, gelişmiş bir güvenlik mekanizmasını kurmalarını ve daha yenetekli namespace ve classlar kullanmasını, bunlar aracılığıyla I/O ve XML tabanlı işlemlerini daha kolay yapmalarını sağlamıştır. Bu özellikler, veri tabanı işlemlerinde daha yüksek ve karmaşık hesaplama ve mantıksal işlemlerinde bile performans ve esneklik kazandırmıştır. Aynı şekilde CLR’ın sunduğu type safety özelliğiyle veri tabanı işlemleri daima gözetim altında tutuAyrıca SQL Server 2005’in VS.NET gibi güçlü bir uygulama geliştirme ortamıyla bütünleşik çalışıyor olması da programcıların tek çatı altında işlem yapmalarına izin vermektedir.
SQL Server 2005, bu dil desteğiyle birlikte T-SQL dilinde de yenilikler yapmıştır. Özellikle T-SQL’in eksik olduğu için hata yakalama konusunda ve öz yinelemeli işlemlerde yeni yöntemler eklendi. Ayrıca daha esnek sorgular hazırlamak için yeni T-SQL komutları geliştirildi. Bunları sonraki makalede örneklendireceğiz.
Geliştirilmiş geliştirme araçları
Uygulama geliştiriciler, SQL Server 2005’in VS.NET ile bütünleşik çalışıyor olması sebebiyle artık T-SQL, XML, Multidimensional Expressions(MDX) ve XML for Analysis(XML/A) işlemlerini tek çatı altında yapabilecekler.
SQL Server 2005 ile birlikte sunulan araçlardan biri de database engine, analysis services ve reporting services bileşenlerini kullanan ve programcıların grafiksel ortamda kurumsal zeka süreçlerini(Business Intelligence-BI) oluşturdukları Business Intelligence Development Studio aracıdır. Bu araç üzerinde daha önceki versiyonlardan bildiğimiz DTS paketlerinin yerine sunulan SQL Server Integration Services(SSIS) paketleri hazırlanır.
Genişleyebilirlik (Extensibility)
SQL Server’in kullanıcıya sunduğu genişleme kabiliyetlerinin başında kullanıcı tanımlı veri tipleri(User-Defined Types) gelmektedir. Programcı var olan SQL tiplerini kullanarak uygulamasına özel tipler oluşturabilir. Böylece tekrar eden veya benzer kolonlar için her defasında yeniden tip tanımlaması yapılmamış olur. SQL Server 2005 ile birlikte bu esneklik grupsal fonksiyonlara da(Aggregate Function) kazandırıldı. Bu durumda uygulama geliştirici ihtiyaç duyduğu ve SQL Server ile birlikte standart gelmeyen bir hesaplama fonksiyonunu gerek T-SQL gerek CLR stored procedure gerekse sunucu taraflı cursor kullanarak yazabilir.
SQL Management Objects(SMO)
Bilindiği gibi SQL Server yönetim nesnesi olarak önceki versiyonlarda DMO kullanılmaktaydı. SQL Server 2005’in yeni yönetim nesne modeli SQL Management Objects (SMO) olarak değiştirildi. .NET Framework tabanlı çalışan, yeni nesil veri tabanları ihtiyaçlarına göre geliştirilmiş ve programcılar tarafından kolaylıkla programlanabilen bu nesne, Server Management Studio’daki tüm işlemler tarafından kullanılmaktadır.
Analysis Management Objects(AMO)
AMO aracı, istemci uygulamalarının Analysis Services üstündeki nesnelere, DDL scriptleri veya uzun Analysis Services Scripting Language(ASSL) kodları yazmadan bağlanabilmesini ve üzerine işlemler yapabilmesini sağlar.
Geliştirilmiş Veri Erişimi ve Web Servisleri
SQL Server 2005, veri tabanı sunucusu üzerinde XML web servisleri geliştirilmesine ve HTTP üzerinden sunucuya bağlanıp SQL scripleri çalıştırılmasına olanak tanır. Bu işlemler için IIS gibi bir orta katmana ihtiyaç duymaması da bir esneklik olarak karşımıza çıkmaktadır.
ADO.NET 2.0/ADOMD.NET
ADO.NET’in geliştirilmiş yeni özellikler kazandırılmış yeni versiyonudur.
Query Notification
SQL Server 2005’in sunduğu yeni özelliklerden biri de Query Notification’dır(Sorgu Uyarı Sistemi). Bu modelde ADO.NET, OLE DB, Open Database Connectivity (ODBC), Microsoft ActiveX Data Objects (ADO) ya da Simple Object Access Protocol (SOAP) gibi bir veri erişim API’si aracılığıyla veri tabanı sunucusuna gönderilmiş bir sorgunun sonucunda değişiklik olduğu anda istemcinin uyarılması sağlanır. SQL Server kendisine gönderilen sorgunun beslendiği kaynaklar için bir dependency nesnesi oluşturularak kaynaklar üzerinde bir değişiklik yapıldığı zaman Service Broker üzerinden sorgunun sahibi olan istemci uyarılır. Özellikle web uygulamalarında network trafiğini meşgul etmemek için cachelenmiş verilerde sadece değişiklik sözkonusu olduğu zaman bunun web uygulamasına bildirilmesi performansı artırır.
Multiple Active Result Sets (MARS)
MARS, tek bir aktif bağlantı(connection) üzerinden birden fazla talebi(command) işleyebilen döndürebilen bir yapıdır. ADO.NET 2.0’dan önceki versiyonlarda forward-only kayıt setini çektiğimiz durumlarda aktif olan aynı connection nesnesini ikinci bir tablep kullanamıyorduk.
XML ve Web Servisleri Desteği
Bilindiği gibi XML(Extensible Markup Language), yerel ağlar ve Internet üzerindeki farklı uygulamalar arasında veri alışverişi için önemli bir standart olarak karşımızda durmaktadır. SQL Server 2005, bütünleşik olarak XML belgelerini saklama ve sorgulama desteğini sunmaktadır.
SQL Server 2005 XML türünde bir veri tipi sunuyor ve XML formatındaki verilerin programcılar tarafından sorgulanabiliyor olmasını sağlamaktadır. XML sorguları, XQuery standartlarına göre yapılmaktadır. XML Query Language (Xquery) her türlü XML verilerinin sorgulanması için oluşturulmuş güçlü bir dildir.
SQL Server, XML verilerini binary large objects modelinde saklar ve XML türündeki kolonlar üzerinde constraint ve indexler oluşturulmasına izin verir.
SQL Server 2005 sayesinde geliştiriciler SQL Server’ı bir Hypertext Transfer Protocol (HTTP) dinleyicisi haline getirerek veritabanı katmanında Web servisleri geliştirebilirler.
Application Framework
SQL Server 2005, Service Broker, Notification Services, SQL Server Mobile ve SQL Server Express bileşenlerini içeren yeni bir uygulama mimarisi sunmaktadır.
Service Broker
SQL Server 2005 ile birlikte hayatımıza girmiş olan bu teknoloji, aynı veya farklı veri tabanı uygulamalarının veri tabanı üzerinde belli koşullar oluştuğunda uyarılmasını sağlayan bir servistir. Asenkron mesaj iletimine dayalı olup özellikle Service Oriented Architecture yapılarında önemli bir katma değer sağlamaktadır. Bazı processlerin eş zamanlı yürümemesi amacıyla oluşturulan kuyruk yönetimi için daha önce Microsoft Message Queuing (MSMQ) kullanılmaktaydı. SQL Server 2005 ile birlikte MSMQ olmadan asenkron uygulamalar yazılabilecek.
SQL Server Express
SQL Server 2005’in ücretsiz, kullanımı kolay bir sürümü olan Microsoft SQL Server Express ürünü, MSDE 2000’in yerine geliştirilmiştir. SQL Server 2005’in pek çok özelliğini barındıran, MSDE’ye oranla daha büyük veri tabanını destekleyen, daha yetenekli, güçlü, ücretsiz bir üründür.
Business Intelligence
Microsoft’un Business Intelligence alanındaki ustalığı SQL Server 2005’te de kendini göstermiştir. VS.NET 2005 ile entegre çalışan BI, data mining alanında rol oynayan yöneticiden programcıya kadar birçok kişinin analiz servislerini kullanmasına, MDX sorguları yapılmasına olanak tanır.
SQL Server BI aşağıdaki özelliklere sahiptir:

    End-to-end integrated business intelligence platformu : Uçtan uca bütünleşik kurumsal iş zeka platformu olarak tanımlanan bu yenilik, her tür analiz için gerekli olan araç ve metodları içerir.
    BI’nin analiz tabanlı uygulamalar için sunduğu araçlar şunlardır:

      Design(Tasarım) : Business Intelligence Development Studio aracı, BI programcılarına yönelik ilk entegre çalışması olup VS.NET üzerinde çalışır. BI uygulamasındaki hata yönetimi, script geliştirilmesi bu araç üzerinden yürütülür.
      Integrate(Entegrasyon) : SQL Server Integration Services (SSIS) karmaşık veri transferi, dönüştürümü gibi işlemleri gerçekleştirir. Integration Services, Analysis Services ve Reporting Services birlikte çalışarak farklı veri kaynaklarından gelen verileri birleştirip ortaya daha anlamlı verileri çıkarır.
      Analyze(Analiz) : Analiz süreci için kullanılan Microsoft Data Mining aracı, yeni algoritmalarla güçlendirilerek daha kullanışlı ve güçlü hale getirildi. Ayrıca Analiz küplerine, Anahtar Performans Göstergeleri(Key Performance Indicator-KPI), MDX scriptleri ve diğer standart gelişmiş iş analiz araçları gibi yeni özellikler eklenerek relational database ve multidimensional database işlemlerinin daha hızlı ve doğru sonuçlar vermesi sağlanmıştır.
      Report(Raporlama) : Reporting Services aracı, BI platformunda analiz sorgularının kolayca oluşturulduğu, sonuçların farklı formatları destekleyecek şekilde görüntülendiği araçtır. Ayrıca web servisleriyle bütünleşik çalışıyor olması önemli bir artık olarak değerlendirilmektedir.
      Manage(Yönetim) : SQL Server Management Studio aracı ile, her türlü SQL Server 2005 bileşeni tek bir çatı altında yönetilir.


Integration Services
Analysis Services
Reporting Services
Microsoft Office Sistemi ile entegrasyon

Integration Services ve Gelişmiş ETL Platformu
SQL Server 2005, SQL Server Integration Services (SSIS) isimli, yeniden tasarlanmış bir ETL platformu sunmaktadır. SQL Server 2000’de yer alan DTS paketlerinin yerine kullanılan SSIS platformu, farklı kaynaklardaki verileri tek çatı altında toplayı homojen bir yapı oluşturulmasına katkıda bulunur. SSIS tamamen programlanabilir ve genişletilebilir bir yapıda olup birçok yetenekli özelliğiyle daha yüksek performans sunmaktadır.
Analysis Services :
SQL Server 2005 Analysis Servisleri şirket verilerinin klasik verilerinin, raporlama amaçlı verilerinin ve data mining verilerinin standart bütünleik bir görüntüsünü oluşturur.
Reporting Services
Yüksek performanslı rapor düzenleme ve işleme aracı olan Reporting Services, BI platformunda kullanıcıların şirket verilerine farklı formatlarda erişmesini sağlar. Ayrıca bu servisin farklı IT platformlarıyla bütünleşik çalışıyor olması da tercih nedeni olmaktadır.
Report Builder
SQL Server 2005 Reporting Services birlikte gelen bu araç, sunduğu grafiksel arayüz aracılığıyla kullanıcıların, sürükle-bırak yöntemiyle kolayca rapor oluşturabilmelerini sağlamaktadır.
SQL Server 2005 Reporting Services çatısı altında oluşturulan raporlar, Microsoft Office Sistemi ile entegre çalışır. Microsoft Word, Excel, PowerPoint gibi araçlar üzerinden bu raporlara erişilebilir.

SQL Server 2005’te yeni ne var – II [Programlama]” üzerine bir düşünce

  1. naçar

    Merhaba,
    Bende ms sql server 2005 management studio 2005 var. bunda reporting service yok. raporlama için hangi toolu yüklemeliyim?

    Cevapla
  2. Ahmet Kaymaz Yazar

    SQL Server 2005 Reporting Services aracını aşağıdaki SQL Server sürümlerinden biriyle birlikte kurabilirsiniz.SQL Server 2005 Developer Edition
    SQL Server 2005 Standard Edition
    SQL Server 2005 Workgroup Edition
    SQL Server 2005 Evaluation Edition
    SQL Server 2005 Express Edition with Advanced Services Service Pack 2 (SP2)Hangi sürümü kurduysanız onu yeniden install ettiğinizde SSRS aracını da kuruluma ekleyerek kullanabilirsiniz.

    Cevapla
  3. Fahri ŞENTEKİN

    Merhaba,
    Reporting Services te View report a bastığımızda integration servicesten çekip reporting services te raporlayabilir miyiz?

    Cevapla
  4. Ahmet Kaymaz Yazar

    Fahri,teknik olarak bu şekilde bir çalışma yapmak mümkündür. Fakat çalışma anında SSIS’de bir package çalıştırıp onun sonucunu raporda göstermek bana mantıklı gelmiyor. Onun yerine uygun periyotlarda SSIS çalışsın sonuçları bir local table’e atsın. SSRS de oradan raporlama yapsın.

    Cevapla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.