作业帮 > 高中作文 > 教育资讯

beans

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/25 23:14:16 高中作文

篇一:JavaBeans概述

JavaBeans概述

引言 使用JSP页面,可以非常方便地实现Web应用中用户界面的表示,但要进行一些逻辑事务处理,如果使用JSP的脚本来实现,则页面会显得比较复杂。

如果能将JSP页面中的事务处理部分提取出来,组成独立的模块,并可以在JSP页面中方便地使用这些模块,这样不但可以提高了整个系统的设计效率,增强了系统的可靠性,而且使设计好的模块可以被重复使用,即实现了软件的复用。

JavaBeans是实现软件复用的一种组件技术,它是由SUN提出的一种基于Java的软件组件技术。

然而,什么是组件技术?JavaBeans组件的特点是什么?如何设计一个简单的JavaBeans组件?

一、组件技术的概念 组件是指软件中的内在单元,可以提供相关的功能和服务。它可以较好地解决软件的重用问题,组件可以单独开发与发布。现在越来越多的软件系统在设计时使用了组件技术。

1、组件技术的定义

组件本身是软件模块化的产物,每一个组件都有明确的接口,以让该组件与其他的组件进行交互。

遵照同一个组件模型的组件,由于提供的接口是一样的,因此可以相互替代。事实上,组件的接口提供了组件和应用程序间的约定。

人们对组件的一般定义是:组件是具有一定功能的、可以通过接口与其他组件装配起来协同工作的程序模块;组件可以进行单独开发、编译、调试和测试;一个组件可以装配到不同的软件系统中,以实现复用。

2、常用的组件技术规范

组件技术标准也叫组件技术规范,它规定了组件接口的定义,组件间通信的机制,组件组装的规范,如命名机制,消息传递机制等。

目前,软件行业主要流行的组件技术规范有三种,它们是OMG(Object Management Group)提出的CORBA(Common Object Request Breaker Architecture),微软公司提出的COM(Component Object Model)/DCOM(Distributed COM),Sun公司提出的JavaBeans/EJB(Enterprise Java Beans)。

二、JavaBeans组件概述

JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等操作。

JSP对于Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间,也为JSP应用带来了更好的可伸缩性。

如果我们已经有一个JavaBeans(可能是自己设计,也可能是购买的,还有可能是从Internet网络上下载的免费组件),它可以完成数据库的有关操作,则要创建包含对数据库操作功能的JSP页面时,只需要在每个要操作数据库的页面中实例化这个Bean,就可以在该页面中使用数据库的有关操作功能了。

JavaBeans其实也是一个Java类,只是对类的定义进行了一定的限制,限制的目的是使一个JavaBeans具有通用性,并且能被JavaBeans的容器所识别,这样用户只要遵守

JavaBeans的使用要求,不用编写代码就可以在任何一个程序中使用JavaBeans。

JavaBeans有可视化JavaBeans和非可视化JavaBeans两种类型。由于在Web应用中,JavaBeans只进行事务处理,不涉及用户界面,所以一般使用的是非可视化的JavaBeans。

三、JavaBeans组件的组成 一个javabenas组件由属性、方法和事件3部分组成。

1、JavaBeans的属性

JavaBeans的属性用来描述组件的内部状态。一般对组件的操作都会涉及到属性,或者说对组件所有的操作的最终目的就是控制他们的属性,通过属性的改变来改变内部状态。

属性的声明与一个Java类中的一般属性的声明类似。一个属性包括属性名和属性的类型。

JavaBeans的属性类型可以是Java语言的基本数据类型,也可以是复合数据类型(如类)。

2、JavaBeans的方法

要对JavaBeans的属性进行操作或要进行其他的运算和处理功能,就必须要在

JavaBeans中定义方法。

JavaBeans的方法表示了一个JavaBeans对外提供的功能和服务。

3、JavaBeans的事件

JavaBeans的事件与Java图形用户界面中的事件模型类似,用于响应用户的操作。

四、上机实践

1、编写网上书店

篇二:什么是javabeans

JavaBeans是一个组件,可以在应用程序中使用,也可以提供给其它的应用程序使用。JavaBeans API 是能编写Java程序语言的组件软件。组件是自我包含的,可以重复使用的软件部分。它能构成复合组件,小程序,应用程序和servlets。JavaBean是有名的Beans(Beans是可以添加到小程序或应用程序的组件)。 组件暴露一些它们的特征(例如,公共方法和事件)被可视化的工具操作。当命名Bean特征时用正确的命名规则,那么Bean的特征是暴露的。"JavaBeans-enabled"制造工具能检查Bean模式,辩别出它的特征,为了可视化操作暴露它们的特征。制造工具保留Bean在一个选项板或工具箱。你能从工具箱选择一个Bean,拖它到窗口,修改它的外观和行为,定义它和其它Beans的相互作用, 组成它和其它Beans到一个小程序(applet),应用程序或组成一个新的Bean。 下面简要介绍一下Bean的主要概念。

●制造工具用一个内省的方法发现Bean的特征,确定那些对其它组件或应用程序可用的属性、方法、事件。Beans支持两个内省的方法:

⊙当命名Bean特征时用正确的命名规则。内省类就可以确定那些暴露的特征。

⊙当命名Bean特征时如果不用正确的命名规则。内省就不能确定那些暴露的特征。这时就须创建一个BeanInfo类来指定接口信息。BeanInfo类列出那些Bean暴露的特征。

