软件构架、架构和框架的区别
软件体系结构与软件架构

软件体系结构与软件架构作为一名软件工程师,无论是在学术界还是工业界,软件体系结构和软件架构都是我们必须要熟悉并掌握的重要知识点。
不仅如此,软件体系结构和软件架构还被视为软件开发生命周期中最关键的决策点。
本文将从什么是软件体系结构和软件架构、软件体系结构和软件架构之间的关系、软件架构对软件开发生命周期的影响以及当前流行的软件架构模式等多方面对软件体系结构和软件架构进行详细探讨。
一、什么是软件体系结构和软件架构软件体系结构和软件架构是软件开发过程中最重要的两个概念,它们建立了软件设计的基础,可以理解为软件的设计蓝图。
软件体系结构是指软件系统中组件、模块、接口和它们之间的关系,而软件架构则是指软件系统的高层结构和组成方式,即系统在结构上的解决方案。
可以看出,软件体系结构和软件架构是密不可分的概念,一个好的软件架构必须基于一个合理的软件体系结构,二者相互影响、相互依存。
二、软件体系结构和软件架构之间的关系软件体系结构和软件架构之间的关系是紧密相连的。
软件架构是由软件体系结构派生而来的,软件架构决定了软件体系结构的多个方面,例如组件、模块、接口和应用程序的架构模式等。
在软件开发过程中,软件架构起到了至关重要的作用。
它决定了软件系统的性能、可维护性、可重用性、可扩展性等方面,因此,软件架构的设计应该尽早开始,这也是我们说软件架构是软件开发过程中的决策点的原因。
三、软件架构对软件开发生命周期的影响软件架构不仅仅是为软件系统提供了一个高层次的结构,它还影响到了整个软件开发生命周期,从需求分析和设计到实现和维护都有重要的作用。
首先,软件架构有助于对需求进行分析和界定。
在软件开发过程中,软件架构定义了软件系统的范围和需求。
因此,软件架构可以帮助我们定义功能需求,以及在交付的软件系统中哪些功能将被包括。
其次,软件架构为系统设计提供了一个框架。
设计应当被视为软件架构上的一个节点,它是在软件开发的初期阶段最重要的部分。
软件架构指定了系统的大部分建设策略和规则,因此,它对系统的设计产生了深远的影响。
软件架构、框架、模式、模块、组件、插件、中间件一文打尽

软件架构、框架、模式、模块、组件、插件、中间件一文打尽一、架构软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
软件架构是一个系统的草图。
软件体系结构是构建计算机软件实践的基础。
也称为软件体系结构,简单地说就是一种设计方案,将用户的不同需求抽象成组件,且能够描述组件之间的通信和调用。
软件架构会分析工程中的问题,针对问题设计解决方案,针对解决方案分析应具有的功能,针对功能设计软件系统的层次和模块及层次模块之间的逻辑交互关系,确定各个功能如何由这些逻辑实现。
开发人员可以根据软件架构分析出来的层次和架构进行软件编写。
架构可以类比于硬件里面的拓扑图,而架构根据展示的内容不同又可以分为应用架构、业务架构、技术架构、数据架构。
•应用架构•技术架构•业务架构•数据架构二、框架软件框架(software framework),通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。
软件框架,是软件开发过程中提取软件的共性部分形成的体系结构。
框架不是现成可用的应用系统,而是一个半成品,是一个提供了诸多服务,供开发人员进行二次开发,实现具体功能的程序实体。
框架与架构的关系:框架不是架构,框架比架构更具体,更偏重于技术,而架构更偏重于设计;架构可以通过多种框架来实现。
举个例子 EXPRESS 框架:Express是一个基于Node平台的web 应用开发框架,它提供了一系列的强大特性,帮助你创建各种Web应用。
可以使用npm install express命令进行下载。
提供了方便简洁的路由定义方式对获取HTTP请求参数进行了简化处理对模板引擎支持程度高,方便渲染动态HTML页面提供了中间件机制有效控制HTTP请求拥有大量第三方中间件对功能进行扩展三、模式设计模式强调的是一个设计问题的解决方法,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
软件架构设计(2)——子系统、框架与架构

