• No results found

webMethods Developer Users Guide 65

N/A
N/A
Protected

Academic year: 2021

Share "webMethods Developer Users Guide 65"

Copied!
530
0
0

Loading.... (view fulltext now)

Full text

(1)

webMethods Developer User’s Guide

VERSION 6.5

webMethods, Inc. South Tower

3877 Fairfax Ridge Road Fairfax, VA 22030 USA

(2)

webMethods Administrator, webMethods Broker, webMethods Dashboard, webMethods Developer, webMethods Fabric, webMethods Glue, webMethods Installer, webMethods Integration Server, webMethods Mainframe, webMethods Manager, webMethods Mobile, webMethods Modeler, webMethods Monitor, webMethods Optimize, webMethods Portal, webMethods Trading Networks, and webMethods Workflow are trademarks of webMethods, Inc. webMethods and the webMethods logo are registered trademarks of webMethods, Inc.

Acrobat, Adobe, and Reader are registered trademarks of Adobe Systems Incorporated. Amdocs is a registered trademark, and ClarifyCRM is a trademark of Amdocs Inc. Ariba is a registered trademark of Ariba, Inc. BEA and BEA WebLogic Server are registered trademarks, and BEA WebLogic Platform is a trademark of BEA Systems, Inc. BMC Software and PATROL are registered trademarks of BMC Software, Inc. BroadVision is a registered trademark of BroadVision, Inc. ChemeStandards and CIDX are registered trademarks of Chemical Industry Data Exchange. Unicenter is a trademark of Computer Associates International, Inc. PopChart is a registered trademark of CORDA Technologies, Inc. Kenan and Arbor are registered trademarks of CSG Software, Incorporated. SNAP-IX and Data Connection are registered trademarks of Data Connection Corporation. DataDirect, DataDirect Connect, and SequeLink are registered trademarks of DataDirect Technologies Corp. D & B and D-U-N-S are registered trademarks of Dun & Broadstreet, Inc. Entrust is a registered trademark of Entrust, Inc. Hewlett-Packard, HP, HP-UX, and OpenView are trademarks of Hewlett-Packard Company. i2 is a registered trademark of i2 Technologies, Inc. AIX, AS/400, CICS, DB2, Domino, IBM, Infoprint, Lotus, Lotus Notes, MQSeries, OS/390, OS/400, RACF, RS/6000, S/390, System/390, VTAM, z/OS, and WebSphere are registered trademarks; and Informix, SQL/400, Communications System for Windows NT, IMS, MVS, SQL/DS, and Universal Database are trademarks of IBM Corporation. InnoDB is a trademark of Innobase Oy. JBoss is a registered trademark, and JBoss Group is a trademark of JBoss Inc. JD Edwards is a registered trademark of J.D. Edwards & Company and OneWorld is a registered trademark of J.D. Edwards World Source Company. Linux is a registered trademark of Linus Torvalds. X Window System is a trademark of the X.org Foundation. MetaSolv is a registered trademark of Metasolv Software, Inc. ActiveX, Microsoft, Outlook, Visual Basic, Windows, and Windows NT are registered trademarks; and SQL Server is a trademark of Microsoft Corporation. MySQL is a registered trademark of MySQL AB, Ltd. Teradata is a registered trademark of NCR International, Inc. Netscape is a registered trademark of Netscape Communications Corporation. ServletExec is a registered trademark, and New Atlanta is a trademark of New Atlanta Communications, LLC. CORBA is a registered trademark of Object Management Group, Inc. UNIX is a registered trademark of X/Open Company Ltd. Oracle is a registered trademark of Oracle International Corporation. PeopleSoft and Vantive are registered trademarks, and PeopleSoft Pure Internet Architecture and WorldSoftware are trademarks of PeopleSoft, Inc. Infranet and Portal are trademarks of Portal Software, Inc. RosettaNet is a trademark of RosettaNet, a non-profit organization. SAP and R/3 are registered trademarks of SAP AG. Siebel is a registered trademark of Siebel Systems, Inc. SPARC is a registered trademark, and SPARCStation is a trademark of SPARC International, Inc. SSA Global and SSA Baan are trademarks of SSA Global Technologies, Inc. EJB, Enterprise JavaBeans, Java, JavaServer, JDBC, JSP, J2EE, Solaris, and Sun Microsystems are registered trademarks; and Java Naming and Directory Interface, SOAP with Attachments API for Java, JavaServer Pages and SunSoft are trademarks of Sun Microsystems, Inc. SWIFT and SWIFTNet are registered trademarks of Society for Worldwide Interbank Financial Telecommunication SCRL. Sybase is a registered trademark of Sybase, Inc. UCCnet and

eBusinessReady are registered trademarks of Uniform Code Council, Inc. Verisign is a registered trademark of Verisign, Inc. VERITAS is a registered trademark of VERITAS Operating Corporation, and VERITAS Software and VERITAS Cluster Server are trademarks of VERITAS Software Corporation. W3C is a registered trademark of Massachusetts Institute of Technology.

(3)

Contents

Contents

About This Guide . . . 17

Document Conventions . . . 17

Additional Information . . . 18

Chapter 1. Getting Started with Developer . . . 19

What Is Developer? . . . 20

Before You Use Developer . . . 20

Starting Developer . . . 20

What Does the Developer Window Contain? . . . 23

The Navigation Panel . . . 24

Navigation Panel Icons . . . 24

Refreshing the Contents of the Navigation Panel . . . 27

The Fabric Tab . . . 27

Fabric Tab Icons . . . 28

The Recent Elements Tab . . . 28

The Editor . . . 29

The Properties Panel . . . 31

The Results Panel . . . 33

Working in the Developer Window . . . 33

Moving Between Panels . . . 33

Performing Actions . . . 34

Resizing Areas in the Developer Window . . . 35

Hiding and Showing Panels . . . 35

Dragging Movable Borders . . . 36

Switching Perspectives . . . 36

Opening, Closing, and Restoring Sessions . . . 37

Restoring a Session on a Server . . . . 38

Notification of Server Shutdown . . . 39

Changing Your Password . . . 39

Password Requirements . . . 39

Using Online Help . . . 41

Chapter 2. Managing Elements in the Navigation Panel . . . 43

What Is an Element? . . . 44

Creating New Elements . . . 45

About Element Names . . . 45

(4)

C o n t e n t s

Guidelines for Naming Elements . . . 46

Editing Elements . . . 47

Specifying Dependency Checking Safeguards . . . 47

Notes About Performing Actions on Elements . . . 48

Opening and Closing Elements in the Editor . . . 49

Moving and Copying Elements . . . 50

General . . . 50

Moving and Copying Services . . . 51

Copying Elements Between Servers . . . 51

Moving and Copying Adapter Notifications and Related Elements . . . 52

Renaming Elements . . . 55

Saving Changes to Elements . . . 57

Deleting Elements . . . 57

Finding Elements and Fields . . . 59

Finding Elements in the Navigation Panel . . . 59

Finding Fields in Editor Trees . . . 61

Locating Invoked Services . . . 63