●属性是Bean的外观和行为,能在设计时改变它。制造工具通过内省发现它的特性,并为操作暴露那些特征。

●在设计时能定制那些暴露的Beans属性。定制支持两种方法:用属性编辑器或用更多的Bean customizers.

●Beans用事件同其它的Beans通信。一个接受事件 (接收Bean) 的Bean用源事件(源Bean)的Bean记录对它有用的特征。 制造工具能检查Bean而且确定哪个Bean能发送事件,哪个Bean能接收事件。

●连续性能使Beans保存和恢复它们的状态。如果以后你改变了Beans的属性,你能保存Bean的状态和完全恢复它们的原来的属性。JavaBeans使用Java的Serialization对象来支持连续性。

●Bean的方法和Java的方法是不一样的,Bean的方法能从其它的Beans或脚本环境中调用。Bean的方法在默认情况下是公有的。

通过以上的学习,我们可以对JavaBean做一个简要的总结:JavaBeans一般指编写的Java语言的组件。我们可以把JavaBean看作微软的ActiveX组件或者COM。这些组件都是自包含的,它们可以嵌入到其它应用程序中,有时也可以自己去运行。

JavaBeans是一个可重复使用的软件部件,用来生成其进行可视化处理的部件。

JavaBeans组件是一个JAVA类,遵循一个接口格式,以便于把类看做标准的JavaBeans组件进行构造。

JavaBeans的属性

属性是Bean组件内部状态的抽象表示。JavaBeans的属性可以分为以下四类:

◆ Simple 简单的

◆ Indexed 索引的

◆ Bound 绑定的

◆ Constrained 约束的

简单属性依赖于标准命名约定来定义getXXX()方法和setXXX()方法。索引属性则允许读取和设置整个数组,也允许使用数组索引单独地读取和设置数组元素。绑定属性则是其值发生变化时要广播给属性变化监听器的属性。约束属性则是那些值发生改变及起作用之前,必须由约束属性变化监听器生效的属性。

1、 Simple 简单属性:表示一个伴随有Get/Set方法的变量。

例程1:[formInput.java]

package Test;

public class formInput{

String str = new String("New Year"); public formInput(){ } public void setInput(String str){ } public String getInput(){ } return str; this.str = str;

}

2、 Indexed 索引属性:表示一个数组值,可以使用Get/Set方法取得数组中的值。 例程2:[formInput1.java]

package Test;

public class formInput1{

}

3、 Bound 绑定属性:提供一种机制,即通知监听器一个JavaBeans组件的属性发生了改变。 例程3:[boundBean.java]

package Test;

import java.awt.Canvas;

import java.beans.PropertyChangeListener;

import java.beans.PropertyChangeSupport;

String b[] = new String[]{ }; public formInput1(){ } public String[] getInput(){ } public void setInput(String[] b){ } this.b = b; return b; "5","2","3","4"

public class boundBean extends Canvas{

s);

public void setString(String newValue){ } public String getString(){ } public void addPropertyChangeListener(PropertyChangeListener propertyChangeLisreturn str; String oldValue = str; str = newValue; propertyChange.firePropertyChange("change value",oldValue,newValue); String str(来自:WWw.SmhaiDa.com 海达范文网:beans) = "bound Bean"; private PropertyChangeSupport propertyChange = new PropertyChangeSupport(thitener){

} public void removePropertyChangeListener(PropertyChangeListener propertyChangepropertyChange.addPropertyChangeListener(propertyChangeListener); Listener){

}

4、 Constrained 约束属性:与绑定属性类似,但属性值的变化首先要被所有的监听器验证以后,

值的变化才能由JavaBeans组件发生作用。

例程4:[constrainedBean.java]

package Test; } propertyChange.removePropertyChangeListener(propertyChangeListener);

import java.beans.PropertyChangeSupport;

import java.beans.PropertyVetoException;

import java.beans.VetoableChangeListener;

import java.beans.VetoableChangeSupport;

public class constrainedBean{

s);

//实例化一个vetoChange对象 private VetoableChangeSupport vetoChange = new VetoableChangeSupport(this); public void setUsername(String newUsername){ try{ String oldUsername=yourName; vetoChange.fireVetoableChange("Username",new String(oldUsername),new S//实例化一个propertyChange对象 private PropertyChangeSupport propertyChange = new PropertyChangeSupport(thitring(newUsername));

yourName=newUsername; changes.firePropertyChange("Username",new String(oldPriceInCents),new String(newUsername));

}<>

篇三:Stringbeans用户指南

Stringbeans用户指南

本指南面向的是使用Stringbeans创建Web站点的最终用户,例如nabh.com开发的nabh用户社区。该指南描述了典型应用使用的布局、导航控制和个性化特征。本指南描述的内容可能与实际的用户界面,可用的控制以及布局有所不同,如果portal管理员已经通过Stringbeans portal平台改变了默认的视图。

Stringbeans portal结构

一个Stringbeans站点由一系列有层次关系的元素构成,如图1。在第一层,Stringbeans门户由多个并联的“Portal Application”组合而成。有一个共同的“home”应用,作为默认portal提供全站信息。个性化portal有个“my”应用,允许用户修改各自门户的外观和内容。每个portal应用由一系列的portal pages组合而成。对于“my”应用,由一系列由portal管理配置的默认页面组成。用户在Stringbeans中可以使用个性化特征更改这些配置。其它的应用展示了由portal管理员制定的一系列固定的页面构成。

