![]() ![]() ![]() ![]() ![]() ![]() |
In this step, you specify how your business process is started.
As Web services, business processes expose their functionality through methods, which clients invoke to make requests. You can also create Process controls from business processes. In the case of Process controls, other resources can interact with your business process via the controls interface. You learn more about Process controls in Call a Business Process Using a Process Control of this tutorial.
In this step, you design the Start node in your business process to receive a Request for Quote message from a client—the receipt of this message is the trigger that starts the business process.You also create a variable to hold the incoming Request for Quote message.
In the Design View, the interactions between a business process and a client application are represented by Client Request and Client Response nodes. In this case, you add a Client Request node to your business process and subsequently create the code on this node to handle the receipt of a message from a client.
Complete the following tasks to design the Client Request node that starts your business process:
RequestQuote.java
. Your RequestQuote business process is displayed in the Design view.You must add a node to this Start node to define the start method for your business process.
The node builder displays with the possible start methods.
Designing your Client Request node includes creating a method and parameters that your client uses to trigger the start of your business process, and designing the logic for handling the receipt of a request from a client.
Client Requests Quote
as the name to replace Client Request for the node. Press Enter. Your business process should now resemble the following figure: Note: | Node builders provide a task-driven user interface that helps you design the communication between a business process and its clients and other resources. To access the node builder for any node, double-click the node in the Design view—a node builder specific for the node you selected is displayed in-line in your business process. |
As shown in the preceding figure, the node builder for a Client Request node displays the following tabs to guide your design of the communication between a client and the business process: General Settings and Receive Data.
The following steps describe how to specify the method exposed by your business process to clients—clients invoke this method to start and make requests on your business process.
Note: | When you make your business process available as a service, the name you assign to a method on a Client Request node is the name of the method that is exposed via the Web Services Description Language (WSDL). In general, it is recommended that you define a name that is representative of the service offered by your business process. |
The Request for Quote message from clients is an XML message. Therefore, we are concerned with XML Types at this node.
Note: | The XML Schemas you need as you build the Quote Request business process in this tutorial are provided in the Tutorial_Process_Application_UTILITY\Schemas folder. The Schemas provided include QuoteRequest.xsd , PriceQuote.xsd , AvailQuote.xsd , Quote.xsd and a system Schema: DynamicProperties.xsd .For XML Schemas to be available to the services in your application, they must be located in a project. Projects (Web, or Utility) are represented in the Package Explorer pane as folders. In this step, we use an XML Schema, specifically QuoteRequest.xsd, to specify the structure of documents that clients can send to start your business process. |
A graphical representation of the XML Schema defined by QuoteRequest.xsd
is displayed in the node builder pane.
org.example.request.QuoteRequestDocument
.
This step completes the specification of the method exposed to clients by your business process. Messages from clients are expected to be typed XML. That is, the messages received from clients must contain XML that is valid against an XML Schema (in this case, QuoteRequest.xsd
).
Note: | Example XML messages (QuoteRequest.xml and QuoteRequest_a.xml ) that can be received from a client are provided in the testxml folder in your project. You use them later in the tutorial to test your business process. |
The General Settings tab is updated to indicate that you successfully completed the specification of a method name and parameters: indicates that a task is complete;
indicates that a task is not complete.
Note: | Receive Data tabs have two modes: |
Note: | Note that it is also possible to assign typed Non-XML (MFL) data directly to XML variables in the Receive Data tabs; no transformation is necessary. A discussion of Non-XML (MFL) data is outside the scope of this tutorial. To learn about MFL files and the assignment of the data to business process variables, see Business Process Variables and Data Types. |
In this case, we use the Variable Assignment mode because we want to assign the XML message received from the client directly to a variable of the same data type. In subsequent steps, you create a variable of typed XML (QuoteRequestDocument
) to which your process assigns the incoming Request for Quote from clients.
The Create Variable dialog box is displayed.
The Variable Type field is populated with org.example.request.QuoteRequestDocument.
Note: | The requestXML variable is also listed as an XML variable in Outline. |
Both tabs in the node builder (General Settings and Receive Data) are marked complete .
In Design view, note that the completeness icon associated with the Client Requests Quote node changed from to
indicating that the design of the node is complete.
Components of Your Application
Interacting With Resources Using Controls
![]() ![]() ![]() |