Java Reference
In-Depth Information
Decision point
How does the control module support multiple synchronization modes?
Concrete control modules extend class DProcess by implementing specific
interface methods that clients can invoke to request an activity's execution.
If the communication between the client and the control module is syn-
chronous, the client invokes a method that returns only when the activity is
terminated. This situation is represented in Figure 19.3 (left-hand side). The
remote interaction between supervisory console and mixer controller
described in Prototype 3 of Chapter 13 is an example of synchronous
communication.
If the communication is deferred synchronous, when the client requests
an activity's execution it immediately receives back a reference to the
activity object and uses it for subsequent interactions with the activity
(see Figure 19.3 right-hand side).
We will deal with asynchronous communication in Prototype 2.
Decision point
How do remote control modules communicate and cooperate?
server communication
paradigm between remote control modules using the RMI mechanism.
Class DActivity and DProcess extend java.rmi.UnicastRemoteObject to give
remote access to their methods. Every subclass of DActivity implements
application-specific interfaces that client objects use to handle service exe-
cution. Figure 19.4 shows class MyService that specializes class DActivity and
implements method doMyService() of interface MyServiceInterface . Similarly,
class MyServer extends DProcess and implements method startMyService() of
The MMI framework implements the client
-
Control
module
Control
module
Client
Service
Client
Service
startService( )
startService()
start()
start()
query()
stopService()
stop()
return
return
deferred synchronous
communication
synchronous
communication
Figure 19.3 Synchronous and deferred synchronous communication
Search WWH ::




Custom Search