技术开发 频道

SOA真实,但不简单

【IT168 技术评论】    这些天SOA有很多让人高兴的事。我在圣何塞的BEA系统工作(只是完全公开我的工作背景和态度),我在工作中每天都使用SOA。我希望借助本文讨论我的SOA实际使用经验,帮助辨别有关SOA的真伪(有时完全是谎言)。
    让我们从头开始。SOA完全是关于架构的。BEA是一个软件产品公司。我们生产产品来协助您创建和管理您的SOA。但是BEA是首个告知您,您不能购买到以您自己的方式使用SOA的产品。这些工具将完成需要它们做的工作,但是如果您不设计使用SOA的企业方案,世界上所有的工具都不会帮助您。不论销售人员如何向你推销,正像Java和C/C++不会提供架构一样,目前市面上出现的SOA产品也是如此。
    对于大多数工程师和开发人员来说,这不应该是个惊喜,但是它确实是惊喜。我经常遇到一些技术人员,他们认为SOA只是和技术有关。下面是有关SOA的经典笑话:
    SOA热心者:“我愿意买两英镑的SOA。”
    SOA架构师:“抱歉,但是SOA不是以英镑出售的。”
    SOA热心者:“那么我愿意购买两吨!”
    SOA要求您学习新理念。没有学习新的方法和技巧,就无法采用SOA。原来的理论和技巧不会消失,只是加以改进了。从过程编程转变到面向对象编程与此类似。您所具备的过时编程技巧还可以使用。您仍然使用if-then语句,for-next循环等。面向对象只需要您在新的上下文中使用。
    但是这里有一个问题很危险。许多人希望在学习过程中走捷径,这将导致非常糟糕的实现。在面向过程转变到OO编程实践的过程中,我们也发现了这一点。有多少开发人员认为在类上创建getter和setter方法会使类面向对象化?比我们关心的要多。Allen Holub在Holub on Patterns一书中介绍了这方面的内容。永无休止的技术竞赛中,我们通常很难学到构成方法学的最基本概念。
    这就是SOA难以理解的地方。它不是技术。2001年,我实现了自己的首个SOA。因此这项技术在2001必须出炉。新的工具仅是使技术问题更容易管理。实现SOA真正的困难是人和过程。如果加以考虑,甚至这些问题领域都不是那么难以理解。这就是我向所有我遇到的客户推荐的:
    放松一点。接受您需要学习新知识这一事实吧,再给自己一些时间去做。
    实践您自己发现的SOA技巧。从过程编程转变到OO类比,我通过阅读下面这本书籍开始学习OO技巧:1991年由Waite Group编写的Object Oriented Programming in C++,我接纳了这种概念,然后兴奋地开始编写我的第一个OO程序。结果它是用OO语言编写的最好的面向过程程序。只是读了一本书中的主题并不意味着我就学会了如何有效地使用信息。在有效地应用之前,您必须实践新的SOA技巧。
    如果可以的话,接受正式的培训。不必自己学习所有知识。至少浏览一下SOA站点,和同样学习SOA的人交流。
    警惕专家!我经常被作为SOA专家被引荐,我可以向您保证我经常学习新的事物。每个人都在学习SOA。我们中的一些人在这条道路上比别人走的更远。将某个人引荐为专家并不意味您应该盲目相信他所说的任何内容。提问并得到回答,这样更有意义。
    有人指责SOA被推崇为一种信仰,而不是作为一种架构方法来教授。我对SOA有许多坚定的想法,其中一些与现在的公认说法相悖。不论您是否同意我对SOA的见解,它都将是一个有趣的过程!
0
相关文章