Maßgeschneidert – passt! Kundenspezifische analytische Anwendungen auf Baukastenbasis ©HMS Analytical Software GmbH 2014 Agenda Einführung Beispiele Qualitätssicherung Fazit ©HMS Analytical Software GmbH 2014 2 Bevor wir anfangen Baustein steht für… …eine Vielzahl von künstlichen und Natursteinen. …Bauklotz, ein Spielzeug. …ein Bauelement einer Konstruktionsweise. Wir meinen mit Baustein alle drei Definitionen. ©HMS Analytical Software GmbH 2014 3 Fragerunde Wer kennt… PL/I FORTRAN C IBM 370 Assembler ©HMS Analytical Software GmbH 2014 4 SAS Toolkit Historisches Beispiel Kunde: Medizingeräte-Hersteller Szenario: Zentral verwaltetet DB mit relevanten Informationen für die Herstellung medizinischer Produkte Integration in ver. SAS-Software durch eigene PROC, die COM-Schnittstelle der DB anspricht In Zukunft Integration der Daten via Webservice und PROC SOAP ©HMS Analytical Software GmbH 2014 5 Vertikales Prototyping Risikoanaylse Kunde: Finanzbranche Projekt: Analyse von Risikokennzahlen im konzernweiten Kreditbestand mit SAS und individuellem Interaktionsdesign ©HMS Analytical Software GmbH 2014 6 Vertikales Prototyping SAS & JavaScript Graphiken und Tabelle aus SAS Javascript webt Interaktivität zum Drilldown ein Thementische „Analysepower ins Web“ um 13:15 ©HMS Analytical Software GmbH 2014 7 Paradigmen & best practices Resource Management Tool Kunde: Grünenthal GmbH Projekt: Planungstool zur Ressourcenverwaltung ©HMS Analytical Software GmbH 2014 8 Scaffolding / Convention over Code Grails: Groovy! Scaffolding bedeutet… …Unterstützung für Prototyping von Web-Anwendungen …out-of-the-box DB-gestützte Persistenz Ermöglicht durch Convention over Code Ordner-/Projekstruktur Konsistente Benamung von Elementen Grails bietet noch Validatoren und Internationalisierung PROC GROOVY ©HMS Analytical Software GmbH 2014 9 Java, SAS, SAS-Platform webScala Kunde: Siemens Healthcare, Marburg Ausgangslage: Zwei unabhängige System zum Erstellen von Analysen und zur Archivierung der Ergebnisse. Fehlende Traceability Hohe Aufwände für die Bereitstellung von Clients und Daten Ungenaue Benutzerrollen-Verwaltung ©HMS Analytical Software GmbH 2014 10 Java, SAS, SAS-Platform webScala Lösung: Integriertes Gesamt-System bestehend aus Schnellere Bereitstellung der Clients via Web-Frontend Schnellere Bereitstellung der Daten via Stored Process Audit Trail durch Metadaten-Server-Logging Flexiblere Benutzerverwaltung durch SAS Metadaten-Server Kundenvortrag: „Java, Analytics und SAS für den Anwender“ um 15:15 ©HMS Analytical Software GmbH 2014 11 Anwendungs-Plattform Wir bauen uns einen Baukasten mit… Kunde: Roche Anwendungs-Plattform zum Management der Entwicklung und Herstellung von medizinischer Produkte Verwaltung der für Tests nötigen und validierten Statistiksoftware Verwendung als Baukasten für Anwendungen Alles in einer maßgeschneiderter SW Kundenvortrag: „Colibri – mehr als nur ein kleiner Vogel“ um 15:45 ©HMS Analytical Software GmbH 2014 12 Microsoft-Technologien .NET Framework Sehr ähnlich zu Java, es gibt viele gemeinsame Konzepte SQL Server Relationale DB Integrierter BI-Stack SharePoint Office Anpassungen über Makros oder VSTO-Add-Ins Matlab-Anpassungen mit .NET ©HMS Analytical Software GmbH 2014 13 EG-Add-Ins bei der Commerzbank Zugriff auf den Großrechner über Windows-Oberflächen Der Enterprise Guide ist ein Endanwender Tool für SAS Bietet explizite Schnittstellen für Erweiterungen (Add-Ins), die sich dann nahtlos in das Tool integrieren Thementisch „Entwicklung von Add-Ins für den EG“, um 15:45 ©HMS Analytical Software GmbH 2014 14 Verwenden der SAS IOM Schnittstelle Ein Baustein für viele Anpassungen .NET Bibliothek als Wrapper um die COM-Schnittstelle von SAS Verfügbarmachung dieser Bibliothek in Powershell über Commandlets Fernsteuern von SAS über Powershell Adhoc-Abfragen Automatisierung über Powershell-Scripts Cmdlets4Sas: Open Source, http://sourceforge.net/projects/cmdlets4sas/ Wurde von HMS schon in zahlreichen Projekten, vor allem bei der Commerzbank, eingesetzt. ©HMS Analytical Software GmbH 2014 15 Verwenden der SAS IOM Schnittstelle ©HMS Analytical Software GmbH 2014 16 Weitere Beispiele für produktnahe Erweiterungen Office-Erweiterungen über Makros und VSTO Add-Ins ©HMS Analytical Software GmbH 2014 17 Laborverwaltungssystem für ein Pharmaunternehmen Anforderungen Standortweites System zum Verwalten von Laborsubstanzen Wichtige Rollen, die abgebildet sein müssen Labormitarbeiter Laborleiter Gefahrstoffbeauftragter Betäubungsmittelbeauftragter Verschiedene Rollen haben verschiedene Sichten auf die Daten Ausgefeilte Suche nach Substanzen (Metadaten, chemische Struktur) Reports ©HMS Analytical Software GmbH 2014 18 Laborverwaltungssystem für ein Pharmaunternehmen Umsetzung und Ergebnis Besondere Anforderungen des Kunden an ein solches System, die von keinem Produkt von der Stange abgedeckt wurden Backend: Oracle DB mit Erweiterung für die Verwaltung chemischer Strukturen Frontend: .NET Rich Client Durch die hohe Akzeptanz des Systems durch die Benutzer entwickelt es sich immer mehr zum zentralen Verwaltungstool für die Labore Vermehrt Integration in andere Systeme (z.B. Bestellsysteme) ©HMS Analytical Software GmbH 2014 19 Prozesse und Qualitätssicherung bei Eigenentwicklungen Anforderungsanalyse und -management Testen Qualitätskriterien Performance Erweiterbarkeit Robustheit Lifecycle Management Releaseplanung Deployment Bugfixing ©HMS Analytical Software GmbH 2014 20 Prozesse und Qualitätssicherung bei Eigenentwicklungen Prozesse „Schwergewichtige“ Prozesse • Beispiel: V-Modell Agile Prozesse • Beispiel: Scrum, extreme Programming Qualitätssicherung durch gekonntes Software Engineering (Auszug) Softwareentwurf Automatisiertes Testen Continuous Integration Continuous Delivery ©HMS Analytical Software GmbH 2014 21 Prozesse und Qualitätssicherung bei Eigenentwicklungen Wegweiser SASUnit: von HMS entwickeltes Unit Test Framework für SAS Integration in den Continuous Integration Server Jenkins Vortrag: „Weniger Risiko, höhere Qualität, mehr Effizienz“, um 15:15Uhr Thementisch: „Testen in Analytics-Projekten“, um 14:00 Vortrag: „Ist Qualität nachrüstbar?“, um 13:15 ©HMS Analytical Software GmbH 2014 22 Qualitätssicherung bei Eigenentwicklungen Beispiel: Auswertesuite für ökonomische Daten Kunde: Internationale Organisation des Finanzwesens Anwendungsgebiet: Ökonomische Forschung Komponenten: Bibliothek für den Zugriff auf verschiedenste Datenquellen Bibliothek mit Zeitreihen-Logik Applikation zum visuellen, interaktiven Erstellen von Grafiken Erweiterungen in Word zur Berichtsgenerierung für Veröffentlichungen Integration in Matlab als Scripting-Umgebung für Ökonomen ©HMS Analytical Software GmbH 2014 23 Graphiken (.NET Applikation) Matlab Matlab IDE Tabellen (VSTO Word-Add-In) Matlab Funktionen und Klassen Matlab Interface zu .NET Matlab Scripting API Scripting API Bibliotheken (Zeitreihen-Logik, Datenzugriff) .NET Framework ©HMS Analytical Software GmbH 2014 24 Qualitätssicherung bei Eigenentwicklungen Beispiel: Auswertesuite für ökonomische Daten Verwendeter Prozess: Scrum Qualitätssicherung u.a. durch Testen Testen Testen! Continuous Integration Continuous Delivery ©HMS Analytical Software GmbH 2014 25 Fazit Eigenentwicklungen müssen nicht teurer sein als Produkte von der Stange (s. Grünenthal, Resource Management Tool) Aber: eine genaue Analyse im Vorfeld muss zeigen, ob eine Eigenentwicklung sinnvoll ist oder nicht Um diese Entscheidung fundiert treffen zu können, ist ein solides Verständnis der Anforderungen und ein guter Überblick über Technologien und alternative fertige Lösungen nötig. Bei der Durchführung von Eigenentwicklungen muss man nicht nur die verwendeten Technologien beherrschen, sondern auch den Prozess. ©HMS Analytical Software GmbH 2014 26 Maßgeschneidert – passt! Wegweiser Analytische Anwendungen Thementische „Analysepower ins Web“ um 13:15 Kundenvortrag: „Java, Analytics und SAS für den Anwender“ um 15:15 Thementisch „Entwicklung von Add-Ins für den EG“, um 15:45 Kundenvortrag: „Colibri – mehr als nur ein kleiner Vogel“ um 15:45 Qualitätssicherung Vortrag: „Weniger Risiko, höhere Qualität, mehr Effizienz“, um 15:15Uhr Thementisch: „Testen in Analytics-Projekten“, um 14:00 Vortrag: „Ist Qualität nachrüstbar?“, um 13:15 ©HMS Analytical Software GmbH 2014 27 Kontakt Oliver Thieleman Projektleiter/Senior Software-Ingenieur [email protected] Johannes Schluchter Teamleiter/Senior Software-Ingenieur [email protected] HMS Analytical Software GmbH Rohrbacher Str. 26 69115 Heidelberg www.analytical-software.de [email protected] +49-6221-6051-0 ©HMS Analytical Software GmbH 2014 HMS auf XING: https://www.xing.com/company/hmsanalyticalsoftwaregmbh 28