对于SOA来说,我是一个新手,我只想把我的想法说出来,希望大家能够告诉我什么是对的,什么是错的。而不是老是在远处给我画个饼。
我的觉得 SOA 是个方法论的概念,处理一些作为SOA的根基出现的技术以外,在实施过程中要贯彻 SOA 其实对传统的系统实施和集成模式需要一些改变。用我现在遇到的场景来说说:
1)目前计划基于 WPS(Websphere Process Server)实施一个BPM项目;
2)客户对 SOA 概念很感兴趣,虽然对 SOA 所描绘的前景还是有点不以为然,愿意跨出第一步,可是糟糕的是,我们是新手,且我不能告诉他们我们是新手;
3)那么实施过程中引入 SCA/SDO 这些方法和概念并非困难,WID(Websphere Integeration Develper)除了太大太慢,其实还是算好用的;
4)按照SOA的概念和方法论,关键在于我如何规划整个应用,客户的要求很简单,强调 Reuse 而已, 那么是不是我将应用中可以 Reuse 的Module 作为 Sevice 发布出来就算是走出 SOA 的第一步呢,但是因此带来的问题也很多,一旦这些 Module 作为公共的可访问模块,可以被其他应用调用,那么就必须满足严格的多的性能要求,原本我只需要满足本系统内部的访问压力,而现在要考虑更多甚至不可预知的访问压力。等等...
5)似乎不能在用以前的常规观念去考虑这个应用,那么我还需要考虑那些更多的问题呢,如果能够给出一些指导性的意见最好了,比等到出了问题再回过头来解决要好。