Piotr Ś.

Piotr Ś. Manager,
specializacja w
obszarze Transportu,
analizy biz...

Temat: Reporting services na hostingu

Witajcie,

Chciałbym rozpocząć zabawę z budowaniem raportów, które miałyby być dostępne on-line.

Aplikacja i baza danych są zawieszone na hostingu (webio) - nie bardzo wiem, czy / jak / gdzie zawiesić Reporting Services, żeby użytkownicy łączący się z aplikacją przez internet mogli w podobnie łatwy sposób uruchomić system raportowania.

Czy jedyną możliwością jest postawienie serwera z reporting services na własnej maszynie, a może można jakoś doinstalować RS na hostingu?
Być może są na rynku dostępne usługi innego typu, które rozwiązują ten problem?

Za wszelkie podpowiedzi będę bardzo wdzięczny, pozdr.

Temat: Reporting services na hostingu

Jeśli nie potrzebujesz serwera raportów z pracą grupową w przeglądarce i integracją z SharePointem czy innymi bajerami, masz zbiór utworzonych wcześniej raportów (albo generujesz je dynamicznie - XML) to zapewne wystarczy Ci sama tylko kontrolka kliencka (kilka DLLek), do której
podasz ścieżkę do RDLC i która wyrenderuje raport.

Przeglądarka raportów składa się z silnika renderującego i kontrolki wyświetlającej, więc możesz raport wyświetlać albo w tej kontrolce, albo skorzystać z jedynie z samego silnika i "renderować" raport bez wyświetlania do strumienia, np. do pliku PDF, XLS, DOC. (To się bardzo przydaje w aplikacjach WinForms do generowania wydruków seryjnych.)

Co od obsługi kontrolki, to trzeba zainstalować pakiet redistributable. Ale jeśli nie ma takich uprawnień, to żaden problem - można go sobie zainstalować na domowym komputerze, wyciągnąć kilka (chyba 4 czy 5) DLLek z GAC i zwyczajnie wgrać je do katalogu aplikacji na serwerze. Pote na stronę wrzucić kontrolkę przeglądarki raportów i poustawiać w niej co trzeba (można to zrobić także w kodzie) i podpiąć źródło danych. Nie potrzeba w takim przypadku żadnych usług RS, ani SQL Servera.

Co do wypełniania raportu danymi, to w wielu tutorialach podawane są rozwiązania gdzie cały proces definiowania raportu i osadzania go w kontrolce dzieje się automagicznie poprzez kreatory: klik - połączenie z bazą danych - klik - wybór danych do wyświetlenia - klik - tworzą się odpowiednie metody i data sety - klik buduj aplikację. Jest to wygodne, ale czasem trzeba mieć nad wszystkim większą kontrolę.

Warto wtedy wiedzieć, że jedyne, czego tak naprawdę wymaga cały proces, to:
- XSD z definicjami tabel. Tego wymaga edytor raportu. Generujesz sobie w nim wizualnie XSDka z informacjami o tabelach i ich kolumnach, a potem w raporcie odwołujesz się do tych definicji, przeciągając po prostu (lub wybierając w comboboxach) pola tabel.

- DataSet z danymi (a tak naprawdę wystarczy jedna DataTable). Jeśli masz już tego DataSeta (wygenerowanego gdzieś wcześniej), to podanie go do kontrolki, ustawienie jakichś tam parametrów, to kilka - kilkanaście linijek kodu i ew. dodanie zdarzenia do przetwarzania subraportów.

Nie pracowałem od dawna z ASP.NET i WebForms, ale mam dużo przykładowych źródeł dla WinForms (RS to mój ulubiony silnik do wydruków i generowania plików PDF i XLS w aplikacjach okienkowych) - a pamiętam, że obsługa kontrolki WinForms i WebForms jest niemal identyczna:

Obrazek

Jeśli będziesz potrzebował pomocy w obsłudze tej kontrolki, to wolnym czasie mogę sobie odświeżyć pamięć, napisać jakąś prostą aplikacyjkę, postawić i na localhoście i potestować.

Do generowania raportów wystarcza Visual Web Developer Express 2008 + pakiet redistributable kontrolki renderującej raporty + addin generatora raportów do WebDevelopera. Cały ten komplet jest za darmo do komercyjnego wykorzystania (jak wszystko w wersji Express).

