dev2dev.bea.com.cn
首页 资源中心 dev2dev学堂 在线技术论坛 专家Blog User Group CodeShare

编程模型与连通性或SIP Servlet

2008-04-15 09:23:49 | 评论 (0) | 被访问(95)次

Erik Kayser
  Erik Kayser 在WebLogic Communication Platform部门工作,是一名高级项目经理。他的日常工作是为全世界的电信网络供应商和运营商进行概念验证。除此之外,在闲暇时间以及偶尔的工作间隙,他还用WLCP产品WLNG和WLSS做了许多开发工作。在加入BEA成为一名高级顾问和架构师之前,他曾在瑞典的几家公司开发过一些进程并做过项目管理。所有这些系统通常都需要具有24/7的高可用性的、数据库驱动的分布式架构。Erik Kayser从瑞典的Malmö Högskola获得了计算机科学和电气工程理学士学位。他是一名获得认证的Java程序员、企业架构师和项目管理专业人员PMP。


  我承认:我喜欢SIP Servlet的实现方式!我将试着列举其中的部分原因并提供一些论据以支持我的观点。看看我是否能成功吧……

  首先:编程模型。好吧,我承认,我非常喜欢SIP Servlet编程模型。它是在JSR-116和JSR-289中指定的,2007年11月的发布意味着完成时间略少于两年。没那么神速,但依然出色。我为什么喜欢它?我作为J2EE开发人员和架构师的背景当然有一定影响。我喜爱HTTP Servlet编程模型。它易于理解和实现,SIPServlet也是如此。新手的门槛很低,特别是在熟悉HTTP Servlet编程时更是如此。编写一个简单的应用程序时,它们确实易于开发和维护,这是现代软件开发中的一个重要方面。随着应用程序的发展,它们无疑会变得更加复杂。对于真正的高级应用程序,模型将造成妨碍,因为有许多事件发生,而您需要记住发生的顺序。在SIP Servlet之上设置一个更高级的抽象层是个不坏的想法。而其形式如何则是另外一个问题了……

  遇到此类问题时,我通常会将应用程序移动到Spring中,使用SIP Servlet作为适配器。我真的没有将这种SIP Servlet模型当成我自己编写易理解代码的能力。Spring为我提供了内在支持,还指导我创建漂亮的代码——就像帮助J2EE更完美一样。

  对SIP Servlet编程模型的支持是近年才发展出来的,而如今所有主流厂商都在其应用服务器中或路线图中提供了SIP支持。其中包含IBM、Oracle、Sun、Ericsson、Ubiquity和其他厂商。

  第二:与现有JEE环境的汇聚。规范定义了SIP Servlet应如何与HTTP Servlet和EJB协同工作。这考虑到了基于汇聚标准的容器。它基本上只是为当今J2EE服务器中可用的大量容器又添加了一个容器。由于规范与现有Servlet如此相似,因此将其与现有企业Java应用程序或任何Web服务相集成非常简单。

  第三:连通性独立于编程模型。连通性是所有电信应用程序的重要组成部分。SIP Servlet——特别是托管SIP Servlet的容器(本例中为BEA WLSS)具有多种连接各种资源的标准方法。这些资源连接方法并非同样依赖于编程模型,而是独立于编程模型。主要的优势在于使开发人员能够选择最适合满足当前需求的编程模型、为任务选择最佳的连通性标准,从而得到开放、灵活、非厂商锁定的解决方案。

  例如,可以创建一个SIP Servlet,将接收到的每一条SIP消息作为电子邮件发送。我创建了自己的SIP Servlet,然后使用Java Mail来创建和发送邮件。这是由WebLogic Server以标准方式实现的。

  另外一个示例,设置一个可根据作为Web服务公开的黑名单检查呼叫方的呼叫。一旦接收到初始邀请(Invite),即进行对Web服务的呼出。由于我使用了WSDL,因此在BEA Workshop(或其他任何现代IDE)中通过几次单击操作即可创建客户端存根。

  最后一个例子是反面示例,通过一个Web服务公开SIP演示信息。Web页面希望为特定的用户显示当前演示信息。此时将创建一个SIP Servlet,并将其作为Web服务公开。Web页面调用该Web服务,SIP Servlet获得演示信息,将其返回给Web页面以供显示。使用BEA WLSS,只需几次单击操作即可完成此任务,SIP Servlet也会公开为Web服务。

  第四:基于标准。SIP Servlet在JSR-116、JSR-289中得到了标准化,随后在JSR-309中标准化了一种Media Server API。其他所有连通性方法都在JCP或其他标准中得到标准化。JSLEE中具有JSR-240,资源适配器结构的标准化尚未完成。

  第五:容器间和容器内服务编排。这实际上并非SIP Servlet主题,更倾向于BEA WLSS,因为我们要通过Convergin合作。通过将Convergin Accolade WCS与BEA WLSS相结合,客户即可获得从当今的服务执行迁移到未来基于All-IP的服务的完整迁移路径。可以利用未来的技术开发当今的服务,并为遗留、IMS前和IMS网络公开。这同样适用于可通过Convergin Accolade WCS的遗留适配器功能公开的现有遗留服务。结合服务对不同网络的公开,我们还能够进行高级的Service Capability Interaction Management(SCIM),它将SIP与IN/SS7和SOA服务混合成完整的复杂服务,从而又带来了一种优势。这并非SIP Servlet规范的一部分,但 通过结合使用SIP协议和关于SCIM的专用解决方案,即可使之称为可能。IM-SSF是通过3GPP标准化的。

  第六:All-IP和IMS。如果您是一名操作人员,而且具有All-IP和/或IMS战略,那么自然而然就要根据编程模型、容器成熟度和当前安装基础等因素选择执行环境。随后SIP Servlet规范即可很好地适应All-IP战略,因为它表现了同类最佳的属性,并具有实现基于IP的服务的清晰路径。BEA WLSS和Convergin SCIM相结合,我们即可通过有效的编程模型和工具、完整的SOA愿景和广泛的合作伙伴,提供非常快的速度、低延时以及更快的上市时间。关于BEA和Convergin协作的更多信息,请阅读此新闻:http://www.convergin.com/show_flashpr.php?docindex=pressdocs/pr18_20061207.swf

  好了,关于此主题的讨论已经够多了。现在您应该了解我为什么如此偏爱SIP Servlet标准以及我目前在这方面的认识。当然,我可能对其他技术有些误解,或者遗漏了某些重要方面。请不要犹豫,在评论中指出!:-) 您可能也注意到,这篇文章中并未直接讨论JAIN SLEE。主要的原因是我不希望对自己并不十分了解的东西品头论足,而我却确实了解SIP Servlet。然而,对于我偏爱SIP Servlet的探讨仅应在JAIN SLEE的范围内考虑;本文所述内容的目的在于指明SIP Servlet为何在这些领域中占据优势。

原文出处:http://dev2dev.bea.com/blog/beeson/archive/2007/08/programming_mod.html



Tags: WLSS Convergin FMC SCIM All-IP SIP Servlet
文章评论:(以下网友留言只代表个人观点,不代表BEA观点和立场)
暂时没有评论!

2008年04月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
             
RSS订阅

Erik Kayser's Blog搜索