# Monday, March 08, 2010

Der folgende Blogeintrag stammt von Waldemar Cichon, einem Mitglied der .NET Developer Group Braunschweig. Waldemar hat bei einer unserer Verlosungen eine Lizenz vom Report Sharp-Shooter gewonnen und sich gewogen gefühlt einen Erfahrungsbericht darüber zu schreiben. Da Waldemar kein eigenes Blog hat, stelle ich seinen Artikel als Gastbeitrag in meinem Blog bereit:

 

Report Sharp-Shooter for Silverlight

von Perpetuum Software (www.perpetuumsoft.com).

Durch einen Zufall gewann ich eine Lizenz des Report Sharp-Shooters. Da meine bisherigen Erfahrungen mit Reportwerkzeugen sich auf Crystal Reports sowie aus ganz alten Tagen mit Quick Report in Delphi beschränken und ich mich nie so richtig mit ASP.NET in Verbindung mit Ajax anfreunden konnte freute ich mich. Bis zu dem Zeitpunkt habe ich schon meine ersten Erfahrungen mit Silverlight gemacht (Versionen 2. und 3.) und es gefiel mir sehr. Jedoch gehören zu den meisten kommerziellen Anwendungen Druckausgaben zwingend dazu, also kam die Report Sharp-Shooter-Lizenz wie gerufen.

Aber fangen wir mal bei Adam und Eva mal an.

Nachdem die Firma Adobe mit ihrem Flash-Plugin sehr große Erfolge als RIA-Plugin (Rich Internet Application) im Worldwide Web erzielen konnte begeben sich Microsoft mit dem eigenem Produkt Silverlight sowie SUN (oder muss man bereits Oracle schreiben?) mit Java FX auf Kriegspfad gegen Adobe. Derzeit ist die Erfolgsrate noch nicht umwerfend – gegenüber fast hundertprozentiger Anwesenheit von Flash setzt Java FX als auf Java aufsetzendes Plugin mit ca. 75% entgegen sowie Microsoft mit immerhin mittlerweile über 50%.

Silverlight ist ein kleinerer Bruder des WPF (Windows Presentation Foundation). WPF ist eine neue, auf XML basierende deskriptive Methode der GUI-Implementierung bietet. Silverlight wird als ein Plugin auf dem Client-Rechner installiert und unterstützt mittlerweile die wichtigsten Browser unter Windows und Mac-OS. Unter Linux wird von das von Microsoft unterstützte Moonlight als kompatible Alternative angeboten. Musste man noch unter der Version 1.x mit Javascript auf der Client-Seite begnügen, programmiert man seit 2.0 sowohl auf der Client- wie auf der  Serverseite in einer der beiden Haupt-DotNet-Sprachen. Somit steht einem .NET-Programmierer nichts mehr im Wege, seine Anwendungen komfortabel ins WWW zu portieren. Er muss sich nicht mehr mit HTML, Javascript und AJAX herum ärgern sondern kann die komplette Programmierung in der Sprache seiner Wahl (C# oder VB.NET) abwickeln.
Damit kann er dann sehr anspruchsvolle Internetanwendungen entwickeln, die einfacher zu programmieren und viel näher an Winforms liegen als unter ASP.Net. Diese erreichen sogar unter Einsatz von Ajax nicht den Bedienkomfort einer Silverlight-Anwendung.

Will man dem Benutzer jedoch basierend auf seinen Eingaben eine ansprechende und druckbare Ausgabe liefern, womöglich Statistiken visualisieren oder mathematische Zusammenhänge in Graphen darstellen, wird er von seinen derzeit erfolgreich eingesetzten Produkten meist im Stich gelassen. Darüber hinaus wirkte Crystal Reports, das mit Visual Studio ausgeliefert wurde, nie richtig integriert.
Eine Lösung für dieses Problem wird von der bisher noch nicht sonderlich in Erscheinung getretene Firma Perpetuum Software geboten. Sie ist vollständig in C# geschrieben und fügt sich harmonisch in die Programmumgebung ein.
Das Programmpaket gibt es in zwei Versionen – einer älteren, die für Programme unter ASP.NET  1.1 und 2.0 lauffähig sind, geschrieben wurde. Mich interessierte die neue Version, die Silverlight Version 3.0 voraussetzt. Zwar ist beim Download-Link noch die Version 2.0 von Silverlight aufgeführt, bei den Anforderungen in der Dokumentation ist aber von der aktuellen Version 3.0 die Rede.
Im Lieferumfang befinden sich außer dem Framework, das die Klassen zur Ausgabe und Formatierung von Reports und Charts beinhaltet sowie dem Report-Editor, der komfortabel aus dem Visual Studio aufgerufen wird zwei Import-Programme, die das Konvertieren von bestehenden Crystal Reports und Active Reports-Dateien in native Sharp-Report-Shooter-Dateien ermöglicht. Dadurch erspart man sich in vielerlei Fällen die erneute Editierung von bereits bestehenden Listen und Charts.

Durch die Integration des Editors in die Toolbox von Visual Studio kann man ihn schnell und ohne Aufruf von externen Programmen erreichen. Die Reports bauen direkt auf einem DataSet auf und  beinhalten die dort entnommene Tabellen und deren Felder. Somit können dort die gleichen Steuerungs- und Filtermechanismen wie auch bei der „gewöhnlichen“ Programmierung eingesetzt werden.
Die Möglichkeiten erschließen eine sehr große Bandbreite. Von üblichen Reports, die man für Angebote, Rechnungen und übliche Listen einsetzen kann, über automatische Gruppierungen sowie Master-Slave-Reports bis zu OLAP und Pivot-Tabellen sind einem alle Möglichkeiten der Datenausgabe und -konsolidierung geboten und dieses weitestgehend fast ohne Programmierung. Die Reports können durch Barcodes, Bilder, diverse 2- und 3-dimensionale Charttypen bis hin zu Instrumenten-Abbildern angereichert werden.
Natürlich möchte der Benutzer gerne auch die Ergebnisse auf Papier sehen oder sie per Mail versenden. Auch hier gibt sich das Paket keine Blöße: obwohl der Ausdruck seitens Microsoft erst ab der kommenden Version 4.0 möglich sein wird, kann der Sharp-Shooter ohne Probleme seine Bildschirmausgabe auch auf dem angeschlossenem Drucker zu Papier bringen. Benötigt man die Ausdrucke in elektronischer Form, ist der Export in alle heutzutage für den Zweck üblichen Formate möglich. Angefangen von PDF sowie deren Microsoft-Pendant XPS über HTML und RTF bis hin zur Excel sowie der rein textlichen Ausgabe in CSV oder ein Plain-Text-File.

Fazit: Die Programmierer von Pertuum-Software haben beim Report Sharp-Shooter ganze Arbeit geleistet und haben ein rundum solides Werkzeug für die Reportausgabe im Internet geschaffen.
Ob die Software auch im harten Alltag das Versprochene hält, konnte ich angesichts der Kürze des Tests nicht evaluieren. Daher erfolgt nach einiger Zeit ein weiterer Artikel, bei dem ich auf die Einzelheiten, Probleme und Lösungen eingehen werde.

posted on Monday, March 08, 2010 11:16:55 AM (GMT Standard Time, UTC+00:00)  #