Two computer systems communicate with each other using active datastreams
that each identify executable code for sending and receiving the
corresponding active datastream, and for performing any processing
required by the active datastream. Each active datastream also includes a
unique datastream identifier. When a first computer system (source) has a
request to send to a second computer system (target), the source computer
system creates an active datastream object that represents the request.
Once the active datastream object is created, a method on the active
datastream object is invoked to send the active datastream object to the
target. A datastream factory on the target reads the datastream identifier
of the transmitted active datastream object, determines from the
datastream identifier the class of active datastream object being
received, and creates a new instance of the class corresponding to the
datastream identifier. A datastream receive mechanism on the target is a
method on the new instance, which is invoked to cause the instance to
populate itself from the active datastream object received from the
source. Logic for replying to the request may also be provided as one or
more methods defined on the active datastream class.
Due sistemi di elaborazione comunicano con a vicenda che usando i datastreams attivi che ciascuno identifica il codice eseguibile per la trasmissione e la ricezione del datastream attivo corrispondente e per realizzare affatto l'elaborazione richiesta dal datastream attivo. Ogni datastream attivo inoltre include un contrassegno unico del datastream. Quando un primo sistema di elaborazione (fonte) ha una richiesta di trasmettere ad un secondo sistema di elaborazione (obiettivo), il sistema di elaborazione di fonte genera un oggetto attivo del datastream che rappresenta la richiesta. Una volta che l'oggetto attivo del datastream è generato, un metodo sull'oggetto attivo del datastream è invocato per trasmettere l'oggetto attivo del datastream all'obiettivo. Una fabbrica del datastream sull'obiettivo legge il contrassegno del datastream dell'oggetto attivo trasmesso del datastream, determina a partire dal contrassegno del datastream il codice categoria dell'oggetto attivo del datastream che è ricevuto e genera un nuovo caso del codice categoria che corrisponde al contrassegno del datastream. Un datastream riceve il meccanismo sull'obiettivo è un metodo sul nuovo caso, che è invocato per indurre il caso a popolarsi dall'oggetto attivo del datastream ricevuto dalla fonte. La logica per la risposta alla richiesta può anche essere fornita come uno o più metodi definiti sul codice categoria attivo del datastream.