Novell exteNd 5.2 User guide

Category
Development software
Type
User guide
Novell exteNd Composer
USER’S GUIDE
www.novell.com
5.0
Legal Notices
Copyright © 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.
Title to the Software and its documentation, and patents, copyrights and all other property rights applicable thereto,
shall at all times remain solely and exclusively with SilverStream and its licensors, and you shall not take any action
inconsistent with such title. The Software is protected by copyright laws and international treaty provisions. You
shall not remove any copyright notices or other proprietary notices from the Software or its documentation, and you
must reproduce such notices on all copies or extracts of the Software or its documentation. You do not acquire any
rights of ownership in the Software.
Novell, Inc.
1800 South Novell Place
Provo, UT 85606
www.novell.com
exteNd Composer User’s Guide
December 2003
Online Documentation: To access the online documentation for this and other Novell products, and to
get updates, see www.novell.com/documentation.
Novell Trademarks
eDirectory is a trademark of Novell, Inc.
exteNd is a trademark of Novell, Inc.
exteNd Composer is a trademark of Novell, Inc.
exteNd Director is a trademark of Novell, Inc.
jBroker is a trademark of Novell, Inc.
NetWare is a registered trademark of Novell, Inc.
Novell is a registered trademark of Novell, Inc.
SilverStream Trademarks
SilverStream is a registered trademark of SilverStream Software, LLC.
Third-Party Trademarks
All third-party trademarks are the property of their respective owners.
Third-Party Software Legal Notices
Jakarta-Regexp Copyright ©1999 The Apache Software Foundation. All rights reserved. Xalan Copyright ©1999
The Apache Software Foundation. All rights reserved. Xerces Copyright ©1999-2000 The Apache Software
Foundation. All rights reserved. Jakarta-Regexp , Xalan and Xerces software is licensed by The Apache Software
Foundation and redistribution and use of Jakarta-Regexp, Xalan and Xerces in source and binary forms, with or
without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code
must retain the above copyright notices, this list of conditions and the following disclaimer. 2. Redistributions in
binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution. 3. The end-user documentation included with
the redistribution, if any, must include the following acknowledgment: "This product includes software developed
by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the
software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "The Jakarta
Project", "Jakarta-Regexp", "Xerces", "Xalan" and "Apache Software Foundation" must not be used to endorse or
promote products derived from this software without prior written permission. For written permission, please contact
apache@apache.org. 5. Products derived from this software may not be called "Apache" nor may "Apache" appear
in their name, without prior written permission of The Apache Software Foundation. THIS SOFTWARE IS
PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright ©1996-2000 Autonomy, Inc.
Copyright ©2000 Brett McLaughlin & Jason Hunter. All rights reserved. Redistribution and use in source and binary
forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions
of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. 2.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer
that follows these conditions in the documentation and/or other materials provided with the distribution. 3. The name
"JDOM" must not be used to endorse or promote products derived from this software without prior written
permission. For written permission, please contact lice[email protected]. 4. Products derived from this software may
not be called "JDOM", nor may "JDOM" appear in their name, without prior written permission from the JDOM
Project Management ([email protected]). THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This Software is derived in part from the SSLava™ Toolkit, which is Copyright ©1996-1998 by Phaos Technology
Corporation. All Rights Reserved. Customer is prohibited from accessing the functionality of the Phaos software.
The code of this project is released under a BSD-like license [license.txt]: Copyright 2000-2002 (C) Intalio Inc. All
Rights Reserved. Redistribution and use of this software and associated documentation ("Software"), with or without
modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must
retain copyright statements and notices. Redistributions must also contain a copy of this document. 2. Redistributions
in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution. 3. The name "ExoLab" must not be used to
endorse or promote products derived from this Software without prior written permission of Intalio Inc. For written
permission, please contact info@exolab.org. 4. Products derived from this Software may not be called "Castor" nor
may "Castor" appear in their names without prior written permission of Intalio Inc. Exolab, Castor, and Intalio are
trademarks of Intalio Inc. 5. Due credit should be given to the ExoLab Project (http://www.exolab.org/). THIS
SOFTWARE IS PROVIDED BY INTALIO AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT
SHALL INTALIO OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
iii
Contents
About This Guide xiii
1 Welcome to exteNd Composer 1
The Novell exteNd Family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Novell exteNd 5 Professional Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Novell exteNd 5 Enterprise Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
The Novell exteNd Composer Product Line . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
What Is Composer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Who Can Use Composer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Components and Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
What Kinds of Applications Can You Build with Composer?. . . . . . . . . . . . . . . . . . . 7
Automated Business Process Management (Workflow) . . . . . . . . . . . . . . . . . . . . . 8
About the Composer Enterprise Connect Product Line . . . . . . . . . . . . . . . . . . . . . 9
Updating Your License(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Updating Design-Time License String(s) . . . . . . . . . . . . . . . . . . . . . . . . . .10
Updating Runtime License String(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Where To Go for More Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
2 Planning Your Application 15
How Do I Design and Build an Application in Composer? . . . . . . . . . . . . . . . . . . . .16
What is an xObject? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
What is a Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
What is a Component? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
What is a Resource? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
What Is an XML Template?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Basic Steps for Developing a Composer Service . . . . . . . . . . . . . . . . . . . . . . . .18
Part One: Plan the Service (Before Using Composer) . . . . . . . . . . . . . . . . . . .19
Part Two: Build the Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Part Three: Deploy the Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
How is Data Handled When a Service Executes? . . . . . . . . . . . . . . . . . . . . . . . .22
SOAP Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
XML Signatures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
3 Getting Started with exteNd Composer 25
Launching exteNd Composer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Modifying the Java Virtual Machine for exteNd Composer . . . . . . . . . . . . . . . . .27
Exiting Composer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Understanding the exteNd Composer Environment . . . . . . . . . . . . . . . . . . . . . . .28
How to Get Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
About the Composer Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
Novell exteNd Composer User’s Guide
iv
Navigation, Message, and Content Frames . . . . . . . . . . . . . . . . . . . . . . . . 31
Manipulating Composer’s MDI Windowing Environment. . . . . . . . . . . . . . . . . . 32
Using Title Bar, Menus, Toolbars, and Status Bar. . . . . . . . . . . . . . . . . . . . . 33
Understanding Composer Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Navigator Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
The Project Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
The Registries Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Configuring Composer’s Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Setting Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
General Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Display Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Editing Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Designer Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
.Entering Advanced Proxy Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Project Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Project Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Subprojects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
The xconfig.xml and xuserpref.xml files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Composer Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Using Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Navigating Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4 Creating and Managing Your Projects 57
What is a Project?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
About Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
About Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
About Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
About XML Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Creating a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Opening Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Opening a Project from within Composer . . . . . . . . . . . . . . . . . . . . . . . . . 61
Opening a Specific Project When Starting Composer from the Command Line . . . . . . 62
Opening a Project when the Recent Project is not Found . . . . . . . . . . . . . . . . . 62
Deleting a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Managing xObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Creating an xObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Opening an xObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Importing an xObject. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Displaying an xObject’s Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Printing an xObject’s Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Renaming an xObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Deleting an xObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Searching for xObjects or Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
v
Viewing System Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Understanding Where Project Files are Stored . . . . . . . . . . . . . . . . . . . . . . . . .72
About Design Time and Deployed Project Files . . . . . . . . . . . . . . . . . . . . . .73
Creating Project Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Adding a Project Variable to a Project . . . . . . . . . . . . . . . . . . . . . . . . . . .74
Creating Project Variables Dynamically. . . . . . . . . . . . . . . . . . . . . . . . . . .76
Subprojects within Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Imported xObjects versus Subprojects . . . . . . . . . . . . . . . . . . . . . . . . . . .80
Nesting of Subprojects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
Scope and Visibility of xObjects and Variables in Subprojects . . . . . . . . . . . . . . .81
5 XML Templates 83
Sample XML Documents, Document Definitions, XSL Stylesheets, and Templates . . . . . .83
About Sample XML Documents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
About XML Validation Documents (DTDs and Schemas). . . . . . . . . . . . . . . . . .85
About XSL Stylesheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
About XML Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
About Template Categories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
Creating an XML Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
Creating XML Templates from WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
Importing an XML Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
Showing and Hiding XML Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
XML Template Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
Viewing an XML Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Editing an XML Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Saving Changes to XML Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Printing an XML Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
The XML Template Editor Context Menu . . . . . . . . . . . . . . . . . . . . . . . . . 103
Deleting an XML Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Moving an XML Template to a Different Category . . . . . . . . . . . . . . . . . . . . 105
Renaming an XML Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Understanding Where XML Templates Are Stored on Your Hard Drive. . . . . . . . . . . . 106
6 Creating an XML Map Component 107
What is an XML Map Component? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Using XML Template Sample Documents to Build an XML Map Component . . . . . . 108
What is a DOM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Understanding DOM Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Using DOMs at Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
DOM Behaviors during Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Creating Different Types of Messages . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Creating an XML Map Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Namespaces and Output Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Understanding the XML Map Component Editor. . . . . . . . . . . . . . . . . . . . . . . . 115
Novell exteNd Composer User’s Guide
vi
About the Menu and Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Using Window Layout and Show/Hide in the Component Editor. . . . . . . . . . . . . 119
About the Mapping Panes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
About the Input Mapping Pane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
About the Output Mapping Pane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
About the Action Model Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Adding Actions to a Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Creating an Output Document without Using a Template . . . . . . . . . . . . . . . . 131
Using Temp and Fault Messages with a Component. . . . . . . . . . . . . . . . . . . . . 133
Creating a Temporary Message Part . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Creating a Fault Message Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Creating a Custom Fault Document . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Reloading an XML Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Loading a Sample Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Adding a Watch Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Saving Your Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Saving a DOM as an XML Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Saving an XML File as a Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Inspecting and/or Editing XML Template Properties . . . . . . . . . . . . . . . . . . . . . 143
Avoiding Out-of-Memory Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Using Performance Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Viewing Component Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Printing a Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Designing, Testing, and Running a Component . . . . . . . . . . . . . . . . . . . . . . . 148
7 Basic Actions 149
What is an Action? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Using Composer Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Creating an Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
The Comment Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
The Component Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
The Decision Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
The Declare Alias Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
The Function Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
The Log Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Log File Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Log Priority Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
The Map Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
About XPath and ECMAScript Expressions . . . . . . . . . . . . . . . . . . . . . . . 166
Adding a Map Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Advanced Mapping Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
The Send Mail Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Mail via SMTP Simple Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . 177
vii
How to Create a Send Mail Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
The Switch Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
About Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
About the Default Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
The Todo Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
8 Advanced Actions 189
Apply Namespaces Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Map Actions, XML Templates, Namespaces, and Prefixes. . . . . . . . . . . . . . . . 194
The Convert Copybook to XML Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
The Convert XML to Copybook Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
The Simultaneous Components Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
The Throw Fault Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
The Transaction Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
The Try/On Fault Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
The XForm Process Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
The XSLT Transform Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Data Exchange Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
The Composer Resource Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
URL/File Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
URL/File Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
The Web Service (WS) Interchange Action . . . . . . . . . . . . . . . . . . . . . . . . . . 217
The XML Interchange Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Performance Enhancement Using “Filter Document” . . . . . . . . . . . . . . . . . . . 224
Repeat Actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
The Break Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
The Continue Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
The Declare Group Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
The Repeat For Element Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
The Repeat for Group Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
The Repeat While Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
The Split Document Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Limitations of Stream-Based Document Processing . . . . . . . . . . . . . . . . . . . 238
How the Split Document Action Works . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Special Considerations for Animation and Debugging . . . . . . . . . . . . . . . . . . 243
Creating the Split Document Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
9 Resources 247
Working with Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Support for Language Versioning of Resources . . . . . . . . . . . . . . . . . . . . . . . . 249
About Certificate Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
About Code Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
About the Code Table Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
About Code Table Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Novell exteNd Composer User’s Guide
viii
Mapping the Code Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Using a Code Table Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
About Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
About Constant vs. Expression Driven Connections. . . . . . . . . . . . . . . . . . . 262
Using LDAP to Obtain Connection Parameters . . . . . . . . . . . . . . . . . . . . . 264
How to Create an HTTP Basic Authentication Connection Resource . . . . . . . . . . 267
How to Create an FTP Authentication Resource . . . . . . . . . . . . . . . . . . . . 269
Mail Simple Authentication Connection Resource . . . . . . . . . . . . . . . . . . . . 270
About Copybook Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
About Custom Script Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Organizing and Using Custom Functions . . . . . . . . . . . . . . . . . . . . . . . . 275
About the Custom Script Editor Window. . . . . . . . . . . . . . . . . . . . . . . . . 277
Creating and Validating a Function . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Adding a Function Tool Tip Description . . . . . . . . . . . . . . . . . . . . . . . . . 278
Viewing DOM Trees within the Script Editor . . . . . . . . . . . . . . . . . . . . . . . 279
Integrating Java Classes with Custom Scripts. . . . . . . . . . . . . . . . . . . . . . 281
Working with a Java Class in ECMAScript. . . . . . . . . . . . . . . . . . . . . . . . 284
Using the Expression Editor to Build Functions . . . . . . . . . . . . . . . . . . . . . 286
About Form Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
About Image Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Image Resource Naming (and Renaming). . . . . . . . . . . . . . . . . . . . . . . . 291
Context in the JAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
How to Create an Image Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
How to Import an Existing Image Resource . . . . . . . . . . . . . . . . . . . . . . . 293
How to View an Image Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
About JAR Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
JAR Resource Naming (and Renaming). . . . . . . . . . . . . . . . . . . . . . . . . 296
Context in the Composer Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Context in the Composer Project JAR . . . . . . . . . . . . . . . . . . . . . . . . . . 297
How to Create a JAR Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
How to Import a JAR Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
About JSP Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Creating a JSP-Based Service Trigger . . . . . . . . . . . . . . . . . . . . . . . . . 302
About WSDL Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Obtaining a Stylized View of WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Adding Elements to a WSDL Document . . . . . . . . . . . . . . . . . . . . . . . . . 310
Type-Ahead (Code Completion) in the WSDL Editor . . . . . . . . . . . . . . . . . . 317
Validating a WSDL document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
About WSIL Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
About XML Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
How Do XML Templates and XML Resources Differ? . . . . . . . . . . . . . . . . . . 322
How to Import an XML Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
How to Access an XML Resource in a Component . . . . . . . . . . . . . . . . . . . 325
ix
About XSD Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Using Composer’s Schema Generator . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Using the XSD Resource Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
About XSL Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
How to Create an XSL Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
How to Import an XSL Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
10 Custom Scripting and XPath Logic in exteNd Composer 333
What is ECMAScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
What Capabilities Does ECMAScript Offer? . . . . . . . . . . . . . . . . . . . . . . . . . . 334
How Scripting Is Exposed in Composer’s User Interface . . . . . . . . . . . . . . . . . . . 335
ECMAScript Access from XPath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
XPath Access from ECMAScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Scope of Custom Script Functions and Variables . . . . . . . . . . . . . . . . . . . . . . . 339
Looking at an ECMAScript Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Performance Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
What Is XPath? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Who Is the Target Audience for XPath? . . . . . . . . . . . . . . . . . . . . . . . . . 342
When Would I Want to Use XPath?. . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
How Is XPath Integrated into Composer?. . . . . . . . . . . . . . . . . . . . . . . . . 343
Looking at an XPath Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
XPath Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Documentation Resources for XPath . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
About XSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
What is XSL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Who is the Target Audience for XSL? . . . . . . . . . . . . . . . . . . . . . . . . . . 349
When Would I want to Use XSL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
How is XSL Integrated into Composer?. . . . . . . . . . . . . . . . . . . . . . . . . . 349
Looking at an XSL Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Resources for XSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
About Novell Scripting Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
When Would I Want to Use Novell Scripting Extensions? . . . . . . . . . . . . . . . . 357
How Are Novell Scripting Extensions Integrated into Composer? . . . . . . . . . . . . 357
Extension Code Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
About DOMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
What is DOM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
What Does a DOM Do? What are the Key Features? . . . . . . . . . . . . . . . . . . 358
Who is the Target Audience for DOM Methods? . . . . . . . . . . . . . . . . . . . . . 358
When Would I Want to Use DOM Methods? . . . . . . . . . . . . . . . . . . . . . . . 358
How Are DOM Methods Integrated into Composer? . . . . . . . . . . . . . . . . . . . 358
Looking at a DOM Methods Example. . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Documentation Resources for DOMS. . . . . . . . . . . . . . . . . . . . . . . . . . . 359
About Java Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Novell exteNd Composer User’s Guide
x
How Is Java Accessible in exteNd Composer? . . . . . . . . . . . . . . . . . . . . . 359
When Should You Use Java? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Looking at a Java Integration Example . . . . . . . . . . . . . . . . . . . . . . . . . 360
Documentation Resources for Java . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
11 Applying Actions to Common Tasks 363
About the Examples in this Chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
About Element and Data Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Mapping Leaf Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Mapping a Parent and its Children (Deep Copy Mapping) . . . . . . . . . . . . . . . . . . 365
Transforming Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Transforming Elements With the Content Editor. . . . . . . . . . . . . . . . . . . . . 367
Transforming Elements With Code Tables. . . . . . . . . . . . . . . . . . . . . . . . 370
Transforming Elements With Functions . . . . . . . . . . . . . . . . . . . . . . . . . 371
Using Loops in Action Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
The Repeat for Element Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
The Repeat for Group Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
The Repeat While Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Performing Aggregate Calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Calculating a Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Finding the Highest Total . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Finding a Specific Match for the Highest Total. . . . . . . . . . . . . . . . . . . . . . 381
12 Testing and Debugging 383
What are the Animation Tools? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
The Basic Animation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Starting Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Toggling a Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Running To a Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Stepping Into an Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Stepping Over an Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Pausing Animation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Aborting Animation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Execution Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Clearing All Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Resetting All Documents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Clearing a Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Testing Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Using the ECMAScript alert() Function . . . . . . . . . . . . . . . . . . . . . . . . . 397
Using a Project Variable to Turn Debugging On or Off . . . . . . . . . . . . . . . . . 398
Watch Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Environmental Differences between Animation Testing and Deployment Testing . . . . . . 402
xi
13 Working with Services 405
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
What Are the Available Service Types? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
JMS Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Service Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Composer Web Services and WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Looking at an Example Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Looking at an Example JMS Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Creating a New Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
About Specifying XML Templates for a Service. . . . . . . . . . . . . . . . . . . . . . 410
Creating a JMS Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Importing a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Understanding the Service Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Using the Service Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Building a Service with Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Looking at an Example Service Action Model. . . . . . . . . . . . . . . . . . . . . . . 416
Service FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Loading Sample Documents as You Test a Service. . . . . . . . . . . . . . . . . . . . . . 420
14 Working with Registries 421
Capabilities of the Registry Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Registry Browsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Context Menu Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Action Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Searching by organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Searching by service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Retrieving WSDL from the Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Publishing to a registry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
15 Deploying Your Project 441
Planning your Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
About Service Triggers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Triggers and Input Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
About Composer-Built Deployment EARs . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Deployment Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Deploying Directly from Composer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Server Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
The Deployment xObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Configuring a Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Service Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Defining E-mail Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Defining EJB-Based Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Defining File-Based Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Defining JSP-Based Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Novell exteNd Composer User’s Guide
xii
Defining Servlet-Based Service Triggers . . . . . . . . . . . . . . . . . . . . . . . . 468
Defining SOAP Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Defining Timer-Based Service Triggers . . . . . . . . . . . . . . . . . . . . . . . . . 472
Specifying Other Project Resources for Deployment . . . . . . . . . . . . . . . . . . . . . 476
Deploying Your Project to the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Deployment from exteNd Director. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Composer Web Service Wizard: SOAP Service Deployment . . . . . . . . . . . . . . 481
Composer Web Service Wizard: JSP and Servlet Triggers . . . . . . . . . . . . . . . 485
Deploying EARs from Novell exteNd Director . . . . . . . . . . . . . . . . . . . . . . 489
Director Wizards for Composer Code Generation . . . . . . . . . . . . . . . . . . . . . . 490
Director Servlet Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Director JSP Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Java Class Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Compiling and Deploying Director-Generated Code. . . . . . . . . . . . . . . . . . . 497
For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Composer Enterprise Server Documentation . . . . . . . . . . . . . . . . . . . . . . 497
A The Composer JSP Tag Library 499
Preparing to Use the Tag Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Custom Tags Defined in composer-taglib.tld . . . . . . . . . . . . . . . . . . . . . . 500
Tag API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
execute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
forEach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
hasnopart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
hasnovalue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
haspart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
hasvalue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
B Reserved Words 513
C Glossary 515
xiii
About This Guide
Purpose
This guide describes how to use Novell exteNd Composer, a visual design
environment for creating business-to-business integration applications, including
Web Services. This documentation provides information on the use of Composer’s
design-time features. Runtime functionality is more thoroughly described in the
Composer Enterprise Server Guide.
Audience
This guide is aimed at application designers who will be building J2EE
applications (including Web Services) using exteNd Composer.
Prerequisites
You should be familiar with XML-related standards (including Schema, XSL, and
XPath), the Document Object Model, and basic J2EE concepts involving file
packaging (JAR/EAR/WAR files). Some knowledge of ECMAScript is also
helpful, though not required, for using the product. If you are building Web
Services, you should be familiar with WSDL, SOAP, and related standards.
Additional documentation
For the complete set of Novell exteNd Director documentation, see the Novell
Documentation Web Site (http://www.novell.com/documentation-
index/index.jsp).
Organization
This guide is organized as follows:
Chapter Description
Chapter 1, Welcome to
exteNd Composer
Gives an overview of exteNd Composer, its
capabilities, and design philosophy.
Chapter 2, Planning
your Application
Describes the necessary preparations for
designing and building an XML Integration
Application.
Novell exteNd Composer User’s Guide
xiv
Chapter 3, Getting
Started in exteNd
Composer
Describes launching the product and the elements
of the Composer environment.
Chapter 4, Creating
and Managing your
Projects
Describes projects and their elements and
explains how to create them.
Chapter 5, XML
Templates
Describes XML templates, sample documents,
DTDs, XSL stylesheets, and XML categories and
when and how to use them.
Chapter 6, Creating an
XML Map Component
Describes XML Map Components, using XML
sample documents to build components, DOMs,
and how and why DOMs are used.
Chapter 7, Basic
Actions
Describes the core actions that are available in all
of Composer’s component editors, including map
actions, log actions, various flow-control actions,
and so on. Step-by-step procedures are given for
how to create each action.
Chapter 8, Advanced
Actions
Describes advanced actions including Declare
Group, Repeat for Group, Process XSL, Repeat
While, Throw Fault, Try/On Fault, and the various
data exchange actions.
Chapter 9, Resources Describes the various types of Composer
resources, including schema resources, WSDL,
code maps, code map tables, connections, and
custom scripts.
Chapter 10, Custom
Scripting and XPath
Logic in exteNd
Composer
Describes custom scripting using Composer’s
built-in ECMAScript facility. Also, a discussion of
how scripting can be used in conjunction with
XPath, DOMs, and Java. An API guide to
Composer’s built-in ECMAScript extensions is
presented, as well.
Chapter 11, Applying
Actions to Common
Tasks
Describes element and data mapping, leaf
element mapping, deep copy mapping,
transforming elements with code tables and
functions, performing loop actions, and performing
aggregate calculations.
Chapter Description
xv
About the PDF Documentation
Various navigational features are available when viewing this document in
Acrobat Reader:
The Bookmarks frame (left side of window) lists the contents of the
document, by chapter name, heading, and subheading. Every topic listed in
the content tree is a clickable link. To flip open the entire subtree under any
tree node, Control-click on the parent node. To toggle the visibility of the
Bookmarks frame, press F5.
Every item in the book’s Index is a clickable link that will take you directly
to the text discussion.
Chapter 12, Using the
Animation Tools for
Testing
Describes the animation tools and how to use
them to test services and components.
Chapter 13, Working
with Services
Describes how and what services are, how to build
them or import them, what the service editor is,
and how to build a service with components. This
chapter also contains an end-to-end example of
how to call an external Web Service based on
information contained in a WSDL resource.
Chapter 14, Working
with Registries
Tells how to use the features associated with
Composer’s “Registries” tab, including how to
search UDDI registries, publish to UDDI registries,
retrieve WSDL from registries, etc.
Chapter 15, Preparing
Your Project for
Deployment
Explains basic issues relating to the deployment of
Composer services to an app server.
Appendix A Adding
Java Extensions to
exteNd with
XCCLASSPATH
Describes how to make Java classpaths
accessible in the exteNd CLASSPATH.
Appendix B, Reserved
Words
Lists reserved words, which should not occur in
user-defined variable names or labels.
Appendix C, Glossary Definitions of key terms used in this Guide.
Chapter Description
Novell exteNd Composer User’s Guide
xvi
Wherever a website address (URI) appears, you will usually find that
clicking on it will take you to the site in your browser. Even if the URI is not
in blue or underlined, it will generally be a hot link. You can test this by
hovering the mouse over the URI. The cursor will change from an arrow to a
finger cursor if the link is hot.
Cross-references within and between chapters are also clickable.
Use Control-N to navigate to a given page in the document. A dialog will
prompt you for the page number.
You can Copy PDF text to the clipboard in the normal way (by shift-
dragging to select text, then using Control-C). Many programs will allow
you to Paste (or “Paste Special”) clipboard contents as RTF (rich text
format), retaining certain formatting features. To select large portions of text
spanning PDF pages, first click the “Continuous Pages Mode” icon in the
button bar at the bottom of the Acrobat window: Then shift-drag to select
text (or Control-A to Select All) and Copy.
1
1
Welcome to exteNd Composer
Welcome to exteNd Composer Chapter 1
Web Services are fundamentally changing the way enterprises exchange
information and perform business transactions. But to succeed in web services
development, business analysts and developers must be able to work together on
sophisticated, large, distributed applications that meet strict requirements for
performance, security, scalability, and reliability, in the face of increasingly
stringent time-to-market demands.
The most important factor in making a successful transition to a services-based
architecture that leverages modern web technologies is the availability of
powerful, easy-to-use development tools. Such tools should be:
1 Purpose-built, from the ground up, for Web Services development
2 Tightly integrated by design—not a grabbag of unrelated pieces
3 Easy to learn and use, so that a diverse team of users—from business
analysts to system administrators to software engineers—can be productive
immediately in a concurrent-development setting
4 100% standards-aware in terms of all important Web Services technologies:
XML grammars (including SOAP), description and discovery technologies
(WSDL, WSIL, UDDI), transport layers (HTTP and others), directory
protocols (LDAP, DSML), and security-related standards, among others.
5 Compatible with diverse deployment and runtime environments: i.e., a
variety of application servers on a variety of operating systems
6 If Java is the programming language, the development environment should
be fully J2EE-aware—not just a 3GL IDE (integrated development
environment), but a front-to-back development, testing, packaging, and
deployment toolset with full awareness of JAR/WAR/EAR issues,
portal/portlet architectures, etc.
Novell’s exteNd product line meets all of these criteria.
Novell exteNd Composer User’s Guide
2
The Novell exteNd Family
Novell exteNd is a family of Web Service development products for rapid
development of Web Service objects on J2EE (Java) application server platforms
The major pieces are available independently or as an integrated suite. The suite,
in turn, comes in two flavors: Professional Edition, and Enterprise Edition.
Novell exteNd 5 Professional Edition
The Novell exteNd 5 Professional Edition Suite is the base configuration of tools
that enable the application developer to develop and deploy enterprise-level Web
applications. The Professional Suite contains the following tightly integrated
components:
Novell exteNd Application Server (Sun-Certified J2EE application server)
Novell exteNd Composer with JDBC Connect and LDAP Connect.
NOTE: The Professional Edition suite does not support direct-to-app-server
deployment from the Composer GUI. (Deployment must be done from within
exteNd Director.) It also does not support transaction (JTA) awareness, EJB-
based service triggers, nor XForms awareness.
Fully functional eval versions of the Composer Connects for 3270, 5250,
CICS RPC, Data General, EDI, HP3000, HTML, JMS, SAP, Tandem,
Telnet, and Unisys (UTS and T27).
Novell exteNd Director (excluding the Content Management and Workflow
subsystems and the Autonomy-based search functionality). Director is a full
J2EE development environment with sophisticated packaging and
deployment capabilities, as well as robust subsystems for portal and portlet
application development.
MySQL 4.1 database server
Novell exteNd LDAP Utility directory server
Web Services SDK (a JAX-RPC implementation that includes compilers and
runtime environment for supporting SOAP-based Web Services)
The Novell exteNd Messaging Platform—support for standards such as JMS
(Java Messaging Service), the Common Object Request Broker Architecture
(CORBA), Java Transaction Service (JTS), and the Java Transaction API
(JTA).
Novell exteNd 5 Enterprise Edition
The Novell exteNd 5 Enterprise Edition Suite contains all of the same pieces as the
Professional Suite, with a few additions:
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41
  • Page 42 42
  • Page 43 43
  • Page 44 44
  • Page 45 45
  • Page 46 46
  • Page 47 47
  • Page 48 48
  • Page 49 49
  • Page 50 50
  • Page 51 51
  • Page 52 52
  • Page 53 53
  • Page 54 54
  • Page 55 55
  • Page 56 56
  • Page 57 57
  • Page 58 58
  • Page 59 59
  • Page 60 60
  • Page 61 61
  • Page 62 62
  • Page 63 63
  • Page 64 64
  • Page 65 65
  • Page 66 66
  • Page 67 67
  • Page 68 68
  • Page 69 69
  • Page 70 70
  • Page 71 71
  • Page 72 72
  • Page 73 73
  • Page 74 74
  • Page 75 75
  • Page 76 76
  • Page 77 77
  • Page 78 78
  • Page 79 79
  • Page 80 80
  • Page 81 81
  • Page 82 82
  • Page 83 83
  • Page 84 84
  • Page 85 85
  • Page 86 86
  • Page 87 87
  • Page 88 88
  • Page 89 89
  • Page 90 90
  • Page 91 91
  • Page 92 92
  • Page 93 93
  • Page 94 94
  • Page 95 95
  • Page 96 96
  • Page 97 97
  • Page 98 98
  • Page 99 99
  • Page 100 100
  • Page 101 101
  • Page 102 102
  • Page 103 103
  • Page 104 104
  • Page 105 105
  • Page 106 106
  • Page 107 107
  • Page 108 108
  • Page 109 109
  • Page 110 110
  • Page 111 111
  • Page 112 112
  • Page 113 113
  • Page 114 114
  • Page 115 115
  • Page 116 116
  • Page 117 117
  • Page 118 118
  • Page 119 119
  • Page 120 120
  • Page 121 121
  • Page 122 122
  • Page 123 123
  • Page 124 124
  • Page 125 125
  • Page 126 126
  • Page 127 127
  • Page 128 128
  • Page 129 129
  • Page 130 130
  • Page 131 131
  • Page 132 132
  • Page 133 133
  • Page 134 134
  • Page 135 135
  • Page 136 136
  • Page 137 137
  • Page 138 138
  • Page 139 139
  • Page 140 140
  • Page 141 141
  • Page 142 142
  • Page 143 143
  • Page 144 144
  • Page 145 145
  • Page 146 146
  • Page 147 147
  • Page 148 148
  • Page 149 149
  • Page 150 150
  • Page 151 151
  • Page 152 152
  • Page 153 153
  • Page 154 154
  • Page 155 155
  • Page 156 156
  • Page 157 157
  • Page 158 158
  • Page 159 159
  • Page 160 160
  • Page 161 161
  • Page 162 162
  • Page 163 163
  • Page 164 164
  • Page 165 165
  • Page 166 166
  • Page 167 167
  • Page 168 168
  • Page 169 169
  • Page 170 170
  • Page 171 171
  • Page 172 172
  • Page 173 173
  • Page 174 174
  • Page 175 175
  • Page 176 176
  • Page 177 177
  • Page 178 178
  • Page 179 179
  • Page 180 180
  • Page 181 181
  • Page 182 182
  • Page 183 183
  • Page 184 184
  • Page 185 185
  • Page 186 186
  • Page 187 187
  • Page 188 188
  • Page 189 189
  • Page 190 190
  • Page 191 191
  • Page 192 192
  • Page 193 193
  • Page 194 194
  • Page 195 195
  • Page 196 196
  • Page 197 197
  • Page 198 198
  • Page 199 199
  • Page 200 200
  • Page 201 201
  • Page 202 202
  • Page 203 203
  • Page 204 204
  • Page 205 205
  • Page 206 206
  • Page 207 207
  • Page 208 208
  • Page 209 209
  • Page 210 210
  • Page 211 211
  • Page 212 212
  • Page 213 213
  • Page 214 214
  • Page 215 215
  • Page 216 216
  • Page 217 217
  • Page 218 218
  • Page 219 219
  • Page 220 220
  • Page 221 221
  • Page 222 222
  • Page 223 223
  • Page 224 224
  • Page 225 225
  • Page 226 226
  • Page 227 227
  • Page 228 228
  • Page 229 229
  • Page 230 230
  • Page 231 231
  • Page 232 232
  • Page 233 233
  • Page 234 234
  • Page 235 235
  • Page 236 236
  • Page 237 237
  • Page 238 238
  • Page 239 239
  • Page 240 240
  • Page 241 241
  • Page 242 242
  • Page 243 243
  • Page 244 244
  • Page 245 245
  • Page 246 246
  • Page 247 247
  • Page 248 248
  • Page 249 249
  • Page 250 250
  • Page 251 251
  • Page 252 252
  • Page 253 253
  • Page 254 254
  • Page 255 255
  • Page 256 256
  • Page 257 257
  • Page 258 258
  • Page 259 259
  • Page 260 260
  • Page 261 261
  • Page 262 262
  • Page 263 263
  • Page 264 264
  • Page 265 265
  • Page 266 266
  • Page 267 267
  • Page 268 268
  • Page 269 269
  • Page 270 270
  • Page 271 271
  • Page 272 272
  • Page 273 273
  • Page 274 274
  • Page 275 275
  • Page 276 276
  • Page 277 277
  • Page 278 278
  • Page 279 279
  • Page 280 280
  • Page 281 281
  • Page 282 282
  • Page 283 283
  • Page 284 284
  • Page 285 285
  • Page 286 286
  • Page 287 287
  • Page 288 288
  • Page 289 289
  • Page 290 290
  • Page 291 291
  • Page 292 292
  • Page 293 293
  • Page 294 294
  • Page 295 295
  • Page 296 296
  • Page 297 297
  • Page 298 298
  • Page 299 299
  • Page 300 300
  • Page 301 301
  • Page 302 302
  • Page 303 303
  • Page 304 304
  • Page 305 305
  • Page 306 306
  • Page 307 307
  • Page 308 308
  • Page 309 309
  • Page 310 310
  • Page 311 311
  • Page 312 312
  • Page 313 313
  • Page 314 314
  • Page 315 315
  • Page 316 316
  • Page 317 317
  • Page 318 318
  • Page 319 319
  • Page 320 320
  • Page 321 321
  • Page 322 322
  • Page 323 323
  • Page 324 324
  • Page 325 325
  • Page 326 326
  • Page 327 327
  • Page 328 328
  • Page 329 329
  • Page 330 330
  • Page 331 331
  • Page 332 332
  • Page 333 333
  • Page 334 334
  • Page 335 335
  • Page 336 336
  • Page 337 337
  • Page 338 338
  • Page 339 339
  • Page 340 340
  • Page 341 341
  • Page 342 342
  • Page 343 343
  • Page 344 344
  • Page 345 345
  • Page 346 346
  • Page 347 347
  • Page 348 348
  • Page 349 349
  • Page 350 350
  • Page 351 351
  • Page 352 352
  • Page 353 353
  • Page 354 354
  • Page 355 355
  • Page 356 356
  • Page 357 357
  • Page 358 358
  • Page 359 359
  • Page 360 360
  • Page 361 361
  • Page 362 362
  • Page 363 363
  • Page 364 364
  • Page 365 365
  • Page 366 366
  • Page 367 367
  • Page 368 368
  • Page 369 369
  • Page 370 370
  • Page 371 371
  • Page 372 372
  • Page 373 373
  • Page 374 374
  • Page 375 375
  • Page 376 376
  • Page 377 377
  • Page 378 378
  • Page 379 379
  • Page 380 380
  • Page 381 381
  • Page 382 382
  • Page 383 383
  • Page 384 384
  • Page 385 385
  • Page 386 386
  • Page 387 387
  • Page 388 388
  • Page 389 389
  • Page 390 390
  • Page 391 391
  • Page 392 392
  • Page 393 393
  • Page 394 394
  • Page 395 395
  • Page 396 396
  • Page 397 397
  • Page 398 398
  • Page 399 399
  • Page 400 400
  • Page 401 401
  • Page 402 402
  • Page 403 403
  • Page 404 404
  • Page 405 405
  • Page 406 406
  • Page 407 407
  • Page 408 408
  • Page 409 409
  • Page 410 410
  • Page 411 411
  • Page 412 412
  • Page 413 413
  • Page 414 414
  • Page 415 415
  • Page 416 416
  • Page 417 417
  • Page 418 418
  • Page 419 419
  • Page 420 420
  • Page 421 421
  • Page 422 422
  • Page 423 423
  • Page 424 424
  • Page 425 425
  • Page 426 426
  • Page 427 427
  • Page 428 428
  • Page 429 429
  • Page 430 430
  • Page 431 431
  • Page 432 432
  • Page 433 433
  • Page 434 434
  • Page 435 435
  • Page 436 436
  • Page 437 437
  • Page 438 438
  • Page 439 439
  • Page 440 440
  • Page 441 441
  • Page 442 442
  • Page 443 443
  • Page 444 444
  • Page 445 445
  • Page 446 446
  • Page 447 447
  • Page 448 448
  • Page 449 449
  • Page 450 450
  • Page 451 451
  • Page 452 452
  • Page 453 453
  • Page 454 454
  • Page 455 455
  • Page 456 456
  • Page 457 457
  • Page 458 458
  • Page 459 459
  • Page 460 460
  • Page 461 461
  • Page 462 462
  • Page 463 463
  • Page 464 464
  • Page 465 465
  • Page 466 466
  • Page 467 467
  • Page 468 468
  • Page 469 469
  • Page 470 470
  • Page 471 471
  • Page 472 472
  • Page 473 473
  • Page 474 474
  • Page 475 475
  • Page 476 476
  • Page 477 477
  • Page 478 478
  • Page 479 479
  • Page 480 480
  • Page 481 481
  • Page 482 482
  • Page 483 483
  • Page 484 484
  • Page 485 485
  • Page 486 486
  • Page 487 487
  • Page 488 488
  • Page 489 489
  • Page 490 490
  • Page 491 491
  • Page 492 492
  • Page 493 493
  • Page 494 494
  • Page 495 495
  • Page 496 496
  • Page 497 497
  • Page 498 498
  • Page 499 499
  • Page 500 500
  • Page 501 501
  • Page 502 502
  • Page 503 503
  • Page 504 504
  • Page 505 505
  • Page 506 506
  • Page 507 507
  • Page 508 508
  • Page 509 509
  • Page 510 510
  • Page 511 511
  • Page 512 512
  • Page 513 513
  • Page 514 514
  • Page 515 515
  • Page 516 516
  • Page 517 517
  • Page 518 518
  • Page 519 519
  • Page 520 520
  • Page 521 521
  • Page 522 522
  • Page 523 523
  • Page 524 524
  • Page 525 525
  • Page 526 526
  • Page 527 527
  • Page 528 528
  • Page 529 529
  • Page 530 530
  • Page 531 531
  • Page 532 532
  • Page 533 533
  • Page 534 534
  • Page 535 535
  • Page 536 536
  • Page 537 537
  • Page 538 538
  • Page 539 539
  • Page 540 540
  • Page 541 541
  • Page 542 542
  • Page 543 543
  • Page 544 544
  • Page 545 545
  • Page 546 546
  • Page 547 547
  • Page 548 548
  • Page 549 549
  • Page 550 550
  • Page 551 551
  • Page 552 552
  • Page 553 553
  • Page 554 554

Novell exteNd 5.2 User guide

Category
Development software
Type
User guide

Ask a question and I''ll find the answer in the document

Finding information in a document is now easier with AI