Moving the conversation from point-to-point to SOA
I’m currently working as the Architect on a large Calypso implementation. Integration with the surrounding systems is clearly critical to our success. As usual, we are under very tight time constraints I am participating in recurring working groups where we are reviewing all the interfaces that currently exist and determining how we should replace them or reproduce them.
My continuous reminder of thinking in terms of Services is probably very frustrating for the Business Analysts in the room. They of course are concerned that their task in the project plan says, “Write the Business Requirements Doc (BRD) for the Systems X to System Y interface by next week.” They really do not want to consider the possibilities and try to think about this a little differently
It’s not about the SOA Stack
No offense to my friends at Tibco and WebMethods who sell the technologies in the SOA stack, but it’s not about your stack. We bought the stack and we’re still not SOA. Until we start people thinking about the interactions of systems as one providing a Service and the other Consuming it, we are still going to be implementing specialized point-to-point interactions on top of some very cool and expensive technology.
Stop thinking like an Architect!
I’m sure many of you’ve been in these same type of conversations where you go though the list of existing interfaces and ask, “do we still need this one?” As we go through these, I keep trying to drive the conversation away from interfaces and towards looking at what Service does a given legacy interface provide for whom rather than say, “this interface must be built.”
“If we look at what’s going on in this interface and build it as a Service, then we can reuse it,” I tend to say.
Half way through one of the above sessions, one BA whom I’ve known a long time half jokingly grumbled, stop thinking like an architect! Because he did not want to re-scope or revise his BRD’s just for the sake of what to him appears to be technical purity or unnecessary elegance.
I persist though in my doggedly determined manner. Ask them to humor me a little longer, “…bare with me, be patient, you’ll see,” I say. The people in the team are willing, so we entertain my way of thinking a little longer. Finally there comes the moment, where the lights come one. We’ve moved on to another interface. As we dig in, we discover that this other interface is performing nearly identical function as a previous one. I can see the result almost immediately. Very quickly rather than having two more interfaces, we start having one more Consumer of an existing Service. When that reduces time required to finish the project, finally the project manager smiles and is glad someone recommended he add an Architect to his project. Keep thinking like an Architect, he says. As a matter of fact, can you teach my whole team to think like an architect?
Now I’m happy! We’re on the way to SOA and we haven’t hat to boil the ocean.