Portal页面元素

Stringbeans portal页面由3个主要元素构成:portal header(页眉),内容区域,和portal footer(页脚)。图2展示了一个portal实例的快照。portal header位于页面的顶部,显示了今天的日期,欢迎信息和标志。此外,在右上角会显示个性化和导航链接。在这下面的右边显示页面控制图标。内容区域由portlet集合组成。Stringbeans支持5种类型布局:菜单、树、标签、solo(单portlet)以及列显示,根据你页面的布局,显示效果可能和图2不太一致。页面底部的页脚显示了有关你portal网站版权信息。

Portal导航

Portal应用导航

在portal右上角显示了不同应用导航链接,这里显示的链接并不相同,这取决于你是否登录Portal系统。下面这个表总结了Stringbeans Portal应用导航链接。 Current Signed In? Navigation Links Application

Home Page (home) No Sign In (login)

My Stringbeans (”my” application),Sign Home Page (home) Yes Out

My Stringbeans Yes Home Page (home),Sign Out (my)

Login Page (login) No Home Page (home)

All other No Home Page (home),Sign In (login)

Home Page (home), My Stringbeans (my), All other Yes Sign Out

页面导航

要查看一个portlet应用页面,只需要点击菜单栏上链接即可。如果页面有菜单布局,点击左侧的菜单链接就可以访问相关的portlet。

改变Portlet的模式和窗口状态

每个portlet展示在portlet页面都可以展示为“Portlet modes”和“window States”方式。Stringbeans支持的portlet模式包括:视图(View)、编辑(Edit)、帮助(Help)、和管理(Admin)。视图模式对应的是portlet默认视图,比如一个显示新闻头条的RSS portlet。编辑模式允许用户设置portlet的首选项,比如设置RSS portlet显示的头条新闻的条数。帮助模式通常为用户提供如何使用这个portlet以及portlet相关信息。管理模式是用来管理portlet的,例如在NewsAdmin portlet中创建新闻频道。

Stringbeans支持3种portlet窗口模式:普通(NORMAL)、最大化(MAXIMIZED)、独立(DETACHED)。普通和最大化模式仅适用于多个Portlet再一个portal页面的时候。最大化模式下,一个portlet窗口显示适用于页面的最大模式。在独立模式下,portlet在单独窗口显示,在此模式下所有的导航链接不可用。

Portlet的模式和窗口状态可以通过portlet标题栏上的图标进行改变。下面这个表显示了可用的图标及点击后的结果。

Icon Result

Changes portlet mode to VIEW.

Changes portlet mode to EDIT

Changes portlet mode to ADMIN

Changes portlet mode to HELP Maximizes the portlet. Returns current portal page to NORMAL state. Detaches indicated portlet.

设置用户首选项

可以通过点击首选项(Performences)链接设置用户的主题、语言选择以及默认的portal页面。如图4所示,选择合适的选项,点击应用按钮保存设置。需要注意的是即便是选择了语言种类,对于某些Portlet需要国际化的支持,也就是说个别的Portlet展示的时候与你设置的语言种类无关。此外,一些portlet使用一些固定的颜色、方案/主题,它不根据你的选择所改变。

注意页面管理模块,这个功能是从3.1版本才增加的,用来管理(删除、编辑,以及设置默认页)预先设定(现有)页,包括嵌入页(标示为*)。嵌入式页面将不会显示在顶级菜单中,嵌入式页面应用在嵌套布局的页面中。这里的编辑页面和删除页面和portal工具栏上的功能一致。嵌入式页面只能通过首先项portlet进行删除或者编辑。并不是所以的页面都可以嵌入,层叠菜单和水平布局菜单不能被嵌入,因为这些版面被视为顶级菜单。

个性化门户内容

Stringbeans允许终端用户改变有关“my”应用的portal页面和portlets。通过点击图2中的图标实现个性化过程。

创建新页面

点击 图标查看网页布局选择页面,如图5。选择页面所需的布局和位置,点击“继续”按钮进入网页设计画面。当前步骤的页面将根据你所选择的页面布局的不同有不同的展示。接下来的章节将描述有关布局和相关布局编辑。

列布局

Stringbeans允许管理员在一个portal页面上设置多列布局,包含一个或多个列用来防止portlets。如果用户选择列布局,展示效果如图6所示。实际效果中知会在title或者一些portlet选择栏上有所不同。Page Name域用来制定页面名称,你所输入的名字将显示在门户网页顶部。页面刷新周期默认是从不,如果选择其它内容则表示该页面将定期刷新。如果创建一个隐藏的预设置页面,就选中嵌入式页面选择框。对于每个portlet选择框,通过下拉将显示所有可用的portlet。如果在portlet中不想显示边框和标题,那么就选中隐藏边框、隐藏标题复选框。需要注意的是如果你的主题不支持这种效果,则选中之后没有任何变化。点击创建页面按钮,将返回到布局选择页面,在这里你可以选择布局,继续创建新的页面,或者点击完成返回my应用程序。

菜单布局

Stringbeans中的菜单布局展示效果是,一个菜单栏位于页面错侧,所选择的portlet在页面右侧主要区域。菜单栏显示一级或二级菜单。此外,用户可以设置portlets在菜单顶部还是底部显示。这种布局编辑效果如图7所示。选择于菜单相关的portlets以及位于菜单上下的portlets,在Option Label填写菜单的标题。如果想创建二级菜单,选择menu header,填写相应的菜单标题。