Finding Dependents and References . . . 63

Finding Dependents . . . 63

Finding References . . . 65

Inspecting Pipeline References . . . 66

Caching Elements . . . 70

Clearing the Developer Cache . . . . 70

Chapter 3. Working with Packages . . . 73

What Is a Package? . . . 74

Package Management . . . 74

Creating a Package . . . 76

Guidelines for Naming Packages . . . 76

Viewing Details for a Package . . . 77

Copying a Package to Another Server . . . 77

Documenting a Package . . . 79

Reloading a Package . . . 80

Deleting a Package . . . 80

Exporting a Package or Element . . . 81

Assigning a Version Number to a Package . . . 81

Viewing the Patch History for a Package . . . 82

Identifying Package Dependencies . . . 84

(5)

Contents

Assigning Startup, Shutdown, and Replication Services . . . 87

What Is a Startup Service? . . . 87

What Is a Shutdown Service? . . . . 87

What Is a Replication Service? . . . 88

Guidelines for Assigning Startup, Shutdown, and Replication Services . . . 88

Assigning Startup, Shutdown, and Replication Services . . . 89

Removing Startup, Shutdown, and Replication Services . . . 90

Chapter 4. Locking and Unlocking Elements . . . 91

Basic Concepts . . . 92

What Is a Lock? . . . 92

How Do I Know Who Has an Element Locked? . . . 92

When Do I Lock an Element? . . . . 93

When Do I Unlock an Element? . . . 93

Locking Elements . . . 93

Locking Elements . . . 93

Locking Java and C/C++ Services . . . 94

Locking Templates . . . 95

System Locking Elements . . . 96

Viewing the Status of Locked Elements . . . 96

Copying, Moving, or Deleting Locked Elements . . . 97

Unlocking Elements . . . 98

Unlocking Elements Using Developer . . . 98

Unlocking an Element Using the Integration Server Administrator . . . 99

Unlocking a System Locked Element . . . 101

Viewing an Element’s Corresponding Server Files . . . 102

Automatically Unlocking Elements After Saving . . . 102

Troubleshooting . . . 103

Lock/Unlock Problems . . . 103

Package Management Problems . . . 104

Save Problems . . . 104

Other Problems . . . 105

Frequently Asked Questions . . . 105

Chapter 5. Assigning and Managing Permissions . . . 107

Basic Concepts . . . 108

What Is an ACL? . . . 108

What Happens When a Client Runs a Service with ACLs? . . . 108

Am I Required to Use ACLs? . . . 110

(6)

C o n t e n t s

Assigning ACLs to Elements . . . 111

The Permissions Properties . . . 112

ACLs and Inheritance . . . 113

Default ACLs and Inheritance . . . 114

Viewing ACL Information on a Server . . . 114

How ACLs Affect Other Developer Features . . . 115

ACLs and Locking . . . 115

ACLs and Testing/Debugging Services . . . 116

ACLs and Creating, Viewing, and Deleting Elements . . . 116

Troubleshooting . . . 117

Chapter 6. Building Flow Services . . . 119

Basic Concepts . . . 120

What Is a Flow Service? . . . 120

What Is a Flow Step? . . . 121

What Is the Pipeline? . . . 122

What Are Input and Output Parameters? . . . 123

A Process Overview . . . 124

Creating a New Flow Service . . . 125

Package and Folder Requirements . . . 125

Using the Default Logic Options . . . 125

Inserting Flow Steps . . . 126

Declaring Input and Output Parameters for a Service . . . 126

Supported Data Types . . . 127

Specifying Input Parameters . . . 127

Specifying Output Parameters . . . 129

Completing the Input/Output Tab . . . 129

Assigning an Output Template to a Service . . . 132

Specifying Run-Time Parameters . . . 134

Maintaining the State of a Service . . . 135

Configuring a Service’s Use of Cache . . . 136

Types of Services to Cache . . . 136

Services Suited for Caching . . . 136

Services That You Should Not Cache . . . 136

Controlling a Service’s Use of Cache . . . 137

Specifying the Duration of a Cached Result . . . 137

Using the Prefetch Option . . . 138

Specifying the Execution Locale . . . 139

Configuring Service Retry . . . 140

About the Maximum Retry Period . . . 141

(7)

Contents

Assigning Universal Names to Services . . . 143

Configuring Service Auditing . . . 145

Enabling Auditing for a Service . . . 147

Specifying When Audit Data Is Generated . . . 147

Including the Pipeline in the Audit Log . . . 149

When Is a Copy of the Input Pipeline Saved in the Audit Log? . . . 149

Service Auditing Use Cases . . . 151

Error Auditing . . . 151

Service Auditing . . . 152

Auditing for Recovery . . . 153

Auditing Long-Running Services . . . 153

Setting Auditing Options for a Service . . . 153

Audit Level Settings in Earlier Versions of Developer . . . 154

Printing a Flow Service . . . 155

Chapter 7. Inserting Flow Steps . . . 157

What is a Flow Step? . . . 158

Inserting and Moving Flow Steps . . . 158

Changing the Position of a Flow Step . . . 160

Changing the Level of a Flow Step . . . 160

Setting the Properties of a Flow Step . . . 161

The INVOKE Step . . . 163

Specifying the Service Property . . . 163

Invoking a Built-In Service . . . 164

Invoking a Service on Another webMethods Integration Server . . . 164

Building an INVOKE Step . . . 164

The BRANCH Step . . . 166

Branching on a Switch Value . . . 167

Specifying the Switch Variable . . . 167

Specifying the Label Value . . . 168

Branching on an Expression . . . 169

Branching on Null and Empty Values . . . 170

Specifying a Default Step . . . 172

Using SEQUENCE as the Target of a BRANCH . . . 173

Building a BRANCH Step . . . 175

The REPEAT Step . . . 177

Specifying the REPEAT Condition . . . 178

Setting the REPEAT Counter . . . 178

When Does REPEAT Fail? . . . 178

Using REPEAT to Retry a Failed Step . . . 179

(8)

C o n t e n t s

The SEQUENCE Step . . . 183

Using SEQUENCE to Specify an Exit Condition . . . 183

The LOOP Step . . . 184

Specifying the Input Array . . . 185

Collecting Output from a LOOP Step . . . 186

Building a LOOP Step . . . 187

The EXIT Step . . . 188

The MAP Step . . . 191

Chapter 8. Mapping Data in a Flow Service . . . 193

What is Data Mapping? . . . 194

What Does the Pipeline Tab Contain? . . . 194

Pipeline Tab for an INVOKE Step . . . 195

Pipeline Tab for a MAP Step . . . 197

Pipeline Modifiers . . . 198

Printing the Pipeline Tab . . . 198

Basic Mapping Tasks . . . 199

Linking Variables . . . 199

What Happens When webMethods Integration Server Executes a Link Between Variables at Run Time? . . . 204

Linking to Document and Document List Variables . . . 206

Linking Variables of Different Data Types . . . 207

Examples of Structural Transformations on the Pipeline Tab . . . 208

Converting a String List to a Document List . . . 208

