Getting Started
Contact Information
Introduction
Overview of Kapow Web Data Server
Web Integration
Enter Kapow Web Data Server
How It Works
Kapow Web Data Server Applications
Creating Robots
Running Robots
Managing Robots
Documentation Overview
Robot Development Guides
Programmer's Guides
Runtime Guides
Recommended Reading
Kapow Web Data Server Basics
Data Collection
Clipping
Integration into Web Applications or Portals
Integration into other Java Applications
Integration with Microsoft .NET Application
Java Web Services for BEA WebLogic
Web Services for Microsoft .NET
Release Notes
Change Log
Installation Guide
Installing Kapow Web Data Server
Installing on Windows
Installing on Linux
Silent Installation
Important Folders in Kapow Web Data Server
Configuring Kapow Web Data Server
Setting the Current Robot Project
Configuring the Database Connections
Setting up the Object Databases
Setting up the RoboManager Databases
Configuring the Database Connections
Specifying a Proxy Server
Configuring the Web Server
Configuring profiling
Configuring the JMX Server
Running RoboServer as a Service
RoboServer user configuration
Configuring the Bug Reporting
Changing the License Information
Installing New Certificates
Supported Platforms
System Requirements
Upgrading from Earlier Versions
Tutorials
Tutorial 1: Data Collection
Overview
Defining the Tip Object
Step 1 — Start up ModelMaker
Step 2 — Create a New Domain Model
Step 3 — Create the Tip Object
Step 4 — Define Attributes for the Tip Object
Step 5 — Validate the Domain Model
Step 6 — Save the Model
Creating the Robot
Step 7 — Start RoboMaker
Step 8 — Create a new Robot
Step 9 — Choose Robot Type
Step 10 — Enter the URL to Start From
Step 11 — Choose Output Object
Step 12 — Loop Through Table Rows
Step 13 — Extract Tip Number
Step 14 — Extract Tip URL
Step 15 — Load the Page with the Tip
Step 16 — Extract Tip Title
Step 17 — Extract Description
Step 18 — Return Object
Step 19 — Save the Robot
Running the Robot
Step 20 — Run in RoboMaker’s Debugger
Step 21 — Run Using RoboRunner
Step 22 — Start RoboServer
Step 23 — Start RoboClient
Step 24 — Run the Robot from RoboClient
Step 25 — Run the Robot from the Kapow Java API
Step 26 — Run the Robot from the Kapow .NET API
Summary
Tutorial 2: The Scheduler
Overview
Preparations
Step 1 — Start RoboServer and the Scheduler
Step 2 — Start the Demo Database
Step 3 — Create Database Tables for Objects
Step 4 — Register the Robot
Uploading the Robot to the Scheduler
Step 5 — Upload the Domain Model and Robot
Step 6 — Inspect the Scheduler
Running the Robot via a Schedule
Step 7 — Create a Schedule
Step 8 — Watch the Robot Run
Step 9 — Overlapping Robot Executions
Inspecting Results more Closely
Step 10 — Watch the Robot in RoboManager
Step 11 — Watch the Execution Results
Tutorial 3: Clipping
Overview
Creating the Clipping Robot
Step 1 — Start RoboMaker
Step 2 — Create a New Robot
Step 3 — Choose Robot Type
Step 4 — Enter the URL to Start From
Step 5 — Configure the URLs to Clip
Step 6 — Add a New Clip Branch
Step 7 — Enter Name of New Clip Branch
Step 8 — Hide a Button
Step 9 — Select the Logo
Step 10 — Select the Search Form
Step 11 — Show the Clip
Step 12 — Make a Search
Step 13 — Ensure the Correct Clip Branch is Used
Step 14 — Save the Robot
Installing Tomcat
Step 15 — Download Apache Tomcat
Step 16 — Install Apache Tomcat
Step 17 — Install the Kapow Tag Library Demo Web Application on Apache Tomcat
Step 18 — Test that Tomcat is Running Correctly
Deploying the Clipping Robot
Step 19 — Start the Java Servlet Clip Wizard
Step 20 — Choose a Name for the Deployment Descriptor File
Step 21 — Finish the Wizard
Running the Clipping Robot
Step 22 — Restart Tomcat
Step 23 — Start RoboServer
Step 24 — Try out Clipping
Next Steps
Contact Information
Introduction
Overview of Kapow Web Data Server
Web Integration
Enter Kapow Web Data Server
How It Works
Kapow Web Data Server Applications
Creating Robots
Running Robots
Managing Robots
Documentation Overview
Robot Development Guides
Programmer's Guides
Runtime Guides
Recommended Reading
Kapow Web Data Server Basics
Data Collection
Clipping
Integration into Web Applications or Portals
Integration into other Java Applications
Integration with Microsoft .NET Application
Java Web Services for BEA WebLogic
Web Services for Microsoft .NET
Release Notes
Change Log
Installation Guide
Installing Kapow Web Data Server
Installing on Windows
Installing on Linux
Silent Installation
Important Folders in Kapow Web Data Server
Configuring Kapow Web Data Server
Setting the Current Robot Project
Configuring the Database Connections
Setting up the Object Databases
Setting up the RoboManager Databases
Configuring the Database Connections
Specifying a Proxy Server
Configuring the Web Server
Configuring profiling
Configuring the JMX Server
Running RoboServer as a Service
RoboServer user configuration
Configuring the Bug Reporting
Changing the License Information
Installing New Certificates
Supported Platforms
System Requirements
Upgrading from Earlier Versions
Tutorials
Tutorial 1: Data Collection
Overview
Defining the Tip Object
Step 1 — Start up ModelMaker
Step 2 — Create a New Domain Model
Step 3 — Create the Tip Object
Step 4 — Define Attributes for the Tip Object
Step 5 — Validate the Domain Model
Step 6 — Save the Model
Creating the Robot
Step 7 — Start RoboMaker
Step 8 — Create a new Robot
Step 9 — Choose Robot Type
Step 10 — Enter the URL to Start From
Step 11 — Choose Output Object
Step 12 — Loop Through Table Rows
Step 13 — Extract Tip Number
Step 14 — Extract Tip URL
Step 15 — Load the Page with the Tip
Step 16 — Extract Tip Title
Step 17 — Extract Description
Step 18 — Return Object
Step 19 — Save the Robot
Running the Robot
Step 20 — Run in RoboMaker’s Debugger
Step 21 — Run Using RoboRunner
Step 22 — Start RoboServer
Step 23 — Start RoboClient
Step 24 — Run the Robot from RoboClient
Step 25 — Run the Robot from the Kapow Java API
Step 26 — Run the Robot from the Kapow .NET API
Summary
Tutorial 2: The Scheduler
Overview
Preparations
Step 1 — Start RoboServer and the Scheduler
Step 2 — Start the Demo Database
Step 3 — Create Database Tables for Objects
Step 4 — Register the Robot
Uploading the Robot to the Scheduler
Step 5 — Upload the Domain Model and Robot
Step 6 — Inspect the Scheduler
Running the Robot via a Schedule
Step 7 — Create a Schedule
Step 8 — Watch the Robot Run
Step 9 — Overlapping Robot Executions
Inspecting Results more Closely
Step 10 — Watch the Robot in RoboManager
Step 11 — Watch the Execution Results
Tutorial 3: Clipping
Overview
Creating the Clipping Robot
Step 1 — Start RoboMaker
Step 2 — Create a New Robot
Step 3 — Choose Robot Type
Step 4 — Enter the URL to Start From
Step 5 — Configure the URLs to Clip
Step 6 — Add a New Clip Branch
Step 7 — Enter Name of New Clip Branch
Step 8 — Hide a Button
Step 9 — Select the Logo
Step 10 — Select the Search Form
Step 11 — Show the Clip
Step 12 — Make a Search
Step 13 — Ensure the Correct Clip Branch is Used
Step 14 — Save the Robot
Installing Tomcat
Step 15 — Download Apache Tomcat
Step 16 — Install Apache Tomcat
Step 17 — Install the Kapow Tag Library Demo Web Application on Apache Tomcat
Step 18 — Test that Tomcat is Running Correctly
Deploying the Clipping Robot
Step 19 — Start the Java Servlet Clip Wizard
Step 20 — Choose a Name for the Deployment Descriptor File
Step 21 — Finish the Wizard
Running the Clipping Robot
Step 22 — Restart Tomcat
Step 23 — Start RoboServer
Step 24 — Try out Clipping
Next Steps
Robot Development
RoboMaker User's Guide
RoboMaker Concepts
The Robot
Objects
Robot Libraries and Robot Projects
The Robot State
Steps
Connections and Execution Flow
Error Handling
Location and Location Code
Getting Started
A Tour of the RoboMaker User Interface
The Robot View
The State View
The Step View
The Objects View
A Tour of the RoboDebugger User Interface
Robot Navigation and Editing
Step Actions and Data Converters
Patterns
Expressions
Working with Robot Projects and Robot Libraries
Putting It All Together
Tutorial 1: Essentials
Tutorial 2: Form Submission
How to Configure a Robot
How to Configure the Objects of a Robot
How to Use the Tag Finders
Understanding Tag Paths
How the Tag Finder Works
Configuring the Tag Finders of the Current Step
How to Submit a Form
Simple Form Submission
Form Basics
Which Step Action Should I Use?
Using the Submit Form Action
Using the Loop Form Action
Uploading Files
Using the Pop-up Menu in the Page View
How to Loop Through Pages
Pages where First Page Links to All Other Pages
Pages where Each Page Links to Next
How to Extract Content
Extracting Text
Extracting Clips
Extracting Binary Data
Using the Pop-up Menu in the Page View
Performing Common Tasks
How to Extract Content From a Table
Content Irregularities
Structure Irregularities
How to Clip
What is Clipping?
How Clipping Works
The Structure of a Clipping Robot
A Simple Clipping Robot
A Robot with Multiple Clip Branches
A Robot with Automatic Navigation Sequences
Creating a Clipping Robot
The Portlet View
Working with Clip Branches
Adding a New Clip Branch
Editing a Clip Branch
Using another Clip Branch for a Page
Using Clip Conditions
Modifying Clips
Selecting the Tags to Clip
Changing Layout and Styles
Modifying the Pages before Clipping
Working with Windows and Frames
Selecting the Window to Show in the Portlet
Blocking Popup Windows
Handling Login and Single-Sign-On
Performing Automatic Login
Performing Automatic Logout
Supporting other Types of Single-Sign-On
Adding an Automatic Navigation Sequence
Restricting the Clipping
Clipping Protected Resources
Configuring the Clipped User Actions
Passing Additional Information to a Clipping Robot
Handling Clipping Sessions on RoboServer
Deploying a Clipping Robot
Java Servlet Clip Wizard
Java Portlet Clip Wizard
BEA WebLogic Portal 8.1 Page Flow Clip Wizard
BEA WebLogic Portal 8.1 Java Portlet Clip Wizard
IBM WebSphere Portal 5.0 JetSpeed Portlet Clip Wizard
IBM WebSphere Portal 5.1 JetSpeed Portlet Clip Wizard
Oracle Portal/WebCenter 10g/11g Clip Wizard
How to Handle Errors
Handling a Step’s Own Errors
Handling a Step’s Received Errors
Using the “Until Successful Branch” Branching Mode
More Examples of Using “Until Successful Branch”
Viewing the Error Handling in the Robot View
How to Write a Robot with Input Objects
How to Make Robots More Robust
How to Reuse Sessions
How to Debug a Robot
Basic Debugging
Debugging from the Current Location in RoboMaker
Making RoboMaker Go to a Location from RoboDebugger
Using Breakpoints
Single-Stepping
Using Environments
How to Use the Browser Tracer
Setting Up a Browser
Tracing
The Difference View
JavaScript Trace
HTTP Trace
Saving and Loading Trace Sessions
ModelMaker User's Guide
ModelMaker Concepts
Objects
Attributes
Domain Models
ModelMaker User Interface
Tutorial: Creating a Domain Model
Creating the Object
Adding Attributes
Validating the Domain Model
Previewing the Object
Saving the Domain Model
Creating the Database Table
Example Domain Models
Features in Depth
Database Output Objects Explained
Validating Domain Models
Configuring Objects
Configuring Attributes
Modifying an Existing Object
Creating and Deleting Database Tables
RoboMaker User's Guide
RoboMaker Concepts
The Robot
Objects
Robot Libraries and Robot Projects
The Robot State
Steps
Connections and Execution Flow
Error Handling
Location and Location Code
Getting Started
A Tour of the RoboMaker User Interface
The Robot View
The State View
The Step View
The Objects View
A Tour of the RoboDebugger User Interface
Robot Navigation and Editing
Step Actions and Data Converters
Patterns
Expressions
Working with Robot Projects and Robot Libraries
Putting It All Together
Tutorial 1: Essentials
Tutorial 2: Form Submission
How to Configure a Robot
How to Configure the Objects of a Robot
How to Use the Tag Finders
Understanding Tag Paths
How the Tag Finder Works
Configuring the Tag Finders of the Current Step
How to Submit a Form
Simple Form Submission
Form Basics
Which Step Action Should I Use?
Using the Submit Form Action
Using the Loop Form Action
Uploading Files
Using the Pop-up Menu in the Page View
How to Loop Through Pages
Pages where First Page Links to All Other Pages
Pages where Each Page Links to Next
How to Extract Content
Extracting Text
Extracting Clips
Extracting Binary Data
Using the Pop-up Menu in the Page View
Performing Common Tasks
How to Extract Content From a Table
Content Irregularities
Structure Irregularities
How to Clip
What is Clipping?
How Clipping Works
The Structure of a Clipping Robot
A Simple Clipping Robot
A Robot with Multiple Clip Branches
A Robot with Automatic Navigation Sequences
Creating a Clipping Robot
The Portlet View
Working with Clip Branches
Adding a New Clip Branch
Editing a Clip Branch
Using another Clip Branch for a Page
Using Clip Conditions
Modifying Clips
Selecting the Tags to Clip
Changing Layout and Styles
Modifying the Pages before Clipping
Working with Windows and Frames
Selecting the Window to Show in the Portlet
Blocking Popup Windows
Handling Login and Single-Sign-On
Performing Automatic Login
Performing Automatic Logout
Supporting other Types of Single-Sign-On
Adding an Automatic Navigation Sequence
Restricting the Clipping
Clipping Protected Resources
Configuring the Clipped User Actions
Passing Additional Information to a Clipping Robot
Handling Clipping Sessions on RoboServer
Deploying a Clipping Robot
Java Servlet Clip Wizard
Java Portlet Clip Wizard
BEA WebLogic Portal 8.1 Page Flow Clip Wizard
BEA WebLogic Portal 8.1 Java Portlet Clip Wizard
IBM WebSphere Portal 5.0 JetSpeed Portlet Clip Wizard
IBM WebSphere Portal 5.1 JetSpeed Portlet Clip Wizard
Oracle Portal/WebCenter 10g/11g Clip Wizard
How to Handle Errors
Handling a Step’s Own Errors
Handling a Step’s Received Errors
Using the “Until Successful Branch” Branching Mode
More Examples of Using “Until Successful Branch”
Viewing the Error Handling in the Robot View
How to Write a Robot with Input Objects
How to Make Robots More Robust
How to Reuse Sessions
How to Debug a Robot
Basic Debugging
Debugging from the Current Location in RoboMaker
Making RoboMaker Go to a Location from RoboDebugger
Using Breakpoints
Single-Stepping
Using Environments
How to Use the Browser Tracer
Setting Up a Browser
Tracing
The Difference View
JavaScript Trace
HTTP Trace
Saving and Loading Trace Sessions
ModelMaker User's Guide
ModelMaker Concepts
Objects
Attributes
Domain Models
ModelMaker User Interface
Tutorial: Creating a Domain Model
Creating the Object
Adding Attributes
Validating the Domain Model
Previewing the Object
Saving the Domain Model
Creating the Database Table
Example Domain Models
Features in Depth
Database Output Objects Explained
Validating Domain Models
Configuring Objects
Configuring Attributes
Modifying an Existing Object
Creating and Deleting Database Tables
Programming With Robots
Java Programmer's Guide
Introduction
Required Items
Notation
References
Core Functionality
A Short Example
Executing Robots
Ping Requests
Stop Requests
Input and Output Objects
Attribute Types
Executing an Integration Robot
Using Credentials
Asynchronous Execution
ConcurrentRobotExecutor
The Future Pattern
Parallel Execution
Using handlers to receive asynchronous notification
Getting Started
Robot Query Language
Requests and Responses
Requests
Responses
Robot URLs
More about Input and Output Objects
Ensuring Type Safety
Mappings to ModelMaker types
The AttributeType class
The Binary Type
The Session Type
Robot Libraries
Environments
The Common Robot Environment
Robot Info Environments
Storage Environments
Message Environments
The Input Object Environment
Custom Environments
Engines and Handlers
Contacting RoboServer
Types of Protocols
When to use a Socket Based Protocol
When to use a JMS Protocol
XML or Serialized Objects
Using a Protocol
Client Side Distribution
Configuration
Engine
Robot Library
Environments
Extending the RQLEngine Hierarchy
Caching Engine
Event-producing Engine
Predefined Handlers
DemultiplexingRQLHandler
The Default Handler
Custom Handlers
Exceptions and Error Handling
The RQLException Hierarchy
Chaining Exceptions
Recovering Partial Results
Error Handling Strategies
Programming Examples
Simple Caching
The example explained
Cache
CachingRQLEngine
SimpleCache
Running the Example
A Robot Abstraction
The Example Explained
Robot.java
EmailCollector.java
UserInfo.java and Email.java
Running the Example
Beyond the Example
Using Robots in BEA Workshop
The Example Explained
Running the example
RSS Robots
JSP Tag Library Programmer's Guide
Introduction
The Tag Libraries Concept
Required Items
Notation
References
Overview of the Tag Library
Providing Page Content through a Robot
Using Input Objects
Attributes
Using JSTL for Presentation
The Expression Language
Accessing and Presenting Results
Dealing with Errors
Basic Tag Functionality
The execute tag
Robot URLs
Input Objects
Attributes
Types of attributes
Estimating types
Conversion of types
Output Objects
The “bean”-format
The “xml”-format
The “debug”-format
Filtering the Output Objects
The RQLObjects Class
The RQLObject Class
Errors
The ErrorModel Class
Robot Libraries
The library tag
The packedLibrary tag
The defaultLibrary tag
The cache tag
Configuration basics
Setting up a Web Application to Use a Deployment Descriptor
The descriptor tag
Advanced Topics
Caching
Parallel Execution
The parallelExecute tag
Configuration
Deployment Descriptors
A Simple Deployment Descriptor
Setting Engines
The Socket Protocol
The JMS Protocol
Libraries
Environments
Specifying the Deployment Descriptor in web.xml
Programming Examples
A Hello World Example
An Example Using an Input Object
An HTML Proxy Example
Appendix A: Tag Library Syntax
Appendix B: DTD for XML output
.NET Programmer's Guide
Introduction
Required Items
Notation
References
Core Functionality
A Short Example
Executing Robots
Ping requests
Stop requests
Getting the Execution Id
Input Objects and Output Objects
Attribute Entries
Executing an Integrator Robot
RqlObjectBuilder
Using ExecuteRequestBuilder
Asynchronous Execution
ConcurrentRobotExecuter
The Future pattern
Parallel Execution
Getting Started
Robot Query Language
Requests and Responses
Requests
Responses
Robot URLs
More about Input Objects and Output Objects
Ensuring Type Safety
Mappings to ModelMaker types
The AttributeEntryType class
The Binary Type
The Session Type
Robot Libraries
Environments
The Common Robot Environment
Robot Info Environments
Storage Environments
Message Environments
The Input Object Environment
Custom Environments
Engines and Handlers
Contacting RoboServer
Types of protocols
The Socket protocol and XML messages
Special Characters and XML
Line Breaks
Using a protocol
Client Side Distribution
Configuration
Engine
Robot Library
Environments
Extending the IRqlEngine Hierarchy
Caching Engine
Event-producing Engine
Predefined Handlers
DemultiplexingRqlHandler
The Default Handler
Custom Handlers
Exceptions and Error Handling
The RqlException Hierarchy
Chaining Exceptions
Recovering Partial Results
Error Handling Strategies
Troubleshooting .NET
Web Sharing
Visual Studio Web Projects
Special Cases
Compiling with .NET
Microsoft .NET Framework SDK version 1.1
Microsoft .NET Framework SDK version 1.0
Programming Examples
Simple Caching
The example explained
Cache
CachingRqlEngine
SimpleCache
Running the example
A Robot Abstraction
The example explained
Robot.cs
EmailCollector.cs
UserInfo.cs and Email.cs
Running the example
Beyond the example
Code Generation Guide
Java Code Generation Wizard
Running the Wizard
The Generated Source Code
Wizard Configuration
Java Code
Class Diagram
The Robot Subclasses
The SearchResult and SearchText Classes
Compiling the Generated Java Code
Dependencies
Robot Library and Deployment Descriptor Issues
Using the Generated Java Code
Deploying Generated Java Code
Java Project
Java Source Code
JAR File
Updating Robots
Expanding the Generated Java Code
Summary
WebLogic 8.1 Web Service Wizard
Running the Wizard
Generated Code
Testing the Web Service
Summary
WebLogic 9.2 Web Service Wizard
Running the Wizard
Generated Code
C# Code Generation Wizard
Running the C# Wizard
The Generated Source Code
Wizard Configuration
C# Code
Class Diagram
The Robot Subclasses
The SearchResult and SearchText Classes
Compiling the Generated C# Code
Compiling using build.bat
Microsoft .NET Framework SDK version 1.1
Microsoft .NET Framework SDK version 1.0
Microsoft Visual Studio Integration
Dependencies
Robot Library and Deployment Descriptor Issues
Using the Compiled C# Code
Expanding the Generated C# Code
Summary
.NET Web Service Wizard
Running the Wizard
Generated Code
Building the Web Service
Testing the Web Service
Enabling Web Sharing
Summary
Clipping Programmer's Guide
Introduction
Required Items
Notation
References
Using the API
The Clip Configuration File
The Clipping Logic
Calling RoboServer
Response from RoboServer
Extension Points
Providers
Handlers
Filters
Controllers
Technical Issues
Correlation between Portlet and Servlet
Thread Safety
Providers
Additional Input Objects Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Properties Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
User Credentials Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
User Message Localization Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Distribution Policy Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Handlers
Additional Output Objects Handler
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Error Handler
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Filters
Header Filter
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Controllers
Restart Session Controller
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Tips and Tricks
Extending the Standard Portlet
Example
Communication between Portlet and Servlet
Example
Java Programmer's Guide
Introduction
Required Items
Notation
References
Core Functionality
A Short Example
Executing Robots
Ping Requests
Stop Requests
Input and Output Objects
Attribute Types
Executing an Integration Robot
Using Credentials
Asynchronous Execution
ConcurrentRobotExecutor
The Future Pattern
Parallel Execution
Using handlers to receive asynchronous notification
Getting Started
Robot Query Language
Requests and Responses
Requests
Responses
Robot URLs
More about Input and Output Objects
Ensuring Type Safety
Mappings to ModelMaker types
The AttributeType class
The Binary Type
The Session Type
Robot Libraries
Environments
The Common Robot Environment
Robot Info Environments
Storage Environments
Message Environments
The Input Object Environment
Custom Environments
Engines and Handlers
Contacting RoboServer
Types of Protocols
When to use a Socket Based Protocol
When to use a JMS Protocol
XML or Serialized Objects
Using a Protocol
Client Side Distribution
Configuration
Engine
Robot Library
Environments
Extending the RQLEngine Hierarchy
Caching Engine
Event-producing Engine
Predefined Handlers
DemultiplexingRQLHandler
The Default Handler
Custom Handlers
Exceptions and Error Handling
The RQLException Hierarchy
Chaining Exceptions
Recovering Partial Results
Error Handling Strategies
Programming Examples
Simple Caching
The example explained
Cache
CachingRQLEngine
SimpleCache
Running the Example
A Robot Abstraction
The Example Explained
Robot.java
EmailCollector.java
UserInfo.java and Email.java
Running the Example
Beyond the Example
Using Robots in BEA Workshop
The Example Explained
Running the example
RSS Robots
JSP Tag Library Programmer's Guide
Introduction
The Tag Libraries Concept
Required Items
Notation
References
Overview of the Tag Library
Providing Page Content through a Robot
Using Input Objects
Attributes
Using JSTL for Presentation
The Expression Language
Accessing and Presenting Results
Dealing with Errors
Basic Tag Functionality
The execute tag
Robot URLs
Input Objects
Attributes
Types of attributes
Estimating types
Conversion of types
Output Objects
The “bean”-format
The “xml”-format
The “debug”-format
Filtering the Output Objects
The RQLObjects Class
The RQLObject Class
Errors
The ErrorModel Class
Robot Libraries
The library tag
The packedLibrary tag
The defaultLibrary tag
The cache tag
Configuration basics
Setting up a Web Application to Use a Deployment Descriptor
The descriptor tag
Advanced Topics
Caching
Parallel Execution
The parallelExecute tag
Configuration
Deployment Descriptors
A Simple Deployment Descriptor
Setting Engines
The Socket Protocol
The JMS Protocol
Libraries
Environments
Specifying the Deployment Descriptor in web.xml
Programming Examples
A Hello World Example
An Example Using an Input Object
An HTML Proxy Example
Appendix A: Tag Library Syntax
Appendix B: DTD for XML output
.NET Programmer's Guide
Introduction
Required Items
Notation
References
Core Functionality
A Short Example
Executing Robots
Ping requests
Stop requests
Getting the Execution Id
Input Objects and Output Objects
Attribute Entries
Executing an Integrator Robot
RqlObjectBuilder
Using ExecuteRequestBuilder
Asynchronous Execution
ConcurrentRobotExecuter
The Future pattern
Parallel Execution
Getting Started
Robot Query Language
Requests and Responses
Requests
Responses
Robot URLs
More about Input Objects and Output Objects
Ensuring Type Safety
Mappings to ModelMaker types
The AttributeEntryType class
The Binary Type
The Session Type
Robot Libraries
Environments
The Common Robot Environment
Robot Info Environments
Storage Environments
Message Environments
The Input Object Environment
Custom Environments
Engines and Handlers
Contacting RoboServer
Types of protocols
The Socket protocol and XML messages
Special Characters and XML
Line Breaks
Using a protocol
Client Side Distribution
Configuration
Engine
Robot Library
Environments
Extending the IRqlEngine Hierarchy
Caching Engine
Event-producing Engine
Predefined Handlers
DemultiplexingRqlHandler
The Default Handler
Custom Handlers
Exceptions and Error Handling
The RqlException Hierarchy
Chaining Exceptions
Recovering Partial Results
Error Handling Strategies
Troubleshooting .NET
Web Sharing
Visual Studio Web Projects
Special Cases
Compiling with .NET
Microsoft .NET Framework SDK version 1.1
Microsoft .NET Framework SDK version 1.0
Programming Examples
Simple Caching
The example explained
Cache
CachingRqlEngine
SimpleCache
Running the example
A Robot Abstraction
The example explained
Robot.cs
EmailCollector.cs
UserInfo.cs and Email.cs
Running the example
Beyond the example
Code Generation Guide
Java Code Generation Wizard
Running the Wizard
The Generated Source Code
Wizard Configuration
Java Code
Class Diagram
The Robot Subclasses
The SearchResult and SearchText Classes
Compiling the Generated Java Code
Dependencies
Robot Library and Deployment Descriptor Issues
Using the Generated Java Code
Deploying Generated Java Code
Java Project
Java Source Code
JAR File
Updating Robots
Expanding the Generated Java Code
Summary
WebLogic 8.1 Web Service Wizard
Running the Wizard
Generated Code
Testing the Web Service
Summary
WebLogic 9.2 Web Service Wizard
Running the Wizard
Generated Code
C# Code Generation Wizard
Running the C# Wizard
The Generated Source Code
Wizard Configuration
C# Code
Class Diagram
The Robot Subclasses
The SearchResult and SearchText Classes
Compiling the Generated C# Code
Compiling using build.bat
Microsoft .NET Framework SDK version 1.1
Microsoft .NET Framework SDK version 1.0
Microsoft Visual Studio Integration
Dependencies
Robot Library and Deployment Descriptor Issues
Using the Compiled C# Code
Expanding the Generated C# Code
Summary
.NET Web Service Wizard
Running the Wizard
Generated Code
Building the Web Service
Testing the Web Service
Enabling Web Sharing
Summary
Clipping Programmer's Guide
Introduction
Required Items
Notation
References
Using the API
The Clip Configuration File
The Clipping Logic
Calling RoboServer
Response from RoboServer
Extension Points
Providers
Handlers
Filters
Controllers
Technical Issues
Correlation between Portlet and Servlet
Thread Safety
Providers
Additional Input Objects Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Properties Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
User Credentials Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
User Message Localization Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Distribution Policy Provider
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Handlers
Additional Output Objects Handler
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Error Handler
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Filters
Header Filter
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Controllers
Restart Session Controller
Purpose and Use
Clip Configuration File Specification
Implementation
Example
Tips and Tricks
Extending the Standard Portlet
Example
Communication between Portlet and Servlet
Example
Runtime
RoboRunner User's Guide
Using RoboRunner
How to Start RoboRunner
Using Environments
Examples
Run a Single Robot
Run All Robots in a Directory
RoboServer User's Guide
Starting RoboServer
How to Start RoboServer
Shutting Down RoboServer
Example
Getting a Feel for RoboServer
Understanding RQL
RQL Requests
Execute Request
Stop Request
Ping Request
RQL Responses
Server Execution Event Response
Ping Response
Server Error Response
Robot Extracted Object Response
Robot Message Response
Robot Error Response
RQL Services
The Services
The Socket-based RQL Service
Requirements of the service
Starting the service
The JMS-based RQL Service
Requirements of the service
Starting the service
Deciding which service to use
Scenario 1: One RoboServer in an integration project
Scenario 2: RoboServer-farm
Scenario 3: RoboServers on different networks
Example 1: JMS configuration for BEA WebLogic 7.0
Getting JNDI/JMS implementations for RS
Configuring the queues
Configure the Request Queue
Configure the Response Queue
Configure the Multicast Topic
Configure the Connection Factory
Starting RoboServer
Example 2: JMS configuration for BEA WebLogic 8.1
Getting JNDI/JMS implementations for RS
Configuring the queues
Configure the Request Queue
Configure the Response Queue
Configure the Multicast Topic
Configure the Connection Factory
Starting RoboServer
Scheduler User's Guide
Scheduler Concepts
Starting the Scheduler
Scheduler User Interface
Schedules Tab
Robots & Robot Logs Tab
Models Tab
Servers Tab
Running Robots Tab
Scheduler Logs Tab
Options Tab
Control Center User's Guide
Control Center Basics
Control Center User Interface
The Main Window
Navigating the Control Center
Changing the Selection
Actions and Popup Menus
Tables in the Main View
Moving RoboServers
Managing RoboServers
Registering RoboServers
Automatic Discovery
Manual Registration
Monitoring RoboServers
Editing RoboServers
Shutting Down RoboServers
Unregistering RoboServers
Managing Robots
Monitoring Robots
Starting a Robot
Stopping Robots
Other Control Center Features
Exporting and Importing the RoboServer List
Exporting the RoboServer List
Importing a RoboServer List
Editing Settings on a Remote RoboServer
RoboManager User's Guide
Understanding RoboManager
Concepts in RoboManager
Administrating the RoboManager Database
A Quick Look at the RoboManager User Interface
Organizing Your Robots
Creating Robot Groups
Creating New Robots
Viewing Robots
Monitoring Your Robots
Viewing Robot Runs
Viewing Messages
Running Your Robots
Viewing Database Output Objects
RoboRunner User's Guide
Using RoboRunner
How to Start RoboRunner
Using Environments
Examples
Run a Single Robot
Run All Robots in a Directory
RoboServer User's Guide
Starting RoboServer
How to Start RoboServer
Shutting Down RoboServer
Example
Getting a Feel for RoboServer
Understanding RQL
RQL Requests
Execute Request
Stop Request
Ping Request
RQL Responses
Server Execution Event Response
Ping Response
Server Error Response
Robot Extracted Object Response
Robot Message Response
Robot Error Response
RQL Services
The Services
The Socket-based RQL Service
Requirements of the service
Starting the service
The JMS-based RQL Service
Requirements of the service
Starting the service
Deciding which service to use
Scenario 1: One RoboServer in an integration project
Scenario 2: RoboServer-farm
Scenario 3: RoboServers on different networks
Example 1: JMS configuration for BEA WebLogic 7.0
Getting JNDI/JMS implementations for RS
Configuring the queues
Configure the Request Queue
Configure the Response Queue
Configure the Multicast Topic
Configure the Connection Factory
Starting RoboServer
Example 2: JMS configuration for BEA WebLogic 8.1
Getting JNDI/JMS implementations for RS
Configuring the queues
Configure the Request Queue
Configure the Response Queue
Configure the Multicast Topic
Configure the Connection Factory
Starting RoboServer
Scheduler User's Guide
Scheduler Concepts
Starting the Scheduler
Scheduler User Interface
Schedules Tab
Robots & Robot Logs Tab
Models Tab
Servers Tab
Running Robots Tab
Scheduler Logs Tab
Options Tab
Control Center User's Guide
Control Center Basics
Control Center User Interface
The Main Window
Navigating the Control Center
Changing the Selection
Actions and Popup Menus
Tables in the Main View
Moving RoboServers
Managing RoboServers
Registering RoboServers
Automatic Discovery
Manual Registration
Monitoring RoboServers
Editing RoboServers
Shutting Down RoboServers
Unregistering RoboServers
Managing Robots
Monitoring Robots
Starting a Robot
Stopping Robots
Other Control Center Features
Exporting and Importing the RoboServer List
Exporting the RoboServer List
Importing a RoboServer List
Editing Settings on a Remote RoboServer
RoboManager User's Guide
Understanding RoboManager
Concepts in RoboManager
Administrating the RoboManager Database
A Quick Look at the RoboManager User Interface
Organizing Your Robots
Creating Robot Groups
Creating New Robots
Viewing Robots
Monitoring Your Robots
Viewing Robot Runs
Viewing Messages
Running Your Robots
Viewing Database Output Objects
Reference
RoboSuite
How to Get Support
RoboMaker
Step Actions
Assign Attribute
Assign Global Variable
Begin Clip
Call Web Service
Change Proxy
Clear Current Tags
Click
Clip
Close Window
Convert Attributes
Crawl Pages
Create Cookie
Create Global Variable
Create Page
Divide Table
Divide Tag
Divide Text
Do Nothing
End Clip
Enter Password
Enter Text
Execute JavaScript
Execute SQL
Extend RSS Channel
Extend RSS Item
Extract
Extract Selected Option
Extract Clip
Extract Cookie
Extract CSV
Extract Form Parameter
Extract from Excel
Extract Tag Attribute
Extract Text from PDF
Extract URL
Find Tag
For Each File
For Each Option
For Each Radio Button
For Each Tag
For Each Tag Path
For Each URL
For Each XML Tag
Generate Error
Get Global Variable
Get Iteration
Go Back
Go Forward
Hide Tag
Increase Global Variable
Insert Tag
Load Data
Load Page
Loop Form
Field Groups
One Field with One Value
One Field with Values to Loop Through
Multiple Fields to Loop Through
Two Fields that Define a Range
Value Lists
List of Values
Values from Form
Number Range
Values Depending on other Field's Value
Result Size Evaluator
Move Mouse From
Move Mouse To
New Window
Next
Query Database
Refind Object
Remove Cookie
Remove Table Rows
Remove Tags
Remove Tag Range
Repeat
Replace Tag
Restore Session
Restore Tag
Return Object
Save Session
Save Tag
Select File
Select Multiple Options
Select Option
Select Radio Button
Send Email
Set Checkbox
Set Current Tag
Set Current Window
Set Top Tag
Stop
Submit Form
Test Attributes
Test Clip
Test Clip Command
Test Default Clip
Test File Existence
Test Tag
Test Row
Test URL
Test Window
Transpose Table
Transform XML
Unhide Tag
Wait
Write File
Write Log
Data Converters
Add Text
Advanced Extract
Ampersand Decode
Ampersand Encode
Base64 Decode
Base64 Encode
Capitalize
Compute MD5 Checksum
Convert HTML to Text
Convert to Lower Case
Convert to Upper Case
Convert Using List
Count Tags
Evaluate Expression
Extract
Extract Date
Extract Number
Extract List
Extract Year
Format Date
Format HTML
Format Number
Get Attribute
Get Global Variable
Get Property
Get Time Between Dates
If Then
Make URL Absolute
Modify Date
Remove Non-Printable Characters
Remove Spaces
Remove Special Characters
Remove Tags
Replace Pattern
Replace Text
URL Decode
URL Encode
Deployment Wizards
Code Generation Wizards
Java Code Generation Wizard
Overall Settings
Code Generation
Protocol
Robot Library
Message Logging
WebLogic 8.1 Java Web Service Wizard
Project Settings
Protocol
Robot Library
WebLogic 9.2 Java Web Service Wizard
Service Definition
Output Folders
Protocol
Robot Library
C# Code Generation Wizard
C# Project Settings
Select Robots
RQL Protocol
Robot Library
Message Logging
Assembly Information
.NET Web Service Wizard
Web Service Project Settings
Select Robots
RQL Protocol
Robot Library
Message Logging
Assembly Information
Ready to Generate
Clipping Wizards
Java Servlet Clip Wizard
Choose Servlet Container
Configure Servlet
Java Portlet Clip Wizard
Choose Portlet Container
Choose Java Portlet
Configure Portlet
BEA WebLogic Portal 8.1 Clip Wizards
Choose Portal Project
Choose Name
Choose Page Flow
Choose Java Portlet
Configure Portlet
Configure Page Flow Portlet
Configure Java Portlet
IBM WebSphere Portal 5.0 JetSpeed Portlet Clip Wizard
Configure Portlet Application
Configure Portlet
IBM WebSphere Portal 5.1 JetSpeed Portlet Clip Wizard
Configure Portlet Application
Configure Portlet
IBM WebSphere Portal 6.0 JetSpeed Portlet Clip Wizard
Configure Portlet Application
Configure Portlet
Common Pages
Deployment
Single Sign On
1st-Generation Clipping Wizards
JSP Clipping Wizard
Choose Web Application
Choose JSP File
Configure Portlet
Java Portlet Clipping Wizard
Choose Portal
Choose Java Portlet
Configure Portlet
WebLogic 8.1 Portal Clipping Wizard
Choose Portal
Choose Portlet
Configure Portlet
Configure Page Flow Portlet
Configure Java Portlet
WebSphere 5.0 Portlet Clipping Wizard
Choose Portlet Application
Configure Portlet
Common Pages
Deployment
Cookies
Headers
Additional Input Objects
Simple Patterns
Protocols
Robot Libraries
Other Topics
Robot Configuration
Clipping Robot Configuration
Web 2.0 Edition RSS/Atom Robot Configuration
Web 2.0 Edition REST Robot Configuration
Object Configuration
Step Configuration
Windows
Current Tags
Tag Finders
Patterns
Expressions
Global Variables
POST Requests as URLs
The Library Protocol
Value Selector
Keyboard Help
Browser Tracer
ModelMaker
User Interface
Object Configuration
Attribute Configuration
Attribute Types
Properties Attribute Type
Creating and Deleting Tables
Other Topics
Valid Names
Modifying Models
RoboManager
User Interface
Robot Search
Robot Run Search
Message Search
Running Robots
RoboRunner
RoboServer
Control Center
RoboClient
Scheduler
Other Topics
Cron Schedule
Environments
Common Robot Environment
Robot Info Environments
Database Robot Info Environment
Simple Robot Info Environment
Storage Environments
Database Storage Environment
File Storage Environment
Multiple Files Storage Environment
RSS Storage Environment
Message Environments
Aggregate Message Environment
Database Message Environment
Email Message Environment
File Message Environment
Input Object Environment
openkapow
RSS Robot Configuration
REST Robot Configuration
Clip Robot Configuration
REST Output Formats
openkapow Publish Dialog
openkapow Username and Password Dialog
Kapow OnDemand Username and Password Dialog
Kapow OnDemand Configuration Dialog
Kapow OnDemand Publish Dialog
RoboSuite
How to Get Support
RoboMaker
Step Actions
Assign Attribute
Assign Global Variable
Begin Clip
Call Web Service
Change Proxy
Clear Current Tags
Click
Clip
Close Window
Convert Attributes
Crawl Pages
Create Cookie
Create Global Variable
Create Page
Divide Table
Divide Tag
Divide Text
Do Nothing
End Clip
Enter Password
Enter Text
Execute JavaScript
Execute SQL
Extend RSS Channel
Extend RSS Item
Extract
Extract Selected Option
Extract Clip
Extract Cookie
Extract CSV
Extract Form Parameter
Extract from Excel
Extract Tag Attribute
Extract Text from PDF
Extract URL
Find Tag
For Each File
For Each Option
For Each Radio Button
For Each Tag
For Each Tag Path
For Each URL
For Each XML Tag
Generate Error
Get Global Variable
Get Iteration
Go Back
Go Forward
Hide Tag
Increase Global Variable
Insert Tag
Load Data
Load Page
Loop Form
Field Groups
One Field with One Value
One Field with Values to Loop Through
Multiple Fields to Loop Through
Two Fields that Define a Range
Value Lists
List of Values
Values from Form
Number Range
Values Depending on other Field's Value
Result Size Evaluator
Move Mouse From
Move Mouse To
New Window
Next
Query Database
Refind Object
Remove Cookie
Remove Table Rows
Remove Tags
Remove Tag Range
Repeat
Replace Tag
Restore Session
Restore Tag
Return Object
Save Session
Save Tag
Select File
Select Multiple Options
Select Option
Select Radio Button
Send Email
Set Checkbox
Set Current Tag
Set Current Window
Set Top Tag
Stop
Submit Form
Test Attributes
Test Clip
Test Clip Command
Test Default Clip
Test File Existence
Test Tag
Test Row
Test URL
Test Window
Transpose Table
Transform XML
Unhide Tag
Wait
Write File
Write Log
Data Converters
Add Text
Advanced Extract
Ampersand Decode
Ampersand Encode
Base64 Decode
Base64 Encode
Capitalize
Compute MD5 Checksum
Convert HTML to Text
Convert to Lower Case
Convert to Upper Case
Convert Using List
Count Tags
Evaluate Expression
Extract
Extract Date
Extract Number
Extract List
Extract Year
Format Date
Format HTML
Format Number
Get Attribute
Get Global Variable
Get Property
Get Time Between Dates
If Then
Make URL Absolute
Modify Date
Remove Non-Printable Characters
Remove Spaces
Remove Special Characters
Remove Tags
Replace Pattern
Replace Text
URL Decode
URL Encode
Deployment Wizards
Code Generation Wizards
Java Code Generation Wizard
Overall Settings
Code Generation
Protocol
Robot Library
Message Logging
WebLogic 8.1 Java Web Service Wizard
Project Settings
Protocol
Robot Library
WebLogic 9.2 Java Web Service Wizard
Service Definition
Output Folders
Protocol
Robot Library
C# Code Generation Wizard
C# Project Settings
Select Robots
RQL Protocol
Robot Library
Message Logging
Assembly Information
.NET Web Service Wizard
Web Service Project Settings
Select Robots
RQL Protocol
Robot Library
Message Logging
Assembly Information
Ready to Generate
Clipping Wizards
Java Servlet Clip Wizard
Choose Servlet Container
Configure Servlet
Java Portlet Clip Wizard
Choose Portlet Container
Choose Java Portlet
Configure Portlet
BEA WebLogic Portal 8.1 Clip Wizards
Choose Portal Project
Choose Name
Choose Page Flow
Choose Java Portlet
Configure Portlet
Configure Page Flow Portlet
Configure Java Portlet
IBM WebSphere Portal 5.0 JetSpeed Portlet Clip Wizard
Configure Portlet Application
Configure Portlet
IBM WebSphere Portal 5.1 JetSpeed Portlet Clip Wizard
Configure Portlet Application
Configure Portlet
IBM WebSphere Portal 6.0 JetSpeed Portlet Clip Wizard
Configure Portlet Application
Configure Portlet
Common Pages
Deployment
Single Sign On
1st-Generation Clipping Wizards
JSP Clipping Wizard
Choose Web Application
Choose JSP File
Configure Portlet
Java Portlet Clipping Wizard
Choose Portal
Choose Java Portlet
Configure Portlet
WebLogic 8.1 Portal Clipping Wizard
Choose Portal
Choose Portlet
Configure Portlet
Configure Page Flow Portlet
Configure Java Portlet
WebSphere 5.0 Portlet Clipping Wizard
Choose Portlet Application
Configure Portlet
Common Pages
Deployment
Cookies
Headers
Additional Input Objects
Simple Patterns
Protocols
Robot Libraries
Other Topics
Robot Configuration
Clipping Robot Configuration
Web 2.0 Edition RSS/Atom Robot Configuration
Web 2.0 Edition REST Robot Configuration
Object Configuration
Step Configuration
Windows
Current Tags
Tag Finders
Patterns
Expressions
Global Variables
POST Requests as URLs
The Library Protocol
Value Selector
Keyboard Help
Browser Tracer
ModelMaker
User Interface
Object Configuration
Attribute Configuration
Attribute Types
Properties Attribute Type
Creating and Deleting Tables
Other Topics
Valid Names
Modifying Models
RoboManager
User Interface
Robot Search
Robot Run Search
Message Search
Running Robots
RoboRunner
RoboServer
Control Center
RoboClient
Scheduler
Other Topics
Cron Schedule
Environments
Common Robot Environment
Robot Info Environments
Database Robot Info Environment
Simple Robot Info Environment
Storage Environments
Database Storage Environment
File Storage Environment
Multiple Files Storage Environment
RSS Storage Environment
Message Environments
Aggregate Message Environment
Database Message Environment
Email Message Environment
File Message Environment
Input Object Environment
openkapow
RSS Robot Configuration
REST Robot Configuration
Clip Robot Configuration
REST Output Formats
openkapow Publish Dialog
openkapow Username and Password Dialog
Kapow OnDemand Username and Password Dialog
Kapow OnDemand Configuration Dialog
Kapow OnDemand Publish Dialog