EASLicense实施支持指南1.License基本知识及使用指南1.1重要概念packageName:包名,在业务中是指每个业务功能所对应的全路径名。实际上具体是说当在EAS中打开一个界面时,每个界面都会有一个包名,此包名用来表明各个业务功能的归属和彼此之间的关系。申请License是根据包名所对应的模块来进行申请的。ModuleName:模块名称,一些相关业务功能组合在一起形成一个模块。此模块下面可能包含很多不同的业务功能包。模块和包的关系是1:n的关系。当每个界面申请license时,实际是申请对应的模块的license。Session:会话,一个Session代表一个客户端到服务端的链接。Session和ModuleName之间的关系是N---N的关系。尤其要注意一个用户在多台机器上登录的场景。License扣减原理:客户打开一个功能界面-功能界面发送申请license请求-判断此界面的属性(是否无限制)-获取此界面对应的模块-判断模块的license数量-扣减模块的可用license数量-打开功能界面。(说明:站点数的计算以一个连接打开多少个模块来进行计算)1.2新旧license策略比较EASLicense根据策略的处理可以划分为两个大阶段:5.2.0版本前:单个license文件,每个EAS服务器有且只能存在一个license文件(server/deploy/目录下),没有正式license和试用license的区分。如果没有license文件或者license文件不正确,则认为是试用版本,试用期过期的判断和每个帐套相关,判断的标志是此帐套中总帐是否过三期,总帐过三期后所有的模块均不能使用,必须申请正式的license才能使用。此种策略控制方式存在着很多问题,由于EAS模块的独立性越来越来强,如HR人力资源模块,这说明我们EAS有能力满足客户分模块购买的需求的同时,也带来了新的问题――没有购买总帐模块的不能有三期的试用期。5.2.0版本后:多个license文件,每个EAS服务器可以存在多个license文件(通过管理控制台导入),并且区分试用版本license文件和正式版本license文件。一些公用信息单独保存在配置文件中,灵活通过配置文件和多个license文件来进行各种license需求的管理。5.2.0版本的license管理兼容5.1版本的license文件。1.3license文件的申请EAS安装盘中提供一个缺省的试用license文件,第一次打开管理控制台的时候会自动导入此试用版本的license文件,主要是满足急需安装EAS又不能马上申请到license文件的情况以及演示和试验使用。随安装包的license只作了时效的限制(初次导入3个月后过期),模块包括了EAS所有的模块,每个模块的站点数为3个站点(可能会有改动)。如需某个模块更多的站点数或者需要申请正式的license文件,请直接到申请页面进行申请。可以申请站点数更多的试用版本或者正式版本。如果对申请的要求和具体事宜有疑问,请直接联系总部生产部进行咨询。1.3License安装说明EASLicense安装:EAS520以前版本的license安装相对简单,直接将申请的license文件拷贝到服务端安装目录(server/deploy)下即可,无须任何其他操作EAS520以后版本的license安装,license文件由管理控制台导入,可以修改license文件(许可证)的名称(实际上这是个别名),文件路径是指申请的license文件的放置路径,导入后统一复制一份放在/Server/server/deploy/licenses路径下。管理控制的license文件管理如图1所示。图一导入license文件后检查特征码是否匹配,如果出现特征码不匹配的情况,管理控制台会给出相关信息。只有特征码匹配的license文件才能正确被license服务器识别。如下图图二所示:图二选择每个license文件,会自动列出此license文件包含的模块名称,许可证数目,许可证类型,导入日期,过期日期等信息,如上图所示。License导入分两种情况。一种是在线方式导入,也即应用服务器没有停止的情况下导入许可证,这种情况下license文件能立即启用,在license监控端刷新能看到license数目的变化(license监控请参看下文)。另一种情况是离线方式导入,即在应用服务器没有启动的情况下导入license,再启动应用服务器,这个时候license的启用状态还会是未启用状态,直到有客户端连接服务器,此时license服务器才会效验此文件是否能被启用,此时状态才会改变,属正确情况。(事实上这一列不应该叫“启用状态”,后续应该会改掉)License正式启用后会把第一次启用的时间纪录下来,以此作为许可证是否过期的判断依据,这里显示的导入日前与license的启用日期是没有关系的。License的移除目前只支持一种方式即离线方式移除,只有停止了服务器才能在管理控制台移除此license文件,当服务器重启后,不会加载已经被移除的license文件。BOS工具BOSModularLicense安装:打开BOSModular工具,点击“帮助”菜单,出现如图三所示图三继续点击“BOSLicense管理菜单”此处可以查看目前的license情况,如需要申请license,直接点击“申请”按钮按照界面提示进行申请和导入即可。1.5License格式和注册限制:License文件区分试用版本和正式版本,试用版本是根据使用期限来进行管理,比如某个客户申请了一个包含凭证的50个站点,使用期限为100天的试用版本文件,则从导入之日算起100天之后自动过期。正式版本license文件明确了过期日期,在过期日期之后自动过期。License管理存在如下一些限制条件和策略,请注意:每个服务器只能注册一个试用版本的license文件每个服务器只能注册一个520以前版本的license文件(兼容考虑)相同一份license文件只能注册一次只有机器特征码匹配的license文件才能注册成功只有存在有效license模块的文件才能注册进服务器过期的license文件不能被注册错误格式的license文件不能被注册手工修改了的license文件不能被注册只有License初始化时间机器系统时间license过期时间的license文件才能注册成功如存在多个license文件,系统的可用的license数量为各个正式license文件有效模块站点数量的叠加试用版本license文件的模块站点数量不会和正式版本的进行叠加,比如在系统中存在一个所有模块3个站点的试用版本license和一个所有站点的50个正式版本的license,则只会加载正式版本的license站点数量。试用版本不会加载。过期判断以license文件为单位。例如,现在控制台中导入了A和B两个license文件(正式和演示版的都一样),A文件包含总帐GL和应收、应付模块,各5个站点数,过期日前为2006-12-30;B文件包含总帐和应收两个模块,各3个站点数,过期日前为2007-3-30。那么在2006-12-30号之前,系统中有授权的模块应该包括总帐模块和应收模块,并且总帐和应收模块的可用站点均应该为5+3=8个站点;2006-12-30到2007-3-30之间的时间系统中有授权的模块应该是总帐和应收模块,站点数也变为5;2006-3-30以后则系统的所有的模块都应该不可使用,不受控的包除外。1.6License监控和释放监控信息查看:license监控在客户端,权限为管理员所有,菜单位置在系统平台-安全管理-license监控,有基本信息、占用明细、使用情况三个菜单项。基本信息记录的license的服务器地址、授权模块的模块编码、别名和授权许可证数目等信息,如图2所示。图2其中讴,刷新EAS包配置为重新载入easlicense的配置文件(注意:只是在配置文件被修改了情况下才需要做此操作)。在控制台导入新license文件后,在基本信息页签刷新模块和站点数都应该能反应出变化。呆滞时间上限设置设定用户被允许的最长呆滞时间,图3。图3连接到服务器的用户可用在占用明显里看到,其中就有每个用户的呆滞时间记录,当用户的呆滞时间到了呆滞时间上限后,此用户占用的license会自动被释放掉。图4。图4在使用情况页面可以监控到每个模块的license使用情况,如图5。图5License手工释放:管理员可以在license的3个监控页面中可以根据各种条件手工释放被占用的模块license,根据模块释放模块所有被占用的license,根据用户释放此用户占用的所有license,根据用户和模块释放此用户占有的该模块的所有license。注意:释放license并不会对用户的使用造成任何影响,只是当用户重新做业务功能操作的时候会重新去申请license。如下图所示:2.解决license问题思路由于License服务是后台服务,所以不会有一些很明确的信息抛出到客户端,所以出现了license相关的问题,只是会记录日志到服务器日志文件和客户端日志文件中(后续会加强),首先请查看“应用服务器日志和客户端日志(客户端安装目录/logs/log4j.log)”,并在其中搜索“license”字样查看具体错误信息,此错误信息是解决判断license问题的基准(5.3版本在客户端出错界面详细信息中提供了出问题的包名和对应的模块名,可以直接获取此信息并进行判读)。如不能从日志中明白是什么问题,请检查如下点:1.申请的license文件是否是EAS的license文件,经常发现用户将BOS工具的license或者apusic的license当成EASlicense使用,肯定是有问题的。判断方法:用文本编辑器打开申请的license文件,如果第一行为[kingdeeeasforj2ee]则表示是EAS的license文件。2.申请的EASLicense文件的特征码是否和当前机器匹配,目前特征码是根据ip进行加密生成的,需要判断此license文件是否和机器匹配。在520以后的版本中通过管理控制台导入时都可以看到此信息。3.是否正确导入了license文件,查看管理控制台是否有有效的license被启用了(状态为启用),同时用管理员登录进出查看license监控信息是否有有效license模块和站点数。经常碰到客户未导入license而导致所有的业务功能不能用。4.检查是否修改过系统日期,目前license的判断是如果修改了系统日期,重新改回以前的系统日期时license会失效,这点请注意。5.检查license文件是否过期,在管理控制台可以查看过期日期和导入日期,查看是否是由于license文件过去导致业务功能不能使用。6.检查是否手工修改了license文件,license文件不能被人为手工修改,如果修改了里面信息,会导致license效验失败而导致license文件失效。7.检查“服务端安装目录(server/deploy)是否存在“easlicense.config”文件,如不存在此文件,则从标准安装包中拷贝一份放置此目录即可。3.常见问题解答1、EAS5.1及以前版本升级到5.2之后,以前的功能都提示缺少License许可?原因和解决方法:由于EAS5.1以后License文件格式做过重大更新,因此license文件无法从5.1以前版本自动升级到后续版本,请重新申请新版本license。2、EAS5.1.1及以后版本升级后也提示缺少License许可。原因和解决方法:这种问题基本上都是原始License文件未导入的缘故,从EAS5.2开始,License文件支持多份License同时生效,因此在管理控制台提供了EASLicense许可的导入功能。当出现上述问