扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在今天,很可能你已经开始着手进行一个或者两个SOA项目了。当然,这并不奇怪,在世界范围内的11000家大型企业中,有95%的企业已经开始投入某种努力去实现SOA了。
市场调研公司WinterGreen Research的高级分析师Susan Eustis介绍说:“这些SOA项目中的大部分都是以各部门之间或者是部门内部的互相协调作为开始的,随后开始逐步扩展,再后来就把用户的业务管理也包括了进去。可以说,SOA在扩大其影响力之前,也是从很小的尝试开始的。”
随着学术界和工业界的研究与实践的深入展开,原来笼罩在SOA头上的炫目光环也在渐渐褪去。仅存的一道光辉可能就是SOA被业界所接受的那条真理:对于SOA来说,网络便是一切。
有分析师表示:“令人欣慰的是,SOA技术已经足够成熟了,因为它在不断地吸取实践过程中的那些经验和教训,现在已经是千锤百炼了。”而来自 MindTree Consulting的CTO Kamran Ozair却表示:“在过去的几年中,SOA被吹捧成了‘下一个梦想’,因此,很多项目和工程就都被部署成为了基于Web的服务,而后来人们却感觉到,这并不是一条合适的发展之路。”
或许我们最大的教训就是学习到什么时候不应该使用面向服务的这种方法。“SOA并不是一条终结之路,你需要使用SOA的时候,往往是在你需要解决一个业务问题的背景下。”一家生产数字音频设备的厂商Crutchfield的IT主管Steven Weiskircher说。
Crutchfield公司开始SOA的破冰之旅是在两年前,那时公司升级了紧急任务目录、访问中心、电子商务和零售订单处理程序,在这些程序中90%都是自定义代码。Weiskircher介绍说,他的开发团队支持代码和对象的可重用性,而且团队中的大部分开发人员对于微软的编程工具也都比较熟悉,因此,他们选用了基于.NET的服务策略,但是后来他们马上意识到,他们不得不把关注的重点转移到业务目标上,而不是以前的技术目标。
“当然,软件开发的原则在几年之内并没有什么重大的改变。代码的可重用性,以及为了保护数据所产生需求的可持续性等,都是很有价值的设计原则。因此,对于服务来讲,有其发挥功能的地方,但也有其不适用的地方”。Weiskircher说。
在这其中,服务的延时性是问题的关键。“如果你把SOA看做是Web服务的话——不同的厂商对此有不同的争论——你应该意识到服务会给你的交易带来很大的开销。任何的传输都是依赖于多个组件的,并且会给网络造成影响,包括延时、抖动和丢包等。因为在20年前传输的是简单的ASCII文件,而现在却是时常臃肿不堪的XML文件。当你再在其上添加简单对象协议(SOAP)和Web服务的安全标准(WS-Scurity)时,就有可能会增加延时,因为光是SOAP消息的封装和解析,就会耗费不少的处理器资源和网络资源。”Weiskircher解释说。
在决定哪一段代码应当抽象成SOA服务的时候,还需要考虑的是,服务可重用性带来的利益是否大于服务延时所带来的负面影响。如果代码主要是在同一台机器的同一个应用程序中运行,那么最好还是不要采用服务的方法; 但是如果代码被许多分布式的应用程序所重用,比如在一个工作流组件中的商业流程,那么把这段代码封装成服务就是适合的。
“比如,交易可能源自于许多不同的销售渠道,但交易所产生的工作流程却是类似的。不管销售渠道是怎样的,典型的工作流程都将包括收集资金、顾客信息和用户偏好等。这些都是共享的商业规则和可重用的业务逻辑,而基于Web的服务就会对这些流程具有重要的意义。”WeiSkircher说。
Wachovia公司通过考察自己的应用程序和执行环境,开始部署SOA。Wachovia认为,虽然可重用性有很大的诱惑,但是却不能够以牺牲性能作为代价。当然Wachovia也不愿意永远面对那些低效的已有代码。“我们也曾经疑问‘是简单地将现有的所有业务都封装成Web服务?还是需要将程序完全地重新设计?’然而最后的结果显示,我们的可重用程序与重新编写的程序之间的比例大约是50∶50。”Wachovia说。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者