Linking to and from Array Variables . . . 209

Guidelines for Linking to and from Array Variables . . . 211

Deleting Links Between Variables . . . 212

Applying Conditions to Links Between Variables . . . 213

Linking Multiple Source Variables to a Target Variable . . . 213

Assigning Values to Pipeline Variables . . . 214

Assigning a Default Value to a Variable . . . 215

Initializing Variables in a Flow Service . . . 216

Referencing Other Variables . . . 216

Setting a Value for a Pipeline Variable . . . 216

Copying Set Values Between Variables . . . 217

Dropping Variables from the Pipeline . . . 218

Adding Variables with the Pipeline Tab . . . 219

Working with Transformers . . . 220

What Are Transformers? . . . 220

Using Built-in Services as Transformers . . . 221

(9)

Contents

Linking Variables to a Transformer . . . 223

Transformer Movement . . . 225

Transformers and Array Variables . . . 226

What Is Dimensionality? . . . 226

Example . . . 226

Solution . . . 226

Validating Input and Output for Transformers . . . 227

Copying Transformers . . . 228

Expanding Transformers . . . 229

Renaming Transformers . . . 230

Debugging Transformers . . . 231

Chapter 9. Creating IS Schemas, IS Document Types, and Specifications . . . 233

Creating an IS Schema . . . 234

What Does an IS Schema Look Like? . . . 234

Schema Browser . . . 235

Schema Details Area . . . 238

Creating an IS Schema . . . 239

Creating IS Schemas from XML Schemas that Reference Other Schemas . . . 241

Editing a Simple Type in an IS Schema . . . 242

Setting Constraining Facet Values . . . 243

Creating an IS Document Type . . . 244

Creating an Empty IS Document Type . . . 245

Creating an IS Document Type from an XML Document, DTD, or XML Schema . . . 246

Creating an IS Document Type from a Broker Document Type . . . 248

The Envelope Field . . . 251

Adapter Notifications and Publishable Document Types . . . 252

Editing an IS Document Type . . . 252

Modifying Publishable Document Types . . . 253

Printing an IS Document Type . . . 253

Using an IS Document Type to Specify Service Input or Output Parameters . . . 253

Using an IS Document Type to Build a Document Reference or Document Reference List Field 254 Specifying Field Properties . . . 255

Creating a Specification . . . 256

Chapter 10. Performing Data Validation . . . 259

What Is Data Validation? . . . 260

What Is Data Validated Against? . . . 260

Applying Constraints to Variables . . . 261

Considerations for Object Constraints . . . 263

(10)

C o n t e n t s

Viewing the Constraints Applied to Variables . . . 265

Performing Input/Output Validation . . . 266

Specifying Input/Output Validation via the Input/Output Tab . . . 267

Specifying Input/Output Validation via the INVOKE Step . . . 268

Performing Document Validation . . . 269

Performing Pipeline Validation . . . 270

Performing XML Validation in webMethods Integration Server . . . 271

Performing Validation from within a Java Service . . . 271

Validation Errors and Exceptions . . . 273

Validation Exceptions . . . 273

Running Out of Memory During Validation . . . 274

Chapter 11. Testing and Debugging Services . . . 275

Testing and Debugging . . . 276

Testing Services . . . 276

Testing Services from Developer . . . 277

Entering Input for a Service . . . 278

Saving Input Values to a File . . . 280

Loading Input Values from a File . . . 280

Viewing the Results of the Service . . . 281

Copying Variables from the Results Panel . . . 283

Run-Time Exceptions . . . 284

The Call Stack . . . 285

The Pipeline Dump . . . 286

Testing Services from a Browser . . . 286

Testing Services that Expect XML Documents as Input . . . 287

Working in Debug Mode . . . 288

Entering Debug Mode . . . 288

Combining the Step and Trace Commands in Debug Mode . . . 289

Resetting Debug Mode . . . 290

Using the Trace Tools . . . 290

Tracing into a Child Flow . . . 292

Using the Step Tools . . . 292

Stepping though a Child Flow . . . 294

Using the Step Tools with a MAP Step . . . 294

Setting Breakpoints . . . 295

What Happens When a Breakpoint is Encountered? . . . 296

Setting Breakpoints on Transformers . . . 297

(11)

Contents

Disabling Flow Steps, Transformers, and Conditions . . . 298

Disabling Flow Steps . . . 298

Disabling Transformers . . . 299

Disabling a Condition Placed on a Link Between Variables . . . 301

Modifying the Current Pipeline . . . 302

Saving and Restoring the Pipeline . . . 303

Saving the Results . . . 303

Saving the Contents of the Results Panel . . . 304

Saving the Pipeline at Run Time . . . 305

Restoring the Pipeline . . . 306

Loading a Saved Pipeline into the Results Panel . . . 306

Loading a Saved Pipeline at Run Time . . . 307

Other Debugging Techniques . . . 308

Using the Server’s Debug Facility . . . 308

The Contents of the Server Log . . . 309

Server Debug Levels . . . 309

Writing Information to the Server Log . . . 310

Writing an Arbitrary Message to the Log . . . 310

Dumping the Pipeline to the Log . . . 311

Chapter 12. Building Coded Services . . . 315

Basic Concepts . . . 316

The IData Object . . . 316

Services Take IData Objects as Input and Return IData as Output . . . 316

Getting and Setting Elements in an IData Object . . . 317

Creating IData Objects . . . 317

Building Services Using Java . . . 318

How Java Services Are Organized on the Server . . . 318

Building Java Services with Developer . . . 319

Using the Developer IDE . . . 320

The Java Service Editor . . . 320

The Shared Tab . . . 322

Creating a Java Service with Developer’s IDE . . . 323

Generating Java Code from Service Input and Output Parameters . . . 325

Setting Run-Time Options for a Java Service . . . 326

Building Java Services with Your Own IDE . . . 327

The Namespace Directory . . . 327

The Source Code Directory . . . 328

Writing the Source Code for a Service . . . 328

Using the webMethods API . . . 328

(12)

C o n t e n t s

Commenting Code for the webMethods Integration Server . . . 329

Using the jcode Utility . . . 330

Make Mode . . . 330

Fragment Mode . . . 331

Composite Mode . . . 331

Other jcode Commands . . . 332

Building Services Using C/C++ . . . 332

Generating Files for a C/C++ Service . . . 333

The Java Code for a C Service . . . 334

Building the C/C++ Source Code . . . 335

Building Services Using COM . . . 336

Requirements . . . 337

Invoking Methods from Existing COM and DCOM Objects . . . 337

Creating the Object . . . 337

Invoking the Object . . . 338

Writing and Invoking a Visual Basic Service . . . 338

Compiling a Visual Basic Service . . . 339

Invoking a Visual Basic Service . . . 339

Invoking a VB Service Using Late Binding . . . 339

Invoking a VB Service Using Early Binding . . . 341

Chapter 13. Creating Client Code . . . 345

Basic Concepts . . . 346

Building a Java Client . . . 346

Assumptions . . . 346

Third-Party Libraries . . . 348

Limitations . . . 348

