AWC服务端开发.docx

上传人:b****8 文档编号:11074425 上传时间:2023-02-24 格式:DOCX 页数:10 大小:966.46KB
下载 相关 举报
AWC服务端开发.docx_第1页
第1页 / 共10页
AWC服务端开发.docx_第2页
第2页 / 共10页
AWC服务端开发.docx_第3页
第3页 / 共10页
AWC服务端开发.docx_第4页
第4页 / 共10页
AWC服务端开发.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

AWC服务端开发.docx

《AWC服务端开发.docx》由会员分享,可在线阅读,更多相关《AWC服务端开发.docx(10页珍藏版)》请在冰豆网上搜索。

AWC服务端开发.docx

AWC服务端开发

AWC服务端开发

经过2015年一整年的发展,步入2016年第二季度AWC目前已发展到3.0版本,与2.x版本相比最大的变化是开发工具上的几个重大bug已解决,另外界面UI有所优化更美观。

这里推荐使用AWC3.01版本。

本文要讲的内容将会非常重要,将直接影响到你们项目的一些重要功能。

强烈建议认真学习。

本文内容并非西门子官方任何一篇文档中所写,而是本人对于GWT和AWC的理解加上实际项目上要求促成了该理论的研究与实践。

最后终于克服难关,实现了AWC服务端代码的编写和调用。

一、为什么会有AWC服务端?

我们都知道,AWC是西门子下一代客户端平台,说到底无论怎么变都是GWT客户端代码。

GWT客户端代码最大的缺点是,在使用Java类库的时候有所限制。

没有技术背景的请自行购买我编写的《GWT开发入门》充电。

问题的由来:

TC或者说AWC需要和一个第三方的企业应用做接口,实现一些数据的基本交换。

如在某些时候,AWC需要获取ERP的一些数据,而且当条件满足需要返回一些数据给ERP,接口方式定义为webservice调用。

GWT客户端无法直接实现webservice调用的,在GWT客户端中无法直接引入webservice相关jar。

但是学过《GWT开发入门》的都知道,GWT的架构支持服务端代码编写和调用,那我们该怎么解决该问题呢?

方法一:

使用TC的服务端代码替代。

(请参考下一小节)这么做的代价是非常大的,因为TC服务端代码是C++和C编写的,转换成本非常高。

方法二:

掌握AWC服务端代码编译,调用的过程。

西门子官方并不支持该手段,原因很简单,西门子目前的架构可以处理所有的问题,并不需要服务端Java处理程序。

二、AWC在TC系统中的架构

AWC系统架构用一幅图表示如下:

从技术架构上它和传统的thiclient区别并不大,后台的企业层服务依旧存在,而且所有的消息都是经过企业服务器处理才来到前端的。

三、AWC客户端+服务端架构

加入了服务端之后,架构本身的框架没有多大变化,而是AWC本身来说多了一层服务层,能独立应对一些数据处理。

由于该架构的灵活性,促成了AWC服务端本身会成为实现一些复杂功能的优良载体。

说句夸张的,该能力是否具备决定了你们公司在未来TC项目实施过程中的能力。

TC企业层

企业服务器

外部工作流

搜索引擎接口

ERP接口

四、AWC客户端+服务端实现

实现该功能最大的难点是在编译上,AWC并不是存粹的GWT工程,它是一个庞大的GWT工程,编译命令建立在gulp工具基础上,而编译脚本中又实用了nodejs。

所以,众多技术让人摸不着头脑。

我们按照下面步骤去实现:

1.用命令创建模块以便编写程序

在stage\src目录下创建一个rpcsvrs目录,用来存放模块。

把rpcsvrs文件夹剪切到eclipse的java工程中。

并添加必要的依赖包。

记住,一定要把它从src目录中删除。

不能以src方式参与GWT编译。

2.改造你的AWC编译器

AWC编译命令无法完成服务端代码的编译,会找不到相应的类文件。

打开stage\build目录,编辑下面文件:

loadDeps.js

添加85-88行的代码:

filePath=process.env.ROOT+'/repo/gwt/'+dependency+'/'+dependency+'.jar';

if(fs.existsSync(filePath)){

returnfilePath;

}

添加该语句后,才能把客户端jar添加到编译path中去。

3.编写GWT服务端程序和客户端调用

这里是举例,所以编写一个客户端函数,输入参数是一个字符串,输出函数是一个字符串。

附件是上图中的源码文件

另外一部分是结合AWC界面的命令实现该服务器调用的调用环节:

4.导出服务端和客户端程序并编译

rpcsvrs要参与gwt编译,而且不能以src目录的方式参加编译,那就要以repo/gwt方式了。

首先在stage\repo\gwt\目录下创建rpcsvrs目录并把两个json和客户端导出包放到该目录下。

需要改写kit.json和module.json文件以便AWC编译时能找到rpcsvrs.jar

附件是两个json文件

同时,你还需要把rpcsvrs导出到服务端。

即stage\repo\war目录。

这样当执行AWC编译以后,这些jar能自动复制到war下。

5.修改服务端web.xml文件

该步骤是GWT服务编写必须的一个环节,发布这些RPC服务调用。

你可以通过修改stage\repo\gwt\base\src_j2ee\WEB-INF下的web.xml来完成该工作。

因为在AWC编译过程中,web.xml不是固定不变的,是通过脚本和模板生成而来,我们所改的文件即模板,所以这是非常聪明的方法,不用编译一次就去修改web.xml了。

红框部分就是为这个RPC调用编写的servlet声明。

如需了解更多细节请下载本人编写的《GWT开发入门》中服务调用章节。

运行效果如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1