Voor een grote luchthaven heeft 42 een J2EE applicatie gerealiseerd waarmee de vaststelling van de zogenaamde havengelden bepaald worden. Onderdeel van het project was het analyseren en optimaliseren van de processen in de nieuwe applicatie. Dit betreft zowel de aanlevering, verwerking en aflevering van de informatie.
De aan- en aflevering van informatie omvatte het realiseren van koppelingen via Seebeyond Integratie Broker met een twaalftal externe systemen. Integratie die vanuit de applicatie is gebaseerd op gestandaardiseerde XML berichtdefinities en via de middleware worden omgezet van/naar de specifieke externe berichtdefinities.
Het verwerken en beheren van de processen en informatie zijn gerealiseerd in een J2EE applicatie die zich conformeert aan een in een eerder stadium door 42 neergelegde architectuur (CiSS) dat draait op BEA Systems WebLogic Application Server. De applicatie is een meerlagenmodel waarin de grafische gebruikersinterface is gerealiseerd met Struts en Tiles. De business logica is standaard J2EE en bevat een uitgebreide beveiliging van informatie die tot op individueel informatieniveau in zowel de business logica als GUI is in te regelen. De applicatie is volledig gebaseerd op XML informatie en structuren en maakt gebruik van een XML database voor het persisteren van de informatie.
Globaal is de architectuur van CiSS3 en HVS de volgende.
Belangrijke componenten van de J2EE applicatie zijn stateless session EJBs die ieder een subdomain omarmen, zoals Flights, Aircrafts en Airport. Deze beans zijn verantwoordelijk voor de business logica en ontsluiten de Software AG Tamino XML Server. Dit gebeurt middels een JCA resource adaptor, Tamino specifieke API, Castor XML-bindingen en SAX handlers. Daarnaast is er een Message Driven Bean EJB implementatie die messages uit enkele tientallen queues van de SeeBeyond eGate broker afhandelt. Deze queues corresponderen met vele tientallen systemen. De queues zijn verfijnd geconfigureerd zodat de inkomende messages chronologisch worden afgehandeld, of juist voorrang krijgen, of juist een lage prioriteit krijgen, of tijdelijk geblokkeerd kunnen worden, etc. De CiSS3 en HVS applicatie moet in staat zijn om concurrente wijzigingen van de verschillende systemen en web gebruikers te kunnen afhandelen. Met complexe SAX handlers wordt de delta bepaald van de documenten in de database en het fragment met wijzigingen. Afhankelijk van wijzigingen en credentials wordt logica op de wijzigingen toegepast. Nadat het document in de database gewijzigd is wordt met een andere geavanceerde SAX handler een lijst van de modificaties gemaakt, gebaseerd op XPath. Deze lijst wordt gebruikt voor audits, maar nog belangrijker, om de broker op basis van deze wijzigingen makkelijk te kunnen laten filteren welke systemen op de hoogte moeten worden gebracht van de wijzigingen.