Tree布局

Tree布局和上面描述的菜单布局的页面格式相近,左侧显示一个菜单导航,右侧显示选择的portlets。这两者之间的不同之处是Tree布局支持多层菜单。这种布局的显示样式如图8。Tree标题和上面描述的菜单标题相似,允许用户增加一个与portlet无关的菜单项。通过设置前一个或者后一个Option一个Option可以是下一个Option的上级也可以是子Option或者是同级。级次可以根据创建页面需要进行调整,比如,如果前一个Option级次是1,下一个Option是3,则第二个Option的级次将被调整为2。顶部和底部Portlets和菜单布局一样。

Tab布局

标签布局是一个使用页面顶端的标签导航面板的多层布局。这个布局的样式如图9,和Tree布局有些相似,不同之处是,附加Portlets的位置是左侧或者右侧,不是上下。左侧和右侧列Portlet将分布在主标签布局的两侧。标签标题选项只是用来定义一个文件夹标签,没有portlet和标签标题相关联,Tab导航面板下方主要显示区域,显示所选择的portlets内容。Tab和Tree布局在配置层次关系上有很多相似之处,级次也可以根据创建页面需要进行调整。Tree和Tab布局都可以设置成嵌入式页面可以用做递归式布局页面。

单个Portlet布局

单个Portlet布局是在页面上显示一个最大化状态的Portlet。这种布局用于需要等大空间的复杂portlets。布局便捷界面参见图10。单击下面的单选按钮选择你页面想展示的portlets,点击创建页面按钮创建新的一页。点击创建页面按钮,将返回到布局选择页面,在这里你可以选择布局,继续创建新的页面,或者点击完成返回my应用程序。

级联菜单布局

级联菜单布局是一种多层的水平下拉菜单布局,每个菜单项的下拉面板展示了页面内容(如果它关联一个portlet或者一个预设置页面),或者显示子菜单的下拉面板(如果是菜单标题)。每个下拉菜单的菜单项(节点)将展现一个完整页面。菜单标题节点将不会显示任何内容,因为它被定义为一个文件夹,这一点和Tab以及Tree布局相似。布局编辑页面如图11所示,和Tab以及Tree布局相似,但是没有附加Portlets内容。级联菜单布局在配置层次关系上和Tab以及Tree布局有很多相似之处,级次也可以根据创建页面需要进行调整。级联菜单布局不能创建嵌入式页面,因为它是顶级菜单布局分类。

水平菜单布局

水平菜单布局是顶级菜单布局的子菜单,子菜单面板在顶级菜单下方显示。每个子菜单表现为一个页面内容,它可以是一个portlet或者一个预设置页面,将以整页的方式显示。编辑页面如下图,类似于菜单布局,但是没有附加Portlets部分。水平菜单布局不能设置为嵌入式页面,因为它是顶级菜单布局分类。

浮动Portlet布局

浮动Portlet布局可以被拖动、最小化、最大化、隐藏和改变大小。任务栏位于页面底部,提供额外的Portlet导航功能。被隐藏的Portlet可以通过任务栏重新显示。这种布局提供存储当前状态的功能,比如位置和大小,通过图标栏上的保存图标可以实现这个功能,这个图标会一直闪烁,如果portlet被移动位置或者改变大小。如果切换到其它页面时没有保存当前的状态,那么将丢失portlet当前的位置和大小,位置和大小将被重置。

创建浮动Portlet布局和创建其它布局一样简单,它不能作为嵌入式页面,也不能被嵌入其它页面。

Recursive布局

递归布局,顾名思义,就是一个页面可以包含其它页面,被包含页可以包含其它页面等等。递归布局实际并不是一个新布局,这种布局最显著的用处是,利用上面降到的布局创建一个组合布局。例如,一个带有Tab布局的菜单布局页面。上面所讲到的布局,除去列布局和单个Portlet布局,都可以是一个递归布局,例如,包含一个或多个其它页面。被包含页可以是一个隐藏(嵌入式)页面或者普通的portal页面。要想成为包含其它页面的父页,有写约束条件在线面会被提到。

? 选择一种布局创建一个新页面,因为列和单个Portlet布局不能创建递归布局,所以选择

其它的布局,如果你想创建一个递归布局页面。

? 添加Portlet/Page下拉列表中的预设置页面,只有那些有权限的预设置页面将显示在这

个下拉列表中,下一点将描述预设置页面的限制。

? 一个预设置页面可以是一个嵌入式页面,或者普通的portal页面,或者其它递归页面。预

设置页面的限制:

? 不能使一个水平菜单或者级联菜单布局。因为这些布局是顶级菜单布局,只能包含,

不能被包含。所以这些布局页面不会在下拉列表中显示。

? 布局特定约束:

? 菜单布局-所有XXXX列,单Portlet和Tab布局页面是有权限的

? Tree布局-所有XXXX列,单Portlet和Tab布局页面是有权限的

? Tab布局-所有XXXX列,单Portlet,菜单和Tree布局页面是有权限的 ? 水平布局-所有布局,包括水平和级联布局页面是有权限的。

? 级联布局-所有布局,包括水平和级联布局页面是有权限的。

? 嵌入式页面限制,不能是:

? 默认页

? 水平和级联菜单布局页面。

? 嵌入式页面在下拉列表中标识为*

? 所有页面,包括嵌入式页面都可以通过首先项里的页面管理模块进行管理(编辑,删除)。 ?

如果页面有任何改动,一旦用户重新登录,改变就会生效。

篇四:Stringbeans开发指南

Stringbeans介绍

1 Stringbeans简介

越来越多的公司正在开发自己的门户网站来管理自己的业务。门户网站被用来管理各种任务,从客户关系管理到内部活动协调,如人力资源管理。大部分商业门户仍使用特定的方式进行开发,其中公司的业务过程被编译成一个在不同语言的异构环境下分布式收集的CGI脚本。首先这些门户难以创建和文档化,并且针对不同的客户需求,内部流程改进,或者架构改变,解决这些问题成本是非常昂贵的。公司为他们的业务需求开发一个门户网站需要一个解决方案,能够达到增值并且不会导致复杂度和成本的集合倍数增长的目的。

本白皮书介绍了Stringbeans电子商务平台满足了以上的需求。图1描述了Stringbeans的架构,如图所示,Stringbeans由两部分构成:一个是后台自动运行的WebService服务来管理信息任务,另外一个是前端的门户框架来管理Web表现层。

Web Services支持expressive信息路由模型,表现为数据依赖,调用依赖,时间驱动路由,和时间调度。它们还提供了hook通过基于J2EE标准的JDBC以及JMS进行整合。 门户框架为用户提供了内容聚合,企业信息和过程的交互,创建个性化的网页功能。当前的门户框架功能还包括创建个性化的内容和外观,可配置的访问控制,日志,监测台,还有Portlets,用来展示相关表的数据,丰富的网站摘要(RSS),JSP文件和Servlets。 Stringbeans大大降低了业务设计、维护业务门户所花费的精力,还提供了可视化的编辑器来改变过程驱动信息流的功能,基于J2EE的标准接口,尽量减少改变给架构带来的影响。网页布局、外观和个性化的内容可以通过Stringbeans轻松的建立。

2 过程管理服务

Stringbeans提供了一系列的过程管理Web Services。每个服务的目的是支持某个特定的路由信息模式,本章节将介绍XDFlow管理服务。这个服务实现了一个扩展的数据流过程模型,他结合了一些其它的Web Service的独特功能。Stringbeans还提供了图形用户界面来监测一些Long-Lived过程。

2.1 XDFlow过程模型

一个XDFlow过程由一些过程和连接所构成,模块表现为业务系统,比如数据库,队列服务,邮件等,连接表现为各模块之间的数据流。过程模板和预设置模块可以被持久化存储在分级目录,并且可以被多重应用重用。XDFlow提供了一个可视化编辑器用来和目录交互,组合,运行和检测过程。

通过其数据驱动执行方案和预制模块整合,XDFlow过程模型可以解释为:

? 数据依赖(银行的零售分支机构汇率取决于银行间利率)

? 调用依赖(由财政部批准后向银行分支机构发布利率)

? 时间调度(当银行开门后,每15分钟发布银行的零售利率)

? 条件执行(如果银行间利率的主要来源不可用,那么启用银行间备用来源利率)

? 事件驱动调度(如果银行间零售利率变化超过一定的阈值,重新计算和审批银行利率) ? 意外处理(如果发布利率失败,通知管理员)

XDFlow使企业间交流通过标准的组件和通讯技术。目前XDFlow提供的交互模块包括: ? Java Beans

? COM servers

? CORBA objects

? SOAP / HTTP services

? Java Remote Method Invocation (RMI)

? Message Oriented Middleware (MOM) through Java Message Service (JMS)

? Relational database systems through JDBC

? Applications accessible through Connector API (e.g. SAP, PeopleSoft)

3 Portal框架

3.1 Portal管理器

Portal管理器是一个servlet,他可以接受来自用户或者自定义的页面组合的http请求,依据用户的首先项和访问控制策略。Portal管理器可以生成一个由HTML/XML/WML构成的页面,最终构成一个或多个Portlet。简单实现可以通过读取服务器上的一个文件生成一个页面。另外一种实现可以通过一个XML频道定期更新头条新闻的内容。另外一种情况,Portlet可以通过一个Live Feed动态更新股票代码。

Portal管理器定制可以分为几个层次,可以根据用户的角色和个人首先项完成页面的动态布局。例如,针对经理角色设置首页显示员工目前状态,项目里程碑,和会议安排。每个人都可以设置个人的布局,比如信用卡或者网格布局,并单独配置显示在首页的portlets。如图3所示是一个网格构成的实施分析组合布局。用户可以选择页面尺寸、布局参数,定义Portlet显示的具体位置。此外,每个Portlet都可以根据用户的首先项以及访问权限配置输出。

3.2 数据管理器

开发任何业务系统都涉及到数据建模和持久化对象。例如,一个贸易应用将需要之久的贸易数据,这些数据包括交易价格,贸易数量,反方,交货条件等信息。数据管理器提供了一个定义这些对象结构的简单实现方式。比如建立数据表关联,允许门户用户创建和修改HTML表单。

数据管理器还可以作为门户用户和过程引擎之间的纽带。表单Servlet连接了内容传递框架和过程自动化引擎。用户可以明确的请求一个表单(如处理报名表),或者通过过程引擎提交一个任务(如处理校正/修改表单)。当用户提交了一个表单,数据管理器在数据库中持久化这个表单数据,并可能触发一个或多个过程实例。触发的过程可以表现为一个“Web conversation”,并针对提交立即作出反应。例如,当一个用户输入了客户的ID,触发的过程可以访问多个数据库和后台应用系统生成一个该客户的订单和贷款摘要。表单提交也可以触发一个long-lived过程。比如,在规定时间内如果交易尚未完成,就会向主观领导发出提醒。

