金蝶EAS_BOS开发平台培训体系

更新时间:2023-05-14 23:15:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

EAS7.5BOS开发介绍

EASBOS开发平台培训体系1EASBOS框架结构简介

1.1学习内容

1.1.1概述

什么是金蝶EASBOS

BOS,BusinessOperationSystem,业务操作系统,是金蝶融合多年的企业应用软件的经验以及MDA理念研发新一代技术平台,是金蝶公司全新的管理软件开发工具和管理集成平台。金蝶BOS提供了基于模型驱动架构(MDA)的开发模式和相关的工具,成功的解决了企业应用软件在开发、实施和维护过程中的质量、周期、成本、风险等方面的问题,并使企业应用软件能够满足企业管理行业特性、企业个性化和持续完善的要求,对于企业应用软件在行业应用开发和维护、实施带来了全新的应用模式和革命。金蝶EASBOS提供的集成管理平台,使企业应用可以集企业门户(Portal)、办公自动化(OA)、企业资源管理(ERP)、工作流(Workflow)以及业务重组(BPR)于一体,对于企业的团队协作、业务支持、管理控制、决策分析、商务智能以及企业信息实时化提供全面的支持。

金蝶EASBOS,集中体现了金蝶公司对中国特色化企业管理和国际先进管理思想领域的孜孜不倦的探索和追求,融合了金蝶公司在企业应用软件领域十多年的行业经验和软件开发经验,对产品不断的发展与完善,为企业用户带来高效、灵活、柔性以及功能强大的企业管理系统,帮助企业用户在激烈的市场竞争中赢得先机并获得前所未有的高回报。

金蝶EASBOS应用框架

EAS7.5BOS开发介绍

金蝶EASBOS技术特性

金蝶EASBOS在面向业务分析的基础上提炼出一个业务元数据描述的抽象层(对象构造模型)。这个抽象层是整个系统运行的基础,包括了业务对象结构、数据结构、交互界面、系统部署、系统接口等全方位的信息。并且通过内置的集成开发环境,可以不断地将获取及更新的业务知识补充到这个模型中,支持业务能力的持续改进。

通过灵活的架构及专业的工具,业务专业人员可以专心于业务的分析及业务的逻辑处理,然后通过集

EAS7.5BOS开发介绍

成开发环境将其专业能力分析的内容轻松地加入到系统中,迅速提升系统的业务处理能力,大大降低了实施成本。

示例:基于模型技术实现的IDE

开发平台功能

平台级的技术控制能力

Apusic应用服务器

Apusic应用服务器是严格遵循J2EE等工业技术标准的企业应用平台,是国内第一个商业J2EE应用服务器产品。通过对应用服务器平台技术的自主控制,金蝶EASBOS能够充分挖掘平台技术潜力,提供给用户高效、高可靠的产品。

EAS7.5BOS开发介绍

多技术平台支持

在基于Internet的企业级应用软件的技术领域中,国际上主流的技术平台存在着和J2EE两大技术架构。这两种技术架构代表着平台架构技术的最新发展,两者互有优势,目前已经部署或将要部署的企业信息平台绝大多数都从两者中选择其一。金蝶本着帮助顾客成功的产品研发理念,凭借多年积累的技术实力,通过金蝶BOS平台无关性的设计,实现了对.NET和J2EE这两种技术架构的支持。使得顾客在平台选择上有了完全的自主能力,用户可以根据企业自身信息化发展的状况来决定如何部署技术平台,充分保障了既有投资及未来的发展。而且,基于金蝶EASBOS的技术平台,为客户提供了一种途径,使得企业原有分属于不同技术架构体系的应用系统可以实现整合。通过对WebService的广泛支持,异种技术平台间可以自由通信,相互集成。

多种数据库支持

翻译引擎支持多种大型数据库,业务系统可自由选择任意数据库产品作为数据承载平台,基于BOS开发的业务系统如果需要运行于新的数据库平台上,只需要在BOS上扩展新的数据库翻译引擎子集即可,原有业务系统无需重新开发。

金蝶EASBOS的数据库翻译引擎提供了两个子功能层,分别实现多种SQL版本的语义翻译和异种数据库访问连接。

EAS7.5BOS开发介绍

SQL语义翻译引擎

虽然所有大型数据库都支持大部分的标准SQL语法,但是每个厂商提供的数据库产品都有各自

特性的SQL语法子集,这些特性子集的存在造成了业务系统不能够直接在多个数据库产品之间迁移的障碍。金蝶EASBOS提供的SQL语义翻译引擎,可以使不同的数据库产品都能够正确理解和处理来自业务系统发出的操作请求。

