最近工作比较忙,所以没有更新博客。上一篇介绍了一个简单但是完整的 EJB Web应用,今天使用 SAP CAF来实现上一个例子的功能, SAP CAF就是 Composite Application Framework。它的目的用于在当今企业复杂的应用系统架构之上构建统一用户体验的应用程序,基于 ESOA是它的基本特征。我们先看看使用 CAF最简单的程序怎么实现。

开发环境:
SAP NetWeaver 7.0 SR3
NWDS 7.0.11
JDK 1.4

主要涉及的技术: SAP CAF

1.       NWDS里面创建 Composite application project
项目名称就叫 Employee


创建好了以后在 Service Explorer可以看到如下的结构:


主要有三种 Service,分别是 Application Service, Entity Service, External Service。外部的 RFC Web Service可以导入到 External Service中, Entity Service是根据业务需求新创建的 Service,而 Application Service则可以在 Entity Service External Service之上根据业务需求来进一步实现复杂的业务逻辑。这个例子只用到了 Entity Service

2.       创建 Entity Service,定义对象的属性

首先创建一个 Employee Entity


然后为它增加属性,也就是一些数据字段


我们为它增加了 4个属性,分别是:

属性名称: id 类型 : long

属性名称: firstName 类型 : shortText

属性名称: lastName 类型 : shortText

属性名称: email 类型 : longText


3.       定义 Web Service operation

首先增加一个 getByLastName operation,在创建界面中选择 lastName这个字段


然后增加一个 getAll operation,不用选择任何字段


最后检查一下其它属性,将默认的权限检查去掉:


可以看到默认它是通过 caf提供的数据库来进行数据持久化的:

4.         自动生成代码,部署程序

选择项目,右键选生成代码。

然后右键选 Development Component-> build

最后部署到服务器。

部署成功后可以看到成功信息:


5.       使用 CAF UI pattern来配置 UI界面

我们会先建一个 Object Editor Object  Lsit,然后是一个 Object Selector

首先登录 caf主页 : http://j2ee_host:j2ee_port/caf


选择 User Interface Configuration -> Configuration Browser


选择 Object Editor->New Configuration,名字叫 createEmp

Service选择 sap.com/employee/EmployeeService

Object选择 Employee

然后选择 Retrieve metadata


然后选择需要编辑的属性,这里我们选择 id, firstName, lastName, email

然后给 button的按钮文本上填入 submit,如下所示:


预览:


可以做个简单的测试,输入信息:

可以看到数据被成功保存:


Ok,在配置界面选择 save+return。保存退出。

然后我们开始配置一个 Object List:


最后创建一个 Object Selector:


List的配置用到了刚刚配的 empList,这是 search_emp的配置 :


最后 save + return ,完工。

6.       测试我们的 Selector功能


输入 *,选择 Go,在下面的 list输出了所有 employee


选择 New按钮,则弹出新界面来创建 Employee:


7.       结论

大家可以看到我们通过简单的几步步骤,就完成了使用 CAF Service的创建,以及使用界面的自动生成。 CAF的功能确实非常强大,这样一个框架自动为开发者提供了从对象的建模到对象的持久化以及 UI等完整的功能,可以让开发者专心于业务逻辑的开发中,极大地提高了开发效率。

PS..在csdn上创建这样图文并茂的文章太累了。。。插入图片功能太不好用。。。

Logo

开源、云原生的融合云平台

更多推荐