结论:
框架和架构的区别
框架是软件,架构不是软件!
框架和架构的联系
先规划抽象解决方案 起点 架构
框架 再实现特定部分
最终完整 解决方案
结论
先大局后局部,就出现了架构
结论
框架的智慧在于:为了追求重用所带来的价值量最大化,
将容易变化的部分封装成扩展点,并辅以回调机制将它 们纳入框架的控制范围之内,从而在兼顾定制开销的同 时,使被重用的设计成果最多。
软件架构设计是跨越现实世界与计算机世界之间鸿沟
的桥梁。
软件架构设计完成了面向业务到面向技术的转换。 软件架构设计是针对需求所做的包含结构、协作、技
MOM ORB类 应用框架 白盒框架
扩展点
中间件框架
框架
黑盒框架
接口
ACE
基础设施框架 技术框架 (水平框架) Hibernate (ORM) 业务框架 (垂直框架) Willow SugarCRM
灰盒框架
白+黑
如何实现框架中的扩展点
技术分类
面向过程编程语言 面向对象编程语言 其他技术(与语言无关)
struct employee { int employee_num; char employee_name[100]; …… } empoyees[100];
int cmp (const void *a, const void *b) { struct empoyee *c = (empoyee *)a; struct empoyee *d = (empoyee *)b; return (c->employee_num) – (d->employee_num); } qsort (empoyees, 100, sizeof(empoyees[0]), cmp);
软件架构设计学习总结(17):架构和框架的区别

软件架构设计学习总结(17):架构和框架的区别7层是框架还是?框架:1、定义:框架(framework)是整个或部分系统的可重⽤设计,表现为⼀组抽象构件及构件实例间交互的⽅法,另⼀种定义为,框架是可被应⽤开发者定制的应⽤⾻架,前者是从应⽤⽅⾯⽽后者是从墓地的⽅⾯给出的定义。
框架是⼀个可服⽤的设计构件,通常以构件库的形式出现,但构架库只是框架的⼀个重要部分,框架的关键在于框架内对象间的的交互模式和控制流模式。
2、框架和构件框架⽐构件可定制性强。
在某种程序上,将构件和框架看成两个不同但⼜彼此协作的技术更好。
框架为构件提供重⽤的环境,为构件处理错误,交换数据及激活操作提供了标准的⽅法。
3、应⽤框架应⽤框架是实现了某应⽤领域通⽤完备功能(除去特殊应⽤的部分)的底层服务。
使⽤这种框架的编程⼈员可以在⼀个通⽤功能已经实现的基础上开始具体的系统开发,框架提供了所有应⽤期望的默认⾏为的类集合。
具体的应⽤通过重写⼦类或组装对象来⽀持应⽤专⽤的⾏为。
4、框架的特点①其实就是某种应⽤的半成品,就是⼀组组件,供你选⽤完成你⾃⼰的系统,⽽且框架⼀般是成熟的,不断升级的软件。
②框架是⼀个可复⽤设计,它是由⼀组抽象类及其实例间协作关系来表达的。
③⼀个框架是在⼀个给定的问题领域内,⼀个应⽤程序的⼀部分设计与实现,也就是说框架是对特定应⽤领域中的应⽤系统的部分设计和实现。
5、为什么要⽤框架因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。
在某些⽅⾯使⽤别⼈成熟的框架,就相当于让别⼈帮你完成⼀些基础⼯作,你只需要集中精⼒完成系统的业务逻辑设计。
⽽且框架⼀般是成熟,稳健的,他可以处理系统很多细节问题,⽐如,事物处理,安全性,数据流控制等问题。
还有框架⼀般都经过很多⼈使⽤,所以结构很好,所以扩展性也很好,⽽且它是不断升级的,你可以直接享受别⼈升级代码带来的好处。
架构1、定义软件架构(software architecture)是⼀系列相关的抽象模式,⽤于指导⼤型软件系统各个⽅⾯的设计,是⼀个系统的草图,描述的对象是直接构成系统的抽象组件。
架构 框架 方法论 区别