Procedure . . . 349

Files That Are Generated . . . 349

Building a C/C++ Client . . . 350

Assumptions . . . 350

Limitations . . . 350

Procedure . . . 351

Files That Are Generated . . . 351

Building a Visual Basic Client . . . 352

Assumptions . . . 352

Environment Setup . . . 352

Limitations . . . 352

(13)

Contents

Files That Are Generated . . . 353

General Files . . . 353

Files for the User Interface . . . 354

Files Containing the Code that Invokes the Service . . . 354

File Containing the Code that Interacts with webMethods Integration Server . . . 354

Building an Excel Client . . . 355

Assumptions . . . 355

Limitations . . . 355

Procedure . . . 355

Files That Are Generated . . . 356

Building a Browser-Based Client . . . 356

Assumptions . . . 357

Limitations . . . 357

Invoking Services with a URL . . . 357

Using the HTTP GET Method . . . 358

Using the HTTP POST Method . . . 358

Input to the Service . . . 359

Output from the Service . . . 360

Chapter 14. Subscribing to Events . . . 361

The Event Manager . . . 362

What Are Event Handlers? . . . 363

What Happens When an Event Occurs? . . . 363

Managing Event Subscriptions . . . 364

Subscribing to an Event . . . 364

Creating Event Filters . . . 366

Creating Event Filters for Services . . . 368

Viewing and Editing Event Subscriptions . . . 369

Suspending Event Subscriptions . . . 369

Deleting an Event Subscription . . . 370

Building an Event Handler . . . 370

Sample Event Handler . . . 371

Working with Alarm Events . . . 372

Building Handlers for Alarm Events . . . 373

Working with Audit Events . . . 374

Building Handlers for Audit Events . . . 374

Working with Exception Events . . . 376

Building Handlers for Exception Events . . . 376

Working with Guaranteed Delivery Events . . . 377

Guaranteed Delivery Events and Transaction Events . . . 378

(14)

C o n t e n t s

Building Handlers for Guaranteed Delivery End Events . . . 380

Working with Port Status Events . . . 380

Building Handlers for Port Status Events . . . 381

Working with Replication Events . . . 381

Building Handlers for Replication Events . . . 382

Working with Session Events . . . 382

Building Handlers for Session Start Events . . . 383

Building Handlers for Session End Events . . . 383

Building Handlers for Session Expire Events . . . 384

Working with Stat Events . . . 384

Building Handlers for Stat Events . . . 385

Working with Transaction Events . . . 386

Building Handlers for Transaction Start Events . . . 387

Building Handlers for Transaction End Events . . . 387

Chapter 15. Building Services that Retry . . . 389

Overview . . . 390

Requirements for Retrying . . . 390

Adapter Services and Retry Behavior . . . 390

Building a Service that Throws an Exception for Retry . . . 391

How to Build a Service that Throws an Exception for Retry . . . 391

Example—Building a Service that Throws an Exception for Retry . . . 394

Appendix A. webMethods Flow Steps . . . 397

BRANCH . . . 398

Branching on a Switch Value . . . 398

Branching on Expressions . . . 399

Properties . . . 400

Conditions That Will Cause a BRANCH Step to Fail . . . 400

EXIT . . . 401

Properties . . . 401

Examples of When to Use . . . 402

INVOKE . . . 402

Properties . . . 402

Conditions That Will Cause an INVOKE Step to Fail . . . 403

LOOP . . . 403

Properties . . . 404

Conditions That Will Cause a LOOP Step to Fail . . . 405

MAP . . . 405

Properties . . . 405

(15)

Contents

REPEAT . . . 406

Properties . . . 407

When Does REPEAT Fail? . . . 408

Examples of When to Use . . . 408

SEQUENCE . . . 408

Properties . . . 409

Conditions That Will Cause the SEQUENCE Step to Fail . . . 410

Appendix B. Regular Expressions . . . 411

What Is a Regular Expression? . . . 412

Using a Regular Expression in a Mask . . . 412

Regular Expression Operators . . . 413

Appendix C. Supported Data Types . . . 419

Data Types . . . 420

Java Classes for Objects . . . 421

How webMethods Developer Supports Tables . . . 423

Default Pipeline Rules for Linking to and from Array Variables . . . 424

Appendix D. Conditional Expressions . . . 427

Overview . . . 428

Syntax . . . 429

Comparing Java Objects to Constants . . . 431

Checking for Variable Existence . . . 432

Operators . . . 432

Relational Operators . . . 432

Standard Relational Operators . . . 433

Lexical Relational Operators . . . 435

Logical Operators . . . 437

Precedence . . . 438

Addressing Variables . . . 439

Addressing Variables that Contain Special Characters . . . 440

Typing Special Characters in Expressions . . . 441

Rules for Use of Expression Syntax with the Broker . . . 442

Appendix E. jcode tags . . . 445

jcode Template . . . 446

jcode Example . . . 447

(16)

C o n t e n t s

Appendix F. Validation Content Constraints . . . 451

Overview . . . 452

Content Types . . . 452

Constraining Facets . . . 462

Appendix G. Validation Errors and Exceptions . . . 465

Overview . . . 466

Validation Errors . . . 466

Validation Exceptions . . . 480

IS Schema Generation Errors and Warnings . . . 484

Appendix H. Using Source Control with the Integration Server . . . 489

Basic Concepts . . . 490

What Is a Third-Party Source Control Application? . . . 490

Is Source Control the Same as Locking? . . . 490

Methods of Using Source Control . . . 490

Components of a webMethods Solution . . . 491

Package Components . . . 491

Location of a Package . . . 492

Contents of a Package . . . 492

Global Components . . . 497

Adding Components to Source Control . . . 498

Choosing a Development Methodology for Java Services . . . 498

Checking Components In to Source Control . . . 499

Checking In the ns Directory . . . 499

Checking Components Out of Source Control . . . 500

Updating Files That Are in Source Control . . . 501

(17)

About This Guide

About This Guide

This guide describes how to create services using webMethods Developer. It contains information for developers who want to build services using the webMethods flow language or a programming language such as Java, C/C++, or Visual Basic.

To use this guide effectively, you should know how to program in Java, C/C++, and/or Visual Basic if you will be creating services in those languages.

Document Conventions

Convention Description

Bold Identifies elements on a screen.

Italic Identifies variable information that you must supply or change based on your specific situation or environment. Identifies terms the first time they are defined in text. Also identifies service input and output variables.

Narrow font Identifies storage locations for services on the webMethods Integration Server using the convention folder.subfolder:service. Typewriter

font

Identifies characters and values that you must type exactly or messages that the system displays on the console.

UPPERCASE Identifies keyboard keys. Keys that you must press simultaneously are joined with the “+” symbol.

\ Directory paths use the “\” directory delimiter unless the subject is

UNIX-specific.

[ ] Optional keywords or values are enclosed in [ ]. Do not type the [ ] symbols in your own code.

(18)

A b o u t T h i s G u i d e

Additional Information

The webMethods Advantage Web site at http://advantage.webmethods.com provides you with important sources of information about webMethods components:

Troubleshooting Information. webMethods provides troubleshooting information for

many webMethods components in the webMethods Knowledge Base.

Documentation Feedback. To provide documentation feedback to webMethods, go to the

Documentation Feedback Form on the webMethods Bookshelf.

Additional Documentation. All webMethods documentation is available on the

(19)

C H A P T E R

1

Getting Started with Developer

What Is Developer? . . . 20

Before You Use Developer . . . 20

Starting Developer . . . 20

What Does the Developer Window Contain? . . . 23

Working in the Developer Window . . . 33

Opening, Closing, and Restoring Sessions . . . 37

Changing Your Password . . . 39

(20)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

What Is Developer?

webMethods Developer is a graphical development tool that you use to build, edit, and test integration logic. It provides an integrated development environment in which to develop the logic and supporting objects that carry out the work of an integration solution. It also provides tools for testing and debugging the solutions you create.

Developer lets you rapidly construct integration logic with an easy-to-use implementation language called the webMethods flow language. Flow language provides a set of simple but powerful constructs that you use to specify a sequence of actions (steps) that the Integration Server will execute at run time. Developer also has extensive data

transformation and mapping capabilities that allow you to quickly drag-and-drop data fields from one step to the next.

Besides providing tools for constructing flow services, Developer provides additional editors and tools for creating various objects that support the execution of an integration solution. For example, you use Developer to create the document types and schemas used for data validation and to define triggers that launch the execution of services when certain documents are published.

Before You Use Developer

Developer builds and edits services directly on a server. To use Developer you must: Have access to a webMethods Integration Server on which you can build and test services.

Have a user account on that webMethods Integration Server.

Belong to a group that is a member of the “Developers” ACL (access control list) on that webMethods Integration Server.

If you do not have access to a webMethods Integration Server or you do not have an appropriate user account or access rights, see your server administrator.

Starting Developer

Use the following procedure to start Developer on your workstation. Before you start Developer keep the following in mind:

Make sure that the Integration Server with which you want to use Developer is running. You cannot work with Developer if the server is not running.

If you are starting Developer for the first time on a UNIX system, verify that the DEVELOPER_DIR and JAVA_DIR settings in developer.sh specify the paths where Developer (DEVELOPER_DIR) and Java Runtime Environment (JAVA_DIR) reside. If these settings are not correct, update them before starting Developer.

(21)

Starting Developer

1 Depending on which operating system is running on your workstation, do the following:

2 In the Open Session dialog box, complete the following:

Important! You can only connect webMethods Developer version 6.5 to a webMethods

Integration Server version 6.1 or version 6.5.

To start Developer

If you are running... Do this...

Windows a On the Start menu, click Programs, and then click

webMethods.

b Click webMethods Developer.

UNIX a Navigate to the directory where you installed

Developer.

b Run bin/developer.sh.

In this field... Specify...

Server type The registered type for the server on which you want to open a session. The default type is Integration Server.

Server The name and port assignment of the webMethods Integration Server in ServerName:PortNum format.

Example rubicon:5555

Specify the name and port assignment of a server...

...and enter a user account that has developer privileges.

(22)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

3 Click OK.

Note: Servers to which you have successfully logged on in the

past are listed in the Server list. You can select a server from this list or type its name and port number.

Username The name of a valid user account on this server. (The user name must be a member of a group belonging to the Developers ACL.)

Use the exact combination of upper- and lower-case characters with which it was originally defined. IS user names are case sensitive.

Note: The server is installed with a default user account called

“Developer” that has developer privileges.

Password The password for the user account in Username. Use the exact combination of upper- and lower-case characters with which it was originally defined. IS passwords are case sensitive.

Note: The default password for the Developer user account is

isdev.

Uses secure

connection Whether the session will be opened through HTTP or HTTPS. If you want to open an HTTPS session on the selected server using the Secure Socket Layer (SSL), select this check box. If you want to open an HTTP session on the server, clear this check box.

Uses proxy Whether the session will be opened through the default proxy server. If you want to open a session on the selected server using your proxy server, select this check box.

In this field... Specify...

Tip! When you run Developer from the command line, Developer writes messages to the

console. The amount and type of information that is written is determined by the debug level under which Developer is operating. The default debug level is 4. If you want more detail written to the console, set the debug level to 10. You can change the debug level by editing the ini.cnf file located in webMethods6\Developer\config.

(23)

What Does the Developer Window Contain?

What Does the Developer Window Contain?

The Developer window is divided into the following areas:

Navigation panel. You use the Navigation panel to select, lock, copy, move, delete, or

rename elements. For more information about this panel, see “The Navigation Panel” on page 24.

Fabric tab. You use the Fabric tab to connect and disconnect Fabric sessions, and to

display, filter, and register Web services. For more information about this panel, see

“The Fabric Tab” on page 27.

Recent Elements tab. You use the Recent Elements tab to quickly access elements you

have recently viewed. For more information about this panel, see “The Recent Elements Tab” on page 28.

Editor. You use the editor to examine and edit an element you opened from the

Navigation panel or Recent Elements tab. For more information about the editor, see

“The Editor” on page 29.

Properties panel. You use the Properties panel to view and edit the properties for an

item. For more information about this panel, see “The Properties Panel” on page 31.

Results panel. You use the Results panel to view the result of a service’s execution, to

view the variables that a service adds to the pipeline, and to view the contents of those variables. For more information about this panel, see “The Results Panel” on page 33.

Note: When you start Developer, it verifies that the other webMethods components

support the same locale as Developer. If the locale of an add-in component is not

supported by the Developer locale, Developer displays a message in the console warning you of the locale mismatch. For example, if you start Developer in an English locale with a localized Japanese add-in component, Developer displays the following message in the console:

Warning: The following plug-ins are running localized versions even though Developer is not: ComponentName; VersionNumber.

(24)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

Developer main window

The Navigation Panel

The Navigation panel displays the contents of packages on the webMethods Integration Servers on which you have an open session. You use the Navigation panel to perform tasks such as creating, opening, locking, copying, moving, renaming, and deleting elements.

Elements in the Navigation panel are shown in a hierarchical structure where the server is the topmost element in the hierarchy. Packages on the server contain one or more folders, which contain other elements that you can create and edit using Developer (for example, services, specifications, and IS document types).

For more information about the tasks you can perform on elements in the Navigation panel, see Chapter 2, “Managing Elements in the Navigation Panel” and Chapter 3, “Working with Packages”.

Navigation Panel Icons

Each item in the Navigation panel contains an icon that denotes the item’s type. The following table describes what each icon represents.

The Navigation Panel displays the contents of servers, packages, and folders.

The Editor displays the

controls you use to examine and edit an element you have opened from the Navigation panel or Recent Elements tab. The Fabric Tab displays available Web services, if a Fabric session is open. The

Recent Elements Tab

displays the elements you viewed most recently.

The Properties Panel displays the properties for an item.

The Results Panel displays the results of a service’s execution.

(25)

What Does the Developer Window Contain?

This icon... Represents...