3.3 Web Services管理器

Sringbeans Web Services是一个java对象,实现了一个标准的Stringbeans框架接口定义。Stringbeans过程目录以及单个过程作为Web Services运行。Web Services管理器是一个Servlet,它允许远程客户端进行管理和远程方法调用通过创建简单HTTP链接。他使用SOAP(简单对象

访问协议)作为它的RPC(远程过程调用)协议。另外,它也可以通过创建持久连接来接受回调。这个功能可用于实现动态的Portlets,比如贸易记录,STP状态检测,P&L(损益表?)摘要,和滚动新闻或者系统提醒。

4 INFRASTRUCTURE(架构)服务

安全性-业务应用的安全包括通讯安全,用户验证,和访问控制。通信安全通过使用SSL(安全套接字层)实现和J2EE服务器的通讯。J2EE容器提供了用户验证。访问Web资源,入servlets和HTML文件,实在部署的时候按照J2EE安全标准配置的。访问过程Web Services实在部署的时候使用Stringbeans管理工具配置的。在Stringbeans中,访问控制可以在实例层进行实现(例如一个过程只能由其创始人关闭)。

事务管理-Stringbeans提供了两个备选方案管理事务。第一种选择,适用于单一事务背景下执行的短暂过程实例。Long-lived过程支持XDFlow管理器执行每个数据转换步骤在一个单独的内部事务方面。

崩溃恢复-Stringbeans持久化所有的long-lived过程状态,当他们加载到内存中的时候。当Stringbeans服务崩溃的时候,恢复过程实例的状态是可能的。当过程恢复被启用后,Stringbeans会在系统崩溃的情况下自动恢复。

可扩展性-一个Stringbeans服务器可以支持数以千计的用户和进程的调用。较小的站点就可以安装Stringbeans单独的J2EE服务,相对还是很便宜的。随着用户群的扩大,在同一站点上可以进行J2EE服务器扩展,支持集群。Stringbeans框架可以使用任何集群/负载均衡方案,支持session affinity。

session affinity的意思是,当一个客户浏览器第一次发送JSP页面请求时,负载平衡器将请求转向到两个tomcat服务器中的一个,当该客户浏览器发送更多请求时,这些请求会自动被转发到同一个tomcat服务器中,因此,这个用户的session是被保留的。 5 结束语

Stringbeans框架可以被用来创建和维护一个广泛的B2B,和B2E门户网站。框架用户可以只使用内容分发功能创建简单的“myPortal”站点。然而,

Stringbeans的优势在于它的会和数据建模和流程自动化功能,一个功能齐全的门户网站开发框架。通过源代码消除业务过程,使用基于标准的应用集成,并提供一个灵活的内容交付能力,Stringbeans显著降低建立和维护业务管理系统的成本。使用Stringbeans,企业可以轻松地创建门户网站,提供一个人与人之间丰富的互动平台,过程和工具,为员工,客户和业务合作伙伴降低费用提高效率。

Stringbeans开发指南

1.在 Eclipse中引入stringbeans,部署并运行 a. 获取stringbeans的源文件,解压到目录中

b. 在eclipse中新建sbportal的web项目

c. 把stringbeans源文件目录中,拷贝WebContent\WEB-INF\lib 下所有的包,放到sbportal中WEB-INF/lib下

d. 在WebContent\WEB-INF中,拷贝相关配置文件到sbportal中WEB-INF下,具体文

件列表如下:

e. 拷贝src文件夹,覆盖sbportal的src文件,这样,就可以直接查看和引用stringbeans

的所有源代码

篇五:StringBeans用户说明书

简介

参考手册Stringbeans的主要配置文件,portal.xml以及portlet.xml文件,相关类和配置Stringbeans门户使用的资源。 portal.xml和portlet.xml都位于$STRINGBEANS_HOME的/ WEB - INF /目录。 portlet.xml中含量的标准,已在JSR168文档中所述。这不会是冗余这里讨论。然而,“内置“portlet类型与当前版本的Stringbeans来,将一节中描述的portlet。对于特定的任务,从这些基本portlet类型创建的portlet,帮助文件是由点击“帮助“每个portlet模式。在配置文件,portal.xml和/或portlet.xml中,修改将生效后,服务器重新启动。

假设

$ TOMCAT_HOME的指Tomcat安装的主目录。

$ STRINGBEANS_HOME指的是那里的stringbeans的安装路径。

配置

门户网站的默认配置

门户网站(Psite)是一个或多个门户网站的网页集合。默认情况下,Stringbeans定义了4个Psites,如根,登录,模板和我的。根Psite将被称为主页本文档后面。

阿Psite通常前缀/门户网站的网址。例如:http://localhost:8080/stringbeans/portal指主页Psite,而http://localhost:8080/stringbeans/portal/login指登录Psite。注:/门户网站将作为前缀假设在讨论Psites。您可以创建许多Psites只要你喜欢,而且每个Psite可以有无限的Psite孩子(除了我的,例如:/ MyCompany的/博客/ myblog一些限制,即Psite的名称不能开始与数字,不能是其中之一。:登录,我和模板。Stringbeans版本每个Psites修改。参阅管理更多细节Psites部分。

