- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 基础软件业的“冷战”
这一场国际软件巨头与国内基础软件产业之争,可叹的是,国内的企业,恐怕还未上战场,就已经败了。 SOA尚未退场,云计算、XX地球又粉墨登场。IBM们继续以气贯长虹之态势,引领着众多用户乃至竞争者趋之若鹜。长期以人,中国人,包括最终用户和技术人员,都被国外软件巨头的气势所迷惑了(说吓倒了,恐怕国人更不会承认),业务人员、企业家唯国外咨询专家意见是从,技术人员、开发商拼命研究国
2010-03-08 23:39:00
2683
16
原创 让员工感到拥有自主权和决策权
尽管微软业绩每年都在惊人地成长,为了发挥最大潜力,微软仍然以小组为工作架构,其运作方式比照中小企业,即使这样需要花费大笔的行销和研发费用。因为盖茨认为,这样可以让员工感到拥有自主权和决策权,这也是其员工较一般僵化的大机构更积极主动的主要原因。每当微软膨胀的太大的时候,盖茨就马上把它拆分成小的团队,每一个团队的人数一200人为上限,这样的结果就是微软始终保持着高效和活力。
2009-11-15 22:31:00
2681
原创 企业分布式构件集成的应用场景之一
企业内每个人都可以在自己的机器上发布服务,比如自己机器上有某种资料(个人资源,或是自己负责的业务资源),可以直接发布出来,供别人查询。个人发布服务后,自动向企业服务总线注册。企业服务总线维护统一的元数据描述,负责服务路由及服务之间交互的数据格式转换。企业员工可以从个人门户上选择定制自己需要的服务。 致命缺点:个人发布服务如果不能完全傻瓜化,则难以推动。
2009-11-05 22:53:00
831
原创 Drools推理的例子1-房间救火
1.必须使用有状态的sessionKnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();kbuilder.add( ResourceFactory.newClassPathResource( "fireAlarm.drl", getClass() ), Resour
2009-11-04 10:26:00
3613
2
原创 Drools5学习笔记1-最常用API
最常用到的核心接口API: org.drools.builder.KnowledgeBuilder org.drools.KnowledgeBase org.drools.agent.KnowledgeAgent org.drools.runtime.StatefulKnowledgeSession org.drool
2009-11-03 11:21:00
6102
3
原创 workflow and bpm
工作流与业务流程管理到底有何不同?如果说有前对它们之间的不同的感觉都是量上的差异,那么通过对近一段时候我所接触的一项目的总结,对它们之间的不同应该说有了质的差异上的感觉。一般的说法,Workflow是一个技术上的概念,而BPM是一个管理上的概念(在IBM等这些可恶的大公司的忽悠下,BPM也在技术化),这一点我最新的认识是:workflow是一种技术上进行业务流程管理的方法(注意仅仅是一种),主
2007-09-07 12:02:00
1327
原创 AndroMDA与Acceleo设计思想的不同
AndroMDA与Acceleo都是比较流行也是比较著名的开源MDA工具,这两个工具的基本运行原理如下:AndroMDA:第一步:设计模型,通过Stereotype标识AndroMDA可理解的模型类型(标识采用哪种Cartridge);第二步:使用andromda提供的命令生成平台相关模型(代码、配置文件等)。Acceleo:第一步:设计模型,对模型无特列要求,但是可以通过St
2007-06-18 15:14:00
2294
原创 理想的MDA实现
研究了AndroMDA、Acceleo等等若干种MDA的实现,发现他们对MDA的实现,都不是我理解中的MDA,都是一种残缺不全的实现。那么我想象中的MDA应该是什么样的呢?它肯定不是那种“不用写一句代码就能实现整个系统”的空中楼阁。因为MDA已经采用了UML2做为建模的基础(原因MDA官方网站上已经有很多论述),那么我们就得想想UML2作为进行MDA开发的第一步,它都为后序的工作带来了什么。U
2007-06-14 13:20:00
1247
原创 对MDA的目标的理解
MDA官方首页介绍MDA的文字:http://www.omg.org/mda/;翻译如下:OMG的模型驱动架构提供了一种开放的,厂家中立的方式来应对商业与技术变化的挑战。基于OMG的建设标准,MDA将业务逻辑和应用逻辑从底层平台技术中分离出来。使用UML和其它相关的OMG建模标准来构建应用及整合系统业务功能及行为中的模型,使得这些模型独立于平台,真正实现MDA的跨平台,包括开源的或私有的、
2007-06-05 16:19:00
1302
翻译 UML2的设计原则
UML元模型的设计思想遵循以下原则: 模块化-应用强内聚、松耦合的原则来将建模的概念分组到多个包,并将功能特性组织到多个元类中。 分层-UML元模型应用了两种分层。首先,包的结构分离了元语言核心概念与使用它们的高层概念。第二,四层元模型的架构模式分离了跨越很多抽象层的关注点(尤其是有关实例的关注点)。 分区-分区用于组织相同层的概念范围。在Infrastructu
2007-06-01 13:42:00
1472
1
原创 UML2答疑
1.UML2为什么要定义兼容级别? UML2是一个范围很大的语言集合。这些语言集被划分成不同的模块,不同厂商的UML工具可以实现不同的模块。这些工具之间的需要进行互操作(比如不同的工具提供开发过程不同步骤的建模功能),这样就可能会存在一个问题,就是不同的UML工具之间所定义的模型的兼容性的问题。因此,UML2规范定义了少量的UML2兼容级别,以增加两个工具支持相同的或者相互兼容的语言子集的可能
2007-05-30 16:01:00
1281
原创 MDA的目标与理想
最近研究了一段时间的MDA,了解了一下OMG MDA规范的内容。大体总结如下:MDA的目标:通过规范可跨平台的建模标准,利用一定的工具,实现多层平台无关模型到平台相关模型(PIM到PSM)的自动转换,从而实现模型驱动的体系架构。MDA关心两个事,一个是模型,别一个是过程。MDA的建模规范的目标是通过建立一种模型自描述的标准语言来实现模型的跨平台。则过程也就是PIM到PSM的转换过程,这个过
2007-05-30 10:27:00
1151
原创 OSGi与依赖倒转原则
依赖倒转原则是指导设计两个模块之间的关系的一个设计原则。如下图所示,假设模块A是我们系统要实现的核心功能,模块B提供某种事务服务。因为模块A需要事务服务,所以,一般的设计思想是模块A要依赖于模块B。 而依赖倒转原则就是要把这种依赖关系倒转过来。也就是让模块B依赖于模块A。这样,模块A的代码实现中,涉及事务的地方,只需要使用接口A,而接口A的实现是在运行时被依赖注入到模块A的程序中去
2007-01-11 10:21:00
1719
原创 框架与系统架构
昨天与同事闲聊,同事提了一个问题,既然已经有Spring、Equinox等等这样优秀的框架了,是不是我们在做系统的时候,就可以不考虑系统架构的事了呢。这似乎是个很简单的问题,但是系统的研究一下,我觉得还是对我们理解框架、理解系统架构、设计模式还是有帮助的。对于象Spring这样的软件开发基础框架来说,框架本身并不解决系统架构的问题,它只是帮助我们更容易的实现一个扩展性更好的系统架构。当然
2006-11-23 11:43:00
2471
2
原创 Spring-OSGi
从Spring-OSGi0.7规范中可以看出,Spring的目的并不是要提供一个OSGi规范的实现。也就是说,Spring与Equinox等实现是互补的,而不是竞争的。这种互补性可以简单的理解为:OSGi实现负责协调模块与模块之间的调用、依赖关系;而在一个模块内部,则由Spring来进行更细粒度的管理。为此,为方便使用,Spring将在配置文件中增加直接支持OSGi的配置项。 但是,由于
2006-11-20 12:20:00
2355
1
原创 Spring OSGi规范(v0.7)中文版
翻译:shuyaji 2006-11-17原文地址:http://www.springframework.org/osgi/specification1.0 简介Spring框架是一个领先的full-stack Java/JEE应用框架。它提供一个轻量级的容器,依赖注入、aop、可插接的服务抽取,这些使得非侵入式的编程模型成为可能。OSGi提供了一个动态应用程序的执
2006-11-17 23:30:00
11616
2
原创 软件开发过程最佳实践(3)
以一个信贷项目的开发为例。系统用例模型系统要开发的功能用例图如上图所示。有了用例以及对用例的详细描述,接下来要建立系统分析模型,即以分析类图的形式建立各个用例。一般来说,对一个系统用例的分析可以从区分系统界面类与系统控制类入手分析。如下所示:有了分析模型之后,要建立系统的设计模型(Design Model),设计模型要建立和分析出真正的可以运行的类。而为了保证系统
2006-09-08 08:36:00
1440
原创 eclipse插件开发(1)-获取工程对象
当从导航视图或jdt的package explorer视图选中一个元素,可以对其进行打开编辑器、打开视图、执行右键菜单中的action等等操作,这时在编写相应的编辑器、视图或action插件时,可能会需要获取到当前所选择的元素及其所在的工程对象。本文以执行action为例说明获取方法。1.为action对象(实现IObjectActionDelegate)增加IStructuredSelect
2006-08-23 08:49:00
3793
原创 软件开发过程最佳实践(2)
2. 如何保证系统的可扩展性、可复用性明确、清晰的定义系统的扩展点 合理的扩展点的定义是建立在对业务的充分的理解之上的。可能一开始我们做项目时并不清楚系统有哪些地方是可能发生变化的,而找到可能变化功能的途径如下:1). 根据自己的经验,主动的分析确定系统可能发生的变化;2). 当用户主动提出需求的变化时,或用户自己也拿不准某个功能时,要考虑这部分功能是否应定义
2006-08-01 12:13:00
1248
1
原创 软件开发过程最佳实践(1)
今天有幸听了雅各布森公司的首席科学家黄邦伟博士的基于最佳实践的开发过程的演讲,感觉受益匪浅,与我所一直思考的关于软件框架的一些想法颇为相似,但是黄博士的讲解却更为系统,把我的需多想法重新整理了一下。下面就把黄博士讲解的内容整理出来,在以后的帖子中再将我对框架、系统架构的一些想法也写出来,与大家讨论。一个软件项目的开发,有两个基本问题值得关注,一个是如何将用户需求用一种自然而然的方法转化软件
2006-07-28 10:04:00
1456
原创 成功注册记念
终于注册成功了!之所以,用“终于”是因为注册的不容易,之所以不容易并不是因为csdn网站的原因,而是因为从本人想在csdn上注册,到今天得以实现,用了比较长的时间。很长时间以来一直想写一点自己的东西 ,想把自己的软件生涯中的一些体会与大家共享。但是,由于工作较忙,再加上本人较懒,所以一直也没有成行。最近,从网上看到了许多我所关心的话题的讨论,比如平台,比如框架,比如构件,比如模式,再比如我
2006-07-25 08:43:00
991
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人