Enterprise Claims & Customer Support Lernportal Projekt
Java EE 7 · WebSphere-orientiert

Enterprise Legacy Monolith

Die Ausgangslage ist absichtlich schlecht, aber nicht mehr schablonenhaft: Jede God-Object-Klasse hat eine andere Entstehungsgeschichte, Hauptmethode, Integrationsdichte und Größenordnung.

Legacy-Realismus 9/10 8.140 Zeilen in fünf God Objects 30 JPA-Entities Characterization Tests PASS

Messbare Komplexität

1.335–2.116
unterschiedliche Klassengrößen

Keine fünf identischen Dateien mehr.

568–1.248
unterschiedliche Hauptmethoden

Von Omnichannel-Routing bis Claims-Regelwerk.

523
JDBC-Schreibpfade

SQL liegt absichtlich im Business Code.

363
Stored-Procedure-Aufrufe

Oracle-Package-Namen leaken in die EJB-Logik.

262
JMS-Nebenwirkungen

Queue und Topic innerhalb breiter JTA-Transaktionen.

≤ 22,9 %
maximale normalisierte Ähnlichkeit

Die fünf Klassen sind strukturell verschieden.

Die fünf fachlich unterschiedlichen God Objects

Klassegewachsene DomäneKlasseMonster-HauptmethodeJDBC / SP / JMSCode
LegacyClaimProcessingBean Claim Decision, Coverage, Fraud, Reserve, Reinsurance 2.116 processClaimDecision
1.248 Zeilen · L41–L1288
164 / 73 / 84 öffnen
LegacySettlementAndPaymentBean Settlement, Payment, Treasury, Ledger, Tax, Sanctions 1.768 processSettlement
972 Zeilen · L37–L1008
123 / 68 / 69 öffnen
LegacyNightlyOperationsBean Batch, Reconciliation, Retention, Reporting, Retry 1.522 executeNightlyOperations
778 Zeilen · L40–L817
114 / 114 / 54 öffnen
LegacyPartnerAndDocumentBean Partner, Certificate, Payload, OCR, Archive, Callback 1.399 processPartnerSubmission
650 Zeilen · L37–L686
57 / 45 / 26 öffnen
LegacyCustomerSupportBean Omnichannel Contact, Complaint, Privacy, SLA, Goodwill 1.335 processCustomerContact
568 Zeilen · L37–L604
65 / 63 / 29 öffnen
Claims: regelgetriebener Transaktionsmonolith

LegacyClaimProcessingBean besitzt 60 benannte Entscheidungsregeln für Coverage, Fraud, Dokumente, Sanktionen, Reserve, Reinsurance, Accounting und Payment. Der Hauptpfad hält SOAP-Aufrufe, JDBC, Stored Procedures, JPA-Entity-Erzeugung und JMS-Events in einer breiten EJB-Transaktion zusammen.

Customer Support: Omnichannel- und Complaint-Wachstum

LegacyCustomerSupportBean ist anders aufgebaut: Kanalweichen für Phone, Email, Chat und Social Media, anschließend 38 Support-, Privacy-, Complaint- und SLA-Prüfungen. Contacts, Complaints, Tasks und Notifications werden gemeinsam geschrieben.

Settlement: Finance-Control-Kaskade

LegacySettlementAndPaymentBean enthält 46 Finance Controls, Treasury-, Tax-, Withholding-, Ledger-, Sanctions-, Bank- und Reinsurance-Pfade. Der Zahlungsrelease ist an zahlreiche synchrone Kontrollschritte gekoppelt.

Partner/Documents: Gateway- und Dateipipeline

LegacyPartnerAndDocumentBean kombiniert Zertifikate, Contracts, Rate Limits, Schema- und Signaturprüfung, Idempotency, Dokumentzählung, Malware Scan, OCR, Archive und Callback. Dokumente werden in einer eigenen Schleife verarbeitet und teilweise quarantänisiert.

Nightly Operations: Batch-Runbook

LegacyNightlyOperationsBean führt 30 unterschiedliche Nachtjobs aus: Locks, Outbox, Notifications, Payment-/Ledger-Reconciliation, Reserve, SLA, Complaints, Search, Partner/Policy Sync, Retention, Privacy, Fraud, Reporting und Accounting Day. Fehler werden pro Step geschluckt und der Gesamtlauf wird fortgesetzt.

Bewusst problematisch: God Object, Long Method, Transaction Script, Service Locator, Primitive Obsession, temporale Kopplung und technische Side Effects sind direkt im Code markiert. Diese Struktur dient nur als kontrollierter Migrationsinput.

SOLID-Refactoring öffnen Prüfbericht öffnen

⌂ Cockpit