| Editor Login | Register | ||
| > Akademik İnternet ® > SQL SERVER |
|
|
| SQL SERVER 2005 Reporting Services |
|
Reporting Services
Kapsamlı bir rapor, bir çok firmanın isteği ve ihtiyacıdır. Hangi zamanlarda, ne tür ürün çıktığının, hangi miktarlarda olduğunun, aynı şekilde çalışanların işe başlangıç, bitiş saatlarinin kontrolünü amaçlayan raporlar gibi raporlar, bir firma için olmazsa olmazlar arasındadır. Peki raporlama yapmak için, raporlamaları programlamak için ne tür program kullanılmalı? Elimizde bir çok kayıt var ve bu kayıtlardan rapor almak istiyoruz. Peki hangi aracı veya araçları kullanmamız gerekiyor? İhtiyaçlara doyurucu cevap vermesi raporu daha fazla çekici kılmaktadır. İşte .NET ile birlikte gelen SQL Server Reporting Services raporlama işlemleri için kullanıcıya sunulan uygun bir raporlama aracı. Microsoft"un müşterilerinden aldığı değerlendirme ve istekler doğrultusunda kullanıcılara Reporting Services raporlama aracını sundu. Bu ürüne olan talebin yüksek olmasının nedeni, şu ana kadar uygulama geliştiriciler, şirketlerinin ya da müşterilerinin ihtiyaç duyduğu raporları oluşturabilmek için ya kendileri uygulamalar geliştirmek ya da bu işi satın alınan kimi zaman pahalı, kimi zaman sorunlu üçüncü parti yazılımlarla çözmek zorundaydılar. SQL Server Reporting Services ise raporlama işleri için sunucu/istemci modelinde komple bir çözüm sunmakta. Reporting Services MimarisiÇok katmanlı bir uygulama için SQL Server Reporting Services?in katmanlarını inceleyelim. Katmanlarda ana eleman olarak üç temel elemanımız vardır: Client (kullanıcı), Report Server ve SQL Server Report Databases (rapor veritabanları). Veri kaynağı ve SSRS veritabanları olan ReportServer ve ReportServerTempDB ayrı bütünlüklerdir. Veri kaynağı (data source) rapor için veri toplamak için merkez elemandır. Rapor sunucu veritabanları (Report server database) rapor hakkında bilgi depolayan kaynaklardır. Veri kaynağı (data source) SQL Server, Oracle, Lightweight Directory Access Protocol (LDAP) veya Analysis Services gibi herhangi bir sağlayıcıyı destekleyebilir. Reporting Services, SQL Server"ı işlevlerini gerçekleştirebilmek için ihtiyaç duymasına rağmen OLE DB, ODBC, Oracle gibi farklı verikaynaklarına bağlanabilir. Ayrıca HTML, Microsoft Excel, PDF, CSV, XML gibi farklı biçimlere göre çıktı üretebilmesinin yanında sağladığı kütüphanelerle bu çeşitliliğin arttırılabilmesi yine göze çarpan özelliklerindendir. Yükleme ve Ayarlar
Reporting Services ASP.NET ve web servisi teknolojileri kullanılarak geliştirilmiş araçlardan oluşmakta. Temelinde web servislerinin kullanılması gerçek anlamda ölçeklenebilirliği mümkün kılıyor. Bir raporun tüm aşamalarında, raporu oluşturmada, dağıtmada ve güvenliğini sağlamada, sunduğu fonksiyonlarla Reporting Services, bu konudaki boşluğu önemli ölçüde dolduracağa benziyor. Reporting Services temel üç bileşenden oluşur: Report Designer : Alıştığımız arabirimden ayrılmadan raporları kolaylıkla hazırlayabiliriz. Report Server : Raporların çalışmasını ve dağıtımını yöneten servislerdir. Report Manager : Report Server için web tabanlı yönetim arabirimi sunar. Report DesignerReport Designer kullanım kolaylığıyla programlama ile ilgilenmeyenlerin de kolaylıkla rapor hazırlayabilmelerini hedeflemektedir. Gruplama, sıralama ve hazır şablon kullanabilme gibi temel ihtiyaçların tümüne cevap verebilir. Fakat bunların yetersiz kaldığı noktada programlama bilginizi ve kullandığımız programlama dilini (VB.NET, C#.NET) kullanarak karmaşık raporların üstesinden gelebilirsiniz. Ayrıca raporların içinde ActiveX kontrolleri de kullanabilirsiniz. Report Designer"ın en çok göze çarpan özelliklerinden biri parametre kullanımı konusunda sağladığı kolaylıklardır. Örneğin parametre alan bir saklı yordamı (stored procedure) rapor içinde kullanmak isteğinizde, rapor otomatik olarak saklı yordamın parametresini yorumlayabilecek bir yapı oluşturur. Report ServerReport Server, raporların çalışmasında, saklanmasında, yönetilmesinde ve dağıtılmasında etkin görev alır. Report Server aslında birçok bileşenden oluşmuştur. Bunlardan önemli bir kaçı şunlardır: Request Handler : Sunucuya gelen tüm istekleri alınmasından ve gerekli bileşenlere yönlendirilmesinden sorumlu bileşendir. Scheduling and Delivery Processor : Önceden zamanlanmış raporların alınmasından ve gerekli kaynaklara (dosya,yazıcı,faks,e-posta,...) iletilmesinden sorumludur. Report Processor : Raporların çalışmasından ve farklı biçimlere göre çıktı alınabilmesinden sorumlu bileşendir. Report Server Database : Reporting Services"in çalışabilmesi için gerekli tüm verilerin saklandığı SQL Server veritabanıdır. Bu veritabanında önbellekleme bilgilerinden sunucu ayarlarına kadar gerekli tüm bilgiler tutulur. Report ManagerReport Manager ile raporların güvenlik ayarlarını,
sunucu yapılandırmasını yönetebilirsiniz. Ayrıca klasör yapılarını
belirleyebilir ve zamanlama ayarlarını istediğiniz gibi
düzenleyebilirsiniz.
Reporting Services mimarisinin yapı taşı rapor tanımlama dili (Report Definition Language-RDL)"dir. RDL dosyaları raporları tanımlayan XML dosyalarıdır. RDL"in açık yapısı sayesinde farklı platformların iletişimine olanak sağlanmıştır. RDL, Visual Stuido 2005 içinde gömülü olan Reporting Services ile oluşturduğumuz tüm raporların standartıdır. SSRS, ReportServer, raporları veritabanı sunucusu ile eşleştirebilmek için veritabanında RDL dosyaları kullanır. RDL?nin her bir elemanı XML tabanlıdı şemalarda tanımlanmıştır. Elemanların formatları, veri kümesi bilgileri, gruplama ve sıralama bilgileri, parametre ve filtre bilgilerinin tamamı XML tabanlı olarak tutulmaktadır. Projemize rapor elemanı eklediğimizde, her bir eklenen eleman için RDL kodu değişmektedir. Report Designer KullanımıMicrosoft yönetim konsolunu (MMC - Microsoft Management Console) kullanmak istediğimiz servisi, konsola ekleyerek yönetebildiğimiz bir arayüzdür. Bu sayede tekrar tekrar pencereler açmak, programlar başlatmak zorunda kalmıyoruz ve tek bir arayüz ile istediğimiz servisi kullanabiliyoruz. Bu özellikleri açısından MMC gerek veritabanı yöneticileri, gerek sistem yöneticileri, gerekse yazılım geliştiriciler tarafından çok tercih edilen bir araçtır. Visual Studio 2005 sayesinde bizde tek bir arayüzden, raporlama projelerimizi başlatabilir ve yönetebiliriz. Visual Studio 2005 kullanıcı arabiriminden Business Intelligence bölümünden rapor oluşturabilir ve uygulama geliştirebiliriz. Raporlama Arayüzü ile Örnek UygulamaSQL Server Business Intelligence Development Studio aracılığı ile örnek bir raporlama yapalım. Bunun için örnek veritabanı olan Northwind veritabanını kullanacağız. Northwind veritabanında yer alan Orders, Order Details ve Products tabloları üzerinde çalışacağız. Şimdi proje ve çözüm dosyasının nasıl oluştuğuna bir bakalım. Business Intelligence?yi başlatalım.
Dosya menüsünden sırasıyla New | Projects seçenekleri ile karşımıza gelen yeni proje oluşturma ekranı çıkacaktır. Bu pencerenin, sol tarafında ağaç şeklinde, oluşturabileceğimiz proje çeşitleri sıralanmaktadır. Sol menüden Business Intelligence Project seçeneğini seçiyoruz. Bu sayede, sağ panelde oluşturabileceğimiz Business Intelligence proje çeşitleri listelenmiş olacaktır. Sağ panelden Report Server Project proje türünü seçerek yeni bir raporlama projesi oluşturmayı başlatalım.
Projemizin ismi, eğer ilk defa raporlama projesi oluşturuyorsak, varsayılan değer olarak Report Project1 olacaktır. Yine bu ekrandan, projemize istediğimiz ismi verebiliyor ve proje dosyalarının yerini belirleyebiliyoruz. Projemize bu uygulamamızda RSP ismini verelim. Raporlama için başlattığımız yeni projeyi düzenlemek için arabirimizden gerekli araçlarımızı düzenleyelim. Kullanacağımız araçların hali hazırda olması, raporlama projemizi düzenlerken bize hız ve kullanım kolaylığı sağlayacaktır. Birden fazla araç kullanacağımız için bunları kendi kullanış biçimimize göre düzenleyebiliriz.
Genellikle kullanılan kontroller ve kullanım şekilleri şu şekildedir: 1. Kontrol Kutusu (Toolbox):
Kontrol kutusu Matrix ve Table gibi raporlama sayfamızda kullancağımız
kontrolleri ve kullanılabileceğimiz diğer kontrolleri içermektedir.
Bunun için TargetReportFolder özelliğinin SSRS Web sunucusunu gösteren URL olması gerekmektedir. TargetServerURL özelliğinin formu http://servername/ReportServer şeklinde olmalıdır. Kendi bilgisayarımızda çalıştığımız için sunucu ismimiz ?localhost? olacağından, TargetServerURL özelliğimiz http://localhost/ReportServer olacaktır. Yeni Nesne Ekleme Projemiz üzerinde sağ tuş yaparak gelen menüden sırasıyla Add | Add New Item seçeneği seçerek projemize yeni bir nesne ekleyelim.
Yeni eleman olarak Report Wizard ekleyelim.
Add komut düğmesine bastığımızda, Welcome to Report Wizard başlığında penceremiz açılarak rapor oluşturma sihirbazı başlayacaktır.
Next komut düğmesine tıklayarak sihirbazımızda ilerleyelim. Sihirbazın bu adımında veri kaynağını seçiyoruz. Varsayılan değer olarak SQL Server gelmektedir. New Data Source diyerek yeni bir veri kaynağı ekliyrouz. Ekleyeceğimiz veri kaynağının ismi varsayılan değer olarak DataSource1 olacaktır. Bu ismi srcRSP olarak değiştirelim.
Kendi bilgisayarımıza göre bağlantı cümlemizi oluşturalım. Bilgisayarımızda kurulu olan SQL Server örneğini seçerek burdan Northwind veritabanını seçerek bağlantı cümlemizi oluşturalım.
Sorgu Dizaynı OK komut düğmesine tıkladığımızda, bir önceki ekranda konfigüre ettiğimiz veritabanı cümlesini göreceğiz. Next komut düğmesine tıklayarak, bir sonraki ekran olan Design the Query ekranına gelelim. Bu ekran aracılığı ile bağlandığımız veritabanı olan Northwind veritabanındaki tablolar üzerinde sorgu cümleleri oluşturabiliriz. Sihirbazın bu adımında sorguyu direk olarak yazabileceğimiz gibi, Query Builder aracılığı ile de yapabiliriz. Query Builder komut düğmesine tıkladığımızda hiç de yabancı olmadığımız sorgu ekranı gelecektir. Bu ekranda Generic Query Designer isminde küçük bir ikon bulunmaktadır. Bu ikona bastığımızda karşımıza sorgu üretebileceğimiz Query Analyzer gelmektedir. Bu ekrandaki menüler : Panes:Diagram paneGrid PaneSQL PaneResults paneRun the queryVerify the SQLUse group by clausesAdd tablesKullanım şeklimize göre buradaki Diagram, Grid, SQL Result panellerini açabilir veya kapayabiliriz. Kod yazma paneli olan; SQL paneline şu sorgumuzu yazalım.
OK komut düğmesine tıkladığımızda bir önceki Design the Query penceresi ekrana gelecektir. Next komut düğmesine tıklayarak devam ettiğimizde, Select the Report Type ekranı karşımıza gelmektedir. Bu ekranda hangi tür rapor oluşturacağımız seçeceğiz.
Biz Tabular rapor türünü seçerek devam ediyoruz.
Bir sonraki adıma geçiyoruz.
Next komut düğmesini tıklayarak bir sonraki adıma geçelim.
Görünüm (Layout) Sekmesi
Veri (Data) Sekmesi
Önizleme (Preview) Sekmesi
Reporting Services kullanılabilecek olası durumlardan bazıları şunlardır: Yeni bir uygulama geliştirirken: Çoğu uygulamada bir şekilde rapor almamız gerekir. Analiz uzmanları Reporting Services"i kullanabilecekleri için uygulama geliştiricilerin üzerindeki yükü hafifletmiş olurlar. Önceden yazılmış bir uygulama için: Çoğu zaman raporlar zaman ve işgücünü çok harcadığı için uygulama içine gömülmez, sonradan ayrıca erişilebilecek bir yapıda sunulurlar. Reporting Services, kullanılarak uygulamaların içine raporların gömülmesi sıradan bir iş haline geliyor. Sistematik bilgilendirme için: Üyelik ve zamanlandırılmış rapor alabilme gibi özellikleri sayesinde bilgilendirme sistemlerinin oluşturulmasında. |
|
| Bağlantılar: bilgininefendisi.net |
| Open Source Document Project | AUP&TOS |