A server. You can have multiple server contexts displayed in Developer.

The active server context is the one that is highlighted in the Navigation panel. To display the contents of the server, click the symbol next to its name.

A package. A package contains a set of services and related files, such as

specifications, IS document types, and output templates. To display the contents of a package, click next to its name.

A folder. A folder contains related services and optional folders (called

subfolders). To display the contents of a folder, click next to its name.

A flow service. A flow service is a service written in the webMethods flow

language.

A Web service connector. A Web service connector is a flow service that

invokes a Web service located on a remote server. Developer uses a WSDL document to automatically generate a Web service connector.

A Java service. A Java service is a service written in Java. A C service. A C service is a service written in C/C++.

A specification. A specification is a formal description of a service’s inputs

and outputs.

A trigger. A trigger associates one or more publishable document types

with one or more services. At run time, when the Integration Server receives a document that satisfies the conditions of the trigger, the Integration Server executes/invokes the associated services. For more information about creating triggers, see the Publish-Subscribe Developer’s Guide.

An IS document type. An IS document type contains a set of fields used to

define the structure and type of data in a document.

A publishable document type. A publishable document type is an IS

document type with specific publishing properties. Instances of publishable document types can be published and subscribed to. Publishable document types can be used anywhere an IS document type is needed.

A publishable document type for an adapter notification. An adapter

notification can have an associated publishable document type that the adapter uses to send the notification data to an Integration Server or a Broker.

(26)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

An IS schema. An IS schema is the blueprint or model document against

which you validate an XML document. The schema defines what can and cannot be contained in the XML documents it validates.

An adapter notification. An adapter notification enables an adapter to

receive event data from the adapter’s resource. There are two types of adapter notifications:

Polling notifications, which poll the resource for events that occur on the resource.

Listener notifications, which work with listeners to detect and process events that occur on the adapter resource.

For information about creating an adapter notification, refer to the documentation provided with the adapter.

An adapter service. An adapter service connects to an adapter’s resource

and initiates an operation on the resource. Adapter services are created using service templates included with the adapter. For information about creating adapter services, refer to the documentation provided with the adapter.

A listener. A listener is an object that connects to an adapter resource and

waits for the resource to deliver data when an event occurs on the resource. Listeners work with listener notifications to detect and process event data on the adapter resource.

For information about creating a listener, refer to the documentation provided with the adapter.

A connection. A connection is an object that contains parameters that

adapter notifications and listeners use to connect to a resource. For information about creating a connection, refer to the documentation provided with the adapter.

A flat file dictionary. A flat file dictionary contains record definitions, field

definitions, and composite definitions that can be used in multiple flat file schemas. For more information about creating a flat file dictionary, see the Flat File Schema Developer’s Guide.

A flat file schema. A flat file schema is the blueprint that contains the

instructions for parsing or creating the records in a flat file, as well as the constraints to which an inbound flat file document should conform to be considered valid. Using flat file schemas, you can translate documents into and from flat file formats. For more information about creating a flat file schema, see the Flat File Schema Developer’s Guide.

An XSLT service. An XSLT service converts XML data into other XML

formats or HTML, using rules defined in an associated XSLT stylesheet.

(27)

What Does the Developer Window Contain?

Refreshing the Contents of the Navigation Panel

The Navigation panel on your screen is not dynamically updated when other users lock, unlock, add, delete, or rename elements on a server. To refresh the Navigation panel to reflect any changes made to the contents of the servers you are working with, use the

SessionRefresh command.

The Fabric Tab

Use the Fabric tab to connect and disconnect Fabric sessions. Once you have opened a Fabric session, you can display, filter, and register Web services. Within the Fabric tab, Web services are sorted in alphabetical order. Simply select a Web service to view more information about the service. For more information about using Fabric with Developer, see the Web Services Developer’s Guide.

Fabric. Developer displays all of the Web services registered in the Fabric

below the Fabric name. Developer displays the subnet locator port or the WAN locator URL for the Fabric to which you are connected.

A Web service. A Web service is a service that uses specific XML- based

protocols and interface descriptions to communicate.

An Unknown Node. The webMethods component used to create/develop

the element is not installed on the client machine.

An Unknown Service. The webMethods component used to create this

service is not installed on the client machine.

This icon... Represents...

Note: Other installed webMethods components might add elements to the Navigation

panel that are not described in the preceding table. For information about these elements, refer to the documentation provided with these installed components.

Note: Refreshing the session is different from restoring a session. Restoring a session

allows you to save changes to an element you were working with when the Integration Server shuts down unexpectedly. For more information about restoring sessions, see

“Restoring a Session on a Server” on page 38.

Note: When you select a Web service in the Fabric tab, the editor (the middle area of the

Developer window between the Navigation panel and the Properties panel) does not change. This is because Web service details and logic cannot be modified using Developer.

(28)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

Fabric Tab Icons

The following buttons on the Fabric tab toolbar are shortcuts to frequently-used commands.

The Fabric tab also contains icons to represent the Fabric and the Web services that are registered within Fabric. The following table identifies these icons.

The Recent Elements Tab

The Recent Elements tab lists the last 30 elements you viewed in the editor. Developer adds an element to this panel when you close the element. You can use this panel to quickly open elements that you have recently viewed and closed.

You can clear the list of elements currently displayed in the Recent Elements tab by

Use this

button... To...

Connect to a Fabric session while working in Developer. Equivalent to SessionOpen Fabric.

Disconnect from a Fabric session while working in Developer. Equivalent to SessionClose Fabric.

Refresh the display of Web services. Equivalent to SessionRefresh

Fabric.

Create an expression that filters the contents of the Fabric tab based on the value of a Web service property. Equivalent to

SessionSet Fabric Filter.

Remove the filter from the contents of the Fabric tab and display all the registered Web services. Equivalent to SessionClear Fabric

Filter.

This icon... Represents...

Fabric. Developer displays all of the Web services registered in the

Fabric below the Fabric name. Developer displays the subnet locator port or the WAN locator URL for the Fabric to which you are connected.

A Web service. A Web service is a service that uses specific XML-

based protocols and interface descriptions to communicate.

Tip! To view a tool tip containing the fully qualified name of the element, the package in

which the element resides, and the host name and port number of the server, rest the mouse pointer on the element name.

(29)

What Does the Developer Window Contain?

Developer handles changes to the Recent Elements list as follows:

When you close an open element in the editor, Developer adds the element to the top of the Recent Elements list.

Developer remembers the contents of the Recent Elements tab between sessions. If you attempt to open an element that was deleted after you closed your previous Developer session, Developer alerts you that the element cannot be found and then removes the element from the list.

If you attempt to open an element listed in the Recent Elements tab that another user has deleted, moved, or renamed during your Developer session, Developer displays a message alerting you that the element cannot be found.

If you move or rename an element during your current session, Developer

automatically refreshes the Recent Elements tab to reflect the change. If you delete an element, Developer removes the element from the Recent Elements list.

For more information about selecting elements in the Recent Elements tab to view or edit in the editor, see “Opening and Closing Elements in the Editor” on page 49.

