不为失败找借口,只为成功找方法!
分类: SQLServer
2014-05-29 20:08:18
服务器端: 安装内容
在SQL Server中安装账套模板数据库(SKMaster)
在SQL Server中安装业务和主财务数据库(ST_CCERP)
服务控制台
JDK 1.4
Tomcat
CCERP Web服务
创建ODBC数据库连接(服务控制台中使用)
数据源名:st_ccerp
设置环境变量(Tomcat需要使用该变量)JAVA_HOME
添加快捷方式到 开始菜单中的 CCERP 服务和 启动组
服务控制台 和 启动Web服务
以上安装项的关系
Tomcat 和 JDK 1.4
JDK 1.4提供Java运行环境,Tomcat需要使用JDK
Tomcat 和 CCERP Web服务
CCERP Web服务需要在Tomcat环境中运行
注意事项
Web服务参数
Web服务的配置参数在[shikong.properties]配置文件中。
文件位置:[安装目录]\SKWebService\Tomcat\webapps\ROOT\WEB-INFO\classes目录下。
该配置文件为一个文本文件,用记事本打开即可修改。示例如下:driver=com.inet.tds.TdsDriver #JDBC驱动(不能修改)。
ccerp.url=jdbc:inetdae7:localhost:1433?charset=gbk&database=st_ccerp #数据库连接。
ccerp.user=sa #数据库登录用户名。
ccerp.password= #数据库登录密码。
ccerp.maxconn=100 #最大链接数,当链接数超出时,WEB将不能使用。
ccerp.normalconn=2 #一般链接数,保持一个正常的链接数。可根据用户的网络环境设定。
conntimeout=3000 #数据库连接超时,默认为3000毫秒(即3秒),可根据用户的网络环境设定。
debug=false #显示错误信息(是true、否false)。
mailhome= C:/SKWebService/mailhome #OA系统的邮箱存储位置。
pagesize=15 #页面大小(不用修改)。
addresssize=10 #地址大小(不用修改)。Web服务端口的配置参数在【server.xml】配置文件中。
文件位置:【安装目录】\SKWebService\Tomcat\conf\server.xml下。
主要修改的就是里面这一句的“port”的值:<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
客户端:
安装内容
系统控制台
BDE
BDE连接别名设置
SKMaster - 连接到SKMaster数据库
SKLink - 连接到ST_CCERP数据库
创建ODBC数据库连接(数据交换中使用)
数据源名:st_ccerp
创建Web服务的快捷方式
BDE数据源连接
BDE作用:应用程序通过BDE访问数据库。
打开位置:控制面板 ——> BDE Administrator
链接名: SKLINK
TYPE: MSSQL #数据源类型
BLOB SIZE: 1024 #BLOB大小,建议1024的倍数
BLOB TO CACHE:1024 #BLOB缓冲,建议1024的倍数
Database Name :ST_CCERP #数据库名
Server Name :shikong #服务器名
User Name :SA #用户名
注:已经在安装客户端程序时创建。
表单的创建原理:表单是一个通道,因此在表单正式为用户提供信息服务之前需要完成通道的创建,表单的创建原理基本分为两部分(总体示意如下图):
一部分是表单的开发部分,该部分主要是遵循表单研发流程,并利用系统提供的表单开发工具,进行表单的研发,最终的成果存放于应用方案集合当中,用于承载表单应用方案的数据表有BILLZL表以及BILLIMG表,一个应用方案能够被用户通过前端门户调用,还需要经过应用注册、权限分配以及菜单定制等工序。
第二部分为表单使用部分,当用户通过门户发出对某表单调用的指令后,前端门户(或IE)将向远程表单解析服务提出请求,表单服务接到服务请求后提取表单方案,并经过各种安全策略校验通过后对表单方案进行必要的解析,然后返给前端门户,前端门户收到表单展现方案后将表单以页面的形式展现在预设的区域当中,从而完成通道建立的过程。
表单的数据逻辑:表单是一个通道,其对内部流动的数据需要按照一定的规则处理以确保整个传递过程的方便、高效、安全,从而形成了表单的基本数据逻辑。表单的数据传递是双向进行分层处理。数据库层与表单展现层做数据滞留存放,表单解析层不作存放,但进行数据的转换处理。(总体示意见下图)
数据库层面数据的存放依赖数据库管理系统的数据表,表单展现层数据的存放依赖数据集合,数据集合是一个存放在内存中的二维格式数据块,围绕每一个数据集合提供了大量的对数据进行操作、检索、处理的方法,数据集合本身不能显示,只是起到集中存放数据的作用,其与外界进行交往需要通过控件来完成,一方面它为控件提供显示的信息,另一方面控件将收集的信息存放在数据集当中。数据集合当中的数据一方面来源于界面控件对用户数据的收集,另一方面来源于表单解析传来的数据包,数据集合与表单解析之间传递的数据包是经过严格的加密压缩的,以实现传输过程中的安全以及高效要求。
表单数据的提交通用不需要关心界面控件,只需要将数据集合提交给表单解析,然后按照规则表单解析服务将数据加工处理,并存入数据库当中。
表单的存储逻辑:表单存盘逻辑作用于表单数据提交环节,表单的提交以数据集合提交为基础,配合数据库存储过程来完成,整体提交逻辑以固定的流程进行,开发时需要依据这一固定流程灵活运用开关项以及数据库存储过程,以达到处理逻辑的需要。
表单提交大致分为四个环节:
1、 将所有数据集合提交到临时表:表单解析服务将扫描表单包含的所有数据集合逐个执行提交,当表单设计中为数据集合指定了临时表,表单解析服务将当前数据集合中的数据提交到对应的临时表当中(具体规则遵循同名字段复制的办法)。
2、 调用存储过程:如果表单方案指定了存储过程,表单解析服务将直接调用存储过程,以完成对临时数据的处理。一个表单只能定义一个调用的存储过程。
3、 将所有数据集合提交到目标表:表单解析服务将扫描表单包含的所有数据集合逐个执行提交,当表单中定义了存储的目标数据表,表单解析服务依据同名字段复制的原理将数据集合中的数据复制到目标表中,系统允许为每一集合指定多个存储表,系统将顺序执行提交。
4、 该环节与第一环节相关,如果表单中为某数据集合定义了临时表,系统服务将自动清除各临时表中的数据。
整体提交过程在统一数据库事务中完成,以确保数据的完整性。
注:表单解析服务直接往数据表中保存数据都是依据数据集合中的数据,因此如果想将过程处理过的临时表中数据提交到正式表中需要在过程中直接添加编辑语句来完成。
表单的驱动机制:表单的引入根本目的之一在于改善现有开发环境,降低应用开发的技术门槛,从而使更多的人能够参与信息系统的建设,因此在平台开发过程中降低开发难度是一个很重要的目标,但难度的降低必须以不伤害应用需求为前提,所以整个平台必须能够照顾到各类复杂需求对平台的要求,因此表单中特意引入了脚本的概念,以满足复杂应用的需求,表单中脚本都以函数(即一小段代码块)的形式存在,函数的主体语法采用JavaScript语法规则,函数根据作用范围采用分级管理,以满足不同层面的需要,函数大致分为三级:
1、 平台函数:作用范围为整个表单运行平台,其为系统平台内嵌,由技术研发时预设,开发者可以随意直接引用,常用于一些与具体应用无关的计算或处理。
2、 公共函数:公共函数常常作用于一类应用,如人力资源部分的公用函数、移动商务部分的公共函数,其为共享代码,可以被表单申明引用后调用。这类函数属产品研发级函数,主要用来代码共享,避免重复而立,独立开发存放在数据库当中。
3、 表单函数:表单函数是最基层函数,作用范围为表单自身,用于特殊应用的实现,表单函数存放在表单体内,无需引用,直接调用。
由于表单的主体逻辑由系统平台自身解释执行,因此函数如何参与到表单的运行逻辑当中是嵌入脚本需要解决的一个问题,表单对嵌入脚本的使用是通过事件驱动的方式来实现,即,在表单系统自身逻辑中安插大量事件检查点,表单开发时允许开发者将开发好的函数挂接在每个事件下面,系统解析运行时,每执行到一个事件位置,会自动检查该事件是否被赋以处理函数,如果赋了则先调用执行该函数,判断执行状态,决定是否继续往下执行。
整个机制称为事件驱动机制。常用的事件如:表单打开、关闭、提交存盘;控件的单击、双击、按键;数据集合的记录滚动、插入、删除等。