架构框架方法论区别架构、框架和方法论是软件开发中常用的概念,它们在软件开发过程中具有不同的作用和意义。
我们来了解一下架构。
在软件开发中,架构是指软件系统的整体结构和组织方式。
它定义了系统的各个部分之间的关系和交互方式,以及系统的整体设计原则和目标。
架构设计的目的是为了确保系统具有良好的可扩展性、可维护性和可靠性。
在架构设计中,我们需要考虑系统的需求、功能、性能、安全等方面的因素,以及选择合适的技术和工具来实现系统的设计目标。
接下来是框架。
框架是一种软件开发的工具或平台,它提供了一系列的类、接口、函数等组件,用于简化和加速软件开发过程。
框架通常是基于某种特定的编程语言或平台开发的,它提供了一套标准化的结构和规范,使开发人员能够更加方便地开发和维护软件。
框架可以提供各种功能和模块,如用户界面、数据库访问、网络通信等,开发人员只需要按照框架的规范进行开发,就能够快速构建出功能完善的软件。
最后是方法论。
方法论是指一种科学的方法和技巧,用于解决特定问题或实现特定目标。
在软件开发中,方法论可以帮助我们规范和优化开发过程,提高开发效率和质量。
常见的软件开发方法论包括敏捷开发、瀑布模型、测试驱动开发等。
不同的方法论适用于不同的开发场景和需求,开发人员可以根据实际情况选择合适的方法论来指导开发工作。
架构、框架和方法论在软件开发中有不同的作用和关系。
架构是系统整体的设计和组织,它定义了系统的结构和关系;框架是软件开发的工具和平台,它提供了一套标准化的组件和规范;方法论是一种科学的方法和技巧,用于指导开发过程和解决问题。
架构和框架的区别在于,架构是从整体上考虑系统的设计和组织,它关注系统的结构和关系;而框架是一种具体的工具或平台,它提供了一套标准化的组件和规范,用于简化和加速开发过程。
方法论和框架的区别在于,方法论是一种科学的方法和技巧,用于指导开发过程和解决问题,它强调的是开发过程和方法的选择;而框架是一种具体的工具或平台,它提供了一套标准化的组件和规范,用于简化和加速开发过程。
软件工程中的软件架构

软件工程中的软件架构软件架构是软件工程中的一个重要概念,它是指软件系统整体结构的设计原则和方法。
软件架构在软件工程中占据重要地位,因为好的软件架构可以提高软件的可维护性、可扩展性和可重用性,从而降低软件开发和维护的成本和工作量。
本文将从软件架构概念、软件架构的作用、软件架构设计和软件架构演化四个方面探讨软件架构在软件工程中的重要性和应用。
一、软件架构概念软件架构是指软件系统的总体结构和组成方式,包括系统的各种组成部分之间的关系、各自的职责和协作方式、接口的定义和规范等。
软件架构通常包括三个要素:元素、连接和限制。
元素指软件系统的各个组成部分,连接指它们之间的联系和跨元素协作方式,限制指对元素和连接的限制和约束,以保证系统的稳定性和可维护性。
二、软件架构的作用1. 提高软件的可维护性软件架构可以提供一种可靠的软件模型,帮助开发人员了解软件系统的整体设计和功能,从而更好地定位和解决软件问题。
软件架构还可以提供设计决策的依据和可交付的成果,使得软件维护人员更容易理解和修改软件系统。
2. 提高软件的可扩展性软件架构可以提供一种可扩展的软件模型,使得软件系统可以更加容易地适应新的需求和变化。
软件架构可以将系统划分为多个组件和模块,每个组件都有独立的职责,这样新的功能可以在不影响原有功能的基础上进行扩展。
3. 提高软件的可重用性软件架构可以提供一种可重用的软件模型,使得软件系统中的组件和模块可以被其他系统和应用程序共享和复用。
软件架构可以将系统划分为多个独立的组件和模块,每个组件和模块都有清晰的接口和职责,这样可以将其作为独立的软件部件,用于构建其他系统和应用程序,从而提高系统的可重用性。
三、软件架构设计软件架构设计是软件工程中的一个重要阶段,目的是根据需求和约束条件设计出软件系统的总体结构和组成方式。
软件架构设计通常包括以下步骤:1. 确定软件系统的需求和约束条件,包括功能要求、性能要求、可用性要求、安全要求、可维护性要求等。
软件构架、架构、框架区别

