现在,让我们来看一下对于J2EE应用SOA可以解决的一些问题。
SOA缺点
SOA缺点包括下面三方面:
1、 SOA自身的缺点,主要当前还没有成熟的实现
2、 SOA的复杂性
3、 厂商对SOA在更广泛的J2EE产品和方案中的位置
那么我们就心批判的眼光来看一下:
·并没有像J2EE规范那样有自己的正式规范。虽然有一个发布的规范,但那个太复杂了并且没有遵循80:20法则(80%的应用需要简单的SOA,只有20%的应用需要更强大而复杂的功能)
·有状态会话依然存在广泛争议而且现在还没有被SOA的缺省实现(Web services)所解决。而无状态会话已经是完全支持了。
·由于缺省正式或推荐的规范,Web services已经成为许多人眼里SOA的代名词了,但Web services通常是过于强大了。
·SOA增加了复杂性。可能你更喜欢硬编码和紧耦合,而不需要XML配置文件来运行简单的应用。
·SOA兼容的应用对本身来说没有什么意义。其商业价值来自于能够提供离散的功能块,通过SOA被用于其他的应用和模块。例如,如果你对订单的较验规则是通过JSP页面中的Java代码来实现的,那么你还需要重构代码将其放到服务端对象中以便于SOA调用,—但很多厂商并没有提及这一点。
·在某些情况下,厂商将SOA作为网页应用框架的替代者!我认为,WAF是SOA定义功能中的消费者,只是作为一种补充,而不存在竟争关系。
· 与厂商提供的相反,一些应用根本不需要SOA而只需要简单使用MVC框架就可以了。这很短视吗?我不这么认为,即使SOA的特性是需要的,在上面的情况下,最重要的部分是用来服务于企业服务总线的良好定义的业务逻辑层,而不是ESB自身。
虽然我不认为SOA是一颗解决现有和新建应用中问题的银弹,但我相信SOA在他相应的位置上还是有其内在的价值的。现在让我们来看一下在应用中增加有效的SOA解决方案是如何提供体现其商业价值的。
文章来源于领测软件测试网 https://www.ltesting.net/