(1)提高开发过E规范化、可视化E度Q?/span>
(2)使得pȝl护变得极ؓҎQ基本编E由原来的代码编写{为参数设|;
(3)增强对异构系l的兼容性?/span>
应用框架q_采用典型的多层结构,在用戯问和数据库之间有业务应用层,对应用层的设计充分考虑C下因素:
(1)pȝ的内聚和耦合度;
(2)层次的独立性:
(3)单用,极少的代码量Q?/span>
(4)易于升和Q意扩充性;
(5)多ƈ发环境下能快速响应?/span>
pȝl构是一个典型的分布式运行环境,h极强的扩展能力,应用框架q_几乎不对q行环境有Q何特D的要求Q系l的扩展能力只受到所采用的操作系l、数据库理pȝ、应用服务器的限Ӟ应用服务器也可以分布在不同的讑֤上,以达到负载均衡?/span>
(1)数据讉K层:
①应用框架^台数据访问层是一个独特的设计Q它成ؓ业务逻辑和数据实体之间的桥梁和隔MQ业务逻辑q不兛_数据是如何存攄Q也不关心如何获取这些数据,它只需要从相应的数据描q表中得到数据的逻辑表示p构造出W合实际业务需要的逻辑关系。数据访问层的存在得数据库对应用来讲是透明的,数据库管理系l可以是SQLSERVER?/span>ORACLE?/span>DB2{各U主数据库Q这些数据库存放的位|也可以一二不兛_Q他们用到的操作pȝ也可以是市场上流行的各种L操作pȝQ他们可以是单机Q也可以是一个群集系l,q完全由业务的扩展需要所军_?/span>
②应用框架^台数据访问层q实CWEB环境下数据的扚w修改Q整体提交,辑ֈCQ?/span>Sl构下的效果。它q能提供增量提交Q得网l上数据的传输量最,极大地减对服务器的压力?/span>
③数据访问层能支持各U数据库的访问方式?/span>
(2)T作流引擎服务?/span>
工作引擎服务器是应用框架^台框架^台的基础构g之一Q它是一个包含了所有工作流信息的可q行的程序,它可以独立运行在服务器上Q是否需要这样作军_q发用户和工作流的复杂性和数量?/span>
(3)业务规则引擎服务?/span>
业务规则的独立是应用框架q_框架q_的主要特色之一Q它是保证业务重用的重要手段之一Q比如,在一个应用程序中Q在很多地方需要输入个人的w䆾证号码,按传l的办法在每个业务处理的地方都需要编制对录入数据的校验,有时在一个承的开发环境下Q同L业务规则会因不同的h员的~写而生不同的表现效果Q也增加了开发的工作量,E序的可靠性会降低Q而复杂性则会增加。业务规则可以是很复杂的业务校验法Q也可以是非常简单的拼写查。它不但可以从当前的数据记录中进行比较和计算Q还可以从其他数据来q行业务规则的判断?/span>
(4)安全引擎
安全引擎提供了完全的数据安全机制Q应用框架^C但能控制用户能干什么,q能控制用户能看C么样的数据。这L安全引擎能解决用户对安全问题的所有关心?/span>
(5)业务处理
独立的业务层处理是应用框架^台的最重要特点之一。我们知道,M一个业务是独立存在的,q不随数据库、开发工兗选用q_的变化而变化,那么怎样把业务独立抽象出来,是h们在解决实际应用问题旉到的一个非常棘手的问题Q而应用框架^台的多层业务解决Ҏ能很好地解决q个问题Q它是有业务逻辑、业务展现、业务对象、业务规则和讉K控制权限有机协调构成的?/span>
(6)数据d
①用户对数据的访问需要根据数据的相关性能很方便地从一个数据的讉K转到对另一个数据的讉K。数据钻取是必不可少的功能,我们的业务处理的独特机制使得实现数据d的功能非常方便,开发者无需~写一行程序?/span>
②数据钻取功能提供了数据转移的线索,只要愿意Q可以生没有钻取数限制的数据查询能力。这寚w些想Ҏ据的来源q行了解的业务应用非常有帮助?/span>
(1)真正的工作流提取Q在以前用开发工具开发数据库应用E序的时候,一般只把数据库的操作语句描q进行了提取Q它可以被重用,但在q个层面上开发工h有做更多的工作,比如讉K权限的控制、代码字D늚理、规则的处理{。所有这些工作将与特D的界面逻辑联系在一P也就是说界面逻辑处理了本w不属于它处理的内容Q造成了界面逻辑无法重用Q增加了开发的隑ֺ和工作量Q更主要的是增加开发系l维护的隑ֺ和客户化的工作量?/span>
(2)真正的面向框架的开发^収ͼ应用框架q_内置了各U应用框Ӟ包括pȝ架构、权限、报表、规则处理、菜单、屏q、组l机构等Q把开?/span>WEB应用需要的各种模块全部以框架的形式抽象出来Q一斚w化开发者的开发工作,另一斚w允许开发者在框架之内q行调整以满特定应用的需要?/span>
(3)分层的组件复用技术:对开发一?/span>WEB应用pȝ时按照面向应用组件的方式把应用系l的设计从数据层、业务逻辑层、业务展现层、业务对象层Q再到屏q布局Q完全实现组件的可重用性。第一层ؓ应用界面层、第二层Z务层、第三层为数据层。在不同层之间实C完全的组仉用技术,如一个数据表可以实现很多个业务组Ӟ而同一个业务组件又可以有很多种不同的视图方式?/span>
(4)100Q源代码生成和^台无x:应用框架q_Ҏ定义生成的是100Q的源程序,q可以被~译工具~译生成完全可以独立于应用框架^台环境运行的可执行文Ӟ从而能充分发挥成熟q_的性能Qؓpȝ的扩展性提供了最好的保障?/span>