The Editor

The editor contains the controls that you use to examine and edit an element you open from the Navigation panel or Recent Elements tab. The contents of the editor vary depending on the type of element you select.

For some element types, the editor is divided into multiple areas, including tabs

containing additional editing controls for the element. You switch among areas within the editor just as you would between the Navigation panel or Recent Elements tab and the editor. To select a different area, click any white space in that area. To display the contents of a tab, click the tab name.

(30)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

Editing controls for an element

As mentioned earlier, you can use the Navigation panel and Recent Elements tab to select one or more elements to view or edit in the editor. It is helpful to display multiple elements in the editor when you are editing an element and you would like to refer back to another element for information. For example, if you are creating or editing a trigger, you may want to quickly view the document types and services associated with that trigger.

Each element you open has its own tab in the editor. The element’s title bar contains the fully qualified name of the element and icons to indicate the element’s type and lock status. For more information about these icons, see “Navigation Panel Icons” on page 24

and “What Is a Lock?” on page 92.

If you open an element from the

Navigation panel...

...editing controls for that element are displayed in the editor.

In this example, a specification is opened in the editor.

The editor lists the input and output fields that were created for this specification. These lists are also referred to as “trees.”

Tip! You can press CTRL+ALT+RIGHT ARROW to toggle forward between open elements

(31)

What Does the Developer Window Contain?

Editor with multiple elements opened

The Properties Panel

The Properties panel displays the properties for the currently selected item in the

Developer window. You use this panel to view and edit the properties of an item (such as an element, a step in a flow service, a field in a document, or a link between two

variables).

The properties that Developer displays in this panel vary depending on the item you select and which area of the Developer window has the focus. Developer identifies the item for which properties are displayed beneath the title bar of the Properties panel.

Each opened element in the editor has its

own tab. Click to view tabs that are not currently visible. Click to close the active element

(that is, the element that is currently displayed).

The element’s title bar displays the element’s fully qualified name.

Some elements have specialized tabs.

Tip! You can locate the active element in the Navigation panel by using the EditLocate in Navigation command.

Tip! If the Properties panel displays the properties for an item (for example, a document

field) and you want to display the properties for its parent element (for example, the document type to which the field belongs), click the title bar of the parent element in the editor, the tab of the parent element in the editor, or the white space within the editor.

(32)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

Properties panel

Depending on the type of property you select, you edit a property by:

Typing a value in the box to the right of the property name (for example, to specify the namespace and local names that make up the universal name for a service)

Selecting a value from a list (for example, to specify a validation processing rule) Clicking a button next to the property name and supplying values on a dialog box (for example, to specify an index when linking to or from an array variable)

Clicking the browse button to locate an element (for example, a service)

The tips area beneath the list of properties includes a description of the selected property and its values. To obtain this information for a particular property, click the property name.

Description of the selected property.

Name of the item for which properties are displayed.

Properties are grouped into categories.

Click to expand the list of properties beneath a category. Click to collapse the list of properties beneath a category.

Drag to resize the Property and Value columns.

Tip! You can also paste text into the box that you previously copied to the clipboard. Note: Developer accepts the text you type in a property box when you move the focus

outside of the box or press ENTER. You can cancel your edits before you perform either of these actions by pressing ESC.

(33)

Working in the Developer Window

The Results Panel

The Results panel shows the result of a service’s execution, the variables that a service adds to the pipeline, and the contents of those variables. You can use this panel to quickly examine the data produced by the service while you are testing and debugging the service. You can also save the data to a file and use it as input for a later test.

Results panel

For more information about service execution results, see Chapter 11, “Testing and Debugging Services”.

Working in the Developer Window

Moving Between Panels

Before you can perform an action on an item that is displayed in the Developer window, you must first select the panel in which that item appears (that is, give that panel the “focus”). You can only select one panel in the Developer window at a time. Developer indicates which area has the focus by highlighting the area’s title bar in blue.

To switch from one panel of the Developer window to another, click any white space or field within the panel to which you want to switch. This action changes the focus to the new panel and makes its menu commands and toolbar buttons available for use.

Click a variable name...

...to view its contents in the pipeline at this stage of the service’s execution.

(34)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

Performing Actions

Before you can perform an action on an element, you must select the element in one of the following ways:

Single-click the title bar of an element in the editor. Right-click an element.

Single-click one or more elements in the Navigation panel.

The actions that are available for an element depend on which area of the Developer window has the focus. For example, to run a service, the service must be open in the editor and have the focus.

There are a number of ways to perform an action on an element after you select it:

Menu commands. You can select a command from the menu bar to perform an action on

an element. For example, to save changes to an opened element using the menu bar, select the element in the editor and then click FileSave.

You can also access menu commands on a shortcut menu by right-clicking the element. For example, to unlock an element using a shortcut menu, right-click the element either in the Navigation panel or in the editor and then click Unlock.

Toolbar buttons. You can click a toolbar button to perform an action on an element. For

example, to save changes to an opened element using a toolbar button, select the element in the editor and then click .

The toolbar buttons that are available for you to use depend on the item in the Developer window that currently has the focus. For example, when you are editing a flow service, the flow service toolbar buttons in the editor are not available unless the editor has the focus.

Keys. You can use the keyboard to access a menu by pressing the ALT key plus the

underlined letter in the menu name. You can then select a command on that menu by pressing the underlined letter in the command’s title. For example, to save changes to an element using the keyboard, select the element, press ALT and F to access the File menu, and then press S to save the element.

Some commands also have shortcuts assigned to them. These shortcuts are displayed to the right of their associated commands on the menu bar. For example, to save

Tip! To select a group of adjacent elements simultaneously, press the SHIFT key as you

click. To select a group of non-adjacent elements, press the CTRL key.

Note: Single-clicking an element in the Navigation panel selects (highlights) the

element but does not open the element for viewing or editing in the editor. To open an element in the editor, double-click it.

(35)

Working in the Developer Window

changes to an element using a keyboard shortcut, select that element and then press CTRL and S.

Drag-and-drop action. You can select an element and move it to another package or

element, either on the same server or on a different server, by dragging it. For example, to move an IS document type from one folder to another, you would drag that document type to the new folder.

Most of the procedures in this guide instruct you to perform actions using menu commands.

Resizing Areas in the Developer Window

You can resize areas in the Developer window by:

Hiding or showing panels

Dragging the movable border between panels Switching perspectives

Hiding and Showing Panels

You can hide and show panels on the Developer window as follows:

Note: Some elements, such as adapter notifications, cannot be moved using the

drag-and-drop action.

To... Do this...

Hide the Navigation panel, Fabric tab, and

Recent Elements tab Click along the left edge of the Developer window. Show the Navigation

panel, Fabric tab, and Recent Elements tab

Click along the left edge of the Developer window. Hide the Properties

and Results panels

(36)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

Dragging Movable Borders

You can resize areas in the Developer window by dragging the movable borders between panels with your mouse.

Switching Perspectives