Niestety, w wersji WVD 2010 nie ma (jest to oficjalna informacja od MS) i chyba nie będzie już nigdy darmowego addina do tworzenia raportów, trzeba kupić pełną wersję :/ Nie ma jednak problemu, bo raporty z VWD 2008 (i nawet 2005) będą działać poprawnie, może będą tylko nieco uboższe (zwykle to niewielki problem). Wadą jest tylko konieczność posiadania zainstalowanego VWD 2008. Jest także darmowy edytor RDLC (fyiReporting) ale mnie odrzuca od niego :)

Przy okazji:
http://weblogs.asp.net/rajbk/archive/2010/05/09/creati...

http://weblogs.asp.net/rajbk/archive/2006/03/02/How-to...

i powiązane.

Pozdrawiam.Adrian Olszewski edytował(a) ten post dnia 15.07.11 o godzinie 12:13
Piotr Ś.

Piotr Ś. Manager,
specializacja w
obszarze Transportu,
analizy biz...

Temat: Reporting services na hostingu

serdeczne dzięki za odpowiedź - potrzebuję chwilę, żeby sobie wszystko przetworzyć i zrozumieć :)

W razie czego wrócę z pytaniami - rozumiem, że ewentualnie mógłbyś pomóc w implementacji takiego rozwiązania?

Temat: Reporting services na hostingu

Jeśli zajdzie potrzeba, możemy się w któryś wieczór umówić :) na sesję np. TeamViewera (takie narzędzie do pracy grupowej) i mogę przybliżyć to, co napisałem na przykładach. Czyli napisanie krok po kroku: raportu, zdefiniowanie XSD z polami, prościutka, 2 tabelkowa baza danych, zapytanie zwracające np. personalia kierowców i jakieś tam inne ich dane, założenie nowego projektu www, dodanie strony, wrzucenie na nią kontrolki raportów i spięcie wszystkiego. Może jakiś prosty filtr oparty o combobox i checkbox (np. combo wpływa na zapytanie SQL, a checkbox zmieniający coś w samym raporcie - wykorzystanie parametrów raportu). Przy czym założenie - zero kreatorów. Tak, żeby zmieścić się ze wszystkim w, powiedzmy, dwóch godzinach. Oczywiście wymaga to nieco przygotowań środowiska, więc potrzebowałbym informacji odpowiednio (2 dni) wcześniej, albo w weekend. O ile pozwoli mi na to iPlus, stanowiący moje podstawowe źródło internetu... Jeśli nie, to zrobię po prostu w Wordzie takie małe "how to", krok po kroku.

Są także dostępne liczne tutoriale krok-po-kroku, proszę rzucić okiem np. na poniższy link, bo być może okaże się wystarczający. Jeśli nie - służę pomocą, chociaż bardzo ograniczoną w zakresie aplikacji ASP.NET (nie zajmuję się nimi na co dzień): http://aspalliance.com/1318_Using_Local_Microsoft_SQL_...

I przy okazji: http://ensoftinc.wordpress.com/2009/10/02/reporting-se...Adrian Olszewski edytował(a) ten post dnia 18.07.11 o godzinie 17:07

konto usunięte

Temat: Reporting services na hostingu

Witam,

Jeżeli masz zamiar dostarczyć tylko raportowanie i nie musi to być oparte o Reporting Services to:
-Pentaho (http://www.pentaho.com/) posiada pełen pakiet (ETL, OLAP, Data Mining, Dashboards (raportowanie BI): dobre narzędzie, słaba dokumentacja, liczne projekty open source wykorzystane w rozwiązaniu
-Jasper (http://jasperforge.org/) kolejny kompletny pakiet BI, moim zdaniem prostszy oraz lepiej udokumentowany

Jeżeli nie potrzebujesz kompletnego środowiska BI:
-BIRT (http://www.eclipse.org/birt/phoenix/): bardzo dobre narzędzie do tworzenia raportów, kompleksowe, wydajne, może działać jako osobny serwer lub jako część twojej aplikacji (modeler raportów, serwer raportów, biblioteki oraz AIP)
-iReports (http://jasperforge.org/projects/ireport): prostszy modeler raportów dla środowiska jasper (generalnie jest on jego częścią) działa jako osobne narzędzie, wynikowe pliki możesz osadzić za pomocą bibliotek (API) w własnej aplikacji.

Pozdrawiam
MateuszMateusz Jancy edytował(a) ten post dnia 29.07.11 o godzinie 11:27



Wyślij zaproszenie do