我是一个特殊的Psite凡登录的用户文件(s)是创建。每个登录的用户将拥有自己的Psite(又名Psite的所有者)根据我的,这与他们的用户名命名的。例如,管理员用户的Psite是:/我/管理(供参考:管理员Psite保留)。

此外,我Psite受到限制。只有拥有者可以查看,编辑和管理他们的Psite。因此,Psite和页面权限设置不需要为我的Psite。没有Psite扩展(儿童)是允许的。默认情况下,只有管理员用户拥有“权力“来修改其他预先定义Psites(你可以进一步配置其他Psites权限设置后)。配置为默认模板视图将由我的第一次登录的用户将在下面讨论的看法。

模板Psite是另一个特殊Psite。这Psite“主机”默认模板的所有其他Psites。例如:/模板/我/是为我的Psite默认模板是“托管“。每个用户第一次登录谁在初期将得到一个视图“复制“从这里定义的模板。因此,要定义一个默认的模板,例如,您公司的博客Psite,你作为管理员,应该把博客的模板下:/模板/ MyCompany的/博客/。否则,在模板中定义的模板将被提交给用户。默认的模板,模板可配置(如果你是作为管理员登录)从这个路径:/模板 注意:路径是指到URI的路径。如果您的网站是:http://localhost:8080/stringbeans,/模板路径是指:http://localhost:8080/stringbeans/portal/templates

配置用户的默认视图(我Psite),为您的网站的用户账户,即模板:

