Makale Özeti

Bu makalede Reporting Services ile ilgili temel bilgiler yer almaktadır. Ne amaçla kullanılır, hangi ihtiyaçları karşılar ve temel kavramları nelerdir sorularının cevaplarını bulacaksınız.

Makale

REPORTING SERVICES

Sql Server 2005 çıkmadan önce Sql Server 2000 ile kullanılabilir, bedava ve raporlama ihtiyaçlarını karşılayan bir ürün ile tanışmaktayız. Ürünün adı Reporting Services.

Bütün firmaların en büyük ihtiyaçlarından bir taneside raporlamadır. Yazılım projelerinize baktığınızda, rapor yazılımlarıda proje planının ciddi bir kısmını almaktadır. Hatta bazı firmalarda sadece raporlama ihtiyacını karşılaması için veri tabanı programcıları çalıştırılmaktadır. Teknik eleman dışında yine raporlama ihtiyaçlarını karşılaması için şirket akışını iyi bilen, herhangi bir rapor isteğini analiz edebilecek ve raporu ilgili departmana iletecek elemanlarda çalıştırılmaktadır. ERP tecrübemden sonra özellikle bu konunun ne kadar önemli olduğunu fakettim. Teknik taraf dışında şirket mantığında düşündüğümüzde çok da haksız olduklarını söyleyemem. Zira sistemin sonuçlarını ele alabilecekleri tek nokta raporlar. Verilerini analiz etmeleri, ihtiyaçlarını önceden görmeleri, şirket politikasına yön verebilmeleri için raporlarmadan başka bir çözüm bulunmamaktadır.

Rapor yapımında yazılımcılar olarak çok sevmesekde bir de rapor formatını firmanın istediği şekilde yapmak zorundayız. Bazen bize mantıksız gelen görüntüsel noktalar, raporun içeriğinden çok daha önemli olarak görünebiliyor. Firmanın standartları, senelerdir gelen alışkanlıkları her firmaya göre çeşitlilik gösterdiği için bizim de her projede bir rapor formatı darboğazımız oluyor.

Bu noktalarda da yazılım üreten firmalar bu aşamaların çok vakit aldığını bildiğini için bu aşamaları kolaylaştıran araçlar geliştirmektedir. Bu araçlar sayesinde geliştirme aşamalarımızı azaltabilir durumdayız.

Microsoft’da Reporting Services isimli, bu ihtiyaçları karşılayabilmemiz için bir araç geliştirmiştir. Diğer araçların belirli bir fiyatı olduğunu düşündüğümüzde, SQL Server ile bedava kullanılabilir bir ürün olması avantaj sağlamaktadır.

Rapor yönetimlerini yapabilmek için Report Designer isimli bir aracı bulunmaktadır. Ayrıca rapor geliştirmelerini yapabilmek içinde Visual Studio .Net kullanılabilir veya Report Definition Language (RDL)’i destekleyen başka araçlar kullanılabilir.

Report Server bir web servisidir. Dolayısı ile de birçok ortam ile entegre çalışabilir. Report Manager’ın ekran görüntüsü aşağıdaki gibidir. Gördüğünüz gibi bir web sayfasıdır.

Bazı temel kavramları inceleyelim;

RDL Nedir?

Visual Studio .Net içindeki yaptığınız rapor tanımı, .rdl uzantılı olarak kaydedilir. Bu .rdl dosyasını notepad gibi bir text aracı içinde açtığınız zaman, bu dosyanın bir XML olduğunu göreceksiniz. Tüm tasarımınızın tanımları bu XML içinde bulunmaktadır. Buda rapor geliştirmenin ortam bağımsız olmasını sağlar. Şöyleki, Reporting Services kurulumu, SQL Server üzerinde gerçekleştirilir. Rapor tasarımı için başka bir araca gerek duymazsanız. Yani XML yapısınında olduğu için .rdl’i destekleyen bir araç kullanabileceğiniz gibi, kendinizde geliştirmenizi yapabilirsiniz. RDL, rapor tanımlarının XML olarak sunulmasını sağlar. Visual Studio .Net ise bu aşamada bize kolay bir geliştirme ortamı sağlar.

Üç Temel Bileşeni

Report Designer : Rapor hazırlama aracıdır. Visual Studio .NET 2003 içine eklenen bir eklenti olarak çalışır. Bu sayede 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.

RDL ile veri gösterimi olarak List, Table, Matrix ve Chart gösterim tiplerini kullanabiliriz. Dinamik içerik için parametrik yapı kurabilir, zengin formatlarda gösterebiliriz. Bu veri gösterim tiplerine, data region denir.

Veri yönetimi için ADO.Net kullanır. Bunun yanında OLEDB, ODBC ve XMLA (XML for Analysis) veri kaynaklarınıda kullanabilir.

HTML, Microsoft Excel, PDF, CSV, XML gibi farklı biçimlere göre çıktı alabiliriz. Raporu ekranda gösterdikden sonra, Export işlemi ile bahsi geçen formatlarda rapor üretilmesi sağlanabilir. Ayrıca sağladığı kütüphanelerle de bu çeşitliliğin arttırılabilir (API).

VS .Net içinde yer alan sihirbaz ile, otomatik olarak da rapor oluşturulabilir. Sihirbazı çalıştırabilmek için, VS .Net içindeki New Project – Businnes Intelligence Project – Report Project Wizard menü adımlarını kullanabilirsiniz.

Rapor çalışmasını kullanıcının istediği anda yapabileceğimiz gibi, zamana bağlı veya bir olaya bağlı olarakda yapabiliriz. Report Manager yardımı ile kullanıcı isteği olmadan otomatik olarak rapor çalıştırılmasını ve kullanıcıya ulaştırılmasını sağlayabilir. Eğer bu şekilde zamana bağlı olarak rapor çalıştırılmasını yaparsak, Sql Server’ın SQL Server Agent isimli bileşeni çalışır.

Reporting Services kurulduğu zaman, Sql Server üzerinde iki veritabanı yaratılır. Ancak bu yarattığı veritabanları bir yanlış anlaşılma yaratmasın. Reporting Services’i, var olan projelerinizde de kullanabilirsiniz. Yani sadece yeni projelerde kullanılabilecek diye bir şart yok.

Yarattığı veri tabanları: ReportServer ve ReportServerTempDB’dir.

Bu yazı Reporting Services’e bir başlangıç yapmış olduk. Bahsi geçen tüm konuları daha ayrıntılı şekilde sonraki makalelerde inceleyeceğiz.

Yeliz Korkmaz, MVP

yeliz.korkmaz@yazgelistir.com