摘要: 开源软件在发展历程中,已经不仅仅是开放源代码的免费软件。开源软件与商业并不冲突,它是一种新兴的商业模式。与传统的商业软件相比,开源软件采用了开放源代码、免费分发等形式,减少了营销与销售成本,更易于广泛传播。在开源软件领域中,常见的盈利模式一共有7种。下面让我们来逐一列举和分析。 ● 盈利模式之一:多种产品线 如 MySQL 产品就同时推出面向个人和企业的两种版本,即开源版本和专业版本,分别采用不同的授权方式。开源版本完全免费以便更好的推广,而从专业版的许可销售和支持服务获得收入。● 盈利模式之二:技术服务型 JBoss就是这种模式的典型代表。JBoss 应用服务器完全免费,而通过提供技术文档、 阅读全文
posted @ 2012-10-28 22:55 ajian005 阅读(312) 评论(0) 推荐(0)
摘要: Linux编程大全http://docs.huihoo.com/gnu/linux/index.htmLinux API 参考BSD socket 入门指引BoSD Scket 简易入门手册。curses 库介绍之一介绍UNIX 屏幕导向程序的发展利器 - curses (之一) 。curses 库介绍之二介绍介绍UNIX 屏幕导向程序的发展利器 - curses (之二) 。多进程编程介绍在UNIX系统上的编程实践经验。Linux 系统调用介绍在Linux系统上的函数调用。Beej's 网络编程指南介绍Beej's 网络编程技术。Beej's IPC 编程指南Beej 阅读全文
posted @ 2012-10-28 22:53 ajian005 阅读(233) 评论(0) 推荐(0)
摘要: 二十世纪九十年代中期以来,业界一直在使用DCOM和CORBA这样的面向对象的中间件平台。在分布式的应用中,中间件平台托管了大部分网络事务,比如对数据进行编码与解码以进行传送,把逻辑对象地址映射到物理传输端点,根据客户和服务器的机器架构改变数据的表示,以及按照需要自动启动服务器。DCOM和CORBA由于自身的缺点,都没有成功占领大部分分布式计算的市场。DCOM是Microsoft的独家解决方案,在异构网络中,各种机器运行多种操作系统,无法都使用DCOM。同时DCOM不支持创建大量数目的对象(数十万或数百万),这在很大程度上是它的分布式垃圾收集机带来的开销造成的。虽然有多家供应商提供CORBA产品 阅读全文
posted @ 2012-10-28 22:45 ajian005 阅读(284) 评论(0) 推荐(0)
摘要: STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最先开发,它是与C++几乎同时开始开发的;一开始STL选择了Ada作为实现语言,但Ada有点不争气,最后他们选择了C++,C++中已经有了模板。STL又被添加进了C++库。1996年,惠普公司又免费公开了S 阅读全文
posted @ 2012-10-28 22:40 ajian005 阅读(148) 评论(0) 推荐(0)
摘要: http://blog.sina.com.cn/s/blog_4c451e0e0100d5be.html读《Unix编程艺术》笔记(一) 1)行为的最终逻辑被尽可能推后到使用端; 2)最终用户永远比操作系统设计人员更清楚他们究竟需要什么; 3)用错误的方式解决正确的问题 总比用正确的方法解决错误的问题好; 注:正确提出问题等于正确解决问题的一半。 4)只提供机制不提供方针的哲学能使Unix长久保鲜; 注:机制:有机体的构造、功能及其相互关系。 方针:指导事业向前发展的纲领。 纲领:正式表述出来、严格信奉和坚持的原则、条例、意见和教训的条文或概要。 也就是说将 逻辑控制 与 功能实现 分开。 5 阅读全文
posted @ 2012-10-28 22:36 ajian005 阅读(228) 评论(0) 推荐(0)
摘要: 《Effective.Enterprise.Java中文版》本书最重要的部分是:理解企业级计算技术中的常规问题和使用企业级JAVA平台技术来处理这些问题。.语言和API也许会发生变化,但是你将会理解:构建良好架构所要考虑的问题;有那些通信方式可供选择;如何选择状态存储的位置;各式各样的安全问题等等这些思想性的东西不会变。资源管理:线程、数据库连接、套接字、文件,所有这些资源比堆内存来说要更难于管理。他们的是生命周期存活于JAVA虚拟机之外,并且需要以一种对并发使用来说友好的方式来被获取和被释放。企业计算的十大谬误参考P23Web应用是一系列资源,比如servlet、jsp、模型类、工具类、以及 阅读全文
posted @ 2012-10-28 22:31 ajian005 阅读(233) 评论(0) 推荐(0)
摘要: 本书先介绍了一些企业应用开发的基础知识,比如分层架构、WEB表现、业务逻辑、数据库映射、并发、会话、分布策略等等。通过使用场景、解决方案、UML等手段详细介绍了设计模式(包括一些常用的设计模式GOF23和本书上新创的设计模式)。了解书中这些模式是干什么的、它们解决什么问题、它们是如何解决问题的。这样,如果你碰到类似的问题,就可以从书中找到相应的模式。可以为你节约成本、缩短项目周期时间、避免风险,以确保项目能够完美的完成。一、三个基本层次:表现层、领域层、数据源层层次职责表现层提供服务,显示信息(例如在Windows或HTML页面中,处理用户请求(鼠标点击、键盘敲击等),HTTP请求,命令行调用 阅读全文
posted @ 2012-10-28 22:30 ajian005 阅读(194) 评论(0) 推荐(0)
摘要: 需求层次:层次内容描述呈现方式业务需求组织机构或客户对系统、产品高层次的目标要求。项目视图与范围文档中予以说明用户需求用户使用产品必须要完成的任务Use Case功能需求必须实现的软件功能需求规格说明文档中功能需求说明非功能需求系统展现给用户的行为和执行的操作等,包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。需求规格说明文档中非功能需求说明需求开发过程0、 开发过程1、 需求收集:定义项目的视图和范围。学习与了解本行业的知识,这样与用户比较容易沟通。访问有潜力的用户,对用户进行分类并找各自合适的代表,找出新软件产品的用户需求。注意与用户沟通技 阅读全文
posted @ 2012-10-28 22:28 ajian005 阅读(298) 评论(0) 推荐(0)
摘要: 一、架构师定义架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成功。二、构架师的职责架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体来讲,架构师的职责主要体现在以下几方面:1、负责公司系统的架构设计、研发工作。2、承担从业务向技术转换的桥梁作用。3、协助项目经理制定项目计划和控制项目进度。4、负责辅助并指导系统分析开展设计工作。5、负责组织技术研究和攻关工作。6 阅读全文
posted @ 2012-10-28 22:27 ajian005 阅读(168) 评论(0) 推荐(0)
摘要: 一般一个系统包括架构模式、设计模式、软件框架等。一般一个系统包括架构模式、设计模式、软件框架等。设计模式是在解决问题的过程中,一些良好思路的经验集成,常见的是GoF 23种设计模式。GoF 23种设计模式的一些指导设计原则:1、开闭原则(OCP):一个软件实体应当对扩展开放,对修改关闭。“抽象化”是OCP的关键。2、里氏代换原则(LSP):在一个软件系统中,子类应该可以替换任何基类能够出现的地方,并且经过替换以后,代码还能正常工作。“继承”是LSP的关键。3、依赖倒转原则(DIP):要依赖于抽象,不要依赖于具体。或者说是:要针对接口编程,不要对实现编程。“规范抽象”是DIP的关键。4、接口隔离 阅读全文
posted @ 2012-10-28 22:26 ajian005 阅读(478) 评论(0) 推荐(0)
摘要: 系统分析员、架构师、项目经理之间有着什么样的差别?下面按自己的理解粗略的整理了一下,也许并不全面,绿色部分代表每一个角色主要需要参与考虑的活动(注:下面所说的系统分析员混合了设计的职责):首先看一下架构师和系统分析员的区别:1、系统分析员必须考虑自己所设计系统的方方面面,他是系统实现的原始作者,也对系统能否满足客户的技术要求以及产品成本是否可接受起着最直接的作用。2、架构师一般在软件组织内仅仅是少数人,他们主要负责对产品的架构进行评估以及子系统之间的接口批准上,评估的主要方面集中在系统级的质量属性和成本上,包括:当前架构是否满足可靠性要求、系统架构的可扩展性、可重用性、性能以及基础的公共功能等 阅读全文
posted @ 2012-10-28 22:24 ajian005 阅读(235) 评论(0) 推荐(0)
摘要: CMMI/SPCA业务介绍 (1)背景介绍: CMM是“软件能力成熟度模型”的英文简写,该模型由美国卡内基-梅隆大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定,初始的主要目的是为了评价美国国防部的软件合同承包组织的能力,后因为在软件企业应用CMM模型实施过程改进取得较大的成功,所以在全世界范围内被广泛使用,SEI同时建立了主任评估师评估制度,CMM的评估方法为CBA-IPI。 CMMI是SEI于2000年发布的CMM的新版本。CMMI不但包括了软件开发过程改进,还包含系统集成、软硬件采购等方面的过程改进内容。CMMI纠正了CMM存在的一些缺点,使其更加适用企业的过.. 阅读全文
posted @ 2012-10-28 22:23 ajian005 阅读(562) 评论(0) 推荐(0)
摘要: 本书介绍了三种模式:体系结构模式、设计模式、惯用法。体系结构模式主要用在系统整体框架设计阶段;设计模式主要用在模块设计阶段;惯用法主要用在实际的编码阶段。体系结构模式又分成8种:分层、管道和过滤器、黑板、代理者、模型—视图—控制器、表示—抽象—控制、微核、映像。分层模式就是把系统分成多层,比如表示层、业务逻辑层等。管道和过滤器模式是将数据通过过滤器处理进行提取与目标化,然后通过管道发送给另一个对象或组件等。黑板是解决部分解或近似解的问题。代理者模式是用于构建带有隔离组件的分布式软件系统,该组件通过远程服务调用进行交互。代理者组件负责协调通信。模型—视图—控制器(MVC)模式将一个交互式应用程序 阅读全文
posted @ 2012-10-28 22:21 ajian005 阅读(400) 评论(0) 推荐(0)
摘要: 本书重点介绍应用集成的四种主要方式:文件传输、共享数据库、远程过程调用、消息传递。利用文件传输和共享数据库,应用能够共享它们的数据,但不能共享功能。远程过程调用使应用能够共享功能,但是这会让应用紧耦合。消息传递使应用能够共享功能,让应用松耦合。运行消息传递,可以使用可定制的格式频繁地、立即地、可靠地、异步地传输数据包。本书主要是围绕消息传递方式来集成应用,完成企业集成模式、设计、构建及部署。书中也介绍了消息是怎样传递的,我们不需要完全理解,那个对我来说太难了。我们需要熟悉WebSphere MQ、MSMQ、JMS等消息服务产品,然后利用它们能开发企业集成系统,特别是金融业、保险业企业集成系统。 阅读全文
posted @ 2012-10-28 22:20 ajian005 阅读(410) 评论(0) 推荐(0)
摘要: 本书的目标是向软件架构师提供实用的指南和技术,以更快地得到好的系统结构设计。我们的哲学是不应该致力于设计理想化的系统结构,而是应该仔细地评估和权衡所有技术、市场、人员、成本方面的问题,从而获取一个好的解决方案。一、软件体系结构术语系统结构风格或者系统结构模式参考系统结构或者领域特定的软件系统结构(应用在一个特定领域)产品线系统结构(应用在一个组织的一组产品)软件系统结构(应用在软件系统或者产品)二、4种视图1、一个软件体系结构有4种截然不同的视图:概念视图、模块视图、执行视图、代码视图。使用这个4种视图提供了一种设计软件系统结构的系统化方法,帮助架构师设置优先级,分析权衡,并保证没有缺漏。2、 阅读全文
posted @ 2012-10-28 22:20 ajian005 阅读(328) 评论(0) 推荐(0)
摘要: 中间件技术及其应用 作者:谷和启 来源:51CMM 一、概述1、中间件的概念 随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。 这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应孕而生。 由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定义。 比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件... 阅读全文
posted @ 2012-10-28 22:19 ajian005 阅读(535) 评论(0) 推荐(0)
摘要: 本书从软件架构、框架、设计模式的方面来讲解了一些特定领域的框架,也就是一些模块、组件和设计模式的合适的结合。框架提供了通用的、可重用的软件架构,并可以产生新的应用。但是一个框架无法适用于多个商业/工业领域,需要构建特定领域应用框架。本书给出了大量的例子涵盖了大量应用领域,包括:柔性制造系统结构计算机集成制造新一代控制系统并发工程可靠的分布式计算搞性能的WEB服务器多媒体远程通信网络和电信工业可视化一、框架定义1、 一组类或组件的集合,它们为一个特定领域提供了一组服务和功能。2、 一组交互的软件组件的规范,它们构成了特定领域的解决方案。3、 一个面向对象的类层次结构和一个内建的交互模型,他们定义 阅读全文
posted @ 2012-10-28 22:17 ajian005 阅读(289) 评论(0) 推荐(0)
摘要: 软件架构:没有最好只有最适用如何规避软件架构风险:固化需求完善的业务原型完整架构规范80%的经验架构+20%的创新架构软件架构通用的服务模式:类工厂服务缓存服务(内存服务)配置服务异常处理服务日志服务加密服务验证服务和授权服务消息队列部署服务事务处理服务帮助服务数据验证服务成功的软件开发:1、开发技术 (面向对象分析与技术、结构化设计方法、基于构件的开发方法)2、开发过程(RUP、CMM、XP、瀑布模型、螺旋模型)3、CASE 工具(Rational ROSE 、RUP Builder)UML+RUP=最佳软件开发方法几种常见架构:1、 MVC•M表示模型•V表示视图•C表示控制器2、C/S• 阅读全文
posted @ 2012-10-28 22:15 ajian005 阅读(347) 评论(0) 推荐(0)
摘要: 一、软件架构、架构模式、参考模型、参考架构1、对于软件架构定义有很多种,通用的定义是:某个软件或计算机系统的软件架构是该系统的一个或多个结构,他们由软件元素,这些元素的外部可见属性以及这些元素之间的关系组成。这里所说的某个元素的“外部可见属性”是指其他元素对该元素所做的假设,如它所提供的服务、性能特征、错误处理、共享资源的使用,等等。其他的定义包括:架构是一种高层设计。架构是系统的总体结构。架构是一个软件或系统的组件、组件之间的相互关系以及管理其设计和演变的原理和方针的结构。架构是组件和连接器。2、架构模式是对元素和关系类型以及一组对其使用方式的限制的描述。3、参考模型是一种考虑数据流的功能划 阅读全文
posted @ 2012-10-28 22:12 ajian005 阅读(343) 评论(0) 推荐(0)
摘要: 转自:http://blog.csdn.net/byxdaz/article/details/5347461软件架构设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。本文从架构师职责、软件架构定义、设计架构、评估架构、架构管理等方面来描述了解软件架构的含义和怎样设计软件架构。一、软件架构师的职责架构师分为以下几大类:业务架构师、主题领域架构师、技术架构师、项目架构师(J2EE架构师、.NET架构师等)、系统架构师。1、架构师的职责主要体现架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体 阅读全文
posted @ 2012-10-28 22:11 ajian005 阅读(920) 评论(0) 推荐(0)