根据Java专家Tony Ng所说,在复杂企业应用环境中工作的软件开发者,经常用很多时间来维护现有的应用,而时间应该用在创建新的和创新的应用上。将Java和面向服务架构(SOA)集合可以简化维护企业应用的流程,解放开发者的时间,将其用于驱动增长的开发中。 Ng是《用Java EE实现SOA》一书的合著者,这本书介绍了Java和SOA之间的连系,本文则着眼于云计算上下文环境中二者的关系。到2009年为止,Ng担任Sun Microsystems技术总监,他负责推进Java EE 5 SDK的发布。
同时,他也是Java图书《Java蓝图》和《J2EE Connector架构》的合著者,拥有九项……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
根据Java专家Tony Ng所说,在复杂企业应用环境中工作的软件开发者,经常用很多时间来维护现有的应用,而时间应该用在创建新的和创新的应用上。将Java和面向服务架构(SOA)集合可以简化维护企业应用的流程,解放开发者的时间,将其用于驱动增长的开发中。
Ng是《用Java EE实现SOA》一书的合著者,这本书介绍了Java和SOA之间的连系,本文则着眼于云计算上下文环境中二者的关系。到2009年为止,Ng担任Sun Microsystems技术总监,他负责推进Java EE 5 SDK的发布。同时,他也是Java图书《Java蓝图》和《J2EE Connector架构》的合著者,拥有九项软件专利。
项目经理开始采纳一种SOA的方法进行应用设计和开发的时候,会遇到哪些新的挑战?
Tony Ng:使用SOA的话,一个应用典型地由一套服务组成,可能多个开发团队以及中分散的形式进行开发。为了成功,花时间提前将问题域分解为正确的服务集和服务接口很重要。就像服务的发展,维护服务接口反向兼容性很重要,因为服务实现可以独立展开。
SOA实现对Java开发者意味着什么?
Tony Ng:Java开发者要想正确且有效地实现SOA,还要学习一些附加的概念。例如,开发者应该避免将一个Web服务接口建模粒度过细,或者过于不正式,因为这样会造成Web服务客户端调用一项SOA服务的时候额外的网络延迟。开发者也应该关心转移的数据量。
为了实现交互性的目的,一项SOA Web服务典型地以一种中性的编程语言(例如使用WSDL或者REST URL模式)来定义接口。这对于习惯于用具体编程语言开发的开发者来说是个全新的概念。类似地,开发者需要知道通用Web服务数据格式,像XML或者JSON。
最后,每一个服务的服务水平协议(SLA)的定义和监控很重要,因为所有应用将按照性能和可行性执行。
在我们从J2EE转移到Java EE 5和6的时候,实现SOA怎么改变?
Tony Ng:Java EE 5的主要目标之一就是简化Java EE应用的开发,包括SOA Web服务。Java EE 5包含以下的API,这些API共同工作来提供Web服务支持:
- JAX-RPC 1.1
- JAX-WS 2.0
- JAXB 2.0
- SAAJ 1.3
- JAXR 1.0
- StAX 1.0
- Web Services Metadata 2.0
- Web Services 1.2
Java EE 5中最显著的性能是Java注释的用法。为了创建一项服务,开发者只需要编写一个POJO(Plain Old Java Object)类,用适当的Web服务注释解释。Java EE容器将负责将POJO作为Web服务暴露。Java EE 6通过JAX-RS 1.1添加了对RESTful Web服务的支持。JAX-RS根据REST架构风格提供Java注释作为Web服务来映射POJO类。
展望Java 7,即将发布的版本有哪些性能将会使实现SOA解决方案变得容易一些?
Tony Ng:在Java 7中,对于Web服务堆栈将会有所升级,包括JAXP 1.4、JAXB 2.2a和JAX-WS 2.2。Java 7也包括I/O和网络上的数个加强,包括可扩展异步I/O操作、socket-channel binding和配置以及多路传送数据报。这些可以被用来为SOA平台实施提供一种更好的可扩展性和性能。
Java 7中其他相关的性能包括小的Java语言的加强,并发机制和收集更新,i18n加强、JDBC 4.1和增强的Mbeans。
在SOA开发和实现领域,企业架构师如何利用云技术呢?
Tony Ng:云的主要好处是有效地部署敏捷性和IT基础设施。SOA架构风格推进了模块化、封装、松耦合、分布式和互操作性。这些性能可以使基于SOA的应用成为部署在云环境中的理想候选人,并实现云端的好处。
目前在用Java创建服务的时候,针对成功的模式你有哪些可以与我们分享的技巧吗?
Tony Ng:下面有一些快速的技巧:
- 考虑重用性、松耦合和互操作性。
- 考虑延迟。确保服务接口粒度不是过细或者不正式。注意请求/响应负载。
- 为每一个服务定义SLA。
- 阅读我们的书《用Java EE实现SOA》
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突