Global Positioning System Reference
In-Depth Information
player.init( gameSet ); // defer init call ...
... // continue identify
return feedback;
//
finish identify
}
// ... initialize client
12.5
ROF
: The
RealObject
Framework
By following the client call
identify
and server callback
player
.init(gameSet)
, the architect has gained a feeling for the client-server di-
alog. The
ServerObject
was introduced to simplify the actual application
scenario. With the execution framework, the SO is able to buffer client
calls and provide the result without blocking the application flow.
ServerObjectextendsRealObject
indicates that it also is a real object
as is the remote object. Both are actors of a real-object application. Tech-
nically, they are counter parts to each other describing the what and how
of the client implementation.
A sketch reveals the
ROF
, the
RealObject
framework that is built around
the
RealObject
server
client
------
------
RealObject < compare >
OBSERVER /\ \ CONTROLLER
ServerObject < remote API > RealObject
------------------- /\ ------------------------ /\ ---
application: ServerAppObject < remote API > AppObject
WHAT? - ServerPlayer
HOW? - ClientPlayer
While the client RO implements actual behavior, the SO is dedicated to
validating the clients' actions. From a programming side, this constellation
can be seen as a generic controller observer pattern. The client RO has full
control over its behavior, while the SO can use its local RO to reflect,
compare, reproduce, and communicate to the server logic.
12.6
ROApp clients:
LCPlayerExtends
RealObject
The server construction of a ROApp scenario begins with
LondonChase extends RealObjectsServer
and the associated ROApp clients
3
are constructed with
LondonChasePlayer extends RealObject
3
In the long run, application and client development should be decoupled to gradually
become more and more independent.
Search WWH ::
Custom Search