Be Careful: It's Enterprise 2.0
July 5th, 2007
http://www.infoq.com/news/2007
As when Oracle announced SOA 2.0 support, IBM also has a suite of products to immediately help get Web 2.0 working.
http://www-306.ibm.com/softwar
“Web 2.0 technologies at work now.”
http://www.infoworld.com
“Oracle sees the Java Platform, Enterprise Edition 5 (Java EE 5), SOA 2.0 and Web 2.0 coming together to produce a more productive application platform, said Thomas Kurian, Oracle senior vice president. Web 2.0 features more dynamic clients.”
http://www.jroller.com/page
“Info 2.0 is a technology (or information fabric layer) for simplified integration of data and content via Information MASHUPs.”
看看微软在下一版的Windows Communication Foundation(WCF)中即将推出的对创建RESTful应用程序的支持。Java的官方组织也上了这条船,他们的JAX-RS也即将面世。(来自InfoQ中文站)
这意味着什么?企业应用和web应用的分野在哪里?
企业级超复杂的爱好者和拥护者们要小心了,因为企业级未必非得等价于超复杂。
HAProxy -> Mongrel -> Rails
April 24th, 2007
这是一个高性能、高伸缩性的Rails部署方案。有一组性能数据可供参考。
首先接收到HTTP请求的是HAProxy。HAProxy会把请求反向代理给其后的多个Mongrel实例。每个Mongrel实例同一时间只处理一个请求。只要Rails应用本身贯彻无共享架构,就可以直接通过增加服务器和改变HAProxy配置得到线性的性能提升。另外可以用Monit来管理Mongrel实例的开启和关闭,并且在异常状况发生时及时采取措施。这样一来,企业级超复杂所暗含的性能、伸缩性、可管理性等等要求都满足了。
“HAProxy is a free, very fast and reliable solution offering
high availability,
load balancing, and
proxying for TCP and HTTP-based applications.”
“Mongrel is a fast HTTP library and server for Ruby that is intended for hosting
Ruby web applications of any kind using plain HTTP rather than FastCGI or SCGI.”
“monit is a utility for managing and monitoring,
processes, files, directories and devices on a UNIX
system.”
(今天下午和George讨论的主题:我们已经听厌了“企业级”这样的大帽子。我们需要做的是弄明白所谓“企业级”究竟代表什么,然后把解决方案拿出来。基本上——如果真的喜欢“企业级”的话——这就是所谓的“企业级Rails”了。)
Ruby on Rails走向企业
April 21st, 2007
我的标题不是一个问句。因为我已经相当确定,Ruby on Rails走向企业是早晚的事情。
已经有太多的讨论围绕着“用Rails要快多少多少倍”展开。但是,对于企业级超复杂来说,开发的效率只是一方面。至少还有其他几个方面是必须关注的。
- 非功能性需求,也就是软件的-ilities:性能,并发吞吐量,伸缩性,安全,等等。
- 完整的生命周期支持:需求,设计,开发,配置管理,质量保证,部署,维护,升级。软件生命周期的各个环节是否有适当的工具和/或最佳实践来覆盖。
- 系统整合。与遗留系统是否能够协同工作。这主要体现在两个方面:(1)消息系统;(2)遗留数据库。
实际上动态语言早已在各种企业IT系统中扮演胶水的角色,一些成熟的组织早已认识到它们并不止是急就章拼凑软件的法宝。动态语言本身的特点使得它们能够相当漂亮地描述各种领域,这正是为何Rails只会在Ruby上出现的原因。
至于前面提到的、企业级超复杂所看重的三个方面。结合Apache、Mongrel和HAProxy的部署方案已经被证明具有轻松超过任何J2EE应用服务器的性能和吞吐量,无共享架构使其具有完全线性的水平伸缩能力;至于安全性,Unix本身就已经构造了完备而可靠的安全体系。在今年的RailsConf上,我们将看到关于“如何部署高性能企业级Rails应用环境”的产品和最佳实践。
在生命周期方面,我们已经有了CruiseControl.rb和Capistrano;我们即将看到Mingle的正式亮相,以及基于这些工具的最佳实践。系统整合或许是目前最不明朗的一个领域:我们有ActiveMessaging,我们有复合主键支持,但是很明显这离着“方便的遗留系统整合”还有相当距离。在未来的一年中,这可能是“企业级Rails”最有看头的一个领域。
总而言之,不难看到,即便是对于企业级超复杂的要求,Ruby和Rails也已经做好了——至少是大部分的——准备。即便客气一点不说“Rails比J2EE还要适合企业使用”这样的话,对于那些愿意承担一定风险来提升IT效率的企业而言,是的,Ruby和Rails整装待发。



