技术开发 频道

群雄争霸 动态语言如何选择



【IT168 分析评论】


支持哪些服务

    对于大的企业应用,很容易地操作数据库和高效的web应用是远远不够的,还要有功能更强大的服务系统支持。
服务有很多种,如对象持久化、数据库连接池管理、远程对象(方法)调用,消息队列处理等。而这些应用能够满足一个企业更多的需要。
    这些服务对于上述的语言来讲就有着很大差异。下面就一一阐述:
   
    C#:

    到目前为止,人们比较关注的只是Asp.net。当然,C#不只能编写Asp.net程序。使用C#也可以编写如.Net Remoting的程序,它有些类似于远程方法调用。但是它只是原始的调用,并没有一些高级的功能,如保存状态、关系映射等。而对于其它的服务,Microsoft并未提供完善的解决方案。
   
    Java:
    支持Java的服务就非常多了。从早期的EJB(包括Session Bean、Entity Bean和Message Bean)到Message Queue、数据库连接池以及非常多的用于各种服务的库。如JDO、Hibernate等。

    动态语言:
    虽然动态语言最近很热,但是可用的服务并不多。这也是制约动态语言继续向企业迈进的障碍之一。当然,也有一些面向动态语言的服务框架。如Rails有可为Ruby提供对象持久化、数据库映射等服务。但是还没有像EJB等功能更强大的服务。

    综合上述,如果您的企业应用比较大的话。使用Java是最合适的。因为Java的服务产品线是最全的。即有免费开源的、也有商业支持的。但是有时将动态语言和Java配合使用,可能会有更好的效果。如可以使用动态语言设计web应用,然后在需要服务的地方通过Java来实现。当然,使用C#也是一个不错的选择,只是这就将您永远固定在Windows上的,您会为此付出一笔不小的费用。
0
相关文章