申请免费试用、咨询电话:400-8352-114
Kmpro系统为了适应快速定制开发的需求,采用了
MVC(Model View Controller)模型-视图-控制器架构,从根本上强制性的将数据和表现分开。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
视图是用户看到并与之交互的界面。对老式的
Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.
如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型表示企业数据和业务规则。在
MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击
Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
采用MVC模式,可以很好的实现系统的可扩展性和快速开发,因为
MVC模式具备以下优点:
低耦合性。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动
MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
高重用性和可适用性。随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。
MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
较低的生命周期成本。MVC使降低开发和维护用户接口的技术含量成为可能。
快速的部署。使用
MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
可维护性。分熟视图层和业务逻辑层也使得
WEB应用更易于维护和修改。
利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。
在
API方面,泛普软件通过以下方式完成对其他系统的对接与调用。
Web Service:Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
RPC:远程过程调用
(RPC) 是一种协议,程序可使用这种协议向网络中的另一台计算机上的程序请求服务。由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。
JDBC:JDBC(
Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序.
常用接口节选
热点知识列表
接口名称
|
热点知识列表
|
|
输入
|
参数1:维度ID 参数2:条目数量
|
参数1可为空,参数2默认为10条
|
输出
|
知识列表
|
|
实现方式
|
Web Service,RPC
|
|
典型场景
|
首页热点知识列表
|
|
备注
|
|
|
最新知识列表
接口名称
|
最新知识列表
|
|
输入
|
参数1:维度ID 参数2:条目数量
|
参数1可为空,参数2默认为10条
|
输出
|
知识列表
|
|
实现方式
|
Web Service,RPC
|
|
典型场景
|
首页热点知识列表
|
|
备注
|
|
|
维度列表
接口名称
|
维度列表
|
|
输入
|
参数1:上级维度ID
|
参数1可为空
|
输出
|
维度列表
|
|
实现方式
|
Web Service,RPC
|
|
典型场景
|
首页维度列表
|
|
备注
|
|
|
最新征询问答列表
接口名称
|
最新征询列表
|
|
输入
|
参数1:条目数量
|
参数1默认为10条
|
输出
|
知识列表
|
|
实现方式
|
Web Service,RPC
|
|
典型场景
|
首页热点知识列表
|
|
备注
|
|
|
知识搜索
接口名称
|
知识搜索
|
|
输入
|
参数1:搜索范围
参数2:搜索条件
|
参数1可为空,参数2默认为10条
|
输出
|
知识列表
|
|
实现方式
|
Web Service,RPC
|
|
典型场景
|
首页搜索栏
|
|
备注
|
|
|
高级知识搜索
接口名称
|
知识搜索
|
|
输入
|
参数1:搜索范围
参数2:搜索条件(多项)
参数3:搜索逻辑
|
参数1可为空,参数2默认为10条
|
输出
|
知识列表
|
|
实现方式
|
Web Service,RPC
|
|
典型场景
|
首页搜索栏高级搜索
|
|
备注
|
|
|
知识库资产量统计
接口名称
|
知识库资产量统计
|
|
输入
|
参数1:统计日期范围
|
|
输出
|
知识库资产统计
|
|
实现方式
|
Web Service
|
|
典型场景
|
系统统计页面
|
|
备注
|
|
|
知识库使用率统计
接口名称
|
知识库使用率统计
|
|
输入
|
参数1:统计日期范围
|
|
输出
|
知识库使用率统计
|
|
实现方式
|
Web Service
|
|
典型场景
|
系统统计页面
|
|
备注
|
|
|
用户信息接口
接口名称
|
用户信息接口
|
|
输入
|
用户ID
|
|
输出
|
用户基本信息,最新状态
|
|
实现方式
|
Web Service
|
|
典型场景
|
个人信息页面
|
|
备注
|
|
|
|