das unterstützende Leistungen innerhalb von Kampagnen erbringt. Beispiele: Druck, Scan, CallCenter, Fax. Kampagne: Eine zeitlich beschränkte und inhaltlich vertraglich geregelte Auftragsdatenver- arbeitung mit dem Ziel, Daten von einer bekannten Menge von Clients zu erheben oder aktualisieren. Filter: Eine Operation auf Dateiebene, Beispiele: Verschlüsselung, Komprimierung oder Prüfsummenberechnung. Filter werden mandanten- oder partnerspezifisch konfiguriert. Mandant: Auftraggeber einer →Kampagne, agiert in →Massenmarkt, hat Vertragsverhältnis zu →Client. MaMa führt Auftrags- Datenverarbeitung durch. Client: Verbraucher oder Anwender von Dienstleistung(en) oder Produkt(en) eines Anbieters (Mandant). Activity / Aktion / Action: 1. Erhalt von Daten (Import) oder 2. Übergabe von Daten (Export), jeweils an Partner oder Mandant. 3. Interne Verwaltungsaufgaben
bezüglich ‣ Kommunikation mit Mandanten und Partnern: ‣ Daten- und Dateiformate ‣ Übertragungskanäle ‣ Prozessen, Abläufen und Regeln innerhalb von Kampagnen ‣ Einrichtung von Kampagnen OHNE Programmierung ‣ Datenformate (Import/Export) konfigurierbar ‣ Prozessablauf konfigurierbar
Bedeutung / Szenarien Architektur-/Lösungsansatz 1 Flexibilität • Neues csv-Importformat in <4h konfigurierbar • Neues Fixed-Field-Import/ Exportformat in <4h konfigurierbar • Konfigurationssprache für CSV- Parser (Import), auf Basis ANTLR • Generator (Export) auf Basis derselben Konfigurationssprache • Konfigurationssprache für Fixed- Field Parser/Generator 2 Last / Performance • 250.000 eingelieferte Fotos innerhalb von 24h prozessiert • Bilder als Dateien speichern, Links in DB • Lasttests im DailyBuild • Generator für (Massen-)Testdaten 3 Datensicherheit • Mandant kann jemals Zugriff auf Daten anderer Mandanten erhalten • Datenlieferung grundsätzlich einem Mandaten zugeordnet • Mandantenspezifische Daten grundsätzlich in (eigener) VM • Datenlieferungen grundsätzlich in mandantenspezifische Verzeichnisse (ftp-Server) • Unix-Kennungen spezifisch für Mandanten
Java ‣ Verwendung von MySQL oder Oracle ‣ Wunsch: Verwendung MDSD-Generator ‣ Betrieb jeder einzelnen Kampagne auf eigenständiger virtuellen Maschine ‣ Beschränkung ‣ Import/Export auf CSV, Fix-field + XML ‣ Übertragung auf (s)ftp, http(s)
HumbleCall Admin Client Master Data Final Results Printing data Printing results Client master data excerpt Scanned reply letters Client master data excerpt Call results config, status
Data Vorbereitung und Konfiguration der Kampagne Bisher nicht implementiert Client Master Data Mandant übergibt (neue oder aktualisierte) Stammdaten der Marktteilnehmer („clients“) Dateien (csv, fix, binär, xml) über ftp, http. Teilweise WebService. Client data Auszüge der Marktteilnehmerdaten für spezifische Partner und deren Verarbeitungsaufgaben. Dateien (csv, fix, binär, xml) über ftp, http Preliminary result Client-bezogene Verarbeitungsergebnisse Dateien (csv, fix, binär, xml) über ftp, http Clarification request Anfragen zur Ergänzung client-spezifischer Daten Datei über ftp, http, smtp Final result Endgültige Ergebnisse der Kampagne pro Client Dateien (csv, fix, binär, xml) über ftp, http Processing report Partnerspezifische Verarbeitungsergebnisse Dateien (csv, fix, binär, xml) über ftp, http Status report Reports über Zwischenstände von Kampagnen Pdf- oder Textdatei über ftp, http, smtp
Begriff (im Code!): ‣ Inbound-Activity: ‣ importieren von Partner oder Mandant ‣ Outbound-Action ‣ exportieren an Partner oder Mandant ‣ Internal-Action ‣ Löschen, archivieren, prüfen
/ ExportHandler Liest / schreibt Daten über die Außenschnittstellen, d.h. an Partner und Mandanten. Hierzu gehören insbesondere Teile von IClient- Instanzen und ClarificationRequests Campaign Data Management Speichert sämtliche Kampagnendaten, insbesondere die Domänen- Entitäten, Instanzen von IClient. ProcessControl Steuert die Abläufe/Prozesse der Kampagne, verantwortet Ausführung der kampagnenspezifischen Geschäftsregeln. Configuration • Hält Konfiguration aller Import- und Export-Aktivätstypen, der Import- und Export-Filter sowie der Geschäftsregeln. • Grafische Oberfläche zur Durchführung der Konfiguration. OperationsMonitoring Beobachtet und berichtet sämtliche Import- und Exportprozesse sowie Zustand der Datenbank. Reporting Berichtet den Zustand der Kampagne an Mandanten.
Nach Bedeutung storeClient ImportHandler CampaignDataManagement Speichert bzw. aktualisiert Zustand von IClient Instanzen retrieveClient ExportHandler CampaignDatamanagement • Liest alle zZt offenen Client-Activities • Liest IClients mit allen assoziierten Entitäten getImportConfig ImportHandler Configuration Holt die Importkonfiguration, entweder csv- oder fix- Config bzw das xml-Schema. tryImport ProcessControl ImportHandler Versucht, einen Import zu starten. Falls noch keine Daten vorliegen, Abbruch. performExport ProcessControl ExportHandler Erzeugt eine Exportdatei für eine Outbound-Aktivität für einen Partner oder Mandanten gemäß der Konfiguration. retrieveClient Reporting CampaignDataManagement Liest den Zustand von IClient eines Mandanten. Anmerkung: Trotz Namensgleichheit andere Schnittstelle als bei ExportHandler! ...
physischen Daten- oder Dateiempfang durch (wird implementiert durch beispielsweise FileReceiver, FTPReceiver, SOAPReceiver und andere). Koordiniert die übrigen Aufgaben der Input-Verarbeitung File Archiver Speichert die vom Receiver empfangenen Dateien in einem von MaMa nicht löschbaren Archiv, sofern für die Kampagne notwendig. File Filter Führt sämtliche notwendigen dateiweiten Konvertierungen durch, beispielsweise Dekompression, Entschlüsselung, Auswertung digitaler Signaturen oder ähnliche. Import Error Handler Berichtet (und speichert) alle aufgetretenen Fehler. Löst eventuell notwendige Admin-Operationen aus. Validator Prüft einzelne Records auf strukturelle und fachliche Gültigkeit (beispielsweise: sind alle Muss-Felder vorhanden, Wertebereiche und Datentypen ok?) UnMarshaller Der Magier: Wandelt Zeichenketten in Iclient Instanzen um Bausteinsicht ImportHandler (Level-2)