松耦合与紧耦合是实现Converged Application的两种方式。
松耦合方式:在一个Converged应用中,SIP Servlet和HTTP Servlet(或其他J2EE编程模式)分别独立实现,各自执行独立的功能,代码中没有互相调用,两种类型的Servlet上下文及相关配置分别在sip.xml和web.xml文件中指定。如果需要互相配合,则由第三者来控制它们之间的互相访问。PersonalAssistant即属于这种方式。
紧耦合方式:在一个Converged应用中,SIP Servlet和HTTP Servlet(或其他J2EE编程模式)分别独立实现,但二者之间可以互相访问,通常是在HTTP Servlet中去访问SIP Servlet。第三部分中的1.2 usecase的实现方式即属于这种类型。
比较:
(1)松耦合方式中HTTP Servlet和SIP Servlet实现互相独立,程序结构更加清晰;紧耦合方式需要同时掌握HTTP Servlet和SIP Servlet的编程方法,比如需要在HTTP Servlet中调用SIP Servlet的方法。
(2)紧耦合方式功能实现起来更加简便,比如可以直接从HTTP Servlet去控制一个SIP呼叫(可参见1.2 usecase),;而松耦合方式要想实现同样的功能,则还需引入别的控制功能模块。
总之,我认为:采用紧耦合方式对于功能实现更加方便。但由于目前支持紧耦合方式的JSR289的API(ConvergedHttpSession)还没有公布,在SailFin平台中对ConvergedHttpSession的支持程度如何还不确定,因此采用紧耦合方式实现converged应用的范围和灵活性有待考察。
分享到:
相关推荐
1. 偶然内聚(Accidental or Coincidental Cohesion):模块内的组件之间没有明显的联系,只是因为偶然的原因放在一起,通常表明设计不佳。 2. 逻辑内聚(Logical Cohesion):模块中的组件有逻辑上的关联,但并不...
因为Xxmm封装各种数据库操作,并且完成ORMap(实体类-关系数据库的映射)。和程序员交互的只是类和对象。 如果数据库中表或者字段有所改变的话(你没有过这样的经历吗?),你的Class 中的代码无需改变或者只需要很少...
文章中提到了一种新颖的细粒度源码分析技术,这种技术针对加密应用,对开源可扩展处理器OR1K的指令集进行了扩展,并以协处理器的形式与主处理器紧密耦合。 扩展的OR1K指令集设计考虑了加密算法的特性,通过这种方式...
• 紧耦合的 所有节点拥有相同的状态。 不允许不同节点之间的数据。 • 多线程的slave 获得更好的性能。 对于任何工作负载。 • 没有vip的主从故障转移操作或使用。No Master-Slave Failover(失效备援) Operations ...
嵌入式系统是“用于控制、监视或者辅助操作的机器、设备或装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 通常执行特定功能 嵌入式系统的核心---...
借助 ASP.NET MVC,ASP.NET 团队极大地提高了框架的支持以便编写松散耦合代码,但仍非常容易落入紧密耦合的陷阱,尤其是在控制器类中。 紧密耦合 紧密耦合适用于演示软件。如果你看一下说明如何构建 ASP.NET ...
在实际开发中,桥接模式常用于框架设计,如图形库中图形对象(如圆形、矩形)与绘图方式(如填充、描边)的分离,或者在用户界面组件与渲染引擎的解耦等。通过理解和应用桥接模式,开发者可以创建更灵活、可扩展的...
7. 模块独立性:为了提高软件质量,模块应有高内聚(内部元素紧密相关)和低耦合(模块间相互依赖程度低)。所以,答案是B。 8. 软件定义:软件是程序、数据及相关文档的集合,不仅包含运行时的逻辑实体,也包括...
桥接模式(Bridge Pattern)是设计模式中的一种结构型模式,它主要解决的是在软件设计中,当抽象和实现之间存在紧密耦合时,如何使这两者能够独立地变化。这种模式通过引入一个抽象层来分离接口和实现,使得它们可以...
同时,合理运用EL可以提高代码的可读性和可维护性,但过度依赖可能会导致代码过于紧密耦合,不利于长期维护。 总结,EL表达式是JSP中一个强大的工具,它简化了对象访问和数据操作。理解并熟练掌握EL的语法和特性,...
16. **耦合度**:在软件设计中,最低的耦合度是数据耦合,它表示模块间通过参数传递数据,而没有共享状态。 17. **SA和SD方法**:SA方法产生分层数据流图,而SD方法则产生模块结构图及模块的功能说明书。 18. **...
1. 数据的存储结构:存储结构指的是数据在计算机内存中的组织方式,分为逻辑结构和物理结构。题目中提到的D选项"数据的逻辑结构在计算机中的表示"指的是数据如何在实际存储中体现其逻辑关系。 2. 栈的特性:栈是一...
水平方式如导航模式、航向选择和VOR/LOC跟踪,提供飞机横向操纵指令;垂直方式如垂直导航、高度保持和垂直速度模式,负责飞机的俯仰控制。 自动推力(Auto Thrust, A/T)系统则根据飞机需求自动调节发动机推力,...
、.null..OR..F.、.null.=.null.分别代表了三个逻辑表达式,它们的值分别为.F.、.null.和.null.。 11. 文件恢复:按Shift键删除的文件通常不能直接从回收站恢复,但使用专门的数据恢复工具可能可以找回。 12. WWW...
12. 表达式求值:在VB中,3>2*2是False,a=c是False,b<>c是True,所以3>2*b Or a=c And b<>c Or c>d的值为True。 13. 字符串操作:Mid函数可以从字符串的指定位置开始提取子字符串。若a="MicrosoftVisualBasic",...
在软件开发中,经常会遇到类因为多个维度的变化而变得复杂,例如,一个系统可能需要支持多种不同的数据存储方式(如SQL Server、MySQL)和多种业务逻辑处理方式。如果这些变化被紧密地耦合在一起,将会导致类的复杂...
14. **逻辑运算**:在表达式`3>8-3 OR 10+2`中,由于3>5且10+2为真,所以整个表达式的结果为真(True)。 15. **Java main方法参数**:Java主方法`main`的参数数组`args`如果没有传入参数,其长度为0。 16. **内存...
12. **VB表达式**:表达式3>2*b Or a=c And b<>c Or c>d中,因为3>2*4(即3>8)为False,a=c也为False,但b<>c为True,所以整个表达式的结果取决于最后的条件,即c>d,这里c=3,d=2,所以表达式的结果为True,选B。...
12. 表达式3>2*b Or a=c And b<>c Or c>d中,由于3*4,a≠c,b≠c,c≤d,故整个表达式的值为False,即C选项正确。 13. 若要提取字符串a中从第11位开始的10个字符,即"VisualBasic",应使用Mid函数,所以D选项正确...