异种数据库访问引擎

每一种数据库都有各自的访问处理方式从数据库支持的网络协议库到数据库访问的授权到数据库连接的建立都各自不尽相同。金蝶EASBOS提供的异种数据库访问引擎,可以使业务系统透明的访问任何一种数据库,而无需了解数据库的产品厂商差异以及所运行的平台差异。

EASBOS开发B/S结构

EABBOS开发B/S程序时,产生的后台代码EJB,前台代码是JSF和EXT;后台的EJB代码发布在Apusic这个应用服务器上,前台JSF和EXT代码也是运行在apusic应用服务器上。JSF操作数据时,就需要访问EJB的方法来对数据进行增、删、改和查。

EASBOS开发C/S结构

EAS7.5BOS开发介绍

EABBOS开发C/S程序时,产生的后台代码EJB,前台代码是swing;后台的EJB代码发布在Apusic这个应用服务器上,前台swing代码也是运行在客户机上。swing操作数据时,就需要访问EJB的方法来对数据进行增、删、改和查。

EASBOS

访问流程

1.1.2参考资料

资料\BOS框架\BOS开发指南_应用框架.doc

资料\BOS框架\EASBOS框架入门.pptx

资料\BOS框架\应用框架编程指南.doc

EAS7.5BOS开发介绍

1.2学习目标

2EASBOS开发环境学习

2.1学习内容

2.1.1概述

BOSModular是什么

BOSModular是一个在eclipse上的一个插件,在bosModular

中,可以直接托拉控件生成界面。BOSModular的目录结构如下:\BOSModular

EAS7.5BOS开发介绍

点“BOSModular_zh_CN.bat”这个批处理就可以启动开发工具了。

BOSModular怎么打开各个窗口视图

1:在菜单中选择“窗口”菜单,然后选择“显示视图”子菜单,如下图:

EAS7.5BOS开发介绍

2

:再选择“其它”菜单,弹出如下窗口,我们可以在窗口中选择随意窗口:

BOSBIM

视图

EAS7.5BOS开发介绍

1:如上图点“金蝶BOS业务建模”,在BOSModular

中就会显示业务建模视图如下:

在业务建模视图中,我们主要是建业务单据,发布业务单据。

BOS

设计视图

1:如上图点“金蝶BOS设计模式”,在BOSModular中就会显示业务建模视图如下:

EAS7.5BOS开发介绍

在设计视图下,主要是设计界面,给界面控件邦定数据,修改各种元数据

大纲窗口视图

EAS7.5BOS开发介绍

数据邦定窗口视图

属性窗口视图

EAS7.5BOS开发介绍

BOSJAVA

视图

1:如上图点“java视图”,在BOSModular中就会显示java视图如下:

EAS7.5BOS开发介绍

在JAVA视图中,我们修改JAVA代码,新增逻辑。

2.1.1.1行业版开发环境搭建

1.导入解决方案。

2.选择方案----转换为行业解决方案(业务建模视图中)

3.删除工程中basemetas文件夹中(除boseasbim_templates.zip)的文件和文件夹

4.开发完成后选择基线化行业解决方案(设计开发工具中)

5在工程目录下将exporttemp文件夹中的内容复制到deployed_metas文件夹中

EAS7.5BOS开发介绍

2.1.2参考资料

资料\环境\4.安装bosmodular\安装bosmodular.swf

资料\环境\5.导入license及解决方案\导入license及解决方案.swf

2.2学习目标

3EASBOS开发一个完整的业务单据

3.1学习内容

3.1.1概述

开发流程(业务建模方式):

EAS7.5BOS开发介绍

1.

2.

3.

4.

5.倒入解决方案。新建业务单元。菜单管理。发布业务单据。编写java代码。

开发流程(设计工具方式):

1.

2.

3.

4.倒入解决方案,或者自己新建项目。新建元数据。发布元数据。编写java代码。

客户端----- 服务端

客户端:

1.获取界面数据。(EditUI可以通过框架自动将界面控件中的值绑定到editData中);也可以通过控件直接获取值。

EAS7.5BOS开发介绍

2.获取远程调用接口。XXXFactory.getRemoteInstance()。

Icurrencyicurrency=IcurrencyFactory.getRemoteInstance();

接口

3.通过接口调用后台组件(方法)。

icurrency.save(editData);//调用服务端保存方法

服务端:

4.获取客户端的数据,实现业务逻辑。

