Projektskizze: Kundenportale Vortragender: Matthias Bläsing
Ziele Informationsbereitstellung: Ansprechpartner Auftrags-/Mitarbeiterinformationen Zeitnachweise Dateiaustausch Auftragshandling Kundenselbstauskunft Flexibilität (Berechtigungen, Funktionen, Daten) Skalierbarkeit Punkte 1-4: Ablösung Altsysteme Lektionen aus der Vergangenheit Erweiterung der Datenbasis Verbesserung der Aktualität Verzeichnisstrukturen Spezialwünsche Individual Lösungen für Kunden Langzeit Entwicklung nicht absehbar
Konzept/Realisierung Architektur - Übersicht Mehrschicht Architektur Abstraktion der internen Komplexität (Fassade) Vereinheitlichung der Schnittstellen zentrale Ablage der Portal Logik Datenhaltung im Kernnetz: vereinfachte Backup-Konzepte Vereinfachte Administration
Konzept/Realisierung Architektur - Software Datenbank: IBM Informix Backend: Glassfish/Payara (JavaEE Application Server) Frontend: Realisierung als Single Page Application-Hybrid HTML 5 fähiger Browser als Basis Zielstellung: funktional und attraktiv Informix als relationale Datenbank mit hoher Performance und Standard-DB JDBC als Beispiel bietet fast universelle DB Schnittstellen Zielstellung hier: möglichst gute Integration Webservices, DCOM und ähnliches ist realisierbar JavaEE wurde als Kern für Unternehmensanwendungen entschieden Frontend sollte ursprünglich getrennt entwickelt werden PHP/JS/HTML Know-How im Unternehmen stärker vorhanden als Java Know-How
Konzept/Realisierung Architektur - Software Modularer Aufbau Innerhalb der beiden Schichten logische Trennung in Packages/Namespaces „Core“-Modul stellt Dienste für alle anderen Module bereit: Authentifizierung Portalorganisation Kundenzuordnung Benutzergruppenverwaltung zusätzliche Module i.A. nur abhängig von „Core“-Modul Aktuelle Entwicklungen bestätigen: neue Module ohne Detailkenntnisse der anderen Module entwickelbar
Konzept/Realisierung Architektur - Software Sicherheitsüberlegungen Integration in Active Directory Infrastruktur Zugriffe außerhalb des Kernnetzwerks ausschließlich verschlüsselt externer Server hat limitierte Vertrauensstellung Absicherung: Analyse + Pen-Test Datenbeschaffung Just-In-Time Einheitliches Bild für Kunden und Niederlassungen Reduktion Batchprozesse Automatische Sperre von ausgetretenen MA Automatische Berechtigungsvergabe an Hand von Niederlassungszuordnungen + Rollen Passwörter für Dritte werden gehashed abgelegt Sicherheitsarchitektur basiert auf Gruppen und nicht Individuen (Stamm MA und Kunden-MA wechseln!) Externer Server nutzt Token und erhält selektiven Zugriff Datenbeschaffung in der Vergangenheit Batch orientiert und nicht Just-In-Time: Fehler fallen nicht auf (fehlende Überwachung) Unnötige Exposition kritischer Daten (Datenschutz) Datenmengen nicht mehr handlebar
Umfang der Beteiligung Umfassend von Konzeptlegung mit Fachabteilung bis Realisierung Operative Realisierung in Zusammenarbeit mit Linux- und Netzwerkadministration technischer Betrieb Geschätzter Anteil: 90% (Technik) Dokumentation + Schulung durch Aus- und Weiterbildung Vertrieb
Eingesetze Technologien/Werkzeuge Datenbanken IBM Informix MSSQL MySQL LDAP/ActiveDirectory Java EE Server: Payara/Glassfish xhtmlrenderer Apache POI TwelveMonkeys ImageIO Webserver: Apache 2 Webserver PHP Java Script: jQuery jQuery UI PrimeUI jsTree DataTables vis.js
Eingesetze Technologien/Werkzeuge Build-Tools/Entwicklung: Apache Maven Netbeans IDE Apache Subversion AGS Serverstudio Microsoft Office Inkscape yEd-Graph Editor SoapUI GIMP OpenSSL/Portecle Mozilla Firefox / Google Chrome / Internet Explorer