Software
nach Maß
Maßgeschneiderte Softwareentwicklung
für Ihre Geschäftsprozesse
Wir sind erfahren in der branchen- und unternehmensspezifischen Entwicklung von Softwarelösungen, mit denen Kunden einen hohen Mehrwert für ihre Geschäftsprozesse gewinnen. Wir beraten Sie umfassend, entwickeln und implementieren Lösungen und unterstützen Sie mit bedarfsgerechten Schulungen und Support.
Verfahrenslösungen
die wir seit vielen Jahren anwenden
Workflowsysteme
Unternehmensweite Prozesse werden computerunterstützt gesteuert, Anwendungskomponenten prozessorientiert integriert, Mitarbeiter ablaufbezogen unterstützt und der Verlauf der Prozesse überwacht sowie durchgehend dokumentiert: Zuwächse an Effizienz und Flexibilität sind das Ergebnis.
Strategisches und operatives Datenmanagement
Das Planen, Gestalten, Überwachen und Steuern von Informationen und die Kommunikation im Unternehmen zur Erreichung der strategischen und operativen Unternehmensziele erfordert spezifische Lösungen.
ETL-Prozessmanagement
Wer macht was, wann, wie und womit? Zentrale Fragen des Prozessmanagements, das sich mit der Identifikation, Gestaltung, Dokumentation, Implementierung, Steuerung und Verbesserung von Geschäftsprozessen befasst.
Was bedeutet ETL?
ETL (Extraction, Transformation + Loading) ist ein Prozess, bei dem Daten aus mehreren, ggf. unterschiedlich strukturierten Datenquellen in einer Zieldatenbank vereinigt werden. Ob Dateiaustausch, Webservice oder SOP: Das vom ITZ Rostock entwickelte ETL-Prozessmanagement-Framework ist der Rahmen für zuverlässige Steuerung und sorgfältige Überwachung und Protokollierung von Datenabgleichprozessen.
Produktmanagement
IT-Lösungen für das Produktmanagement sind für alle Unternehmen von Bedeutung, die in einer sich verändernden Umwelt Tätigkeiten systematisieren wollen, die mit der Auswahl, Weiterentwicklung und Vermarktung von Produkten zusammenhängen.
Instrumente zur Marktbeobachtung
Mit zunehmendem Wettbewerbsdruck wächst die Bedeutung von Instrumenten zur Marktbeobachtung. Seinen Kunden zum richtigen Zeitpunkt auf dem richtigen Wege die passenden Produkte und Leistungen anbieten zu können, entscheidet mit über den Markterfolg
Vertrags- und Dokumentenmanagement
Die datenbankgestützte Verwaltung elektronischer Dokumente sorgt neben vielen anderen Qualitätsvorteilen dafür, dass Dokumente auch nach langer Zeit problemlos wieder aufgefunden werden können.
Mobile Unternehmenslösungen
Mobile Lösungen erlauben rund um die Uhr und an jedem Ort den sicheren Zugriff auf Ihre Geschäftsinformationen. Viele wichtige Entscheidungen und kurzfristige Aufgabenstellungen dulden keinen Aufschub: Wir schaffen individuelle Lösungen und die passende Infrastruktur für mobile Anwendungen, auf die über alle aktuellen Endgeräte zugegriffen werden kann.
Agiler Projektablauf
Komplexität beherrschbar machen
Software ist von Natur aus komplex. Wenngleich am Anfang einer Entwicklung klar ist, welches Ziel grundsätzlich erreicht werden soll, erschließen sich viele Details erst im fortschreitenden Entwicklungsprozess.
Die klassische Wasserfall-Methode ist zu starr, um der Dynamik realer Software-Entwicklungsprojekte zu genügen.
Neben der Komplexität stellt sich in der Praxis oft auch heraus, dass die Anforderungen an die zu entwickelnde Lösung im Detail doch nicht so klar sind, wie man anfänglich glaubte. Zudem wäre oft eine Möglichkeit zum Ausprobieren wünschenswert, um eine Anforderung klarer formulieren zu können oder sich für eine von mehreren Lösungsmöglichkeiten zu entscheiden.
Was hat ein Wasserfall mit Softwareentwicklung zu tun?
Mit Wasserfall- oder Kaskadenmethode wird der Ablauf eines Entwicklungsprojektes beschrieben, bei dem alle Schritte nacheinander erfolgen und aufeinander aufbauen. Also der klassische Weg: Erst wird alles exakt geplant und dann wird dieser Plan genauso exakt umgesetzt.
Flexibilität durch Agilität
Mit einer agilen Vorgehensweise kann der Entwicklungsprozess flexibilisiert werden. Planung und Entwicklung bauen nicht aufeinander auf, sondern werden ineinander verschränkt.
Dabei besteht das Ziel, möglichst frühzeitig prototypenhaft Ergebnisse (Previews) zu produzieren, die vom Auftraggeber und von den Entwicklern gleichermaßen getestet, bewertet und verbessert werden können und auf die zunehmend solider ein nächster Planungs- und Entwicklungszyklus aufbaut.
So können Anforderungen genau dann exakt formuliert werden, wenn alle Rahmenbedingungen wirklich klar sind. Ändern sich Anforderungen, kann vergleichsweise leicht darauf eingegangen werden. Alternativen können prototypenhaft aufgebaut und ausprobiert werden. Das Risiko von Fehl- oder Falsch-Entwicklungen wird drastisch reduziert. Alle Projektbeteiligten können in den Planungs-, Entwicklungs- und Abnahmeprozess frühzeitig eingebunden werden.
Problematisch: Klassische Werkverträge
Diese agile Vorgehensweise kollidiert jedoch oft mit klassischen Vertragskonstruktionen. In einem Werksvertrag sind die Leistungen vor Vertragsdurchführung exakt und abnehmbar zu bestimmen und zu kalkulieren. Bei einer agilen Projektdurchführung gibt es vorab zwar eine Grobplanung, aber eben kein exaktes Pflichtenheft, da die Anforderungen per Definition erst schrittweise zur Projektlaufzeit entwickelt werden.
SCRUM - ein bewährter agiler Projektrahmen
Die Wasserfall-Methode bietet klassisches, planvolles Vorgehen. Wie kann bei agilem Vorgehen dennoch Planbarkeit und damit auch Vertragssicherheit erreicht werden? Dafür haben sich verschiedene Methodenrahmen entwickelt. Der wichtigste agile Methodenrahmen, den auch wir vom ITZ verfolgen, ist SCRUM. In diesem Rahmen werden für einen Entwicklungsprozess genaue Rollen und Abläufe definiert. Im Mittelpunkt der Methode stehen die Sprints – einzelne, in sich abgeschlossene (Teil-)Entwicklungszyklen oder auch Miniprojekte auf der Grundlage eines ausschließlich genau für diesen Sprint definierten Satzes von Anforderungen. Aus einem abgeschlossenen Sprint werden die Anforderungen für den nächsten Sprint abgeleitet.
Aber nicht nur in der eigentlichen Entwicklung, sondern auch bei Betrieb, Wartung und Weiterentwicklung hat sich der agile Ansatz bewährt. Das agile Vorgehen wird vom Entwicklungsbereich (Dev) in den Betriebsbereich (Ops) verlängert (DevOps).
Die direkte Kommunikation der Entwickler mit Kompetenzträgern verbessert das Verständnis für Anforderungen und Lösungsoptionen. Die durch die Sprints gegebenen kurzen Release-Zyklen ermöglichen eine kontinuierliche Verbesserung des entstehenden Endproduktes und eine schnelle Beseitigung von Problemen. Eventuelle Engpässe auf Seite des Auftraggebers (Anforderungsanalyse, Konzeption, Dokumentation, Test, Betrieb) können kurzfristig und unkompliziert vom SCRUM-Team abgefedert werden. Durch Einbindung des Teams in alle DevOps-Prozesse wird eine bestmögliche Wartung erreicht.
Die Zusammenarbeit, Kommunikation und Dokumentation erfolgt mit Unterstützung leistungsfähiger Tools, wie das Wiki-System Confluence oder die Aufgaben- und Ticketverwaltung Jira.
Das Prinzip der agilen Methode besteht vor allem darin, frühzeitig Prototypen auszuliefern und diese immer weiter zu entwickeln. Durch nächtliche Auslieferung auf ein Preview-System, auf welches Sie als Kunde Vollzugriff haben, können Sie den Entwicklungsfortschritt jederzeit prüfen, das System testen und Änderungswünsche einbringen. Mit automatisierten Tests stellen wir gleichzeitig eine weitgehende, formale Korrektheit des produzierten Codes sicher.
Sie sind Bestandteil des SCRUM-Teams! Täglich wird ein so genannter "Daily Scrum" per Telefonkonferenz angehalten. Darüber hinaus findet eine bedarfsorientierte, kurzfristige, direkte Kommunikation über verschiedene Kanäle, wie etwa Mattermost, E-Mail, Telko, Skype oder WebEx statt.
Es besteht die Möglichkeit, auf Wunsch auf dem GIT Repository des Kunden zu arbeiten.
Sie erhalten Zugriff auf das GIT Repository, Jira und Confluence der Entwickler. Die Sprint Planings, Retrospektiven, Refinements, Reviews erfolgen gemeinsam, ebenso wie Sicherung der Code-Qualität, das Testing, Reporting und die Dokumentation. Dazu legen wir Ihnen regelmäßig Ergebnisse vor, zu:
- Code-Qualität
- Abdeckung mit automatisierten Tests
- Ergebnisse von automatisierten GUI Tests
- Last- und Performance-Testergebnissen mit JMeter
Übrigens, auch wenn sich der vereinbarte Projekt- und Vertragsrahmen mit dem Kunden eher an der Wasserfall-Methode orientiert, "übersetzen" wir dies intern in einen agilen Projektrahmen.
Klassischer Projektablauf
Von der Analyse bis zur Lösung
Der Projektablauf zur Entwicklung individueller Softwarelösungen umfasst die Anforderungsanalyse und Sicherheitskonzeption, den Systementwurf, die Implementierung, die Qualitätssicherung, eine System- und Anwenderdokumentation sowie Wartung, Pflege und Support und ggf. die bedarfsgerechte Weiterentwicklung.
Schritt für Schritt
Das von uns favorisierte Prozessmodell für die Spezifikation und Entwicklung individueller Softwarelösungen ist das V-Modell. Es verbindet den Spezifikations- und Entwicklungsprozess mit spezifischen Testphasen zur fortlaufenden Qualitätssicherung.
Analyse der Projektanforderungen
Ein erfolgreicher Projektverlauf setzt die Ermittlung und Verwaltung von Anforderungen voraus. Durch eine konkrete und präzise Darstellung dessen, was gewünscht wird, kann ein reibungsloser Projektverlauf realisiert werden.
Benutzte Methoden und Werkzeuge zur Anforderungsanalyse
- Fachklassenmodellierung
- Anwendungsfallanalyse
- Prozessanalyse
- ARIS-Modellierung (Architektur integrierter InformationSysteme)
- Visual Paradigm (UML Modeller)
- Dokumentengenerierung und Erstellung gemäß der Vorgaben des V-Modells
Sicherheitskonzeption
Komponenten der IT-Infrastruktur sind anfällig gegenüber vielen Arten von Bedrohungen. Besondere Risiken birgt der Missbrauch von Systemen durch interne und externe Benutzer, was zum Verlust, zur Beschädigung oder zur Veröffentlichung von Daten führen kann. Zugleich muss die Gewährleistung einer möglichst hohen Verfügbarkeit Bestandteil der Sicherheitskonzeption sein. All diese Probleme gilt es bereits im Systementwurf zu berücksichtigen, um während der Implementierung geeignete Sicherheitsmaßnahmen zu integrieren.
Bestandteile der Sicherheitskonzeption
- Bedrohungsanalysen
- Risikomanagement
Systementwurf
Ausgehend von Ergebnissen der Anforderungsanalyse und den Infrastruktur-Rahmenbedingungen wird die Software- und Systemarchitektur der zu erstellenden Anwendung entworfen. Für die Beschreibung der Systemarchitektur findet das standardisierte Gerüst des ARC42-Templates Verwendung. Mit der Systemarchitektur liegt eine statische Beschreibung des Zielsystems vor.
Die über die Architektur hinausgehenden Entwurfsschritte werden in Form eines IT-Konzeptes zusammengefasst. Dort werden die Anforderungen in Form von Fachklassenmodell, Anwendungsfalldiagrammen, ER-Datenmodell und der grafischen wie auch funktionalen Beschreibung der Bedienoberfläche spezifiziert.
Benutzte Methoden und Werkzeuge zum Systementwurf
- Visual Paradigm
- Power Designer
Implementierung
Mit der Implementierung erfolgt die Umsetzung der gemeinsam festgelegten Strukturen unter Berücksichtigung von Rahmenbedingungen, Regeln und Zielvorgaben. Dabei kann eine Vielzahl von Werkzeugen und Technologien zum Einsatz kommen.
Werkzeuge
- Eclipse
- Borland JBuilder
- Netbeans
- MS Visual Studio .NET
- Oracle Forms/Reports
- Vi
Plattformen
- J2EE
- BEA Weblogic AS 8,9 Oracle AS 10,11
- JBoss Application Server
- MS IIS
- Android, Symbian, BlackBerry, iOS
Technologien
- Java / J2EE
- SOA
- EJB
- JSP
- ASP
- PHP
- JSF (Java Server Faces)+ PrimeFaces
- Hibernate
- Webservices
- Matrixcodegenerierung und -analyse
- Datenbank-Reporting
- Oracle Reports
- Crystal Reports
- BIRT (Business Intelligence and Reporting Tools)
Sicherheit
- JSSE
- JCE
- SSL
Datenbanken
- Analyse + ER-Modellierung
- Administration
- Optimierung
- ORACLE RDBMS
- MSSQL
- MySQL
Qualitätssicherung
Die Entwicklung von Software ist ein komplexer, arbeitsteiliger Prozess. Hohe Qualität kann dann sichergestellt werden, wenn – wie bei uns üblich – die Qualitätssicherung immanenter Bestandteil des Gesamtprozesses der Entwicklung ist. Hauptsächliches Instrument der Qualitätssicherung ist eine konsequent testgetriebene Entwicklung.
Maßnahmen der Qualitätssicherung
- Automatisierte Unit-Tests
- Code mit guter Wartbarkeit und hoher Güte durch Einsatz von Checkstyle, PMD, FindBugs, Fortify, Classycle
- Firmeninterne Kodier-Richtlinien für einheitlichen wartbaren Code
- Webservice-Tests mittels soapUI
System- und Anwenderdokumentation
Basis der System-Dokumentation sind die aus dem ARC42 Templates gewonnene, strukturierte Systembeschreibung und das IT-Konzept. Ergänzt werden diese durch eine automatisch mit Hilfe von Javadoc, Natural Docs oder anderen Software-Dokumentationswerkzeugen aus den Quellcodes generierte Code-Dokumentation sowie einem Einrichtungs- und Betriebshandbuch.
Klar strukturierte und leicht verständliche Anwendungshandbücher sichern den effektiven Einsatz der entwickelten Software beim Kunden.
Wartung, Pflege und Support
Der Freigabe und erfolgreichen Einführung einer ITZ-Softwareentwicklung folgt Ihre Entscheidung, ob weiterhin Aufgaben der Wartung, Pflege oder des Supports durch uns realisiert werden sollen. Unsere Leistungen umfassen die Weiterentwicklung der Lösung, die Lokalisierung und Behebung von neuen Problemen sowie Änderungs- und Erweiterungsmaßnahmen.
Eingesetzte Technologien
Um die Effektivität und Effizienz Ihrer Softwareentwicklung zu gewährleisten, verwenden wir Technologien und Methoden, die unternehmens- und lösungsspezifisch ausgewählt werden sowie aktuellen Anforderungen entsprechen.
Java ermöglicht eine plattformunabhängige Programmierung, das heißt, Java-Applikationen laufen ohne weitere Anpassungen auf verschiedenen Rechnerarchitekturen und Betriebssystemen. Zur Java-Entwicklungsumgebung gehört eine Vielzahl von Komponenten, die eine methodisch moderne, effektive, gut getestete und dokumentierte Softwareentwicklung ermöglichen. Durch leistungsfähige Klassen- und Komponentenbibliotheken sowie Werkzeuge für die Gestaltung der Benutzeroberflächen können Entwickler auf standardisierte Lösungsmuster zurückgreifen.
Mit Hilfe der MiddleWare-Komponenten Oracle Application Server, Oracle WebLogic, JBOSS AS lassen sich unternehmensweite, auf modulare Komponenten verteilte, mehrschichtige Anwendungen entwickeln, die besonders gut skalierbar sind.
Die Datenverwaltung erfolgt vornehmlich mit Hilfe der Datenbankmanagementsystem-Software von Oracle, die sowohl relationale Daten als auch objektrelationale Daten speichern und verwalten kann.
Diese Software-Plattform von Microsoft dient der Entwicklung und Ausführung von Applikationen, die vorrangig unter Windows laufen. Aber auch webbasierte Lösungen lassen sich mit .NET entwickeln. .Net bietet zahlreiche Lösungen für Standardaufgaben an, womit eine hohe Effizienz der Softwareentwicklung sichergestellt wird. Wichtiger Bestandteil des .NET-Frameworks ist sein integriertes Sicherheitssystem.
Mobile Applikationen werden modernen Geschäftsprozessen gerecht. Wir entwickeln Software für mobile Geräte für alle gängigen Smartphone-Betriebssysteme: Symbian, Android, iOS, BlackBerry und Windows Mobile.
Testautomatisierung
Je komplexer eine individuell entwickelte Softwarelösung wird, desto mehr stellt sich die Frage, wie sichergestellt werden kann, dass das Verhalten der Lösung tatsächlich und nachweisbar den Anforderungen an das System entspricht.
Individualprogramme unterliegen prinzipbedingt einer hohen Änderungsdynamik, da sie in der Regel individuelle Geschäftsprozesse abbilden.
Aufgrund der inneren Komplexität des Programmcodes haben Entwickler selten die gesamte Reichweite ihrer Änderungen am Programmcode im Blick. So können Seiteneffekte auftreten, durch die sich Abweichungen vom geforderten Verhalten einschleichen.
Die Lösung, diesen Problemen zu begegnen, liegt darin, die eigentliche Programmentwicklung durch automatisierte Tests zu begleiten. Zu jeder Programmfunktion und jeder Programmverzweigung wird parallel Programmcode geschrieben, der den eigentlichen Funktionscode testet. Solch ein Test beschreibt einen Sollzustand, den das zu testende Programmfragment liefern soll: Von einer Funktion, die die Summe zweier Zahlen liefert, wird man erwarten, dass sie bei Eingabe von 2 und 2 das Ergebnis 4 liefert.
Diese Tests bauen aufeinander auf und werden untereinander verkettet. Vor jeder Auslieferung einer Programmänderung werden alle Tests abgearbeitet und somit alle definierten Ist- und Soll-Zustände automatisiert verglichen.
Wenngleich der Entwicklungsaufwand zunächst etwas höher wird, wenn man parallel zum eigentlichen Programmcode auch Tests programmiert, amortisiert sich dieser Mehraufwand schnell durch eine höhere Codequalität und risikoärmere Pfleg- und Erweiterbarkeit des Programmcodes.
Ist Testautomatisierung erst einmal gewünscht, stellt sich die Frage wie sich diese umsetzen lässt.
Die global eingesetzte Programmiersprache Nummer 1 Java bietet eine hervorragende Grundlage hierfür. (Quelle: https://www.tiobe.com/tiobe-index/)
Entwicklern stehen die aktuellsten Frameworks und Tools namhafter Organisationen wie z. B. Oracle und Apache und die Erfahrungen einer weltweit agierenden Community zur Verfügung.
Ein spezieller XML-Dialekt erlaubt zusätzlich auch Nicht-Entwicklern den Ablauf automatisierbarer Tests zu verstehen. Das ist besonders wichtig, da es sich bei den formulierten Testbedingungen meist um Geschäftsregeln eines durch die zu programmierende Software abgebildeten Geschäftsprozesses handelt, die die Spezialisten für den Geschäftsprozess am besten kennen.
Für die Erstellung, Verwaltung und Durchführung automatisierbarer Tests können sich Softwarenentwickler auf die Robustheit weltweit eingesetzter und langjährig bewährter Werkzeuge verlassen.
So haben sich im Umfeld von Java Frameworks zum Aufbau automatischer Tests wie JUnit und Selenium bewährt. Diese werden durch Werkzeuge ergänzt, die das Zusammenführen verschiedener Module zu einem Gesamtprogramm unterstützen, die so genannte Build-Automation- und Continuous-Integration-Werkzeuge. Die beiden bekanntesten Werkzeuge dafür im Java-Umfeld sind Maven und Jenkins.
Diese Tools bieten zudem eine ausgezeichnete Unterstützung für die Auswertung von Teststats.
Aufbauend auf diese Werkzeuge und langjährige Projekterfahrung ist im ITZ ein firmeneigenes Testframework entstanden. Das hilft uns, automatisierbare Tests schnell und unkompliziert umzusetzen.
Die Gliederung von Testszenarien in Testschritte und Aktionen hilft die Benutzung von Browsern abzubilden.
Dadurch sind wir in der Lage auf Kundenwünsche zu reagieren und schnell individuelle Lösungen zu schaffen.
Fallstudien zur Softwareentwicklung
Fallstudien zur Softwareentwicklung
Am Beispiel einiger durch die ITZ Rostock GmbH realisierter Software-Projekte wird gezeigt, wie Individuallösungen Wertschöpfungsprozesse optimieren und effektivieren konnten. Dieser Effizienzgewinn ging oft mit einer Verbesserung der Servicequalität einher.
Auslastungsoptimierung durch besseres Preismanagement
Smartphone-App als Ersatz für teure Spezialhardware
Vereinheitlichung und Effektivierung der Generierung von DataMatrix-Codes
Technologiewechsel ermöglicht höhere Marktdurchdringung
Datendrehscheibe erhöht Transparenz in Prozessabläufen
Vereinheitlichung und Effektivierung der Generierung von DataMatrix-Codes
DataMatrix-Codes können vielfältige Informationen speichern und erlauben so die Vereinfachung und Automatisierung von Prozesssteuerungen. Durch eine Softwarelösung, um die Beschreibung der Bildungsvorschriften der Codes zu verwalten, konnten folgende Effekte erreicht werden:
- Vereinheitlichung der Informationsbasis
- Erweiterung der Generierungsmöglichkeiten der Codes,
z. B. als DTP-Layout oder PDF-D atei - Codegenerierung auch durch Geschäftspartner möglich
- Verringerung der Fehleranfälligkeit
Aufgabenstellung
Ein Unternehmen benutzt in großem Umfang DataMatrix-Codes innerhalb seiner Produktionsprozesse. Die Codes enthalten diverse Informationen und werden an den unterschiedlichsten Stellen erzeugt und auch ausgewertet. Je nach Einsatzzweck variieren die Inhalte der Codes. Auch Geschäftspartnern wird die Bildungsvorschrift der Codes zugänglich gemacht, damit diese selbst Codes erzeugen und auf Waren aufbringen können.
Die Inhaltsbeschreibung für die Codes lag ursprünglich nur in Papierform vor. Die Erzeugung der Codes wurde an diversen Orten individuell gemäß der textuellen Bildungsvorschrift implementiert.
Die ITZ Rostock GmbH wurde mit der Aufgabe betraut, eine Softwarelösung zu schaffen, um die Beschreibung der Bildungsvorschriften der diversen im Einsatz befindlichen Codes zu verwalten.
Projektverlauf
Beherrschung der Komplexität durch einheitliches Datenmodell
Basierend auf einer Analyse aller in den Code einfließenden Datentypen und der eingesetzten Codierungen entstand ein Datenmodell, welches das Mapping fachlicher Informationen in logische Bereiche innerhalb des Codes beschreibt. Zudem wird in diesem Modell die Codierung hinterlegt, über welche die Eingangsdaten möglichst platzsparend in den gedruckten Code einfließen. Die Datenrepräsentation innerhalb des Matrixcodes ist wahlweise binär oder im ASCII-Format möglich.
Baukastenprinzip sorgt für hohe Flexibilität
Zu der Datenbank wurde auf Basis einer JBoss-3-Schicht-Architektur eine Intranet-Anwendung erstellt, die der Verwaltung von Bildungsvorschriften für sämtliche beim Kunden eingesetzten Inhaltsausprägungen von Matrixcodes dient. Der Definitionsprozess einer Bildungsvorschrift geschieht nach dem Baukastenprinzip. Dabei werden während der Erstellungsphase einzelne Bausteine aneinandergereiht und nach Bedarf parametriert.
Effizienzsteigerung dank erweitertem Funktionsumfang
Die geschaffene Lösung dient zudem der Erstellung von Matrixcodes, was durch Einzeldruckaufträge, Steuerdateien oder einen Batchgenerator für Testfälle geschieht. Neben der Erzeugung reiner Matrixcodes werden vom System auch komplette Layouts gerendert und als Grafik oder PDF ausgegeben. Der Inhalt weiterer textueller Komponenten des Layouts wird ebenfalls anhand der Bildungsvorschriften des Baukastensystems gebildet.
Flexible Erweiterbarkeit schafft Zukunftssicherheit
Zur Einbettung in andere Systeme wurde eine Bibliothek erschaffen, welche den Bildungsprozess der Matrixcodes gemäß der im System definierten Inhaltsspezifikationen kapselt. Mit dieser Bibliothek konnten Testaufwand und Fehlerquote bei der Anbindung neuer Matrixcode erzeugender Umsysteme wesentlich reduziert werden.
Diese Erstellungskomponente sichert neben der spezifikationskonformen Codierung der Eingangsdaten zudem die Lesbarkeit der gedruckten Codes. Dies geschieht dadurch, dass für jede Druckerauflösung die optimale Modulweite, welche bei geringer Größe eine gute Lesbarkeit sichert, gewählt wird.
Ergebnisse
Mit dem System wurde eine zentrale Referenz für die verwendeten Matrixcodes geschaffen, die zudem die Interpretations- und Bildungsvorschriften per XML bereitstellt. Das System bietet die Möglichkeit, Matrixcodes zu lesen, die verwendete Codierung zu erkennen und gemäß der hinterlegten Bildungsvorschrift zu interpretieren.
Smartphone-App als Ersatz für teure Spezialhardware
Durch den Einsatz einer Smartphone-App zum Lesen von DataMatrix-Codes statt der dafür üblicherweise eingesetzten Spezial-Lesegeräte konnten folgende Effekte erreicht werden:
- Kostenersparnis durch Einsatz eines preiswerten Massenprodukts
- Bessere Überwachung von Produktionsprozessen
- Verbesserung der Servicequalität, da relevante Informationen
sofort vor Ort in der Prozesskette verfügbar sind - Verringerung von Ausfallzeiten
Aufgabenstellung
Ein Logistikkonzern benutzt für die Kennzeichnung der Transportgüter DataMatrix-Codes. Diese Codes werden für die Lenkung der Warenströme benutzt. Da auch Geschäftspartner diese Codes auf das Transportgut aufbringen dürfen und in zunehmendem Maße Probleme mit inhaltlich fehlerhaften oder falsch codierten Matrixcodes auftraten, musste ein Werkzeug zur Qualitätssicherung und Fehlerdiagnose für diese zur Leistungserbringung relevanten Merkmale geschaffen werden.
Projektverlauf
Barcode-Analyse über Symbian-Smartphones
Da die Mitarbeiter des Konzerns bereits über Symbian-Smartphones verfügten, wurde der Entschluss gefasst, diese Geräte für die Fehler- und Inhaltsanalyse der Barcodes zu nutzen. Zudem war es unbedingt erforderlich, auch beschädigte oder fehlerhaft codierte DataMatrix-Codes zu analysieren, um die Ursachen zu ergründen, warum diese Codes auf marktüblichen Scannern nicht lesbar sind.
Architekturentwicklung für rechenintensive Bildanalyse
Da die erweiterte Funktionalität zur Bildanalyse sehr rechenintensiv ist, wurde eine Architektur entwickelt, in der das mobile Gerät das Bild des Matrixcodes erfasst, die Bilddaten zur Interpretation an einen Webservice übergibt und die Ergebnisse der Bildanalyse an das mobile Gerät zurückgeliefert werden.
Ergebnisse
Die geschaffene Lösung bietet im Fehlerfall Diagnosen zu allen Phasen der Dekodierung des DataMatrix-Bildes (Schwellwertermittlung, Regionenfindung, Kantensuche, Bitmusterlesung und Red-Solomon-Dekodierung).
Darüber hinaus kann der Inhalt jedes erfolgreich gelesenen DataMatrix-Codes auf Protokollebene als Folge von ISO-16022-Operationen analysiert werden. Neben der Qualitätssicherung in Systemen, die DataMatrix-Codes erstellen, ist der Zugriff auf diese Protokollebene ein wichtiges Werkzeug bei der Eingrenzung von Leseproblemen.
Über die Ausgabe des Codeinhaltes in ASCII- oder Hexcodefolge hinaus hat das Analyseprogramm Zugriff auf die Metadaten zum Inhalt der verwendeten Matrixcodes. Dadurch kann der Code in die einzelnen Felder zerlegt und entsprechend des Datentyps für die tabellarische Darstellung aufbereitet werden.
Zahlenfolgen, die Referenzen auf Informationen in anderen Systemen darstellen, werden in der finalen Aufbereitungsstufe dazu benutzt, um referenzierte Kunden-, Produkt- und Vertragsinformationen zusätzlich auf dem mobilen Gerät anzuzeigen.
Auslastungsoptimierung durch besseres Preismanagement
Durch eine Vereinheitlichung der zuvor vielfältigen und nicht zueinander passfähigen Preis- und Produktinformationssysteme eines internationalen Logistikunternehmens konnten folgende Effekte erreicht werden:
- Vereinheitlichung der Produktbasis im Konzern
- Einfachere Preisermittlung
- Mehr Preistransparenz für den Kunden
- Optionale Bereitstellung besonderer Preiskonditionen,
wie z. B. von Staffelpreisen - Auslastungsoptimierung durch besseres Preismanagement
- Aufwandsminimierung, da manuelle Abstimmungen entfallen
Aufgabenstellung
Ein internationales Logistikunternehmen setzte für unterschiedliche Sparten individuelle Preis- und Produktinformationssysteme ein. Die Geschäftsobjekte und die Methoden der Preisfindung waren in den einzelnen Sparten sehr unterschiedlich ausgeprägt. Die Zuständigkeiten und Kompetenzen für einzelne Produkte sind innerhalb des Konzerns weit gestreut.
Dieser Zustand sollte durch Einführung eines einheitlichen Produktinformationssystems verbessert werden. Das neue System musste sämtliche Produktinformationen zusammenfassen und so die zentrale Informations-, Überwachungs- und Beauskunftungsplattform für Produkte des Konzerns werden.
Projektverlauf
Während der Vorbereitung des Projektes wurde festgestellt, dass eine hinreichend genaue Projektplanung und Aufwandsabschätzung mit den vorhandenen Informationen zu den Daten und Prozessen innerhalb der Altsysteme unmöglich war.
Prozess- und Datenanalyse für mehr Klarheit bei Zielvorgaben
Daraufhin führte die ITZ Rostock GmbH eine Prozess- und Datenanalyse durch. Die Modellierung konnte trotz weit gestreuter Kompetenzen auf Kundenseite dank unserer Erfahrungen im Produkt- und Logistikbereich sehr zeitnah fertig gestellt werden. Für die Altsysteme und das Neusystem wurden Fachklassenmodelle erstellt. Die angestrebten unternehmenseinheitlichen Prozesse zur Produktverwaltung wurden als Anwendungsfall-Diagramm aufbereitet.
Die Analyseergebnisse ermöglichten es allen zuständigen Parteien des Kunden, die Anforderungen an das Neusystem zu präzisieren und zu bestätigen.
Mitgestaltung im Systemkonzept: Frühzeitige Einbindung der Anwender
In der anschließenden Entwurfsphase wurden zeitgleich die Softwarearchitektur nach ARC42, das IT-Konzept und ein Klick-Dummy realisiert. Der Klick-Dummy half IT-fernen Projektbeteiligten dabei, sich die angestrebte Umsetzung zu erschließen und sich in die Ausgestaltung der Umsetzung einzubringen. Die Zwischenstände der erstellten Dokumente wurden dem Kunden regelmäßig präsentiert, um ihm so gute Mitgestaltungs- und Kontrollmöglichkeiten zu bieten.
ETL-Komponente sorgt für flexible Datenextraktion aus heterogenen Systemkomponenten
Das Neusystem sollte über eine flexible ETL-Komponente verfügen, um Anpassungen an bestehende Schnittstellen und die Einbindung neuer Informationsquellen ohne Änderungen an der Programmierung des Systems zu ermöglichen. Dafür wurde ein frei parametrierbarer Extraktor geschaffen, der Webservice-Informationsquellen unterstützt. Außerdem fand eine frei parametrierbare Anbindung dieses Extraktors an die SOA des Kunden statt.
Die der Extraktion nachgelagerte Transformation der Quelldaten wurde ebenfalls frei parametrierbar gestaltet. Die Parametrierung von Extraktions-, Transformations- und Ladeprozess erfolgt über eine Browserapplikation.
Sämtliche Prozesse des Ladesystems laufen in der geschaffenen Lösung autark, bei Unregelmäßigkeiten werden die zuständigen Akteure per Mail benachrichtigt. Ladeoperationen können zyklisch oder vom Quellsystem getriggert ausgeführt werden. Nutzer des Systems werden auf Wunsch per Mail oder Webservice über Änderungen an den für sie sichtbaren Produkten informiert.
Browserbasierte Anwenderschnittstelle ermöglicht Zugang auch für Mandanten des Kunden
Für die Inspektion und Modifikation des Datenbestandes wie auch für die fachliche und technische Administration wurde eine Webanwendung mittels JavaServer Faces realisiert. Die Produktdaten selbst werden in einer Oracle-11-Datenbank vorgehalten.
Über einen HTTPS- und USERNAME-tokengesicherten Webservice können Mandanten des Logistikunternehmens auf ihre mandantenspezifischen Produkt- und Preisinformationen zugreifen. Als Ausführungsumgebung für Webservice und -anwendung wurde ein JBoss Enterprise Server gewählt, da sich dieser optimal in die IT-Landschaft des Kunden eingliedern ließ.
Minimierung des Pflegeaufwandes durch umfassende Dokumentation und Service-Tool
Um den Aufwand für Logistikkunden, welche den Beauskunftungs-Webservice an ihre IT anbinden möchten, zu minimieren, wurden neben der Servicebeschreibung ein Entwickler-How-To und ein übersichtlicher Serviceclient entwickelt, dessen Programmquellen den Servicenehmern übergeben werden.
Ergebnisse
Das Projekt wurde einschließlich fachlicher und betrieblicher Abnahme, Paketierung und Aktivierung sämtlicher Schnittstellen und Aufnahme des Produktivbetriebes innerhalb von sechs Monaten termin- und budgetgerecht realisiert.
Technologiewechsel ermöglicht höhere Marktdurchdringung
Durch den Wechsel zu einer leistungsfähigeren Systemlösung konnten folgende Effekte erreicht werden:
- Ausweitung der Kundenbasis auf das Hundertfache
- Verbesserung der Servicequalität gegenüber den Kunden
- Steigerung der internen Effizienz
- Verbesserung der Daten- und Transaktionssicherheit
Aufgabenstellung
Ein bundesweit agierendes Unternehmen überlässt seinen Kunden Geräte zur Nutzung. Die Informationen über Nutzungsverträge, Kundendaten und darüber, welcher Kunde welches Gerät wie intensiv nutzt, wurden in einer MS-Access-Datenbanklösung verwaltet.
Infolge eines rasant wachsenden Kundenstammes, verbunden mit einer immer größeren Nachfrage nach Geräten, stieß die beim Kunden vorhandene MS-Access-Anwendung an ihre Leistungsgrenzen. Zudem genügte sie nicht mehr den Anforderungen nach sicheren Transaktionen, bundesweitem Datenbankzugriff, Authentifizierung, Protokollierung und Reporting.
Projektverlauf
Geschäftsprozessanalyse sorgt für optimiertes Datenmodell
Um eine auch auf lange Sicht beständige und skalierbare Lösung zu schaffen, wurde die Datenhaltung auf ein Oracle-Datenbanksystem migriert. Mittels Power Designer wurde das Datenbankmodell so überarbeitet, dass es der zweiten Normalform genügte.
Neben dem Reverse Engineering der Access-Lösung floss das Ergebnis einer Geschäftsprozessanalyse in die Datenmodellierung ein, denn nur, wenn sich das Datenmodell im Einklang mit der Unternehmenswirklichkeit befindet, können Geschäftsprozesse dort reibungslos abgebildet werden.
Hohe Verfügbarkeit durch spezielle Monitoring-Anwendung
Für den Abgleich des Datenbestandes mit diversen Umsystemen wurden Massendatenschnittstellen geschaffen, welche einen automatischen Datenabgleich durchführen.
Zur Überwachung der Schnittstellenaktivitäten entstand eine Monitoring-Anwendung, welche die Nachverfolgung jedes einzelnen Schnittstellenvorganges ermöglicht und im Störungsfall eine schnelle Fehlerdiagnose gewährleistet. Der Schnittstellenbetrieb wurde dahingehend optimiert, dass alle ressourcenintensiven Lade- und Verdichtungsprozesse außerhalb der Produktiv- und Wartungsfenster stattfinden.
Anwender erhalten intuitive Benutzeroberfläche
Zur Datenabfrage und -erfassung wurde eine Windows-GUI geschaffen. Besonderes Augenmerk wurde auf intuitive Bedienbarkeit und Schutz vor Bedienfehlern gelegt, da ein Teil des Anwenderkreises häufigen Personalwechseln unterliegt.
Ergebnisse
Mit der von der ITZ Rostock GmbH aus Datenbanksystem, Schnittstellensystem und Bedienoberfläche geschaffenen Lösung konnte unser Kunde seinen Gerätebestand in den folgenden Jahren um einen Faktor größer als 100 steigern.
Die dabei notwendigen Wartungsarbeiten beschränkten sich auf die Anpassung an veränderte Geschäftsprozesse und supportbedingte Versionswechsel des Datenbanksystems. Dem System werden mittlerweile täglich mehrere Millionen Datensätze mit Nutzungsinformationen zu den überlassenen Geräten hinzugefügt.
Die Verfügbarkeit der Anwendung ist eine der besten in der gesamten Systemlandschaft des Kunden, obwohl keine spezielle Hochverfügbarkeitshardware eingesetzt wurde. Dies dürfte unter anderem an dem von der ITZ Rostock GmbH verfolgten Prinzip des „Simple Designs“ liegen.
Dieses Prinzip aus dem „Extreme Programming“ (XP) hat zum Ziel, die Systemarchitektur (bei Erfüllung aller Kundenanforderungen) so einfach wie möglich zu gestalten. Projektleitung und Teile der Umsetzung lagen in der Hand des Auftraggebers.
Datendrehscheibe erhöht Transparenz in Prozessabläufen
Durch das Zusammenführen von ca. 15 IT-Lösungen in einer Art zentraler Datendrehscheibe konnten folgende Effekte erreicht werden:
- Integration aller an der Leistungserbringung beteiligten IT-Systeme
- Erhöhung der Transparenz in systemübergreifenden Arbeitsabläufen
- Vermeidung von Umsatzeinbußen z. B. durch Leistungserschleichung
mit Hilfe systemübergreifenden Datenabgleichs - Konsequentere Einhaltung gesetzlicher Rahmenbedingungen
- Verringerte Wartungskosten
Aufgabenstellung
Im Zuge der Homogenisierung einer Systemlandschaft übernahm die ITZ Rostock GmbH die Migration einer Client-Server-Anwendung auf die J2EE-Plattform. Es handelte sich um eine sowohl operativ als auch strategisch genutzte Datenbankanwendung mit über einer Million Programmzeilen und mehreren Tausend Transaktionen je Sekunde
Projektverlauf
Migration ohne Beeinträchtigung des laufenden Betriebes
Es galt ein Verfahren zur Migration zu finden, bei dem eine Beeinträchtigung des laufenden Betriebes ausgeschlossen ist. Ein Fallback zur bestehenden Client-Server-Lösung sollte jederzeit möglich sein.
Reimplementierung vertrauter Benutzeroberflächen spart Schulungskosten
Die Bedienfunktionalität wurde exakt jener der bestehenden VisualBasic Client-Server-Anwendung nachempfunden, wodurch die Schulung eines tausende Anwender umfassenden Nutzerkreises vermieden werden konnte. Für die Benutzeroberfläche (GUI) wurde eine Rich-Variante in Form einer Java-Webstart-Anwendung gewählt, um der Forderung nach Erhalt des Charakters der Bedienoberfläche gerecht zu werden.
Einbindung in unternehmensweite IT-Infrastruktur
Da zudem die Anbindung an die unternehmensweite SOA angestrebt wurde, entwarf die ITZ Rostock GmbH die Softwarearchitektur als Java-3-Schicht-Anwendung auf einer BEA-Weblogic-Plattform. Im Rahmen eines Proof-of-Concept wurde ein Teilbereich der Anwendung auf die neue Architektur migriert.
Serverseitig wurde die Implementierung in Geschäftslogik- und Datenbankzugriffsschicht unterteilt. Die Datenbankschicht wurde so ausgelegt, dass ein reibungsloser, produktiver Parallelbetrieb zwischen Client-Server-Altsystem und neuer 3-Schicht-Anwendung möglich wurde.
Ergebnisse
An der bereitgestellten, lauffähigen Machbarkeitsstudie konnten gemeinsam mit dem Kunden die Leistungsfähigkeit der vorgeschlagenen Architektur überprüft und die weitere Migration geplant werden. Das Gesamtsystem wurde nun in mehrere Migrationspakete aufgeteilt. Jedes Migrationspaket stellte aus Sicht der Systemarchitektur wie auch der Geschäftsprozesse eine Einheit dar.
Je Paket wurde das entwickelte Migrationsvorgehen umgesetzt. Bei der parallelen Entwicklung von Benutzeroberfläche (GUI) und Mittelschicht hatte der Kunde kontinuierlichen Zugriff auf ein Testsystem, das den jeweils aktuellen Entwicklungsstand widerspiegelte. Qualitätssicherung und Integrationstests konnten so begleitend zur Entwicklung durchgeführt werden.
So wurde das Gesamtsystem schrittweise auf die neue Architektur migriert. Der Parallelbetrieb von Alt- und Neusystem mit einer gemeinsamen Datenbank funktionierte reibungslos.
Postmatrix-Generierung
Postmatrix-Generierung
Eines unserer Spezialgebiete ist das qualitätsgesicherte Erstellen von Datamatrixcodes für maschinenlesbare Frankiervermerke der Deutschen Post AG.
Sowohl die normgerechte Generierung der Codes gemäß DIN 16022 als auch die frankierartspezifische Codierung der Dateninhalte haben wir mehrfach in Softwareprodukten implementiert.
Für Nutzer der Frankierart RESPONSEPLUS ANTWORT stellen wir diese Funktionalität als JAVA-Bibliothek zur Integration in Ihre eigene Anwendung bereit. (Lizenzgebühr 149 € zzgl. MwSt)
Die Entwicklerdokumentation liefert Ihnen die erforderlichen Informationen, wie Sie die Bibliothek in Ihre Anwendung einbinden.
Gerne unterstützen wir Sie auch bei der Implementierung von Softwarelösungen zur Erstellung von RESPONSEPLUS Antwort Sendungen in Ihren Projekten.