Upline - Application Framework - MATRIX

Werbung
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
Herunterladen