Mit erungs d ­ r o f n A iste Checkl Für Softwareentwickler 6 wichtige Punkte bei der Auswahl eines Berichtsgenerators für Ihre Desktop-, Web- oder Cloud-Anwendung Whitepaper | Software Entwickler: Report Generator auswählen Berichtsdesign, Druck und E ­ xport für Ihre Anwendung Nahezu jede Unternehmenssoftware benötigt umfassende Ausgabefunktionen, vom Belegdruck über Lagerlisten und Anschreiben bis hin zu komplexeren Auswertungen. Mit einem Berichtsgenerator erweitern Sie Ihre Anwendung um folgende Möglichkeiten: Daten aus Datenquellen auslesen, damit Berechnungen durchführen, die Inhalte grafisch aufbereiten und durch weitere Informationen (z.B. PDF-Dokumente, Bilddateien etc.) anreichern. Für die Umsetzung dieser Funktionalität gibt es verschiedene Ansätze. Sie können die Druckfunktionalität selbst schreiben, gängige Office-Produkte verwenden oder eine professionelle Berichtskomponente einsetzen. Die folgenden Punkte helfen Ihnen dabei, die richtige Entscheidung zu treffen. 6 wichtige Punkte für Ihre Bedarfsanalyse: # 01 Make or buy? Bei der Planung der Druck- und Ausgabefunktion der eigenen Anwendung entscheiden Sie: selber machen oder eine passende Komponente einkaufen? Diese Frage stellt sich im Übrigen nicht nur für das Reporting, auch Benutzeroberflächen leben z.B. von den Controls, die Ihre Anwendung verwendet – die Frage „Komponente oder Eigenbau“ stellt sich insofern an vielen Stellen. Gängige Office-Anwendungen wie z.B. Microsoft Excel bieten schon ausgefeilte Berichtsmöglichkeiten. Hier sind es vor allem Dinge wie eine inhomogene Versionslandschaft beim Kunden, Änderungen bei Office-Updates und die berüchtigte Instabilität von OLE-Ansteuerungen, die dazu führen können, eine andere Entscheidung zu treffen. Wirtschaftlichkeitsüberlegungen ergeben im Regelfall, dass die Verwendung von Komponenten auf längere Sicht wesentlich günstiger ist als eine komplette Eigenentwicklung. Zum Selbermachen kann nur bei sehr simplen Anforderungen ohne Ansprüche geraten werden. Natürlich können Sie eine einfache Liste mit den Bordmitteln Ihrer Entwicklungsumgebung ausgeben. Bei den ersten Änderungsanforderungen, oder sobald es um die Ausgabe in auch nur ein alternatives Ausgabeformat geht, heißt es Spezifikationen beachten, Kompatibilität sicherstellen und hunderte Details berücksichtigen. So entstehen zum einen recht schnell hohe Entwicklungskosten und zum anderen steht die Software natürlich erst nach einer gewissen Entwicklungszeit zur Verfügung. Bei der Verwendung von professionellen Komponenten können Sie sich auf Ihre eigentliche Kernkompetenz als Kenner des Geschäftsbereichs Ihrer Kunden konzentrieren. Die Kosten für eine Entwicklerkomponente sind gut kalkulierbar. Die Zeit, bis die Anwendung marktreif ist, wird deutlich reduziert. Funktionalitäten, an die Sie als Entwickler noch gar nicht gedacht haben, sind bei spezialisierten Komponenten bereits implementiert. Achten Sie bei der Auswahl der Komponenten auf Anbieter, die bereits seit vielen Jahren am Markt sind. So können Sie sich in der Regel darauf verlassen, dass es keine kurzfristige Strategieänderung des Herstellers gibt, die Ihnen womöglich einen Strich durch die Rechnung macht. Seite 2 Whitepaper | Software Entwickler: Report Generator auswählen # 02 Datenquellen Haben Sie sich für „buy“ entschieden, geht es an die konkrete Produktauswahl. Natürlich muss die Berichtskomponente mit den Daten Ihrer Anwendung arbeiten können. Wenn Sie also mit einer Datenbank arbeiten, muss diese auch anbindbar sein. Steht Ihre Anwendung stets „zwischen“ Daten und Reporting, haben Sie jederzeit Kontrolle über die Daten und können das Rechtemanagement Ihrer Anwendung 1:1 im Reporting abbilden. Eine Vielzahl von unterstützten Datenquellen macht Ihnen einen Wechsel der Datenbank leichter. So könnte Ihre Anwendung z.B. neben dem MS SQL Server in Zukunft wahlweise auch eine OpenSource-Technologie wie PostgreSQL für den Datenzugriff nutzen, was die Lizenzierung für Ihre Kunden günstiger macht. Unterstützt die Komponente Ihrer Wahl beide Datenbanksysteme, steht einem Wechsel nichts im Wege. Wenn Sie objektrelationale Mapper wie das EntityFramework verwenden, achten Sie darauf, dass die Komponente eine gute Unterstützung für Objektdatenquellen bietet. Um „eben schnell“ noch weitere Daten zur Verfügung zu # 03 stellen, können sich auch Dateiformate wie CSV, XML oder XLS als Datenquellen anbieten – diese haben den Vorteil, vom Benutzer einfach editierbar zu sein. Idealerweise sollte eine Berichtskomponente eine Mischung aus all diesen Formaten unterstützen. Unsere Bedarfsanalyse am Ende des Artikels gibt Ihnen einen Überblick über alle relevanten Datenquellen. Ausgabeformate Anzeige, Druck oder Export? Das ist oft die Frage bei der Darstellung und Weitergabe eines erstellten Berichts. Das wichtigste Format für die Weiterverteilung dürfte PDF sein. XHTML bzw. HTML5 eignet sich besonders zur Darstellung der Ergebnisse in Browsern. Eine Ausgabe als Excel-Sheet erlaubt die Weiterverarbeitung der Daten in der Tabellenkalkulation. DOCX ermöglicht eine Weiterbearbeitung in Microsoft Word und anderen Office Programmen. Auch wenn es eine Vielzahl an Möglichkeiten gibt, ein Ausgangsformat nachträglich in ein anderes umzuwandeln: Wenn bereits der Berichtsgenerator das gewünschte Ausgabeformat liefert, entfallen zeitraubende und fehleranfällige manuelle Konvertierungen. Wenn der Berichtsgenerator zudem noch ein Mailversandmodul enthält, lassen sich ganze Ausgabeworkflows automatisieren. Seite 3 Whitepaper | Software Entwickler: Report Generator auswählen # 04 Berichtsdesigner Überlegen Sie, ob in Ihrem Projekt Berichte nur von Ihnen, vom Entwickler, oder später auch vom Anwender designt werden sollen. Es gibt Komponenten, bei denen nur der Entwickler in der Entwicklungsumgebung vollwertige Berichte gestalten kann. Sobald die Anwender weitere Berichte benötigen, müssen Sie als Entwickler die Anwendung erweitern. Natürlich kann dies auch ein Geschäftsmodell darstellen – ein ausgereiftes Berichtstool sollte Ihnen aber die Wahl lassen, ob Sie die Möglichkeit des Berichtsdesigns auch Ihren Anwendern zur Verfügung stellen wollen. Dies bedeutet bei manchen weitere Lizenzkosten, andere können ohne zusätzliche Gebühren mit der eigenen Anwendung verteilt werden. Lizenzkosten pro Anwender können in Summe allerdings schnell einen hohen Betrag ausmachen. Achten Sie auf jeden Fall darauf, dass der Anwender-Designer die gleichen Möglichkeiten bietet wie der Designer, der dem Entwickler zur Verfügung steht. Jeder Bericht kann dann nach den individuellen Wünschen des jeweiligen Nutzers angepasst werden. Die Anwendung wird wesentlich flexibler und die Anwender zufriedener. Wichtig für die schnelle Einarbeitung ist die Anpassbarkeit des Designers in Punkto Komplexität. So kann es zusätzlich von Vorteil sein, wenn Funktionen ausblendbar sind. Eigene Assistenten sollten dem Anwender schon einen Gutteil der Arbeit abnehmen und Ihnen Zeit bei der Betreuung von Gelegenheitsanwendern sparen. Seite 4 Whitepaper | Software Entwickler: Report Generator auswählen # 05 Berichtsdesign Überlegen Sie sich im Vorfeld, welche Objekte Sie für Ihre Berichte benötigen. Berichtsgeneratoren verfügen in aller Regel über eine Diagrammfunktion. So können Sie Ihre Daten als Balken-, Torten-, Linien-, Blasen- und Ganttdiagramme visualisieren. Weitere wichtige Standardelemente sind Listen, Pivot-Tabellen, Grafiken und Textfelder. Unterberichte erlauben Ihnen einen hierarchischen Aufbau Ihrer Berichte. Interaktiv kann dies z.B. über die Drilldown-Funktion erfolgen. In einer Berichtsvorschau gelangt der Anwender so aus einer Übersicht zu einzelnen Daten. Die benötigte Detailstufe kann er dann ganz gezielt ausgeben. Parametrisierte Berichte ermöglichen es, mit der gleichen Vorlage Berichte über unterschiedliche Teile Ihrer Daten wie z.B. verschiedene Datumsbereiche oder Produktkategorien zu erstellen. Die Auswahl kann der Benutzer dabei interaktiv in der Berichtsanzeige treffen. Seite 5 Whitepaper | Software Entwickler: Report Generator auswählen # 06 Weiterverteilung Ein weiterer wichtiger Punkt ist die Frage „wie kommt das Berichtstool zu meinen Anwendern“? Häufig gibt es eigene Installationsroutinen für die benötigten Runtimes und Datenbanktreiber. Hier haben Sie als Entwickler dann nur eingeschränkte Möglichkeiten, die Installation zu beeinflussen, dafür ist die Weitergabe einfach und Probleme bei der Installation können Sie an den Hersteller weiterreichen. Noch einfacher – und bei Anwendern und deren Systemadministratoren außerdem beliebter – ist das sogenannte Xcopy-Deployment. Hier genügt es, die benötigten Module in ein beliebiges Verzeichnis im Systempfad zu kopieren, es werden keine Systemregistrierungsschlüssel geändert. So haben Sie die volle Kontrolle über den Vorgang und können diesen bequem mit Ihrer eigenen Installationsroutine verknüpfen. Fazit: Ein Berichtsgenerator übernimmt eine zentrale Rolle in nahezu jeder Anwendung. Ihr Nutzer erstellt Auswertungen, Formulare, Stücklisten etc. und druckt, exportiert oder versendet diese direkt. Der Berichtsdesigner ist die Schnittstelle zum Anwender. In der Regel nutzen Sie eine Berichtskomponente nicht nur einmalig, sondern über längere Zeit und für mehrere Projekte. Es empfiehlt sich deshalb, eine gründliche Bedarfsanalyse wie hier auf den folgenden Seiten durchzuführen und diese anschließend mit dem Hersteller Ihrer Wahl durchzugehen. So können Sie sicher sein, das passende Tool für Ihre Zwecke zu finden – und bei der Gelegenheit auch gleich einen Eindruck davon gewinnen, wie gut die Erreichbarkeit und technische Unterstützung des jeweiligen Herstellers ist. Seite 6 Whitepaper | Software Entwickler: Report Generator auswählen Anforderungs-Checkliste Gehen Sie einfach die folgenden Fragen durch und kreuzen Sie die passenden Optionen an. Sie erhalten so eine übersichtliche Zusammenfassung Ihrer Anforderungen, die Sie mit dem Komponentenhersteller abgleichen können! Übrigens, falls Sie sich das fragen sollten: Nein, dieses Formular meldet uns von combit nicht, was Sie hier ankreuzen. Es bleibt Ihnen überlassen, ob Sie uns das Formular per eMail zukommen lassen möchten oder nicht. 1. Entwicklungsumgebung, die Sie nutzen möchten: .NET C/C++ Delphi Sonstige: 2. Soll der Designer nur dem Entwickler zur Verfügung stehen, oder auch dem Anwender? Entwickler Anwender Beiden 3. Entwickeln Sie eine Desktop- oder eine Web-/Serveranwendung? D esktop Web/Server Beides 4. Welche Datenbanksysteme sollen unterstützt werden? M S SQL Server SQLite REST M ySQL NoSQL SharePoint P ostgreSQL NuoDB ADO Seite 7 Whitepaper | Software Entwickler: Report Generator auswählen A DO.NET JSON OData C assandra LINQ ODBC D B2 MS SQL Server Ole DB Objektdatenquelle/ORM JDBC Oracle E xcel Google Analytics XML C SV Google BigQuery Sonstige: 5. Welche Diagramme sollen zur Verfügung stehen? F lächen Gantt Shapefiles B alken Blasen Geovisualisierung Balken gemischt mit Linien Kreis-/Ring Baum D atengrafik Trichter Wasserfall G auges Linien Radar Sonstige: Seite 8 Whitepaper | Software Entwickler: Report Generator auswählen 6. Sollen besondere Objekte im Bericht platziert werden können? T abelle/Kreuztabelle HTML P DF Objekt Text/Formatierter Text E igene Objekte Barcodes F ormulare Grafik Geometrische Figuren (Linien, Rechteck, Kreis, Ellipsen) OLE Objekt (z.B. Word, Excel…) Sonstige: 7. Welche Ausgabeformate benötigen Sie? B MP HTML RTF C SV HTML5 Share Point Export D OC / DOCX JPEG SVG E mail (Extended MAPI) ODS Text E mail (Simple MAPI) ODT TIFF (auch mehrseitig) E mail (SMTP) PDF XHTML E MF PDF/A XLS / XLSX E xport zur Cloud PNG XML / XAML G IF PPT / PPTX XPS Sonstige: Seite 9 Whitepaper | Software Entwickler: Report Generator auswählen 8. Sonstige Anforderungen: 6 4 Bit Version Objektmodell zur Berichtsmanipulation/-erstellung im Code H igh DPI Unterstützung Filter auf Datenbankebene D igitale Signatur Scripting K omplexe Druckersteuerung (z.B. Kopie auf separaten Drucker o.ä.) C# Scripting N uGet ZUGFeRD X copy Deployment Sonstige: Sie sehen Bedarf für eine Komponente? Wenn Sie klären möchten, welche Tools für Ihre Zwecke geeignet sind, schicken Sie die ausgefüllte Bedarfsanalyse an die Hersteller Ihrer Wahl. Wenn Sie wissen wollen, ob unser Berichtsgenerator combit List & Label Ihre Anforderungen erfüllt, können Sie die Liste einfach über den folgenden Button direkt an uns senden. Wir checken das gerne für Sie – spätestens am nächsten combit Arbeitstag bekommen Sie eine Antwort auf Ihre eMail, versprochen! Bedarfsanalyse an combit senden Seite 10 combit GmbH Untere Laube 30 78462 Konstanz Deutschland © combit GmbH, Irrtümer und Änderungen vorbehalten! Die Angaben stellen nur Beschreibungen dar und enthalten keine Garantie der Beschaffenheit der Produkte. Alle genannten Produkte, Produktbezeichnungen sowie Logos sind Marken, eingetragene Warenzeichen oder Eigentum der jeweiligen Hersteller. combit.net