Abstraktionen in der Entwicklung von Standardsoftware am Beispiel einer EnergieeffizienzLösung André von Falkenburg ITC Internet-Trade-Center AG Ostra-Allee 9 D-01067 Dresden E-Mail: [email protected] Web: www.itc-ag.com Tel.: +49 (0) 351 320 17 600 Agenda In der Softwareentwicklung steht man immer wieder vor der Entscheidung entweder eine Standardsoftware zu realisieren oder ein Dienstleistungsgeschäft mit Individualentwicklungen aufzubauen. Da für beide Varianten sowohl entscheidende Vorund Nachteile existieren, kann jedoch auch ein Mittelweg gewählt werden. Die Vorlesung soll gezielt Möglichkeiten aufzeigen, wie solch ein Mittelweg aussehen kann. Um die Lösungswege zu veranschaulichen wird auf eine existierende Lösung aus dem Bereich Energieeffizienz zurück gegriffen. Agenda Kurzportrait ITC Energiemanagement Entwicklungsansatz Agenda Kurzportrait ITC Energiemanagement Entwicklungsansatz ITC AG | Kurzportrait Gründung: 1997 Unternehmenssitz: Dresden Mitarbeiter: 50 MA Kernkompetenz: Portal-Software Branchenfokus: EVU, Energiedienstl., GHD-Sektor ITC PowerCommerce® Die Standardsoftware-Suite modulares Portalbaukasten-System Plattform für individuelle Portallösungen Standard-Adapter für führende IT-Systeme Professionelle Portallösungen für … + + + … Customer Care Online-Service-Portale Prozess-Automatisierung Kundengewinnung Kundenbetreuung … Smart Metering Visualisierung & Analyse Strom, Wärme, Gas usw. Erzeugung & Verbrauch Energiemanagement Prozesse + Preis- & Tarifvergleich + Anmelden & Vertrag abschließen + Zählerstand melden + Abschlag ändern + uvm. … Gebäudeautomation Heimvernetzung & GA HLK, Licht, Sicherheit Energieeffiziente Funktionen hardware-/systemneutral Beratung | Konzeption | Entwicklung | Implementierung | Support Professionelle Portallösungen für … + + … Customer Care Online-Service-Portale Prozess-Automatisierung Kundengewinnung Kundenbetreuung Highlights … Smart Metering + Reporting Visualisierung & Analyse Strom, Wärme, Gas usw. Erzeugung & Verbrauch Energiemanagement + Kennzahlen + … Gebäudeautomation + Aggregation + Benchmarking + Alarmierung + Echtzeitdaten + uvm. Heimvernetzung & GA HLK, Licht, Sicherheit Energieeffiziente Funktionen hardware-/systemneutral Beratung | Konzeption | Entwicklung | Implementierung | Support Professionelle Portallösungen für … Visualisierung & Analyse Strom, Wärme, Gas usw. Erzeugung & Verbrauch Energiemanagement + … Gebäudeautomation TCP/IP Funk … Smart Metering Funk + Online-Service-Portale Prozess-Automatisierung Kundengewinnung Kundenbetreuung Powerline TCP/IP + Hersteller, Systeme: … Customer Care Heimvernetzung & GA HLK, Licht, Sicherheit Energieeffiziente Funktionen hardware-/systemneutral Beratung | Konzeption | Entwicklung | Implementierung | Support Agenda Kurzportrait ITC Energiemanagement Entwicklungsansatz Energiemanagement im Industrie- & Gebäudesektor ? Gesamtenergieverbrauch ? ? ? Einsparpotenziale ? Effizienz Anteile eingesetzter Energieträger Hauptverbraucher Energiemanagement im Industrie- & Gebäudesektor ITC PowerCommerce EnMS Portalsoftware für professionelles Energiemonitoring & -management Bereitstellung als SaaS-Lösung: niedrige Systemkosten und geringer Einrichtungsaufwand standortübergreifende Speicherung, Auswertung und Überwachung von Energiedaten Einsatz in Industrie, Gewerbe, Handel und in Kommunen diverse Importmöglichkeiten von energierelevanten Daten Alles aus einer Hand: Installation + Fernauslesung + Portal Hinweis Gemäß den Anforderungen der ISO 50001 ITC PowerCommerce EnMS: Funktionen Import CSV-Upload Webservice Schnittstellen zu führenden IT-Systemen Manuelle Eingabe von Zählerständen Dienstleister Visualisierung Historische Verbrauchsdaten als Linien- o. Säulendiagramm Vergleichsfunktion Vergleich mit anderen Zählern, Vorperioden o. Ø-Werten Kennzahlen Transparenz in Verbrauch und Energieperformance Konfiguration, Berechnung und Darstellung von Kennzahlen Alarmierung automat. Benachrichtigung bei Extremwerten Budgetierung Verwaltung von geplanten Verbrauchswerten ISO 50001-Assistent Anleitung („Schritt für Schritt“) mit Dokumentationsvorlagen Smart Metering: Inhouse-Portale E.ON Thüringer Energie AG Home │ EnergieCockpit ↓ Smart Meter ↓ LAN Momentanleistung ← ITC PowerCommerce® Embedded Software Verbrauchshistorie → Smart Metering: Inhouse-Portale swb AG Historie ↓ USB-Stick ↓ Tarifzonen ↓ ITC PowerCommerce® Portable Software Einspeiser: Online-Portale Photovoltaik Einspeiser: Online-Portale Kraft-Wärme-Kopplung Smart Metering: Messdaten im Kundenportal Variante 1: Klassische ZFA Inhouse Cloud TCP/IP GSM/GPRS UMTS ISDN Powerline ZFA EDM Kundenportal Historisch Smart Metering: Messdaten im Kundenportal Variante 2: Klassische ZFA + Livedaten Inhouse Cloud TCP/IP GSM/GPRS UMTS ISDN Powerline ZFA EDM Kundenportal Historisch Livedaten Smart Metering: Messdaten im Kundenportal Variante 3: Lokale Datenhaltung + lokaler Zugriff Inhouse Cloud TCP/IP GSM/GPRS UMTS ISDN Powerline ZFA Historische Werte + Livedaten EDM Kundenportal Smart Metering: Messdaten im Kundenportal Variante 4: Lokale Datenhaltung + lokaler Zugriff + embedded Software Inhouse Cloud TCP/IP GSM/GPRS UMTS ISDN Powerline ZFA Historische Werte + Livedaten Embedded Software Für lokalen Zugriff auf Messdaten durch Kunden; Verbindung mit OnlineKundenportal möglich EDM Kundenportal Smart Metering: Messdaten im Kundenportal Variante 5: Fileupload durch Anwender & Onlineauswertung Inhouse Cloud Ferrariszähler ZFA (incl. microSD-Datenlogger) Fileupload in das Kundenportal durch den Kunden/Anwender (SSL) Historisch Werte EDM Kundenportal Einzelraumregelung | Heizungssteuerung → Definition Einzelraumregelung (ERR) Einzelraumregelung heißt … … die richtige Temperatur, … am richtigen Ort, … zur richtigen Zeit! Anwendung: Räume mit unterschiedlichen Nutzungszeiten (Wohneinheiten in MFH, EFH, Schulen, Bürogebäude, Hotels, Gaststätten) Einzelraumregelung | Heizungssteuerung → Systemkomponenten Portal-Software LAN-Gateway Wand-Thermostat Tür-/Fensterkontakt Thermostat Eco-Taster Zwischenstecker App Online-Shop Starter-Set Portal-Lösungen rund um den Verbrauch Post App´s DMS Print PC/MAC TV (W)LAN Powerline E-Mail ERP EDM Rechenzentrum Internet Gateways / Logger Zähler Smart-Displays Smart-Phones USB-Stick Nutzer Inhouse Abnahmestelle Agenda Kurzportrait ITC Energiemanagement Entwicklungsansatz Bestandteile Kunde n Kunde 2 Kunde 1 Ansicht Prozesse Schnittstellen Ansicht 1 Prozess 1 Schnittstelle 1 Ansicht 2 Prozess 2 Schnittstelle 2 … … … Ansicht n Prozess n Schnittstelle n Datenmodell Analyse - Ansichten Ansicht Ansicht 1 Templates CSS Funktionen (JS, …) Clientvalidierung Technologie (Browser, App, ..) Ressourcen (Img, Schriftarten, Dokumente, …) Analyse - Prozesse Prozesse Prozess 1 Funktionen Module Ablauf Datenimport Datenexport Analyse - Schnittstellen Schnittstellen Schnittstelle 1 Funktionen Module Caching Datenimport Technische Integration (WS, RMI, native, …) Datenexport Analyse - Datenmodell Datenmodell Tabellen Views Funktionen (Functions, Procedures) Zugriff (OR-Mapping, JDBC, …) Datenhaltung (relational, in Memory, …) Beispielprozess Verbrauchsüberwachung Grobbeschreibung Konfiguration einer absoluten Verbrauchsobergrenze oder Einer relativen Abweichung auf Grundlage des aktuellen Durchschnitts Bei Übertritt eines Kriteriums -> Alarmierung Voraussetzung Adhoc – Zugriff auf Zähler von Verbrauchswerten Aufzeichnung historischer Verbrauchswerte Interface zur Alarmierung 2 Kunden Kunde Blau AG Kunde Rot GmbH Analyse – Ansichten Kunde Blau AG Ansicht Verbrauchsüberwachung Templates CSS Funktionen Datenerfassung, Zusammenfassung, Quittierung, Auswertung Adaption Homepage Blau AG Dynamische Anzeige aktueller Verbrauch + Durchschnitt sverbrauch Technologie Browser Clientvalidierung Syntaktische adhoc Validierung der Eingaben Ressourcen Integration FAQs, Layoutbilder Analyse - Prozesse Kunde Blau AG Prozesse Verbrauchsüberwachung Funktionen Module Ablauf Datenimport Datenexport Anlegen, Bearbeiten, Auswerten / Benachrichti gen Speichern, / Auslesen der Konfiguratio n Diagramm MDM SMS, E-Mail Prozesse – Erfassen / Bearbeiten Kunde Blau AG Prozesse – Auswerten / Benachrichtigen Kunde Blau AG Analyse - Schnittstellen Kunde Blau AG Schnittstellen SMS - Gateway E-Mail MDM Funktionen Module Caching Datenimport Datenexport Auslesen Einzelwert, Auslesen Intervall keine nein Synchron, pull nein Technische Integration RESTful WS Analyse - Schnittstellen Kunde Blau AG Schnittstellen SMS - Gateway MDM E-Mail Funktionen Module Caching Datenimport Datenexport Versand keine nein nein Synchron, push Technische Integration SMTP Analyse - Schnittstellen Kunde Blau AG Schnittstellen E-Mail MDM SMS - Gateway Funktionen Module Caching Datenimport Datenexport Versand keine nein nein Asynchron, push Technische Integration RESTful WS Analyse - Datenmodell Kunde Blau AG Datenmodell Tabellen Views Überwachun g nein Funktionen (Functions, Procedures) Ermittlung Durchschnitt sverbrauch Zugriff Hibernate -> JDBC Datenhaltung Oracle Analyse – Ansichten Kunde Rot GmbH Ansicht Verbrauchsüberwachung Templates CSS Funktionen Datenerfassung, Zusammenfassung, Quittierung, Auswertung Full Responsive keine Clientvalidierung Syntaktische adhoc Validierung der Eingaben Technologie Browser Ressourcen Integration, Layoutbilder Analyse - Prozesse Kunde Rot GmbH Prozesse Verbrauchsüberwachung Funktionen Module Ablauf Datenimport Datenexport Anlegen, Bearbeiten, Löschen, Auswerten / Benachrichti gen Speichern, / Auslesen der Konfiguratio n Diagramm SmartMeter SMS, WhatsApp Prozesse – Erfassen / Bearbeiten Kunde Rot GmbH Prozesse – Auswerten / Benachrichtigen Kunde Rot GmbH Prozesse – Löschen Kunde Rot GmbH Analyse - Schnittstellen Kunde Rot GmbH Schnittstellen SMS - Gateway WhatsApp SmartMeter Funktionen Module Caching Datenimport Datenexport Auslesen Einzelwert keine nein Asynchron, push nein Technische Integration XMPP Analyse - Schnittstellen Kunde Rot GmbH Schnittstellen SMS - Gateway SmartMeter WhatsApp Funktionen Module Caching Datenimport Datenexport Versand keine nein nein Synchron, push Technische Integration HTTPS POST Analyse - Schnittstellen Kunde Rot GmbH Schnittstellen WhatsApp SmartMeter SMS - Gateway Funktionen Module Caching Datenimport Datenexport Versand keine nein nein Asynchron, push Technische Integration RESTful WS Analyse - Datenmodell Kunde Rot GmbH Datenmodell Tabellen Views Überwachun g nein Funktionen (Functions, Procedures) Ermittlung Durchschnitt sverbrauch Zugriff Hibernate -> JDBC Datenhaltung MS SQL Server Vergleich – Ansichten Ansicht Verbrauchsüberwachung Templates CSS Funktionen Datenerfassung, Zusammenfassung, Quittierung, Auswertung Adaption Homepage Blau AG Dynamische Anzeige aktueller Verbrauch + Durchschnitt sverbrauch Full Responsive Clientvalidierung Syntaktische adhoc Validierung der Eingaben Ressourcen Integration Layoutbilder, FAQs Technologie Browser Allg. Templates Indiv. CSS Indiv. Funktion Allg. Validierung Allg. Ressoucen konfigurativ Vergleich - Prozesse Prozesse Verbrauchsüberwachung Funktionen Module Ablauf Datenimport Datenexport Anlegen, Bearbeiten, Auswerten / Benachrichti gen, Löschen Speichern, / Auslesen der Konfiguratio n Diagramm Diagramm MDM SmartMeter SMS, E-Mail WhatsApp Technologie Browser Allg. Funktionen mit indiv. Bestandteilen Allg. Module Indiv. Import Allg. und Indiv. Export Prozesse – Erfassen / Bearbeiten Optionales Plugin Prozesse – Auswerten / Benachrichtigen Indiv. Funktion Verbrauchsermittlung Allg. Funktion Prüfen und Benachrichtigen Vergleich - Schnittstellen Schnittstellen Export SMS – Gateway (RESTful, Pull) WhatsApp (HTTPS POST, push) E-Mail (SMTP, Pull) Import Allg. Technologie Allg. Funktion MDM (RESTful, pull) SmartMeter (XMPP, push) Vergleich - Datenmodell Datenmodell Tabellen Views Überwachun g nein Funktionen (Functions, Procedures) Ermittlung Durchschnitt sverbrauch Zugriff Hibernate -> JDBC Datenhaltung Oracle 12, MS SQL Server Allg. Datenmodel Umsetzung - Ansicht Templategerüst ist gleich Abweichungen im Style, Ressourcen und Funktionen -> Individualentwicklung: + schnelles Umsetzen des ersten Kunden und per C&P mit Erweiterung auch von Kunde 2 - Doppelte Pflege der Templates -> Allgemeine Entwicklung: + Hoher Wiederverwendungsgrad, schnelle Erweiterung um neue Anforderungen - etwas höherer Implementierungsaufwand durch Konfiguration -> Allgemeine Entwicklung ist mit relativ wenig Mehraufwand möglich. Umsetzung - Prozesse Teilw. Individuelle Prozesse Gemeinsame Teilprozesse sind vorhanden Import / Export sind abweichend -> Individualentwicklung: + wenig Komplexität in der Implementierung - Doppelte Pflege der Prozesse, keine Wiederverwendbarkeit von Modulen, doppelter Testaufwand -> Allgemeine Entwicklung: + Hoher Wiederverwendungsgrad, schnelle Erweiterung um neue Anforderungen, allg. Tests und Delta-Tests - mehr Komplexität durch Konfiguration -> Teilw. Allgemeinimplementierung bei gemeinsamen Prozessen (Anlegen, Bearbeiten, Auswerten, Benachrichtigen), -> Individualentwicklung für eigene Prozesse (Löschen) -> Einführung Konfiguration Umsetzung - Schnittstellen Individuelle Schnittstelle Teilw. Gemeinsame Technologien (RESTful WS) Teilw. Gemeinsame Funktion (Datenexport) -> Individualentwicklung: + wenig Komplexität in der Implementierung, schnelle Fertigstellung - mehrfaches Anbinden gleicher Technologien, mehrfaches Umsetzung des faktisch gleichen Interfaces -> Allgemeine Entwicklung: + Hoher Wiederverwendungsgrad bei technologischer Ausprägung und Interfaces, Unabhängigkeit von Schnittstellen - sehr hohe Komplexität bei vollst. Allg. Entwicklung, Erweiterungen sind schwer abzuschätzen -> Allg. Entwicklung eines Interfaces für gemeinsame Funktionen (Datenexport) -> Alg. Entwicklung von Technologieframework (RESTful) -> Individuelle Entwicklung von Schnittstellen als unterstes Layer Umsetzung - Datenmodel Gemeinsame Tabellen, Funktionen Relationale DB Indiv. DB – Produkt -> Individualentwicklung: + - mehrfaches Anbinden gleicher Technologien, mehrfaches Umsetzung des faktisch gleichen Interfaces -> Allgemeine Entwicklung: + Sehr hoher Wiederverwendungsgrad bei technologischer Anbindung -> Allg. Entwicklung über OR-Mapping Zielarchitektur Ansicht Ansicht 1 Ansicht 2 … Ansicht n Prozesse C S S , R e s s o u r c e n Schnittstellen Prozess 1 Prozess 2 … K o n f i g u r a t i o n Prozess n Datenmodell A l l g . I n t e r f a c e F u n k t i o n T e c h n o l . Schnittstelle 1 Schnittstelle 2 … Schnittstelle n Vielen Dank für Ihre Aufmerksamkeit. ITC Internet-Trade-Center AG Ostra-Allee 9 D-01067 Dresden Tel. Fax eMail Web +49 (0) 351 / 320 17 600 +49 (0) 351 / 320 17 699 [email protected] http://www.itc-ag.com