SCXML Application Development
You can create SCXML-based applications by using the following methods:
- Any simple text editor such as Notepad or an XML-based editor, with which you are already comfortable. Use the Orchestration Server Developer’s Guide for the details.
- Using Genesys Composer, which is an Integrated Development Environment based on Eclipse. Composer provides both drag-and-drop graphical development of voice applications (or "callflows") and routing strategies (or "workflows") as well as syntax-directed editing of these applications.
Deploying Voice SCXML Applications
- Within Composer, click toolbar icon to create a new Java Composer Project.
- Specify the Route type. Specifying Route indicates the development ORS/URS routing strategies.
- Build the interaction process diagram, which was created automatically in step 1 above (default name: default.ixnprocess).
- In the interaction process diagram (default.ixnprocess), locate the Resource property, and point to the workflow (Workflows/default.workflow), which can be developed later.
- Within Composer, connect to Configuration Server so you can view/select objects, such as agents, places, and so on.
- Develop your workflow diagram (routing strategy) using the diagram-building blocks from the palette, such as from the Flow Control and Routing block categories.
- Save the workflow and interaction process diagrams.
- Validate the workflow and interaction process diagrams.
- View any warnings or problem messages and correct.
- Generate the code. As a result, two SCXML files are generated and can be viewed in an SCXML editor.
- Publish the interaction process diagram to Configuration Server. An Enhanced Routing Script object will be created. The figure below shows an example. The figure below shows an Enhanced Routing Script object with option url set to the location of the SCXML application.
- Load the published application to a Routing Point. The figure below shows the Routing Point with the application option set to the name of the Enhanced Routing Script object.
- Log into Genesys Administrator.
- Navigate to Provisioning>Routing/eServices >Orchestration
- Locate the Enhanced Routing Script object.
- Click on DNs tab.
- Add your DN (as in the above Routing Point example).
- Load this application to this Routing Point.
- Test that the application is successfully provisioned and deployed. Make a test call.
Manually Deploying a Voice SCXML Application
- Create SCXML in the editor of your choice.
- Manually deploy your SCXML application on an application server.
- Load deployed application to a routing point.
Debugging SCXML Applications with Composer
The SCXML Real Time Debugging feature of Composer provides the possibility for developers to debug their SCXML scripts in a manner similar to what is provided by Visual Studio and Eclipse. You can examine variables and properties, as well as pause and resume the flow of execution of a script, by setting breakpoints in the code, viewing standard SCXML Engine metrics (log entries). The ORS feature works using a client-server configuration where the client is the Genesys Composer integrated development environment. The entire RTD system is designed in such a way that it stops at every possible statement, and it is the responsibility of the client to determine whether to resume execution of the script right away or to pause and give control to the developer; in other words, determine whether or not the developer has set a breakpoint to this particular statement.
Debugging can be started on an existing session or it can wait for the next session that runs the application at a given URL.
To enable Orchestration Routing's debugging functionality, configure the debugging options in the SCXML section of the ORS application. See the following options:
The debugging SCXML applications functionality is supported in Composer starting from v8.1.2. For more information, see the Composer Deployment Guide.
The <createcall> and <consult> interaction action elements have a limitation for the attribute "to" (where a destination is specified). Only digits can be specified in the "to" attribute.
The limitation can be removed by configuration of valid-digits and max-digits options on the Switch object > Annex tab> gts section:
Value: An explicit set of all acceptable symbols that can be dialed.
Value: The maximum number of digits that can be dialed.
Orchestration Server supports only SCXML documents. The Orchestration Developer's Guide contains samples of SCXML routing applications. The samples are not designed for use in a Production environment. Instead, use them to get started configuring your own applications, subroutines, and list objects. Consider them as guides when developing your own objects adjusted to your company’s specific business needs.