搜档网
当前位置:搜档网 › SOADeveloper-QuickStart

SOADeveloper-QuickStart

SOADeveloper-QuickStart
SOADeveloper-QuickStart

SOA Developer IDE快速指南

V5-2007-3-21

刘洋(liuyang@https://www.sodocs.net/doc/c98373583.html,)

MSN:liuyang@https://www.sodocs.net/doc/c98373583.html,

QQ:49666780

https://www.sodocs.net/doc/c98373583.html,

目录

1 文档说明 (3)

1.1 内容范围 (3)

1.2 阅读对象 (3)

1.3 版权声明 (3)

1.4 缩略语 (3)

2 准备工作 (4)

2.1 所需工具: (4)

2.2 LDAP安装: (4)

2.2.1 Apache DS (4)

2.2.2 OpenLDAP (4)

2.2.3 Eclipse及其插件的安装 (6)

3 开发指南 (7)

Packaging (7)

3.1 Par

3.2 Portlet Framework IDE概览 (10)

3.3 使用Portlet Framework IDE进行Portlet开发 (12)

3.3.1 创建action (12)

3.3.2 编辑framework.xml (13)

3.3.3 编写代码 (16)

3.4 打包发布 (19)

3.4.1 打包 (19)

3.4.2 发布 (21)

3.4.3 部署 (21)

4 SOA Enable Portal Server 运行环境 (23)

1文档说明

本文档是中流科技SOA Developer快速指南,主要介绍进行SOA开发的主要基于Eclipse 的Portlet开发工具的功能特性,如何使用SOA Developer进行Portlet开发,以及如何在SOA Enable Portal Server进行Portlet部署。

1.1 内容范围

本文档由如下章节组成:

准备工作:讲解进行Portlet开发所需工具和工具的安装使用

开发指南:利用SOA Developer进行Portlet开发

1.2 阅读对象

本文档面向的主要对象是SOA Enable Portal Server的开发人员、技术专家等相关人员。

1.3 版权声明

Copyright ? 2007 北京中流科技有限责任公司,未经授权,不得进行任意的分发,复制和修改。

Sun, Java, and all Java?based trademarks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

1.4 缩略语

JavaEE Java Enterprise Edition

JSR Java Community Process(SM) Program

JNDI Java Naming Directory Interface

OS Operation System

SOA S ervice-Oriented Architecture

MDA Model Driven Architecture

EJB Enterprise Java Bean

REST R epresentational State Transfer

SEP SOA Enable Portal

2准备工作

您可以直接下载打包后的SEP-Eclipse-IDE.zip与SEP-Tomcat6-QuickStart跳本章所描述的准备工作。并请下载本文示例代码工作区https://www.sodocs.net/doc/c98373583.html,.chinasoa.portlet.framework.sample.zip。

2.1 所需工具:

1)Eclipse3.2.0以上

2)Eclipse所需插件:emf-sdo-xsd-SDK-2.2.3、GEF-ALL-3.2.2、JBossIDE

3)SOA Developer for Eclipse

4)服务器:SEP(SOA Enable Portal Server)for tomcat或SEP(SOA Enable Portal Server)

for JBoss

5)数据库:MySQL5.0以上

6)LDAP:OpenLDAP for windows

2.2 LDAP安装:

如果您使用的SEP版本是SEP-Tomcat6-QuickStart,或者其他QuickStart版本,您可以掉过2.2节,因为您使用的SEP版本已经内嵌了Apache DS作为LDAP使用,并且基本的配置数据也已经被预先设置在Apache DS内了。

2.2.1Apache DS

SEP-Tomcat6-QuickStart版本内嵌了Apache DS,不需要独立安装,更多关于Apache DS的信息,请访问:https://www.sodocs.net/doc/c98373583.html,/。

2.2.2OpenLDAP

1)安装

OpenLDAP软件的Linux安装版本可以从https://www.sodocs.net/doc/c98373583.html,网站下载得到,OpenLDAP软件的Windows安装版本可以从网站https://www.sodocs.net/doc/c98373583.html,/openldap/下载得到,例如下载openldap-2.2.28-db-4.3.28-openssl-0.9.8-win32_Setup.exe安装包,然后运行安装过程。

