Show TOC Start of Content Area

Background documentation Voice Componentization  Locate the document in its SAP Library structure

The SAP NetWeaver Development Infrastructure (NWDI) organizes comprehensible units of software, such as software components (SCs) and development components (DCs), into component models. NetWeaver Voice is part of the NWDI scheme.

NetWeaver Voice supports full componentization of voice applications. Reusable voice components can be created, searched, and consumed, making it possible to assemble a voice application from existing components efficiently.

In NetWeaver Voice we refer to components and entities:

      Components are the fundamental blocks in NWDI applications. They have specific interfaces for fulfilling context-specific needs and are reusable.

      Entities are concrete or abstract data model units. We use this term for software elements and components as well as for signals and events.

Voice-application models consume voice-specific applications, components, elements, and events, as well as non-voice entities.

Voice Applications and Components

Models in NetWeaver Voice can include:

·          Voice Applications

This is a top-level component that has a full set of deployment and configuration settings, and the application can be published. A voice application can contain any kind of voice element and can consume other components, including Voice Components and Data Service Components.

·          Voice Components

This component can contain all the same elements and sub-components as does a Voice Application, but it has minimal configuration settings and cannot be published independently.

Due to the fact that the components cannot be published independently, SAP assumes that a Voice Component is a child element at one or more levels below a Voice Application. Voice Components have a local scope for variables, and in general, data is passed between child and parent only in formal parameters. These components inherit resources from their parent application or parent components by default. The resources include:

¡         Event Handlers

¡         Jumpwords

¡         Resource Targets

¡         VoiceXML properties

¡         Pre-defined set of application context variables, which are available globally

Note

You can override these resources locally within the child component.

·         Service Components

These components are non-voice components that can access back ends. You can reference a Service Component from your voice model and edit it in place using the complete set of data manipulation operators.

A Black Service Component specifies how to call an external data service, which you cannot modify in Visual Composer. The external data service can be either a BAPI or Web service. You use the service component to map the data in and out of its input and output ports.

Note

The Service Component functions are not voice-specific; they are Visual Composer mechanisms.

Context Entities

Voice Kit models include mechanisms for specifying behaviors of the run-time environment, including Events, Properties, Jumpwords, and Resource Targets. Unlike other entities that are called explicitly, a Context Entity is activated by defined conditions in the context of the execution environment.

Context Entities  are scoped and allow automatic inheritance from the parent for attributes that are not defined locally in a child.

The basic scopes include:

      Application

The application scope comprises global defaults that apply to all elements unless you override them at a lower level.

·        Component

This is a reusable entity comprising settings that apply to the current component and any nested components, unless you override them at a lower level. There can be unlimited levels of components, each with its own scope and each inherits all settings from the application and parent components.

Note

Components cannot have circular references, that is, a component cannot contain a reference to itself.

·        Element

The Element settings that apply to a single Listen Element. They are a subset of the total set of allowable properties, event types and targets.

Context Entities follow:

·        Event Handlers

These are sections of dialog that execute in response to a runtime event on the VoiceXML platform or Voice Dialog Server. For example, a common event handler, nomatch, plays Sorry I didn't get that, when the caller says something that was not recognized by the speech recognizer.

These handlers can be configured to catch any of the standard events, which are triggered by the platform itself or user-defined events which must be triggered explicitly. These are defined in the Events tab of applications, components and some elements, or with the Signal-In element in the model.

·        Jumpwords

These are words or DTMF (touch-tone) key sequences that the program listens for whenever the caller is speaking. They trigger an event and generally transition the caller to a different part of the dialog.

This entity defines a word or phrase that is active during each listen in the scope to which it applies and that triggers a jump event if the word is recognized. Jumpwords are also known as hot words or link grammar.

Note

You must define an event handler for the jump event either in the current scope or in a parent score.

·        Properties

These are standard properties that effect various behaviors of the VoiceXML platform.

This entity allows the setting of a list of standard properties which control the behavior of VoiceXML and dialog runtime. Non-standard properties can also be set, which will be passed on as-is to the VoiceXML gateway and can be used to control gateway-specific properties.

·        Resource Targets

These are locations from which external resources, such as prompts or grammars, are loaded. One resource target is equivalent to one directory of prompts available on a Web server.

This entity defines targets, which are locations where external resources can be found. They are defined by default and you can modify these and add additional ones.

Voice Element Overview

The Voice Kit Elements are the entities you use in your voice-enabled application model to perform specific functions. Voice-Kit Events , Signal-in and Signal-out, are used to transfer control within the voice-application model.

You place data elements needed in the model in a global Data Store, from which they can be accessed by any element.

The following table contains a brief description of the voice elements and what they do.

Entity

Purpose

Start and End

Beginning and end point of the application or component

There is always one and only one start point in a model. There can be none, one, or more end points, depending on the flow of the model.

Voice Component

Groups elements into a container, a reusable unit

Create the Voice Component first, then include elements.

Service Component

Defines a Data Service Component

The Data Service Component is a standard Visual Composer component used to call back-end services and manipulate their data, for example by filtering or sorting it.  It can only be added to a model through the Search mechanism (for pre-existing components) or from the Compose task-panel toolbar (for new components).

Simple Service

A single back-end service that is added directly into a voice model

This service can call a single RFC or Enterprise Service, but does not allow manipulation of the returned data. A Simple Service can only be added to a model through the Search mechanism.

Speak

Speaks to the caller, for example a prompt

Listen

Listens to the caller, for example a menu choice

The Listen element includes a definition of the prompts to speak in addition to the data to listen for and the variables to store the results in.

Route

Allows the flow of the dialog to branch, based on the value of an expression

Transfer

Transfers the caller out of the application, for example to another telephone number or to a URL of a different NetWeaver Voice or other VoiceXML application

This is a useful element for transferring to a given voice application URL in an application suite with a single telephone number as well as for call-center applications to connect to specific call agents or roles.

Process

Performs various operations on the data of an application, such as setting variable values or changing the current row of a table

Signal In

Acts as a target to catch a particular event and transfer flow in the dialog to the element connected to its out port

Signal Out

Causes an event to be triggered, which can then be caught somewhere else in the application, either by a Signal In or in a defined event handler in any parent scope

Record

Allows the caller to record an audio file, that is stored and can be played back and made available to another application via URL

VoiceXML

Allows hand-written VoiceXML code to be injected into the application

This provides a way to bypass any limitations of the functionality of NetWeaver Voice or to make use of non-standard capabilities of a voice gateway.

Log

Triggers the insertion of a log message into one of several possible log destinations.

More information: Reference  

 

End of Content Area