在开始学习之前,您需要掌握以下基本技能:
- Eclipse使用
- JAVA和J2EE基础知识
本博客将会讲述以下内容:
- NC产品入门,本章旨在为那些对NC尚不了解的新进人员就NC的大体形态做个简单的讲解,以便对NC产品有个简单的认识,并学习到与NC产品客户化开发有关的产品知识。
- 开发环境搭建,本章是为第一次使用NC-UAP开发的人员做准备,达到迅速的安装和搭建NC环境。
- NC技术框架简介,本章您将会学习NC技术框架理论概念,通过学习示例代码掌握VO、远程接口等概念。
- NC数据库持久化技术。
1. NC产品入门
1.1. 课程内容
第一次使用NC,需要首先安装一个数据库环境,这个数据库环境中指定了NC所要使用的表空间;再按照NC产品的安装使用说明安装NC产品;然后利用NC产品系统管理所提供的建账功能建立NC产品的系统表、视图、索引等,并预置系统初始数据完成NC应用环境的安装。在NC环境安装完成后还需要对系统进行初始化,包括参数,组织结构,权限,基本档案的建立,这样一个系统才算真正可以使用。
1.2. 实例讲解
1.2.1. 建立数据库
在数据库服务器(Oracle,MS SQLServer,DB2)中新建一个空数据库,并执行数据库脚本建立NC产品所需的表空间,不同的数据库使用的脚本不一样(正式安装盘下有安装说明),以Oracle为例:其数据文件存放在D:\ oracle\data 下,那么数据库脚本为:
CREATE TABLESPACE NNC_DATA01 DATAFILE 'D:\oracle\data\nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ; CREATE TABLESPACE NNC_DATA02 DATAFILE 'D:\ oracle \data\nnc_data02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ; CREATE TABLESPACE NNC_DATA03 DATAFILE 'D:\ oracle \data\nnc_data03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K ; CREATE TABLESPACE NNC_INDEX01 DATAFILE 'D:\ oracle \data\nnc_index01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ; CREATE TABLESPACE NNC_INDEX02 DATAFILE 'D:\ oracle \data\nnc_index02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ; CREATE TABLESPACE NNC_INDEX03 DATAFILE 'D:\ oracle \data\nnc_index03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ; CREATE USER NC5X IDENTIFIED BY NC5X DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp; GRANT connect,dba to NC5X;
以Sql-Server文件组为例:其数据文件存放在D:\sql\data 下,那么数据库脚本为:
USE master; go IF DB_ID (N'nc5X') IS NOT NULL DROP DATABASE [nc5X]; go CREATE DATABASE [nc5X] go ALTER DATABASE [nc5X] ADD FILEGROUP [NNC_DATA01] go ALTER DATABASE [nc5X] ADD FILEGROUP [NNC_DATA02] go ALTER DATABASE [nc5X] ADD FILEGROUP [NNC_DATA03] go ALTER DATABASE [nc5X] ADD FILEGROUP [NNC_INDEX01] go ALTER DATABASE [nc5X] ADD FILEGROUP [NNC_INDEX02] go ALTER DATABASE [nc5X] ADD FILEGROUP [NNC_INDEX03] go ALTER DATABASE [nc5X] ADD FILE(NAME = N'nnc_data01', FILENAME = N'D:\sql\data\nnc_data01_Data.NDF' , SIZE = 20, FILEGROWTH = 20) TO FILEGROUP [NNC_DATA01] go ALTER DATABASE [nc5X] ADD FILE(NAME = N'nnc_data02', FILENAME = N'D:\sql\data\nnc_data02_Data.NDF' , SIZE = 20, FILEGROWTH = 20) TO FILEGROUP [NNC_DATA02] go ALTER DATABASE [nc5X] ADD FILE(NAME = N'nnc_data03', FILENAME = N'D:\sql\data\nnc_data03_Data.NDF' , SIZE = 20, FILEGROWTH = 20) TO FILEGROUP [NNC_DATA03] go ALTER DATABASE [nc5X] ADD FILE(NAME = N'nnc_index01', FILENAME = N'D:\sql\data\nnc_index01_Data.NDF' , SIZE = 20, FILEGROWTH = 20) TO FILEGROUP [NNC_INDEX01] go ALTER DATABASE [nc5X] ADD FILE(NAME = N'nnc_index02', FILENAME = N'D:\sql\data\nnc_index02_Data.NDF' , SIZE = 20, FILEGROWTH = 20) TO FILEGROUP [NNC_INDEX02] go ALTER DATABASE [nc5X] ADD FILE(NAME = N'nnc_index03',FILENAME = N'D:\sql\data\nnc_index03_Data.NDF' , SIZE = 200, FILEGROWTH = 100) TO FILEGROUP [NNC_INDEX03]
1.1.1. 安装NC产品
该步骤的目的是建立NC测试服务器,并利用它建表,并初始化数据表。运行NC5X标准金盘中nc_uap目录下的ncsetup.bat文件,进入安装向导:
点击【下一步】按钮,进入版权申请页面:
选择同意后,点击【下一步】按钮,进入选择安装目录页面:
录设置完成后,点击【下一步】按钮,进入选择安装产品页面:
选择客户化模块后,会将下面所有的功能都选择上,点击【下一步】按钮,进入安装页面后,点击【开始安装】按钮后进行产品的安装:
选择第三方中间件。如果不选择第三方中间件,则默认使用NC自带中间件,直接点击【下一步】按钮:
点击【完成】按钮,完成安装:
执行完此向导后,可以在你指定的NCHome目录中看到如下图所示文件和文件目录
注意:
1、 NC产品很多,如UAP、FI、SCM等,但在安装产品时一定要先安装UAP;
2、 在安装其他产品时一定要安装在UAP产品安装时所指定的NCHome目录下;
1.1.1. 产品主要目录结构介绍
- ierp/bin: 与整个产品相关的配置文件都存放在该目录,如日志配置文件logger-confing.properties;
- modules: NC产品模块存放的目录,下面的所有模块在系统启动时得到加载;
- modules/<模块名>: 某个模块的目录,模块名必须是小写的英文字母,在能表达意义的基础上尽量的短;
- modules/<模块名>/META-INF/module.xml: 必须存在,配置模块的一些通用属性,如名称,描述,classloader等,注意名称必须与模块名称同名;
- modules/ <模块名>/lib: 模块公开的API类,如接口,接口相关的VO等,放JAR包;
- modules/ <模块名>/classes:模块公开的API类,如接口,接口相关的VO等,放带目录的.class文件等,用于补丁;
- modules/ <模块名>/META-INF/lib: 模块私有的代码,如DMO, 业务实现等,放JAR包;
- modules/ <模块名>/META-INF/classes:模块私有的代码,放带目录的.class文件等,用于补丁;
- modules/<模块名>/client/lib:客户端用到的代码,放JAR包;
- modules/<模块名>/client/classes:客户端用到的代码,放带目录的.class文件等,用于补丁;
- modules/<模块名>/extension/lib,classes: 用于二次扩展的公开的API;
- modules/<模块名>/extension/META-INF/lib,classes:用于二次扩展的私有的API;
- webapps/nc_web:NC产品的web应用;
- hotwebs: 下面放其他的web应用,如hrss, lfw等;
- resource: 存放与整个产品相关的资源,如产品的多语资源;
- lib, external, framework、middleware: 由平台维护和提供的类库,不允许第三方调整;
- ncscript:存放在系统管理中创建账套表、视图、索引及初始化系统数据的脚本;
- nclogs:下存放日志文件(系统运时才会创建);
- ejb:通过ncSysConfig.bat中的EJB布署形成的ejb文件;
- ejbXMLs: 通过ncSysConfig.bat中的EJB布署形成的ejb配置文件;
1.1.2. 配置NC系统
在安装所指定的NCHome目录下的BIN 目录下运行ncSysConfig.bat。
- 1)首先需要建立数据源,如下图:
- 2)修改服务器端口,可以在server页签修改web服务器的端口
3)日志文件输出级别的设置,可以在Log页签修改日志输出级别(说明:此功能需要在中间件已经启动的情况下才能设置)。
- 4)EJB部署,在Deployment页签进行EJB部署(必要步骤)。
- 5)启动NC自带的中间件,方法是在上面的NCHome目录中双击startup.bat,中间件即可启动,完全启动界面如下(请注意NC使用中,此中间件不能关闭。):
- 6)利用IE作为客户端登陆,在地址栏输入http://127.0.0.1/login.jsp,即可看到下面的界面:输入用户名root,密码为空,登陆到系统管理帐套中
点击“登录”后如下图所示:
- 7)帐套管理里面新建帐套,并设置账套管理员信息
- 8)点击上图中的帐套管理页面的“升级帐套”按钮,开始进行数据表、视图、索引的建立和系统数据初始化,选择需要创建和初始化的模块,如下图所示:
- 点击下一步进行数据表、视图、索引的创建和系统数据的初始化,如下图:
9)至此,NC数据环境已准备好。注销后用账套管理员再次登陆到所建“学习帐套”,即进入了真正的NC应用系统,如下所示:
1.1.1. 产品参数、档案设置
利用NC-UAP进行开发的时候并不是做一个单据,报表就可以运行的,NC作为一个ERP软件,需要对系统进行一些初始化才可以正常运行,主要是对组织机构,人员,权限,会计期间,参数,档案的初始化。(本节只对这些设置进行简单描述,详细介绍可参考相应产品手册,比如基本档案)。
- 参数
在 NC 管理软件中,参数设置平台管理系统所有的参数,并对参数按实际需要进行逐级分配,实现既能统一控制,又能满足单位灵活运用。参数包括公共参数和业务参数,以集团进入还是以公司进入看到的参数设置界面内容是不同的。主菜单中双击【客户化】-【参数设置】
- 币种(必须设置的参数是集团本位币)
对于全集团用到的币种在本功能中进行设置。总公司或上级单位确定集团公司或所属下级单位使用的全部币种,包括本位币。币种设置完成后,集团公司所有内部单位还需在各自单位账中录入相应的主辅币信息及汇率信息,待这些信息录入完毕后,方能在日常业务使用的这些币种。在主菜单中双击【客户化】-【基础数据】-【币种】,系统将弹出界面。属于集团档案 。
- 会计期间方案和会计期间
会计期间方案用来定义账套拥有的会计期间数目,然后为每个期间方案定义一套会计期间。在主菜单中双击【客户化】-【基础设置】-【会计期间】会计期间节点用来定义账套的会计月度和会计季度。启用多账簿的情况下会计期间按照会计期间方案分别进行设置。
- 公司目录
公司目录用于定义集团公司所有公司的基本信息、联系信息,包括公司编号、名称、联系方式等相关信息,并确定分子公司之间的关系。以公司身份登陆后,只能查询。在主菜单中双击【客户化】-【基础数据】-【公司目录】
- 建公司帐
新建公司账是为已经存在公司目录中的公司建账、增补系统模块,以便初始化业务数据及业务参数,已建账的公司才能处理有关业务。新建公司账还可为已建账公司增补功能节点。
在主菜单中双击【客户化】-【建公司账】-【新建公司账】
- 基本档案
在基本档案节点为集团和公司建立基本信息,以便于业务系统使用,包括部门、人员、库存、自定义项、组织机构、财务信息、业务信息、制造信息等等。除少数几个档案只能在集团增加外,其他档案受集团参数设置节点的【客户化】中的【基本档案】参数决定,为“是”公司和集团均可增加档案内容,为“否”则公司不能增加。
常见的档案添加比如:部门档案在公司增加,人员类别在集团,人员档案在公司。具体档案初始化参考基本档案产品手册,不一一介绍。
1.1.1. 权限管理
NCV5.0权限管理与之前版本最大的区别在于在权限管理中引入了“角色”概念。先规划好各种角色并分配权限,再将用户与角色关联起来,将角色作为桥梁把“用户”和“权限”连接起来。换句话说就是:通过规划好各种角色先将用户分类,再为各类用户分配权限。
资源权限控制界面用来为当前登录公司以及当前登录公司的下属公司启用按钮权限控制和数据权限控制。
NC系统中的权限由三个部分构成,分别为功能权限、数据权限和按钮权限。功能权限是指节点的查看和打开的权限;数据权限是指档案的参照权限,而按钮权限是只指各个界面上按钮的查看和使用权限。如果不启用权限控制,则不需要分配权限,系统默认角色具有所有权限;启用权限控制后,可以为具体的角色分配具体的权限。NCV5.0系统默认启用了功能权限控制,且该设置不可修改;数据权限和按钮权限的权限控制默认为不启用状态,但可在本界面对设置进行修改。
在用户管理界面可以为当前登录公司以及当前登录公司的下级公司增加用户,还可以为在这些公司创建的用户委派角色。用户必须被委托角色才有相应权限
角色管理的界面如图所示。角色管理节点用来为当前登录公司以及当前登录公司的下属公司创建角色,将创建的角色分配给下属公司以及为角色关联用户。
权限分配的界面如图所示。权限分配节点用来为当前登录公司和当前登录公司下属公司的角色分配功能权限、按钮权限以及档案的数据权限。
经过以上操作可以为公司建立角色,用户,并赋予相应权限。深入的权限管理参考权限管理产品手册。