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