Dokumentation mit ILEDocs Mihael Schmidt Dirk Rossmann GmbH IT-Services Anwendungsentwicklung RPG Mihael.Schmidt@rossmann.de
Agenda Einführung Ausgangssituation ILEDocs Features Integration in IDE Beispiele Einbindung in den Entwicklungsprozess Open Source Wo geht die Reise hin? - 2 -
Einführung Mihael Schmidt, seit 2006 Anwendungsentwickler bei der Dirk Rossmann GmbH Eingesetzte Technologien RPG IV, ILE Konzept, Java 5, XML, Bearbeite Projekte Kassenschnittstelle JSON Implementierung in RPG Schnittstelle Java / RPG IBM Toolbox für Java Web Services - 3 -
Kurzvorstellung Dirk Rossmann GmbH An 3. Stelle der Drogerieketten in Deutschland Gesamtumsatz in 2008 2,9 Mrd. Rossmann gehört zu den Top 30 des dt. Lebensmittelhandels 20000 Mitarbeiter, 1500 Filialen in Deutschland Sitz Burgwedel bei Hannover Logistikstandorte: Landsberg, Burgwedel, Leverkusen, Kiel Auslandsgesellschaften in Albanien, Polen, Tschechien, Ungarn mit über 600 Filialen - 4 -
Ausgangssituation Wie wurde früher dokumentiert? Textverarbeitungsprogramme Tabellenkalkulationsprogramme Bildbearbeitungsprogramme Präsentationsprogramme - 5 -
Ausgangssituation Immer die selben Problem beim Dokumentieren Mehr Aufwand mit der Form der Dokumentation als mit dem Inhalt Was ist wichtiger Inhalt oder Form Wartbarkeit der Dokumentation Versionen von Dokumentationen Dokumentation pro Umgebung Dokumentieren macht keinen Spass! - 6 -
Ausgangssituation RPG Dokumentation bei Rossmann Dokumentation in Word / Excel / Powerpoint / Visio Verstreut auf Servern und Verzeichnissen Mehrfache Versionen einer Dokumentation Keine Verbindung zwischen Dokumentation und Quelltext / Programm Keine Abgrenzung zwischen technischer und allgemeiner Dokumentation - 7 -
Ausgangssituation Dokumentation von Serviceprogrammen Steigende Anzahl an exportierten Prozeduren Kein Überblick über vorhandene Prozeduren doppelte Implementierungen Keine Dokumentation, wo diese Prozeduren sind Keine Dokumentation, wie diese Prozeduren aufgerufen werden: Parameter, Rückgabewerte, - 8 -
ILEDocs Projektziel Was wird dokumentiert? Wann wird dokumentiert? Wo wird dokumentiert? Wie wird dokumentiert? Wo ist das Ergebnis? ( Inhalt ) ( Zeitpunkt ) ( Quelltext ) ( Form ) ( Dokument ) - 9 -
ILEDocs Was ist ILEDocs? Dokumentationstool Vergleichbar mit Javadoc und Doxygen Liest speziell gekennzeichnete Kommentare aus Unterstützt zur Zeit die Sprachen RPG und CL Ausgabe in eine Datenbank Web Frontend - 10 -
ILEDocs - 11 -
ILEDocs - 12 -
ILEDocs Features ILEDocs Tags \brief Kurzbeschreibung \author \date \link Link auf externe Webseite \info \warning \todo \deprecated \rev Programmänderungen (wer, wann, was) \config Konfigurationzugriffsdaten - 13 -
ILEDocs Features Prozedursignatur \param Parameterbeschreibung (Inhalt) \return Rückgabewert Auslesen der Prozedurschnittstellendefinition (PI) Automatisches Kennzeichnen von exportierten Prozeduren - 14 -
ILEDocs Features Weitere Funktionen \critical Definiert ein Programm oder eine Prozedur als kritisch. - 15 -
Beispiele - 16 -
Beispiele - 17 -
Beispiele - 18 -
Beispiele - 19 -
Integration in IDE Rational Developer for i In RDi können Snippets benutzt werden für das Einfügen von ILEDocs Kommentarblöcken. Es gibt keine ILEDocs spezifische Unterstützung in der IDE. - 20 -
Integration in IDE - 21 -
Integration in IDE - 22 -
Integration in IDE RPG Next Gen Editor ILEDocs Kommentarblöcke als Templates Zukünftige Unterstützung von Prozeduren, Modulen und dessen Prototypen - 23 -
Integration in IDE - 24 -
Integration in IDE - 25 -
Einbindung in den Entwicklungsprozess - 26 -
Open Source Wieso Open Source? Viele gute Erfahrungen mit Open Source Produkten gesammelt Einsatz von verschiedenen Open Source Produkten in Projekten Zurückgeben an die Open Source Community - 27 -
Wo geht die Reise hin? Geplante Features Vervollständigung der RPG Spezifikation like / likeds Keywords PEP : *ENTRY PLIST / Prototyp ILEDocs Kommentarblock für Unterroutinen Neue Tags \see Verlinkung auf andere ILEDocs Dokumentationen \throws Mögliche Abbruchnachrichten - 28 -
Wo geht die Reise hin? Weitere Ausgabeformate HTML dynamisch (eingebunden in IDE) HTML statisch XML (Docbook) HTML statisch PDF RTF Wiki mit XMLRPC Support XWiki DokuWiki JSPWiki Confluence - 29 -
Wo geht die Reise hin? Aufbau einer Dokumentationsbibliothek Hosted by Sourceforge.net Dynamische HTML Seiten mit DB Backend Statische HTML Seiten Kandidaten für die zentrale Bibliothek HTTPAPI, FTPAPI von Scott Klement Basics, LOG4RPG von Thomas Raddatz Vector von Dieter Bender Linked List von Mihael Schmidt - 30 -
Wo geht die Reise hin? Zentrale Dokumentationsbibliothek online - 31 -
Vielen Dank für Ihre Aufmerksamkeit! Mihael.Schmidt@rossmann.de http://iledocs.sourceforge.net http://www.rpgnextgen.com All brand names, product names, or trademarks belong to their respective holders. - 32 -