📄 intro.html
字号:
<html>
<head>
<title>BPWS Editor</title>
</head>
<body bgcolor="#FFFFFF">
<h2>BPWS4J Editor</h2>
<p>The BPWS4J Editor allows you to create and edit BPWS documents. The editor tool is an
eclipse plugin. The tool allows you to create new BPWS processes and manipulate
existing ones.</p>
<a name="installing"/><h3>Installing the editor</h3>
<p>Download the BPWS4J editor plugin zip file and extract this file into the
root directory of your eclipse installation. The editor assumes the existence
of other plugins that come with the base eclipse configuration.</p>
<h3>Starting up the editor</h3>
<p>After starting up eclipse, open the BPWS perspective. This is done by
going to the Window/Open Perspective menu. Next, all you need to do is
create a new BPWS file or import one into your workspace and then open
it.
<a name="using"/><h3>Using the editor: the basics</h3>
<p>The editor perspective consists of five distinct parts:
<ul>
<li><b>The navigator view</b><br>
This is the standard eclipse resource navigator used to browse the
resources under your eclipse workspace. Resources with a ".bpws"
or ".bpel" extension will be associated with the BPWS4J editor in the Eclipse
workspace.
</li>
<li><b>The BPWS4J editor</b><br>
The BPWS4J editor offers two ways of editing a BPWS process - a "process"
editor, which is a structured tree representation of the process, and
the "source" editor, which lets you edit the raw XML. The editor handles
synchronization between these editors, so each gets updated when edits
are made from either.
<p>The source editor is a simple text editor with standard text editor
capabilties such as cut, copy, paste, etc.</p>
<p>The process editor shows the structure of the process in combination
with the outline view and property view. The element tree in the
process editor doesn't show the XML structure entirely, since
the tree structure consists only of activities and BPWS elements that can
contain activities. The process element is the root of the tree. Since it can
contain an activity and also a compensation handler and fault handlers, these
are possible children of this node. However, a process may also contain definitions
of containers, partners, etc. but these are shown in the outline view (refreshed when you
select a node in the process editor). Compound activities in the process editor
may have children as well.</p>
<p>The process editor is used to change the structure of the process
either by deleting a node, adding something to a node, or wrapping a node with
something. The BPWS menu and the toolbar provide ways of doing this. These
are both context-sensitive, so, for example, if a process contains an activity,
all the "add" items in the menu and toolbar are disabled since you aren't
allowed to have more than one activity under the process.</p>
<p>Other parts of the BPWS4J process can be edited using the outline and property views
described below. Note that the outline and property views can be used only
in conjunction with the process editor, they are not to be used when editing
using the source editor.</p>
</li>
<li><b>The outline view</b><br>
The outline view offers a view of the structure of the selected item
in the process editor. It shows the elements defined within, such as
source and target elements for activities, containers and partners for
the process, or activity-specific elements such as links defined within a flow.
The outline view also has tools to add these elements or delete them.
</li>
<li><b>The property view</b><br>
The property view lets you edit properties of the currently
selected item in the outline view. Properties are edited by
changing the contents directly or by choosing from a list of acceptable
values in a drop down list.
</li>
<li><b>The tasks view</b><br>
The task view presents a list of outstanding tasks for the BPWS
process being edited. Selecting a particular task will highlight the position in the source
view or node in the tree view where the offending error occurs.
The process gets validated (and the task view refreshed) each
time it is saved, or when you switch between the process and
source editors. The task view displays
a list of problems which need to be corrected in order for the process
to be defined according to the BPWS specification. The validator checks
for presence of required attributes and tries to verify that entities
that are references within attributes have been previously defined.
However, there is no guarantee that a process with no outstanding tasks
can be deployed and run successfully.
</li>
</ul>
</p>
<a name="example"/><h3>An example editing session</h3>
<p>Let's see how we can edit a business process that receives
a message, invokes a web service using the message as input and then
replies to its client using the response from the web service.</p>
<b>Creating the process</b>
<p>We begin by creating a skeleton BPWS file using the BPWS wizard. The File-->New
menu in eclipse will allow you to create a bare-bones process. Once you use
this to create the file, we can begin adding to it.</p>
<p>We have defined a process with a default attribute set. You can select the node
it in the process editor and edit the properties as desired. While you are doing this
you can switch back and forth between the process and source editors; observe how
the process data is kept in sync.</p>
<b>Editing the process</b>
<p>Let's begin by adding a receive activity to the process. We can do this
using the toolbar (each tool item has a tool tip which lets you figure
out what the horrendous icons actually stand for). The receive activity that gets
added is not completely defined. We'll work on doing that next, but this is
a good time to see our task view. The task view is refreshed when we save our work
or switch between the editors. Try saving our partial file now, the task view
should give you a list of problems with the ill-defined receive activity.</p>
<p>In order to fix these problems, we an begin by adding partners and containers
to our process. In our particular example, the process has two partners - a client
and a provider. We also need two containers, one to hold the request message
and one for the response message.</p>
<p>Select the process node in the process editor. The outline view will
now have tool items to add a partner and add a container. Add a partner for the client, then select
the newly created partner element in the outline and edit its properties - give it a name
at the very least. Add a partner for the provider too, and similarly, add a container each for
the request and response messages.</p>
<p>Now we can go back to our ill-defined receive activity and specify its partner and container
using the drop down lists in the property window for this activity. You can also enter the
nameof the port type and operation to make this a valid receive activity. If you save this file or
switch from the process editor to the source editor or vice-versa, the task
list will get updated.</p>
<p>Now for the process to work, the receive, invoke and reply activities we will
have must run in the correct order. We can enforce this either by placing them
within a "sequence", or by placing them within a flow with defined links and then
linking them correctly. The latter is a little more interesting, so let's do that.</p>
<p>Let's wrap our receive activity with a flow. We can select the receive and use the
menu to do this. Let's also add an invoke and then a reply activity to the flow. Select each
of these and edit their properties so that the invoke's input container is the receive's
container, and the invoke's output container is the reply's container. Note that
the port type and operation names are not verified in any way.</p>
<p>The next thing we need to do is define links and link the activities. We define
links within a flow, so select the flow and the outline view should have a tool item
for defining a link. Add a link and give it a name by editing the link's properties.
We need two links, so add another. Next, we need to select the receive activity and
specify that it is the source of a link. The outline view for the receive should
allow you to add a source element. Go ahead and do this, then edit the source properties
to specify the link. In a similar way, we can make the invoke the target of this link,
and the source of the next link, for which the reply activity should be the target.</p>
<p>With this, our process is fully defined.</p>
<a name="changes"/><h3>Recent changes</h3>
<p>The <a href="changelog.html">Change log</a> describes recent changes to the editor.</p>
<a name="problems"/><h3>Known problems</h3>
<ul>
<li>The builder tool records a file as having been modified (and thus prompts
the user to save it when the tool is closed) even if the file was in fact
not modified at all.</li>
<li>The builder tool exhibits the following
erroneous behavior: partner definitions are expected
to refer to partner link definitions; the tool
instead allows users to define new partner links
within a partner definition. The user should ensure
that only the "name" attribute of partner links
contained within partner definitions is filled in
(to refer to a previously defined partner
link). Note that in case other attributes are filled
in (as in a new partner link definition) they will
be lost when the process is saved, or when the user
switches from the graphical view to the text view of
the process.</li>
</ul>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -