Upline® - The Application Framework Ein generisches Information Management System © 2000 by Matrix-Computer 1 Gliederung Grundlagen Was ist das Application Framework Upline® ? Einsatzszenarien Welche Vorteile bringt mir Upline® ? Technik Die verschiedenen Module im Detail Hintergrund Vorteile der 3-Tier – Architektur von Upline® Beispiele Referenzen © 2000 by Matrix-Computer 2 Grundlagen Frei konfigurierbares Information Management System mit höchster Performance Arbeitet mit jeder ODBC – fähigen Datenbank Modulares Multi-Tier Application Framework als Basis eigenentwickelter Client/ServerAnwendungen Extraktion komplexer Informationen aus heterogenen EDV-Strukturen Einfache Darstellung umfangreicher Information © 2000 by Matrix-Computer 3 Was ist Upline® Schnell integrierbar in bestehende EDV durch flexible Konzeption und simple Installation Leicht erlernbar durch einfache Skriptsprache für zeitnahe Entwicklung unternehmensweiter Applikationen Zentrale Administration für alle Clients des Unternehmens Geringer Ressourcenverbrauch und höchste Performance durch nativen Code © 2000 by Matrix-Computer 4 Die Basis-Module Listgenerator Maskengenerator Tabellengenerator Chartgenerator Reportgenerator Hierarchiegenerator © 2000 by Matrix-Computer 5 Einsatzszenarien Sie haben bestehende Systeme zur Visualisierung Ihrer Datenbestände, sind aber an unflexible Programme und starre Strukturen gebunden. Ihre kleine Single-User-Datenbank ist über die Jahre gewachsen oder soll nun für den Multi-User-Betrieb angepasst werden. Bestehende alte Software soll um Listen, Reports oder eCommerce-Funktionalität erweitert werden; dies ist aber nicht realisierbar oder viel zu teuer. © 2000 by Matrix-Computer 6 Einsatzszenarien Sie wünschen sich eine Umstellung von Terminal/Mainframe-Struktur auf moderne Client/ServerUmgebung. Die Datenbank besteht und Ihnen fehlt eine benutzerfreundliche Oberfläche Außendienst soll unproblematisch per Modem (auch Handy-Modem) oder über Internet Bestände abrufen oder Bestellungen/Aufträge durchgeben können Provisionsberechnungen erfordern komplexe Verteilungsschlüssel, die Ihnen kein Standardprodukt anbietet. © 2000 by Matrix-Computer 7 Einsatzszenarien Standardprodukte erfüllen Ihre Vorstellungen nicht, Individuallösungen sind zu teuer Sie brauchen individualisierten Zugriff auf Echtzeit-Daten Ihre Anforderungen an die Auskunftsfähigkeit bedarf schneller Auswertungen ohne Batch-Jobs © 2000 by Matrix-Computer 8 Einsatzgebiete Controlling konzernweit Außendienstanbindung Logistik Provisionsabrechnung Auftragsabwicklung Prämienentlohnung Callcenter- und Hotline-Management Materialfluss Kundenverwaltung © 2000 by Matrix-Computer Garantieabwicklung 9 Implementationsstrategie MATRIX-Computer Upline®-Entwicklung Systemhäuser Integration Center MATRIX-Computer Integration Center Kunde Anwendung © 2000 by Matrix-Computer 10 Technik Client Upline Client Applikation Darstellung in intelligenten und aktiven Ansichten Benutzeroberfläche Eingabeüberprüfung Integration von Fremdprogrammen TCP/IP Upline Server Applikationslogik Schnittstellen externe Erweiterungen Zugriff auf RDBMS SQL Datenbank Trigger, Regeln, etc. Server Applikationslogik ODBC Gemeinsame Daten Kommunikation über 1 Socket Daten Externe Module und Programme Skripting mit „embedded Perl“ © 2000 by Matrix-Computer 11 Technische Details Modularer Aufbau Multi-TierKonzept Optionale Kryptographie Frei definierbare Bildschirme © 2000 by Matrix-Computer 12 Upline® - Kernmodule Generische Ansichten Generische Dialoge Frames Maskengenerator Listgenerator Einbettung von generischen Ansichten Tabellengenerator Chartgenerator HTML-Ansicht Benutzer- und Gruppenrechte Integrierte Menüs Reportgenerator Hierarchiegenerator Systemprozeduren © 2000 by Matrix-Computer 13 Listgenerator Definition Tabelle „Turnover“ beinhaltet alle monatlichen Umsätze Festlegung der Abfrage: „SELECT 0 as ID, 0 as TYPE, 3 as ICON, YEAR, MONTH, SUMNET FROM Turnover“ Festlegung der Spaltentypen: „3.7\10\Jahr@3\10\Monat @5.2\20\Gesamtbeträge@“ Eintrag in der Tabelle Lists unter der ID „STATINV“ © 2000 by Matrix-Computer Client Sortieren Kopieren Gruppieren Drucken Und mehr... 14 Chartgenerator Die gerade eben erstellte Liste soll als Barchart ausgegeben werden Die Ausgabe soll zusammen mit der Liste in einem Fenster erfolgen Eintrag in Tabelle „Views“: hsplit 50,50 width 3 moveable list "Rechnungslegung", "STATINV" end chart "Rechnungslegung", "STATINV" barchart axislabel "x", "Monat" axislabel "y", "Umsatz" end end © 2000 by Matrix-Computer 15 Tabellengenerator Die dynamischen Spreadsheets werden in der Datenbank hinterlegt. Einzelne Zellen und auch Zellenbereiche können mit verschiedenen SQLAbfragen gefüllt werden. © 2000 by Matrix-Computer 16 Generische Ansichten Frametechnik erlaubt freie Definition von Ansichten Kombination verschiedener Ansichtstypen in einer Ansicht Kaskadierbar © 2000 by Matrix-Computer vsplit 20 width 3 moveable functions tabstop title "Administration" underline separator itemgroup "TYPE“ "Hierarchy Generator", „ADM_HIER„ "List Generator", „ADM_LIST“ default "Table Generator", „ADM_TABLE„ "Generic Views",„ADM_VIEWS„ "Report Generator", „ADM_REP„ "Generic Dialogs", „ADM_DLG„ "Procedure Management",„ADM_PROC„ end end hsplit 50,50 width 3 moveable generic "{TYPE:RAWVALUE}" end html "http://www.upline.de" end end end 17 Generische Ansichten In der Funktionsansicht werden AuswahlAnsichts- und Prozedurfunktionen definiert. © 2000 by Matrix-Computer vsplit 20 width 3 moveable functions tabstop title "Administration" underline separator itemgroup "TYPE“ "Hierarchy", „ADM_HIER„ "List Generator", „ADM_LIST“ "Table Generator", „ADM_TABLE„ "Generic Views",„ADM_VIEWS„ "Report Generator", „ADM_REP„ "Generic Dialogs", „ADM_DLG„ "Procedures",„ADM_PROC“ end end hsplit 50,50 width 3 moveable generic "{TYPE:RAWVALUE}" end html "http://www.upline.de" end end end 18 Upline® - Reportgenerator Unterschiedliche Vorlagen je Sprache RTF-Vorlage(n) Feldabfrage 1:n Listenabfrage Variable Felder SQL-Query SQL-Query optionale 1:n Liste Typ- und Formatdefinition Typ- und Formatdefinition Trennung in Erstseite, mittlere Seiten und Endseite Unterstützung von „printf“ Formatierungen © 2000 by Matrix-Computer Report Generator Ausdruck Ausdruck interaktiv am Client-PC automatisch vom Server aus 19 Upline® - Reportgenerator Report Generator © 2000 by Matrix-Computer 20 Systemprozeduren Serverseitige Ausführung Embedded Perl Script embedded Perl Client Notifications Aufruf von externen Programmen und DLLFunktionen Integrierter e-Mail Versand via SMTP Net-Messages AS/400 RPGs Userlog Errorlog (auch per e-Mail) SQL-Queries © 2000 by Matrix-Computer 21 Generische Dialoge Modale Masken Dialog Definition Skript in der Datenbank Suchdialoge definiert Präsentationslogik Präsentationslogik definiert durch Skriptsprache Generische Ansichten integrierbar Dialog Generator Dialog Abfragen Feld Abfragen Systemprozeduren SQL-Queries in der Datenbank SQL-Queries in der Datenbank Prozeduren definieren Applikationslogik definieren Applikationslogik definieren Applikationslogik Daten © 2000 by Matrix-Computer 22 Generische Dialoge dialog "~[Order]",-1,-1,340,210,"","SACALCORDER" page "~[Vehicle definition]" group "~[Vehicle Info]",0,0,160,135 end droplist "~[FRID]",5,18,80,120 as "WPID" columns 20,90 notempty end droplist "~[MCCD]",5,43,150,120 as "ALLO" columns 70,150 uses "WPID" notempty end droplist "~[COCD]",5, 68,150,120 as "INOR" columns 70,150 uses "WPID","ALLO" notempty end droplist "~[UPCD]",5,93,150,120 as "UPCD" columns 70,150 uses "WPID","ALLO" notempty end edit "~[PROD]",5,118,70,11,8 as "PROD" end group "~[Order Info]",165,0,100,135 end edit "~[ORNR]",170,18,50,11 as "ID1" counter "ORDER ID" countermessage "New order created with number %s" end edit "~[REFN]",170,43,80,11,10 as "REFN" end group "~[Offer]",0,140,255,29 end checkbox "~[Offer]",80,155,30,10 as "OFFER" boolasvalue end dateedit "~[OFFR]",115,155,60,11 as "OFFR" enableby "OFFER" format "%04d%02d%02d" setempty end end ... Feldabfragen © 2000 by Matrix-Computer 23 Benutzerrechte Frei definierbare Rechte Rechte-Zuordnung zu Benutzern und Benutzergruppen Benutzerverwaltung unabhängig von OS Kontrollierte Rechtevergabe Serverseitige Validierung bzw. Freischaltung einzelner Funktionen (Listen, Prozeduren, etc.) © 2000 by Matrix-Computer 24 Upline® - Integration Ideal: Client-Server (nur 1 Socket, frei wählbar, ideal für Firewalls) Optional: Lokalbetrieb (kleine Installationen) Zentrale Administrierbarkeit: (Präsentations- und Applikationslogik in Datenbank hinterlegt) ODBC Typ 2 Perl 5.053 (CPAN-Distribution) Plattform: (Client: Windows 9x+, Server: Windows NT 4.0+) Unix-Portierung auf Linux und Solaris in Vorbereitung Verschlüsselung mit CryptoAPI Server-Monitor Scheduler © 2000 by Matrix-Computer 25 Hintergrund 2-Tier – Architektur bekannte 2-Schicht-Struktur der meisten Client/Server Applikationen, d. h. die Clients greifen über das LAN auf einen Datenbankserver zu. Client Server müssen alle zu verarbeitenden Daten an die Clients übertragen. Server verfügen hierbei nicht über eigene Methoden zur Aufbereitung der Daten. Leistungsfähiges LAN Beliebt, da viele RAD-Tools verfügbar (MSAccess, Visual Basic, Power-Builder, etc.) © 2000 by Matrix-Computer DatenServer 26 Nachteile der 2-Schicht-Lösung am Client Client muss die Verarbeitung und Darstellung der Information übernehmen große, monolithische und teuer zu wartende Applikationen („Fat Clients“). Entwickler brauchen detaillierte Kenntnisse über API der Fenstersysteme Viele zum Betrieb notwendige Programme und Treiber verursachen leicht Versionskonflikte hoher Administrationsaufwand. Zentrale Kontrolle meist schwierig Alle Daten müssen trotz SQL-Aufbereitung der Clients über das LAN transportiert werden erhöhte Netzlast oder teuere Netzwerktechnik. © 2000 by Matrix-Computer 27 Nachteile der 2-Schicht-Lösung am Client Transaktionsverhalten clientgesteuert, daher Problem verteilter „Updates“ – bei Programmerneuerungen müssen alle angeschlossenen Clients einzeln aktualisiert werden hoher Einsatz von Manpower Deutliche Sicherheitsprobleme (PCs gelten als „untrusted“ und einfach zu knacken – Authentisierung schwieriger als bei Servern) und dennoch Übertragung sensibler Daten für Betrieb notwendig. © 2000 by Matrix-Computer 28 Nachteile der 2-Schicht-Lösung am Server Server können nur Daten anbieten, nicht aber deren Verarbeitung vornehmen – „Stored Procedures“ beschränkt und nur proprietär vorhanden. Applikationslogik an einzelnen Anwendungen gebunden – daher ist deren Verwendbarkeit nur sehr eingeschränkt möglich bzw. muss jedes mal neu programmiert werden. Verteilungsproblem bei neuer Version – Anwender muss installieren – keine Erfolgsgarantie © 2000 by Matrix-Computer 29 Nachteile der 2-Schicht-Lösung am Server Globale Änderungen am Programmcode (bedingt durch gesetzliche, geschäftliche Änderungen etc.) ziehen Anpassungen am gesamten System nach sich – Qualitätssicherung vieler Programme in teils unterschiedlichen Umgebungen (Win95, Win98, NT4, Win2000 etc.) – drastischer Einfluss auf ChangeManagement Automatische Verteilung der monolithischen Applikationen (z.B. im Login-Skript) führen prinzipbedingt bis zu Überlastungen des LAN © 2000 by Matrix-Computer 30 3-Schicht-Architektur Verlagerung der Applikationslogik vom Client zum Server Klare Trennung von Präsentationslogik und Applikationslogik, daher starke Wiederverwendbarkeit Nähe von Business-Objekten zur Datenspeicherung auf physisch gleichen oder nahen Servern Übertragung nur des Resultats zum Client geringe Netzwerklast Realisierung des Datenschutzes auf trusted Servern viel einfacher und effektiver als bei Hunderten von Clients © 2000 by Matrix-Computer 31 3-Schicht-Architektur Komponenten der gesamten Software können zentral gewartet und aktualisiert werden – Change Management sehr einfach Dynamische Lastverteilung („Load Balancing“) möglich – Einsatz im eCommerce als Backend Wrapping möglich, daher langsame und transparente Migration umsetzbar Entkopplung von Client und Datenspeicherung Wechsel der Speicherungsstrategie Clientunabhängig © 2000 by Matrix-Computer 32 Die 3 Schichten von Upline ® Client Upline Client Applikation Präsentation der Daten Entgegennahme von Benutzer-Events Benutzeroberfläche Eingabeüberprüfung TCP/IP Applikations-Server Upline Server externe Erweiterungen Applikationslogik Schnittstellen ODBC SQL Datenbank Gemeinsame Daten Daten Applikationslogik Business - Objekte Schutz des Datenbestandes vor direktem Zugriff Datenbank-Server Trigger, Regeln, etc. RDBMS © 2000 by Matrix-Computer 33 Kritische Erfolgsfaktoren Technische Infrastruktur TCP/IP LAN und WAN Upline System-Schnittstellen Dauerhaft – sorgfältiger Entwurf und Dokumentation Entscheidend für die spätere Wartung Sicherheit Hoher Anspruch an verteiltes System „Secure Socket Layer“ SSL Physische Server-Plazierung Transaktionen Datenintegrität gewährleistet „2-Phase-Commit“ Verschachtelte Transaktionen © 2000 by Matrix-Computer 34 Effizienzgewinn - Upline ® Kein kurzfristig fokussierter, tool–basierter Ansatz mit langfristig fraglichem Ausgang Brainware mit definiertem Verhalten Architekturpapier als Standarddokument für alle Prozessbeteiligten reduzierter Wartungsaufwand führt mittel- und langfristig zu zusätzlichem Gewinn © 2000 by Matrix-Computer 35 Realisierung Definition Kompetenz Funktionalität Systemtechniker Performance ApplikationsEntwickler ChangeManagement Interoperabilität der Komponenten Management Operationelle Mitarbeiter Sicherheit © 2000 by Matrix-Computer 36 Beispiele Realisierte Anwendungen Automotive Sales Lottospielen mit System Call-Center Infosystem und FAQ © 2000 by Matrix-Computer 37 Bestellungsübersicht Übersicht über bestellte Fahrzeuge Detaillierte Liste der Ausstattung Information über Ablauf in der Produktion Übersicht über zugehörige Dokumente © 2000 by Matrix-Computer 38 Bestellungabwicklung Client Server Auswahl des Fahrzeugs und der Farbe Auswahl der Ausstattung und des Zubehörs aus fahrzeugspezifischer Liste Auswahl von Ausstattungspaketen Überprüfung der Bestellung Übertragung an Hersteller © 2000 by Matrix-Computer 39 Lottospielen mit System Verwaltung einer Tippgemeinschaft im Strukturvertrieb © 2000 by Matrix-Computer 40 Komplettverwaltung Ermittlung &Versand der Zahlenreihen Mitspielerverwaltung Lottoscheinerstellung Quotenverwaltung Gewinn-Benachrichtigung Provisionsabrechnung © 2000 by Matrix-Computer 41 Call-In Infosystem Erfassung von Kundenanfragen direkt in der telefonischen Auftragsannahme Umsatzoptimierung durch Feedback Hohe Informationstransparenz und schneller Zugriff für sofortige Beantwortung von Kundenfragen am Telefon zu ermöglichen ( weniger Rückrufe) Erfassung detaillierter Produktinfos Pflege eines „Frequent Asked Questions“ Systems Einbindung des Intranet des Auftraggebers © 2000 by Matrix-Computer 42 Call-In Infoseite FAQ und Produktinfos im Überblick Volltextsuche Internet- und Intranet-links Sortimentsverwaltung Mehrere Datenquellen in einer Maske vereinbar © 2000 by Matrix-Computer 43