You can quickly change the Developer window to tailor it to the task you are performing (for example, show only the editor and Results panel when you are testing a service) by displaying a particular perspective. Perspectives allocate more space on the Developer window for a particular task by hiding or minimizing the areas that are not essential to that task.

Developer offers three perspectives:

Edit perspective. The edit perspective displays all of the Developer window areas but

minimizes the Results panel. This perspective is useful when you are opening and editing elements and their properties.

Test perspective. The test perspective hides the Navigation panel, Fabric tab, and

Recent Elements tab and maximizes the editor and the Results panel. This perspective is useful when you are testing and debugging a service and you want to view the results of the service’s execution, its inputs and outputs, and its pipeline variables.

Details perspective. The details perspective hides the Navigation panel, Fabric tab, and

Recent Elements tab and minimizes the Results panel. This perspective is useful when you want to see as much of an element’s detail as possible (for example, a service’s pipeline).

You display a perspective as follows: Show the Properties

and Results panels

Click along the right edge of the Developer window. Expand or collapse

editor details

Click on the border between the top of the editor and the specialized tabs beneath it.

To display the... Use this command... Or click this toolbar button...

Edit perspective WindowEdit Perspective

Test perspective WindowTest Perspective

Details perspective WindowDetails Perspective

(37)

Opening, Closing, and Restoring Sessions

You can manually adjust areas within a perspective using the other techniques described in this section. Developer saves your settings across sessions.

If you have adjusted the perspectives manually and you want to revert them to their default settings, use the WindowReset Perspectives command.

Resizing areas in the Developer window

Opening, Closing, and Restoring Sessions

When you start Developer you are prompted to log on to the server that you want to access. You maintain a session on that server until you exit Developer or close the session. You can have open sessions on multiple servers at a time. In the Navigation panel, the server that contains the selected element is the server on which your commands will be executed. For example, if you have the localhost:5555 server selected in the Navigation panel and you select the New command, the new element will be created on that server. You can open a session on another server without closing your current session by using the SessionOpen command.

Click to hide or show the Navigation panel, Fabric tab and Recent

Elements tab. Click to hide or show the Properties and Results panels.

Click to expand or collapse editor details.

Drag movable borders to resize panels. Click to display Edit, Test, and Detail perspectives.

(38)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

1 On the Session menu, click Open.

2 Complete the Open Session dialog box. For more information about completing this dialog box, see “To start Developer” on page 21.

3 Click OK.

1 Save any work that you want to keep.

2 On the Session menu, click Close.

Restoring a Session on a Server

Sometimes a server might shut down before you can save your work. Developer

preserves any unsaved work as well as lock information, despite the loss of the connection to the server. When the server restarts, you can restore your session and save your changes to the server.

On the Session menu, click Restore.

To open a session on a different server

Important! While you have an open session on a server through Developer, you are using a

licensed seat for that server. At times when you are not actively using Developer, you may want to close your session to free a seat on the server for others to use.

To close a session on the current server

Important! If a server shuts down and you close your session (that is, disconnect from the

server), close unsaved elements on that server in the editor, or exit Developer before the server restarts, Developer warns you that if you continue you will lose all unsaved work. If you do not want to lose your work, click Cancel and wait for the connection to that server to be restored.

To restore a session on the server

Note: Restoring a session is different from refreshing the session. Refreshing the session

updates your screen to reflect the actions of other users on elements that are displayed within the Navigation panel and the editors. A refresh action does not restore the working state of an element if a server shuts down. For more information about refreshing the Navigation panel, see “Refreshing the Contents of the Navigation Panel” on page 27.

(39)

Changing Your Password

Notification of Server Shutdown

If the server administrator shuts down the server on which you have an open session, Developer does one of the following:

If the server administrator specified a time delay before shutdown, Developer displays a message notifying you when the shutdown process began and how many minutes remain before the server shuts down. After you receive notification of server shutdown, save any work that you want to keep and then close your session. If you do not close your session, Developer notifies you when the server has shut down. If the server administrator performed an immediate shutdown, Developer displays a message stating that your connection to the server has been lost. (Developer also displays this message if the network connection to the server is lost.)

If you did not save your work before shut down occurred, you might be able to restore your session when the server restarts and then save your work. For more information about restoring sessions, see “Restoring a Session on a Server” on page 38.

Changing Your Password

You can change the password for your user account. If you forget your password, contact the server administrator.

Password Requirements

For security purposes, webMethods Integration Server places length and character restrictions on passwords. webMethods Integration Server contains a default set of password requirements; however, your server administrator can change these. For more information about these password requirements, contact your server administrator.

Important! If you are outside of the corporate firewall, do not change your password unless

you use SSL to open the session on the webMethods Integration Server. If you do not use SSL, your password can be exposed in unencrypted form.

Note: You cannot use Developer to change passwords that are stored in an LDAP or NIS

(40)

C H A P T E R 1 G e t t i n g S t a r t e d w i t h D e v e l o p e r

The default password requirements provided by webMethods are as follows:

To ensure the security of your password, follow the additional guidelines below: Do not choose obvious passwords, such as your name, address, phone number, license plate, spouse’s name, child’s name, or a birthday.

Do not use any word that can be found in the dictionary. Do not write your password down.

Do not share your password with anyone. Change your password frequently.

1 On the Session menu, click Change Password.

2 In the Change Password dialog box, in the Old Password field, type your current password.

3 In the New Password field, type your new password.

4 In the Confirm New Password field, retype your new password. Click OK.

Requirement Default

Minimum length 8

Minimum number of alphabetic characters 3

Minimum number of uppercase characters 2

Minimum number of lowercase characters 2

Minimum number of numeric characters 1

Minimum number of special characters (non-alphabetic and non-numeric characters, such as *. ?, &)

1

To change your password

Important! The server administrator can disable the feature for changing your password

from Developer. If the feature is disabled and you try to change your password, you will receive a message stating that the administrator has disabled the feature.

References

Related documents

This result is partially a consequence of lower confidence when rating the friend and canonical individual as well as smaller mean absolute distances between those two individuals

A group consisting of three faculty members and DCO of the MNS Department along with 13 students from Biotechnology and Microbiology Undergraduate Programs of the department

For the poorest farmers in eastern India, then, the benefits of groundwater irrigation have come through three routes: in large part, through purchased pump irrigation and, in a

Overview. In Section 2, we present our algorithmic framework and motivate different robustness tests for public transport plans. To evaluate them, we explore in Section 3 four

godine, magnitude 6.7, no nije vjerojatno da je taj potres uzrokovao takvu štetu u Sarajevu, pa zaključujem da je ovdje riječ o nekom drugom potresu koji nije zabilježen

Marketing Theory under a Service Dominant Logic Perspective”, Naples Forum on Service, June 9-12, (2015) Naples, Italy.. troviamo di fronte ad un più alto livello di

This report is the result of my bachelor assignment about employee motivation within PT. Sarandi Karya Nugraha in Sukabumi, Indonesia. Sarandi Karya Nugraha is

• Select all concepts with a label of (exactly) “Sales” – select Value from fact where ElementLabel = 'Sales'. • Returns value of an item whose element label matches 'Sales'. are