安装完毕后,在安装后的目录结构中找到sldap.conf 文件,这是OpenLDAP的配置文件,对照下面的内容修改这个文件的内容,将sldap.conf文件更改如下:

ucdata-path ./ucdata

include ./etc/schema/core.schema

include ./etc/schema/cosine.schema

include ./etc/schema/inetorgperson.schema

pidfile ./run/slapd.pid

argsfile ./run/slapd.args

database bdb

suffix "dc

=portal,dc

=

chinasoa,dc

=

com"

rootdn "cn

=Manager,dc

=

portal,dc

=

chinasoa,dc

=

com"

rootpw 123456

directory ./var/openldap-data

index objectClass eq

2)启动

启动OpenLDAP的两种方式:

命令行启动:进入OpenLDAP目录,运行命令sldapd -d 1

启动成功会看到如下画面:

以服务的方式启动:(推荐方式)

安装后可运行开始菜单向中的“install OpenLDAP-slapd as NT service”快捷方式,以安装OpenLDAP为Windows系统服务,或者进入OpenLDAP的目录,运行如下命令安装OpenLDAP服务:C:\Program Files\OpenLDAP>slapd install OpenLDAP-slapd "OpenLDAP Directory Service" auto

在Windows的“管理工具”中的“服务”列表中启动OpenLDAP服务,或者运行OpenLDAP 命令行如:C:\Program Files\OpenLDAP>net start OpenLDAP-slapd,来启动OpenLDAP,如下图所示:

建议在通过“控制面板”-“管理工具”-“服务”,的方式运行OpenLDAP Directory Service服务:

2.2.3Eclipse及其插件的安装

下载Eclipse3.2.0,解压到任意目录,SOA Developer for Eclipse解压缩到eclipse的plugins 目录里。

将emf-sdo-xsd-SDK-2.2.3、GEF-ALL-3.2.2、JBossIDE、分别解压到单独的目录,用link 的方式安装Eclipse插件。

在Eclipse目录里建立links文件夹,在里面分别建立4个link文件emf.link gef.link jbosside.link

link文件示例:

emf.link

path=C:\\product\\plug-in\\emf-sdo-xsd-SDK-2.2.3

gef.link

path=C:\\product\\plug-in\\GEF-ALL-3.2.2

jbosside.link

path=C:\\product\\plug-in\\JBossIDE-2.0.0.Beta2-ALL

安装效果

运行eclipse,设置好workplace一切准备就绪,先看一下plug-in Details

从上图可以清楚的看到由https://www.sodocs.net/doc/c98373583.html,提供的Portlet IDE插件。

那么,准备工作已经完毕,,我们就来看一下利用SOA Developer如何进行Portlet开发。3开发指南

3.1 Par Packaging

1)新建Portlet工程

New?project

选择X4EE Eclipse IDE-Portlet Project

输入工程名,点选finish,这样一个默认的Portlet工程就被创建了。

我们可以很清晰看出一个Portlet工程的结构,import了必要的Portlet API包和SOA framework包,以及Portlet部署文件的目录结构,包含了jsp页面、xml配置文件、css、图片、javascript。

2)Par Package

以上是创建了一个默认的工程,开发人员编写类代码、修改jsp文件以及修改framework.xml文件即可进行Portlet开发。那么开发结束如何打包工程发布呢,这就用到了Par Package工具。

右键单击工程名,选择Properties,点选Par Packaging Configuration,可以看到Par包的配置信息,如下是默认信息:

其中的Portlet核心类不需要修改,其他信息按照需要可以作相应修改。

做好修改配置之后,在项目名上单击右键,选择Run Par Packaging

打包完毕控制台会出现如下信息:

我们看到工程的build目录中就出现了https://www.sodocs.net/doc/c98373583.html,.par文件。

3.2 Portlet Framework IDE概览

1)Framework Editor编辑器

我们打开工程中Portlet/xml文件夹,可以看到一个framework.xml文件,双击它,就会进入Framework Editor进行编辑,如图所示:

代码模式如下:

2)代码帮助

在代码模式下,Framework Editor提供了人性化的代码提示功能,方便开发人员进行开发,提高工作效率。

并支持元素和属性的多种代码帮助,如下所示

3.3 使用Portlet Framework IDE进行Portlet开发