软件框架(Software Framework)介绍面向某领域(包括业务领域,如ERP,和计算领域,如GUI)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供一系列定义良好的可变点以保证灵活性和可扩展性。
可以说,软件框架是领域分析结果的软件化,是领域内最终应用系统的模板。
随着软件规模的扩大、应用的广泛和软件复用技术的发展,以子程序或类(Class)为单位的软件复用有许多不足:(1)子程序库日趋其庞大以致于使用人员难以掌握,(2)大多数类粒度很小,且其自身往往不能完成有用的功能。
这一问题迫使人们在复用中将一组类(或模块)及其交互作为一个整体来考虑,由此出现了软件框架。
软件框架至少包含以下组成部分:(1)一系列完成计算的模块,在此称为构件。
(2)构件之间的关系与交互机制。
(3)一系列可变点(也称热点,Hot-spots,或调整点)。
(4)可变点的行为调整机制。
开发人员通过软件框架的行为调整机制,将领域中具体应用所特有的软件模块绑定到该软件框架的可变点,从而得到最终应用系统,这一过程称为软件框架的例化(instantiation)。
通过软件框架的使用,开发人员可将主要精力放在应用所特有的模块的开发上,从而大大提高了软件生产率和质量。
软件框架的行为调整机制是指如何针对具体的应用调整该框架的可变部分、如何在可变点加入特定应用模块所采用的方法和规则。
行为调整机制可分为四种:(1)模板参数化。
软件框架提供代码自动生成工具,该工具根据用户设置的参数自动生成所需的代码。
(2)继承和多态。
通过面向对象中的子类继承和重载,在子类中加入新的功能或改变父类的行为。
(3)动态绑定。
在运行时刻动态绑定所需的对象服务,可通过软件模式技术实现。
(4)构件替换。
通过替换框架中可插拔的构件来加入业务特定的功能,不同于一般的可复用软件制品,软件框架的一个显著特点是逆向控制(Inversion of Control),在复用过程中,前者需被显式调用,控制是在应用特定的模块中,软件框架则不然,应用开发人员只要将应用特定的模块绑定到框架内,框架则根据自己的交互机制自动调用该模块,控制由框架负责。
架构、框架、模式、构件、组件、中间件之间区别

