J2EE实践第四部分-使用SAP CAF实现功能的简单小例子

2024-02-01 23:08

本文主要是介绍J2EE实践第四部分-使用SAP CAF实现功能的简单小例子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近工作比较忙,所以没有更新博客。上一篇介绍了一个简单但是完整的 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上创建这样图文并茂的文章太累了。。。插入图片功能太不好用。。。

这篇关于J2EE实践第四部分-使用SAP CAF实现功能的简单小例子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/668766

相关文章

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行