近日对osgi和rails感

来源:互联网 发布:淘宝刷找商家 话术 编辑:程序博客网 时间:2024/04/30 22:55

OSGI描述
    osgi本身只是一套协议、规范,目标是实现组件的可热插拔、依赖管理等。
    在java中,osgi组件(bundles)是需要运行在一个容器中的,这些bundles实现了osgi的相关服务

结构,比如日志、配置、监控、http等方面的内容,它们在容器中注册,并被其他程序使用,这些

bundles是可以互相替换,基于模块的可插拔的。
    osgi实现的核心是容器对bundles的生命周期的管理。它是通过将新请求发送到不同的类加载器加载

的类实现的对象来完成的。
    这个框架实现了一个优雅、完整和动态的组件模型。应用程序(称为bundle)无需重新引导可以被

远程安装、启动、升级和卸载(其中Java包/类的管理被详细定义)。API中还定义了运行远程下载管理

政策的生命周期管理。服务注册允许bundles去检测新服务和取消的服务,然后相应配合。
   
Ruby on Rails
    Rails是一个web框架,运行在Ruby之上,实现了MVC/ORM/unit test/AJAX,能够自动化生成大量代

码,而这些生成的代码再针对专门的应用功能运行,也就是所谓的元编程。程序生成程序来do't

repeate yourself.
    Rails之所以选择Ruby作为编程语言,正是由于Ruby很容易实现反射、动态改变类、对象的方法等功

能。Rails的学习有两大难处,第一,它太过于自动化,而生成的代码,基本上是Rails包上的一层API,

所以在用Rails敏捷开发时,很郁闷的就是背API,查API。
    约定强于配置,这种约定是从url到控制器和action的约定,再从模型到数据库table的约定,继而

为之的是一大堆我不明白的API,比如数据验证,view的link方法等等,对于新手通过它来开发一个WEB

应用很容易,如果你不想知道太多的话。 
    绝不重复自己,开发一个web系统做得最多的是什么?是对数据库的CUDR,而rails使用Ruby根据数

据库对象动态生成这些代码,处理这些关系。
    Ruby on Rails是未来编程的一个方向,作为编程爱好者、体验狂当然可以买几本书回来玩玩,但现

在将生产级转到其上并不适宜,Rails强调的是敏捷、生产率,但你会看见它薄弱的地方,它没有强大的

社区支持,开发、部署工具不多,开源软件、集成规范等,注定它暂时只能在某一个领域发展,当你需

要大量的开源方案时,比如工作流、EAI、消息服务等等,你会发现捉襟见肘。
    Ruby是解释型脚本语言,面向对象,强大的动态类、对象的方法修改,它在基础语法上与perl很类

似。我发现Ruby可以很容易实现AOP
    Ruby on Rails带给我们的不是一门语言和框架,而是一种思想,编程语言的新思想,我们禁用了

goto语句,而现在goto语句又以另外一种半开放的姿态--类的动态修改回到我们身边。并且借用这种功

能,我们会自动化的在各个领域生产大部分代码。以后的编程时代将更加狭窄,我们不会再像现在这样

考虑。如同我们早就不记得回收对象和数组边界检查一样。

 

groovy and grails

ruby on rails的成功如其所说,

don't repeate yourself+ convetion over configuration = productivity framework

rails在ruby之上有其之道理,而java阵营的动作也非常迅速,退出了Jruby解释器,完全可以跑Ruby code,当然,就想微软的J#一样,让一个根红苗正的程序语言跑到“资本主义”的大本营中是行不通的,注定,Jruby解释器难得应用起来。Java阵营又退出了groovy,帅气,而帅气的目标自然是grails框架。

 

原创粉丝点击