1.什么是架构?架构、框架、模式是一种从大到小的关系,也是一种组合关系。
架构一般针对一个行业或一类应用,是技术和应用完美的结合。
框架因为比较小,很多表现为中间件,框架一般是从技术角度解决同类问题,例如J 道数据增删改查框架就解决了所有数据库系统中大量数据增删改查的功能开发,框架是从技术的横切面去解决实际应用问题。
模式则更小了,越小越灵活,可重用的范围更广。
一个框架可能使用了多个模式,而一个架构有可能应用了多个框架,这样一个大型系统的设计基本从主骨干到骨架基本能够被设计者考虑设计到,也可以想见,一个系统被细化成了很多工作量,例如一个部分细化到工厂模式,那么就可以要求程序员实现工厂模式的代码即可。
由此,控制了大型软件质量,也提高开发效率,同时使得项目变得易于管理和协同,由此可见,一个大型项目的架构设计非常重要。
2.什么是框架?框架即framework,是某种应用的半成品,一组组件,供你选用完成你自己的系统。
简单说就是使用别人搭好的舞台,你来做表演。
而且,框架一般是成熟的,不断升级的软件。
3.什么是模式?模式即pattern,就是解决某一类问题的方法论,解决某类问题的方法总结归纳到理论高度,那就是模式。
Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。
通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。
模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。
当一个领域逐渐成熟的时候,自然会出现很多模式。
4.什么是构件?构件(component)是可复用的软件组成成份,可被用来构造其他软件。
它可以是被封装的对象类、类树、一些功能模块、软件框架(framwork)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。
构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件构架、架构和框架的区别nizhigang2000的文章软件框架(Software Framework)介绍面向某领域(包括业务领域,如ERP,和计算领域,如GUI)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供一系列定义良好的可变点以保证灵活性和可扩展性。
可以说,软件框架是领域分析结果的软件化,是领域内最终应用系统的模板。
随着软件规模的扩大、应用的广泛和软件复用技术的发展,以子程序或类(Class)为单位的软件复用有许多不足:(1)子程序库日趋其庞大以致于使用人员难以掌握,(2)大多数类粒度很小,且其自身往往不能完成有用的功能。
这一问题迫使人们在复用中将一组类(或模块)及其交互作为一个整体来考虑,由此出现了软件框架。
软件框架至少包含以下组成部分:(1)一系列完成计算的模块,在此称为构件。
(2)构件之间的关系与交互机制。
(3)一系列可变点(也称热点,Hot-spots,或调整点)。
(4)可变点的行为调整机制。
开发人员通过软件框架的行为调整机制,将领域中具体应用所特有的软件模块绑定到该软件框架的可变点,从而得到最终应用系统,这一过程称为软件框架的例化(instantiation)。
通过软件框架的使用,开发人员可将主要精力放在应用所特有的模块的开发上,从而大大提高了软件生产率和质量。
软件框架的行为调整机制是指如何针对具体的应用调整该框架的可变部分、如何在可变点加入特定应用模块所采用的方法和规则。
行为调整机制可分为四种:(1)模板参数化。
软件框架提供代码自动生成工具,该工具根据用户设置的参数自动生成所需的代码。
(2)继承和多态。
通过面向对象中的子类继承和重载,在子类中加入新的功能或改变父类的行为。
(3)动态绑定。
在运行时刻动态绑定所需的对象服务,可通过软件模式技术实现。
(4)构件替换。
通过替换框架中可插拔的构件来加入业务特定的功能,不同于一般的可复用软件制品,软件框架的一个显著特点是逆向控制(Inversion of Control),在复用过程中,前者需被显式调用,控制是在应用特定的模块中,软件框架则不然,应用开发人员只要将应用特定的模块绑定到框架内,框架则根据自己的交互机制自动调用该模块,控制由框架负责。
软件框架有很多种。
按其应用的范围可分为:(1)系统基础设施框架。
用于简化系统级软件的开发,如操作系统、用户界面、语言处理等,典型例子为MacApp, Microsoft’s MFC等。
(2)中间件集成框架。
用于组装分布式应用和构件,典型例子为Microsoft’s DCOM, JavaSoft’s RMI, OMG’s CORBA等(3)企业应用框架。
用于各类应用领域,如电信、制造业、金融等。
按其表现形态可分为:(1)白盒框架。
支持白盒复用,大型的类库或子程序库通常均提供白盒框架来协助复用。
(2)黑盒框架。
支持黑盒复用。
中间件集成框架一般为黑盒框架。
构架和架构也就是通常所说的软件体系结构(software architecture).体系结构一般包括三个部分:构件,用于描述计算;连接器,用于描述构件的连接部分;配置,将构件和连接器组成一个有机整体.对体系结构比较严谨比较认可的定义可参见<软件工程技术概论>(科学出版社).体系结构与框架(Framework)的区别与联系如下:1.呈现形式不同.体系结构的呈现形式是一个设计规约,而框架则是程序代码.2.目的不同.体系结构的首要目的大多是指导一个软件系统的实施与开发;而框架的首要目的是为复用.因此,一个框架可有其体系结构,用于指导该框架的开发,反之不然.3.有种特殊的体系结构,DSSA(领域特定体系结构)其首要目的也是为了复用.4.有个叫体系结构风格的东西,将它用程序代码实现后就成了Corba,COM之类的东西,它们俩叫体系结构框架,也叫中间件集成框架,又有人愿意叫它对象中间件什么是模式?什么是框架?(简述)――UB (UB5023@)2003-6-6 现在软件设计里到处都是模式,框架。
有次朋友问什么是模式?我也在学习中,就我的学习经验,给出以下小结。
(注意:个人观点,仅供参考,欢迎指正。
)1.什么是模式?模式,即pattern。
其实就是解决某一类问题的方法论。
你把解决某类问题的方法总结归纳到理论高度,那就是模式。
Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。
通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。
模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。
当一个领域逐渐成熟的时候,自然会出现很多模式。
什么是框架?框架,即framework。
其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。
简单说就是使用别人搭好的舞台,你来做表演。
而且,框架一般是成熟的,不断升级的软件。
2.为什么要用模式?因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。
而且会得到解决问题的最佳办法。
为什么要用框架?因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。
在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。
而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。
还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。
框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。
软件为什么要分层?为了实现“高内聚、低耦合”。
把问题划分开来各个解决,易于控制,易于延展,易于分配资源…总之好处很多啦:)。
3. 以下所述主要是JAVA,J2EE方面的模式和框架:常见的设计模式有什么?首先,你要了解的是GOF的《设计模式--可复用面向对象软件的基础》一书(这个可以说是程序员必备的了),注意:GOF不是一个人,而是指四个人。
它的原意是Gangs Of Four,就是“四人帮”,就是指此书的四个作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides。
这本书讲了23种主要的模式,包括:抽象工厂、适配器、外观模式等。
还有其他的很多模式,估计有100多种。
软件设计模式太多,就我的理解简单说一下最常见的MVC模式。
MVC模式是1996年由Buschmann提出的:模型(Model):就是封装数据和所有基于对这些数据的操作。
视图(View):就是封装的是对数据显示,即用户界面。
控制器(Control):就是封装外界作用于模型的操作和对数据流向的控制等。
另外:RUP(Rational Unified Process)软件统一过程,XP(Extreme Programming)极端编程,这些通常被叫做“过程方法”,是一种软件项目实施过程的方法论,它是针对软件项目的实施过程提出的方法策略。
也是另一个角度的模式。
4. 常见的JAVA框架有什么?WAF:全称:WEB APPLICATION FRAMEWORK主要应用方面:EJB层,(WEB层也有,但是比较弱)。
主要应用技术:EJB等出处:/blueprints/code/index.html简述:这是SUN在展示J2EE平台时所用的例子PetStore(宠物商店系统)里面的框架。
是SUN 蓝皮书例子程序中提出的应用框架。
它实现了MVC和其他良好的设计模式。
SUN的网站上有技术资料,最好下载PetStore来研究,WEBLOGIC里自带此系统,源码在bea\weblogic700\samples\server\src\petstore。
这是学习了解J2EE的首选框架。
免费。
Struts:主要应用方面:WEB层。
主要应用技术:JSP,TagLib,JavaBean,XML等出处:/struts/index.html简述:这是APACHE的开源项目,目前应用很广泛。
基于MVC模式,结构很好,基于JSP。
Jbuilder8里已经集成了STRUTS1.02的制作。
免费。
简述WAF+STRUTS结合的例子:WEB层用STRUTS,EJB层用WAF:JSP(TagLib)――>ActionForm――>Action ――>Event――>EJBAction――>EJB ――>DAO――>DatabaseJSP(TagLib)(forward) <――Action <――EventResponse<――Turbine:主要应用方面:WEB层。
主要应用技术:servlet等出处:/turbine/index.html简述:这是APACHE的开源项目。
基于SERVLET。
据说速度比较快,基于service(pluggable implementation可插拔的执行组件)的方式提供各种服务。
免费。
COCOON:主要应用方面:WEB层。
主要应用技术:XML,XSP,servlet等出处:/2.0/简述:这是APACHE的一个开源项目。
基于XML,基于XSP(通俗地说,XSP是在XML静态文档中加入Java程序段后形成的动态XML文档。
)。
特点是可以与多种数据源交互,包括文件系统,数据库,LDAP,XML资源库,网络数据源等。
免费。
ECHO:主要应用方面:WEB层。
主要应用技术:servlet等出处:/products/echo/简述:nextapp公司的一个开源项目。
基于SERVLET。
页面可以做的很漂亮,结合echopoint,可以作出很多图形效果(里面用了jfreechart包)。
使用SWING的思想来作网页,把HTML 当作JAVA的类来做。
但是大量使用Session,页面分帧(Frame)很多,系统资源消耗很大。
免费。
JATO:全称:SUN ONE Application Framework主要应用方面:WEB层。
主要应用技术:JSP,TagLib,JavaBean等出处:简述:这是SUN推出的一个商业性框架,一看名字就知道是结合SUN ONE的平台推出的。
我下载了JATO2.0看了一下,感觉有些简单,使用了JSP+TagLib+JavaBean。
如他的DOC所说JATO是适合用在小的WEB应用里。
免费。
TCF:全称:Thin-Client Framework主要应用方面:JAVA GUI。
主要应用技术:JAVA application等出处:/tech/tcf简述:这是IBM出的一个框架。
基于MVC模式,基于JAVA Application。