5.根据需要,通过对象或者直接写KSQL操作数据库。//获取币别的远程调用

界面控制

一般在界面的onLoad方法或者onShow方法中控制界面一些属性。

例如:隐藏一个控件。

publicvoidonShow(){

txtName.setVisible(false);//设置txtName控件不可见

}

3.1.2参考资料

资料\开发流程\BOSV6.2开发指南_Studio.pdf

资料\开发流程\EAS开发流程.doc

资料\开发流程\视频\6.BIM币别\Currency.swf

3.2目标

4BOS元数据及代码结构

4.1学习内容

4.1.1概述

一:关系

(一)实体和实体关系

1.实体(Entity)与实体之间存在联系时,需要建立关系(Relation)。

2.实体可以导出数据表(Table)。

3.新建查询(Query)必须选择实体。

4.ListUI(UI)界面需要绑定查询,其显示的数据要是通过查询获得。

5.EditeUI(UI)界面需要绑定实体,界面中的空间和实体的属性绑定进行值传递。

(二)实体和代码关系

EAS7.5BOS开发介绍

实体和UI发布会生成对应的Java代码

1.实体ZTTest(Entity

)发布生成的类

2.用户界面(UI

)发布生成的类

二:在什么地方加代码来实现一些功能

1.所有的抽象类我们不能修改。

2.在开发中我们需要修改的java结尾的非抽象类。

3主要是编写服务端的代码逻辑(新增,修改,删除等功能)。

例如:

在该类中我们可以重写_save()方法。这个方法主要是实现保存,我们就可以在该方法中添加自己代码逻辑。

4.*EditeUI类是客户端编辑界面对应的类。

EAS7.5BOS开发介绍

EAS7.5BOS开发介绍

5.*ListUI

类是客户端叙事簿界面对应的类。

4.1.2参考资料

资料\BOSV6.2开发指南_元数据介绍.pdf

资料\通用Query查询开发指南.doc

资料\BOSStudio开发指南(元数据).ppt

4.2目标

5EASBOS常用功能

5.1学习内容

5.1.1常用功能总结

5.1.1.1客户端环境工具类

工具类:mon.client.SysContext

作用:静态存储用户当前登录信息,登录的当前组织信息(ContextUtil在服务端使用)

SysContext.getSysContext().getCurrentFIUnit()//获得财务组织

SysContext.getSysContext().getCurrentUserInfo()//取得用户信息

EAS7.5BOS开发介绍

5.1.1.2获取菜单参数

作用:该方法返回的是一个Map,里面存放菜单的一些参数。例如菜单名称,路径等。getUIContext().get("UIClassParam")

5.1.1.3获取当前组织的常用方法。

panyOrgUnitInfocompany=ContextUtil.getCurrentFIUnit(ctx);//服务端

panyOrgUnitInfocompany=

ContextHelperFactory.getLocalInstance(ctx).getCurrentCompany();//服务端

panyOrgUnitInfocompany

ContextHelperFactory.getRemoteInstance().getCurrentCompany();//客户端=

5.1.1.4接口方法的访问方式

1.客户端访问

ICurrencyc=CurrencyFactory.getRemoteInstance();//建立实体对象

c.getCurrencyCollection();//方法调用

2.服务端访问

ICurrencyc=CurrencyFactory.getLocalInstance(ctx);//建立实体对象

c.getCurrencyCollection();//方法调用

5.1.1.5数据库工具用法总结

1.DbUtil用法。com.kingdee.eas.util.app.DbUtil

(1)查询操作

StringBuffersql=newStringBuffer();

sql.append("selectfidfromt_cas_ztdemo");

//返回结果集,结果集的取值和JAVAResultSet相同IRowSetrowSet=DbUtil.executeQuery(ctx,sql.toString());(2)增加、删除、修改操作调用DbUtil.Execute().

2.IFMIsqlFacade用法。mon.IFMIsqlFacade;IFMIsqlFacadefMIsqlFacade=

FMIsqlFacadeFactory.getRemoteInstance();客户端

IFMIsqlFacadefMIsqlFacade

FMIsqlFacadeFactory.getLocalInstance(ctx);服务端

StringBuffersql=newStringBuffer();

sb.append("selecta.fidfromT_BD_Acct_Contorla");

sb.append("innerjoint_org_companycona.FDestCompanyID=c.fid");sb.append("wherea.FAccountTableID=?anda.FIsDefaultForRefer==

本文来源:https://www.bwwdw.com/article/ii3e.html

Top