Progress
Application Development
Environment — Getting Started


SmartB2B and SonicMQ Module

This module demonstrates the use of several new SmartObjects to link different businesses through a Publish and Subscribe model. You might also do this using a Point-to-Point model. A store can transmit its orders to its supplier as XML documents in a previously agreed upon format. The supplier can receive the XML document and translate the data into a form compatible with its own applications.

Choose the SmartB2B and SonicMQ button on the SportsPro main window. A window opens explaining the environment that you need to set up to run this module. Follow the instructions to launch the module:

Each of the applications that make up this module contains a SmartBusinessObject (SBO) that organizes the data streams of several SmartDataObjects. A SmartB2BObject takes the data from the SBO and runs it through a mapping file generated by the Progress XML Mapping Tool. The XML message is then sent out by a SmartProducer and transmitted using SonicMQ. The file is received at the other end by a SmartConsumer and passed to its SmartB2BObject to be decoded with another XML mapping file.

Table 2–10 describes the major objects used in the SmartB2B and SonicMQ module.

Table 2–10: Components Of the SmartB2B and SonicMQ Module
Object Or File Name
Object Type
Function
gb2bintro.w
SmartDialog
Introduces the requirements for running this module. If you choose OK, wstore.w runs.
wstore.w
SmartWindow
Serves as a container for the other objects in the retailer’s application.
sbopo
SmartBusinessObject
Organizes the data streams of dcust, ditem, dpo, and dpoline into a single logical data stream.
dcust
SmartDataObject
Queries the Customer table to retrieve all customer records, and supplies them to sbopo.
ditem
SmartDataObject
Queries the Item table to retrieve all item records, and supplies them to sbopo.
dpo
SmartDataObject
Queries the PurchaseOrder table to retrieve all purchase order records, and supplies them to sbopo.
dpoline
SmartDataObject
Queries the POLine table to retrieve all purchase order line records, and supplies them to sbopo.
vpo
SmartDataViewer
Displays fields from sbopo.
dynbrowser
SmartDataBrowser
Displays details of the line items in the record selected from sbopo.
pnavico
SmartPanel
(navigation)
Controls navigation within the result set from sbopo.
BUTTON–1
Button
Runs sendMessage( ) in sbbpo
sbbpo
SmartB2BObject
Using the predetermined schema, creates an XML message containing the data from the current record and passes it to dynproducer.
dynproducer
SmartProducer
Sends the XML message to the SonicMQ broker for delivery to the remote procedure.
wsupplier.w
SmartWindow
Serves as a container for the other objects in the supplier’s application.

NOTE: Since this module demonstrates how separate applications can exchange data, you have to start this application in a separate Progress session.

dynconsumer
SmartConsumer
Receives the XML message from the SonicMQ broker and passes it to sbborder.
sbborder
SmartB2BObject
Reads the data from the XML message and uses the predetermined schema to transform the XML message into a record in sboord.
sboord
SmartBusinessObject
Organizes the data streams of dord and dordline into a single logical data stream.
dord
SmartDataObject
Queries the Order table to retrieve all order records, and supplies them to sboord.
dordline
SmartDataObject
Queries the OrderLine table to retrieve all order line records, and supplies them to sboord.
vord
SmartDataViewer
Displays fields from sboord.
dynbrowser
SmartDataBrowser
Displays details of the line items in the record selected from sboord.
pnavico-2
SmartPanel
(navigation)
Controls navigation within the result set from sboord.

For more information on using SmartB2B objects and integrating Progress with SonicMQ, see the chapters on SmartObjects and accessing SonicMQ messaging from the Progress 4GL in Progress Version 9 Product Update Bulletin .

The SportsPro sample application modules that you examined are useful starting points. In them, you can see how to make better use of Progress’ capabilities in your applications. To see how to integrate separate modules into a functioning application, you can now look at the last part of the sample application, the Order Tracking System. The Order Tracking System integrates most of the modules you have just examined and several others into a finished application.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095