Progress
AppBuilder
Developer’s Guide
SmartSender and SmartReceiver Objects
The SmartB2BObject is designed to transform the representation of data between the internal 4GL format and industry-standard XML. But what if you need no such transformation? What if you only want to send, for example, some unstructured block of ordinary text?
You can use the SmartSender (or, on the inbound side, the SmartReceiver) in place of the SmartB2BObject if you do not need the SmartB2BObject’s special capabilities. The capabilities of the SmartSender and SmartReceiver are whatever you choose to make them. Figure 6–5 illustrates where the objects fit in with other SmartObjects.
Figure 6–5: The SmartSender and SmartReceiver in B2B Communication
![]()
The SmartSender and SmartReceiver objects are supplied for your use as templates with stubbed handler routines. After writing 4GL procedures to complete the handler stubs, you can connect these objects to the Smart message-interface objects in exactly the same way you would connect a SmartB2BObject. The SmartSender will then perform any transformation you have included in the handler routines, package the content, and call the SmartProducer to send it off.
Similarly, the SmartReceiver will accept an inbound message from the SmartConsumer, perform the handling process you define, and pass the result on to some other SmartObject for storage or further handling.
Because you provide the handling logic, you can make these objects as simple or complex in their behavior as you desire.
You could handle plain, unformatted text by making your handler routines mere pass-throughs, their only function being to copy the unaltered text into or out of the message body. Or, you could implement special encryption/decryption procedures, graphics reformatting, or even your own special-purpose XML logic. You can implement any handling you like.
What you do with a SmartSender/SmartReceiver is entirely up to you.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |