Gen and SOA
I’ve been looking at the ways in which people search the net for gen-related topics, and (of the small number of requests there are) lots of people seem to be searching for “Gen” and “SOA” in the same breath. To me, this means that either a) people want to know if Gen can “do” SOA, or b) people KNOW that Gen “does” SOA but “How does it do SOA” ?
I’m not really sure, since there are a large number of significant Gen sites around the world, and I presume that many of them already “do” SOA.
The fact that an SOA is an architecture, and has standards, and as long as a product/toolset that you want to come to the SOA party can conform to those standards, then that product/toolset should be allowed an invitation to said party !
Gen has had an invitation since before SOA was called SOA, but people probably don’t know that. The fact that it can consume and expose web services, generate XML interfaces and EJBs (buzzword overload) means that, with the correctly architected infrastructure, it can not only come to the party but bring lots of presents, too.
The presents that Gen brings in my opinion (shameless plug for comments) are stability, robustness, simplicity (complexity is fine, but do you really need it all the time ?) and technology independance
But hang on – technology independance – isnt that what SOAs are supposed to bring to an enterprise? – standards are only really required when you want one vendor’s product to talk to another vendor’s without buying some expensive, proprietry interface software or hardware. Bringing technology independance to a technology-indepentant party is a particular strength of Gen – there exists a whole layer of independance which should not be ignored – that of time-independance.
“Time-independance” is an offshoot of technology independance. This means that the code that you produce today is independant of the time in which it was produced – meaning that, save for business requirement changes, which affect all systems, the code that was produced years ago is STILL relevant today, and, more importantly, deployable on today’s platforms. So, to say that Gen produces technology-independant systems, while correct, does not emphasise that the systems it produces stand the test of time, despite (or because of….) platform and technology change.