以admin登录用户(指内置帐户的用户信息部分。

转到/模板/通过输入我的:http:///门户/模板/我的

默认的模板将被显示。默认情况下,管理员用户是这个模板,具有编辑和管理权限的所有者。

配置页面,你想。您可以添加/删除有何页面/内容。 Psite和页面设置的链接位于无论是在页面的顶部或底部(或其他地方),就取决于您选择的主题。

所有的改变都存储和版本。这允许你“回滚“到以前的版本。指管理Psites的细节部分。 首页和登录Psite模板可以以相同的方式配置为上述配置我作为默认模板。唯一的区别是URI的路径。对于主页上,您可以点击“首页“入口链接或键入:http:///门户,而登录为:http:///门户/登录

管理Psites

每一个Psite,例如修改移动内容或添加/删除内容或网页,记录和版本。这允许回滚到其Psite以前的版本的用户,如果他们想。

为此,Stringbeans提供Psites管理员Portlet。目前,您只能从一个版本回滚或删除旧版本。在未来,“差异“功能可能会引入以及自动释放空间为旧版本删除。的SB -admin角色的用户权限“控制”(查看,删除,回滚)所有Psites版本,而普通用户只能访问他们的Psite。

所有Psites配置文件存储在$ STRINGBEANS_HOME/ WEB - INF文件/ psites目录。每个Psite都有自己的子文件夹下,Psite是“父母“的。例如,我的Psite将根据psites根文件夹,根据IT管理员Psite。

该Psite配置数据存储到相应的文件夹下psite_data Psite。配置文件的名称是index.xml。版本文件存储在版本的文件夹,配置文件为index.xml同一水平。每个版本的文件被命名为根据其版本,如v_1.xml的第一个版本。

portlet的配置

端可以装在一个Stringbeans门户服务器在WEB - INF下的Stringbeans Web应用程序目录或其他Portlet的Web应用程序所在的文件portlet.xml中指定。配置和portlet.xml文件内容是在JSR168标准文件规定,所以portlet.xml中配置的详细信息将不会被描述在这里。具体的portlet的配置将讨论portlet的部分。 Stringbeans支持本地和外部的portlet(s)的部署。本地Portlet是指在Stringbeans Web应用程序定义的portlet,而外部的portlet是指在portlet的Web应用程序在不同环境中部署(从Stringbeans外Web应用程序上下文)的portlet。

本地portlet部署

Stringbeans内部署Web环境的portlet:

添加您的Portlet定义(...)到Portlet美元以下STRINGBEANS_HOME/ WEB - INF目录的配置文件,portlet.xml中。

复制您的portlet(类(ES)和/或JAR文件(s))和所有依赖于它的JAR文件的WEB-INF/classes或者WEB-INF/lib目录,即$ STRINGBEANS_HOME的/ WEB - INF / lib目录。

注:Portlet API的类,即javax.portlet.xxxxxx已列入Stringbeans(portlet.jar)。不要复制这些类的jar文件,也没有为STRINGBEANS_HOME/ WEB - INF文件/类和/或$STRINGBEANS_HOME的/ WEB - INF / lib目录。

复制的jsp文件(如有)和所有的portlet的资源文件(图像等)到正确的位置,配置在portlet的定义,即至STRINGBEANS_HOME/ Portlet的目录。

外部Portlet的Web应用程序部署

下面的步骤是:(手动)部署一个portlet Web应用程序Stringbeans。

配置您的portlet应用程序:

您的portlet的Web应用程序可以是一个战争背景下的文件或文件夹扩大战争的文件。war文件或扩大战争的文件必须:

包含在WEB - INF目录portlet.xml文件。

portlet.xml中定义的Portlet必须遵守的JSR168规范。

注:如果你正在部署一个Struts应用程序的Struts使用Stringbeans桥,一个特定的类和init参数用于定义Portlet定义。例如一个基于Struts的应用程序的Portlet定义中可以找到基于Struts的应用程序部署部分。

定义com.nabhinc.portal.core.PortletServlet servlet和正确映射在portlet的部署描述符,web.xml中。该网址的映射模式被称为servletURI在配置在下一步Portal配置。 在web.xml中条目是类似于以下内容:

Stringbeans。

包括的SB - portal.jar,nabh- common.jar,和所有相关的jar文件(使用

JAXB-api.jar,使用JAXB- impl.jar和jaxb1- impl.jar到WEB-INF/lib目录下。 包括portlet.tld(由$ STRINGBEANS_HOME/ WEB - INF文件)到一个目录的标签库在部署描述符web.xml中定义的URI映射元素。在一个需要portlet.tld要

如果使用Tomcat的林分包捆绑Sringbeans被使用,这种配置一步已经为你做。你可以跳过下一步。

portlet.jar的SB - container.jar和SB -股份common.jar文件必须在应用服务器的共享目录或“全球“类路径可以通过Stringbeans以及portlet应用程序(s)进行访问。此外,这3个jar文件必须从$ STRINGBEANS_HOME的/ WEB - INF / lib中/。

对于Tomcat,这3个jar文件被移动到$ TOMCAT_HOME/共享/ lib /目录。

请注意,也没有portlet.jar的SB - container.jar中可以找到更多的应用程序的classpath过一次,例如:在共享目录,并在Stringbeans'或portlet应用程序的WEB-INF/lib目录。 IncompatibleClassChangeError或ClassCastException将抛出

配置Stringbeans上下文共享或跨上下文。想想部署Stringbeans方面只是另一个Web应用程序上下文。请咨询您的共享或跨上下文配置应用服务器。如果Tomcat使用,添加一个类似的条目在Tomcat

的server.xml以下(在$ TOMCAT_HOME的/ conf目录位于:

此项目应在被用于Tomcat配置文件(默认的localhost appBase是webapps目录)的appBase虚拟主机,server.xml中。您也可以包含在$ context.xml文件STRINGBEANS_HOME/ META - INF文件/只包含上述项目。

下面的步骤是需要为Portlet的Web应用程序的每一个将要部署完成。如果你的应用服务器支持热部署,你现在可以重新启动服务器和配置在运行时执行以下步骤。通过直接修改配置文件,它需要在服务器重新启动手动配置也将提供。

您的portlet部署Web应用程序。

这一步可能各有不同的应用服务器从一个。请参考部署Web应用程序到应用程序服务器的文档。这是假设你已经完成了第一步以上(并已包括所有必要的库)。portlet应用程序可以是文件或战争爆发战争的文件(再次,进行磋商,以你的应用服务器)。

部署的portlet应用程序必须配置为一个共享或跨上下文。它类似于步骤配置为共享的上下文Stringbeans上下文#2。您还可以添加在您的portlet应用程序的每个META-INF/context.xml文件。请注意,您必须重新启动Tomcat的server.xml中,如果是用

于配置交叉背景。在server.xml或context.xml中的其他项是类似于以下内容:

添加到Stringbeans配置portlet应用程序上下文。

你可以在运行时使用门户配置UI或手动修改配置文件的门户,portal.xml:

使用Portal配置界面:

这一步必须仅允许Portlet的Web应用程序后,已成功部署。

登录以“admin“用户

单击Portlet的管理菜单标签。

按一下portlet应用程序左侧的导航窗格菜单。

点击新语境中的按钮。一个窗体包含“上下文路径“和”的Servlet的URI“字段应显示。

在“上下文路径“栏,你的portlet应用程序上下文的名称输入(以斜线开始"/").此字段是必需的。例如:/ JPetStore的

“的Servlet的URI“字段是可选的。你可以给这个领域的空白。默认是:/portlet_servlet。 点击“添加“按钮。

点击“继续“按钮。

注:将显示一个警告,如果上下文名称是无效的。

门户网站配置文件手动配置,portal.xml位于STRINGBEANS_HOME美元以下/ WEB - INF目录。

新增您的portlet标记内父门户网站配置文件,应用程序的上下文路径项portal.xml。

该条目必须的contextPath属性,您可以指定您的portlet应用程序上下文的名称。 一个例子是在部分。

需要重新启动应用服务器配置完成后。

请注意,Stringbeans目前的执行情况并不能自动刷新portlet应用程序如果是在热部署更新。但是,您可以“重新载入“portlet应用程序的portlet使用上述。

基于Struts的应用程序部署

Stringbeans包括Struts的桥梁,支持基于Struts的应用是作为JSR- 168兼容的portlets部署。为了成功地部署没有或很少变化Stringbeans Portal Server时,必须开发Struts应用程序使用:

Struts标签中呈现的所有资源(例如图像)的路径和操作链接。

适当的MVC acrhitecture,例如与使用的ActionForward重定向=“true“将发送一个Action处理后重定向到客户端。

Stringbeans开发Struts的大桥是在Apache Struts的桥顶和门户网站上发布1.2.4 Struts框架的基础。以下是步骤准备和部署Struts应用程序,使用Struts桥Stringbeans:

按照外部Portlet的Web应用程序部署节说明配置Stringbeans以及Struts应用程序中的跨应用程序。你应该参考你的Struts应用的Portlet Web应用程序的地方提到。目录(上下文路径)在Struts应用程序将被安装在下面的步骤转介。

复制下面的库文件/ WEB-INF/lib中/美元STRINGBEANS_HOME/WEB - INF目录/ lib /目录:

portals-bridges-common-x.x.jar,

portals-bridges-struts-x.x.jar, and

高中作文