A quick snippet of my day to day job..

Ok, I am a Technical Architect, designing a new pension soloution for a large bank.... and trying to fix a few problems that they have got themselves into..

When we started life was quite simple, we had an EC application (E-Commerce, displays information in a nice way), some Middle Tier Services (holds the business logic... such as, 'hey, it's illegal for you to have personel pnsion and an ocupation pension... cause Gordon Brown says so'.. And then Back End systems, which are numerous. Like there is one system to hold contract information, another to hold IFA information, another which holds commision structires, another which holds peoples bank accounts.. and so on...

So we had... EC-Application, which spoke to Middle Tier Web Services which delivers SOAP formated Messages, the web services hosted the business logic application, which cordinated access to the hetrogenous back end systems giving a single view of all data. The only time a message format was added in, was between the EC application and the middle tier web services.. SOAP is a standard message format known to everyone in all industries

Huruh.. all sounds simple.. one would think..

noo..... way to easy... some morons have taken simple concepts such as SOAP web services, and fucked them up beyond all reason and managed to tie in front end UI's to messages and data strucutres held in the back end systems (the point of a middle tier is to remove this dependency)

so... we have something called SOAP which is an XML message format. it's nice and simple... It's a simple transport level message schema

but no.. this is not enough.. the middle tier web services have their own message structure which they have sat on top of SOAP.

ok, so far so good, we have a message format nested in a message format.

ahhh... The Transport layer (Webservices) talks to the Middle Tier services though MQ Series, company standards say anything going through MQ has to be wrapped up in the company standard MQ message structure.

SO, we have SOAP->CWS->MQ messages nested within each other...

Now the middle tier services also have their own message strucutres (why the fuck not.. i mean, they don't want to be left out)...

The Middel Tier services have to talk to the back end services though MQ Series again, and then to the back end services, (guess what.. .they have their own message strucutre!!!!),//

so we have ...

Soap->CWS->MQ->Middle Tier->MQ->Contract Engine

And then, and only then will do we have the actual data we want... That is 6 levels of nested message structures within each other before we actually find something usefull, like some Policy details, or some bank account details

So, when you wonder why it takes banks so long to ever do something... like tansfer your money straight away instead of the standard three days... it's not because of 'Security'.... it's because they don't know their arse from their elbows.

rant over. In principle the permie architects have all agreed it's mad, but they also said 'well it works, so best the crap we known' .... and they wonder why it's going to take 5000 developer days to implment a couple of new services (that's 1man working 5 days a week for 19 years... I could re-write all 27million lines of code in windows in that time)