开源GIS实验田

OpenSource GIS Space

  • 内容导航

    Creative Commons
    本站文章全部原创
    转载请遵循创作共用协议
  • 最新评论

    • zhaiduo: 期待GO的web应用...
    • zdnet: 您好!去年8月您参加过我们ZDNET的优秀...
    • oschina: hi,此文已转贴到开源中国社区,网...
    • YUCHENG HU: MarkLogic 已经开始为各大出版机构进行...
    • Gao Ang: DITA的学习成本的确偏高,仅下载翻阅...
  • 热门主题

  • 随机阅读

    • August 2006
      M T W T F S S
      « Jun   Sep »
       123456
      78910111213
      14151617181920
      21222324252627
      28293031  
    • Gao Ang

      GaoMiao's Portrait
      有了理想
      就不要寻找放弃的理由

      站点搜索

      • 11 Users Online
    • 只言片语

      “Your Highness, I have no need of this hypothesis.”-Pierre Laplace (1749-1827), to Napoleon on why his works on celestial mechanics make no mention of God.
    • 正如哲学家的形容的那样,青年人犹如一张白纸,在上面可以画各种各样的图案。 ——布拉思韦特

    Archive for August, 2006

    适于科学计算的Kepler项目

    8th August 2006

    开源的世界里总能发现有意思的项目,Kepler就是这样一个出色的科学计算工作流设计平台。Kepler项目由美国科学基金NSF支持,UC Berkeley和San Diego超级计算中心联合基于Java开发,目的是打造一个通用的科学工作流集成平台,并且将整合多种已有的计算模型。应用于仿真、建模的Ptolemy项目为Kepler提供了底层支持,同时Kepler的不少开发着都来自Ptolemy项目。有意思的是,在天文学发展的历史上,Kepler本人是日心说的支持者,而Ptolemy则是坚定的地心说支持者,曾经观点截然对立的两个人现在却成了两个相互支撑的项目名称。

    在生物学、生态学以及天文学等领域内产生的科学数据往往需要经过复杂的分析和过滤才可以使用,这样的过程常会牵扯到大量的数据处理,Kepler集成了应用于网格计算的Globus组件,可以根据需要将应用部署在网格环境下面。同时Kepler允许用户定义自己的Web Service或者在线搜索可用的Web Service应用在数据处理流程中,使得虚拟化的服务可以随时动态调用。

    Kepler的基本组件调用单元称为本体(Ontology),可以集成在数据处理过程中的本体有角色(Actor)、组件(Component)、项目(Project)、规则(Discipline)和统计(Statistics)等。用户不仅可以使用内置的本体组成工作流,还可以将自己的算法和组件定制为专用本体,对工作流程进行灵活的拓展。Kepler的应用非常广泛,目前国内关注此项目的人还比较少,希望将其应用在网格环境下各种服务的整合上,还需要再仔细研究。优秀的开源项目给我们提供了赶超国外先进水平的契机,如何好好利用,还需要后续的不断努力在行。

    Posted in 网格科学, JAVA魅力 | No Comments »

    Teamwork进行团队管理

    6th August 2006

    Teamwork即团队合作,随着敏捷开发、统一过程方法等概念的引入,团队合作已经逐渐被接受,并且应用到实际的软件项目开发管理当中。”工欲善其事,必先利其器”,为保证团队合作的顺利进行,良好的团队协同管理工具是必不可少的。其实项目管理工具并不鲜见,为数不少的商业产品一直占据市场主流,随手捏来的比如微软公司的Project和Primavera公司的P3等等,但是像Teamwork这样给人留下深刻印象的开源产品却为数极少。

    Teamwork是源自软件仓库SourceForge的开放源代码项目,针对团队合作的整个管理周期而设计。Teamwork集成了项目进度、团队成员、工作日志以及问题追踪等多项管理模块,并且将项目管理和文档管理很好的结合在了一起,大大方便了项目团队的分工与协同,提高了整个团队的工作效率。由于Teamwork在团队管理实践中的出色表现,已经逐步转变为商业模式运作,但Teamwork开发团队仍旧在SourceForge提供了源代码下载,供爱好者研究与学习。

    那么先让我们从实现技术上认识一下Teamwork吧。Teamwork基于J2EE体系实现并且按照MVC的分层结构进行组织,技术架构上来看,Teamwork可谓是集众多的优秀开源项目于一身。Teamwork的持久层设计使用了著名的Java为对象关系映射框架Hibernate,对JDBC进行轻量级的对象封装,用对象管理的方式来读写数据。从3.0版本开始,Teamwork用Open Lab的Java Web开发框架JBlooming来进行表示层设计,JBlooming使用标准Java API和面向对象的Jsp模板技术实现,简化表示层组件调用以及Ajax实现的代码量,提高开发效率。Teamwork的内容索引则使用了Apache Jakarta的Lucene项目实现。并且Teamwork内部集成了一个简单的工作流引擎,可以和Open Lab的FlowWork项目很好的协同来进行工作流管理。

    如果深入Teamwork的源代码,可以学习Teamwork的各种类功能实现以及teamwork.hbm.xml、common.hbm.xml等Hibernate持久层映射配置文件来了解程序结构和后台数据库的组织方式。本文的主要目的是把Teamwork这个优秀工具介绍给大家,暂时不把太多笔墨放在Teamwork代码的研究中,有兴趣的读者可以在SourceForge下载Teamwork代码来深入学习和研究。(本文全文参见《程序员》06年8月刊,因为忙于筹备老师的项目书和准备去额尔古纳的行程,写作疏漏之处请读者原谅。)

    Posted in 思维记录 | No Comments »