2.1节我们介绍了Par Packaging的使用,下面我们来深入的看一下如何使用Portlet Framework IDE进行Portlet开发。

下面我们用一个例子来说明。这是一个网上注册的例子。网上注册的流程是这样的:打开注册页面,填写个人信息,点击注册按钮,数据录入到数据库中,返回一个提示成功信息的页面。如果注册失败,出现异常,返回一个异常页面。在这个流程里,填写注册信息提交,是一个action,剩下都是页面展示部分。

3.3.1创建action

首先建立所需要的action类,不需要写具体的东西,先把类建立好。然后我们开始设计framework.xml文件

3.3.2编辑framework.xml

开发工作先由设计framework.xml文件开始。

1)创建action

双击framework.xml文件,打开Framework Editor,点击组件栏里面的action,在设计视窗里画一个区域,建立一个action。

2)创建filter

在action里面建立一个filter,如下图:

class名为https://www.sodocs.net/doc/c98373583.html,.chinasoa.Portlet.test.AccountActionFilter

3)创建render

由于成功要返回一个成功页面,反之返回一个失败页面,我们另外添加两个render,点击组件栏中的Render,在设计视窗中画两个区域,都选择view模式。注:原有的view edit help 三个render不要删除

4)创建URI

分别在两个render中添加一个URI,来分别展示这两个页面,

5)创建outlet

由于提交成功和失败,页面需要跳转,所以我们建立一个outlet链接,来指明页面如何跳转。

点击组件栏的outlet按钮,鼠标变成了代插销的鼠标指针,点击action的filter作为起点,render中的URI作为终点,建立一个outlet链接。

这样如下所示,我们就完成了action的核心流程。

这样我们完成了对framework.xml文件的设计,下面我们开始编写jsp文件和class文件。

3.3.3编写代码

整个工程的代码结构如下图:

3.3.3.1 编写代码

SayHelloActionFilter 代码如下 /**

* 北京中流科技有限公司 版权所有 * https://www.sodocs.net/doc/c98373583.html, */

package https://www.sodocs.net/doc/c98373583.html,.chinasoa.portlet.framework.sample;

import java.io.IOException;

import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.PortletException;

import com.x4ee.soa.portal.framework.core.ActionConfig; import com.x4ee.soa.portal.framework.core.ActionFilter;

import com.x4ee.soa.portal.framework.core.BaseRequestFilter; /** * @author 刘洋(liuyang@https://www.sodocs.net/doc/c98373583.html,) */

public class SayHelloActionFilter extends BaseRequestFilter implements ActionFilter { private static String SUCCESS = "success"; private static String FAILED = "failed";

public String process(ActionRequest actionRequest, ActionResponse actionResponse, ActionConfig actionConfig) throws PortletException, IOException { String name = actionRequest.getParameter("name"); if(name!=null){

actionResponse.setRenderParameter("name",name); return SUCCESS; }else{ return FAILED; } } }

3.3.3.2 编写JSP

View.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java"%>

<%@ taglib uri='https://www.sodocs.net/doc/c98373583.html,/portlet' prefix='portlet'%>

<%@ page import="javax.portlet.*"%>

点击成功
点击失败

success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java"%>

<%@ taglib uri='https://www.sodocs.net/doc/c98373583.html,/portlet' prefix='portlet'%>

<%@ page import="javax.portlet.*"%>

成功->返回

failed.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java"%>

<%@ taglib uri='https://www.sodocs.net/doc/c98373583.html,/portlet' prefix='portlet'%>

<%@ page import="javax.portlet.*"%>

失败->返回

3.4 打包发布

3.4.1打包

在2.1中我们讲述了如何利用Par Packaging工具打包,Par包只包括Portlet文件夹下的所有文件以及资源文件,那么类文件如何打包呢?这就利用JBossIDE来打包。

右键单击工程名,选择Properties,点选Packaging Configurations,

确定之后,显示如下

双击*.jar,编辑jar包的输出路径

包含工作区中的class文件:

如果代码里有其他类型的文件,例如xml文件(hibernate配置文件等),则修改为**/*.*

这样再单击工程名,选择Run Packaging

这样在build文件夹下就生成了我们JAR包。

相关主题