A distributed (e.g., client/server) computing environment is described
which implements protocol methodology simplifying the use of objects in
distributed applications. In particular, the methodology facilitates
streaming to clients executable objects (e.g., Java objects) stored and
managed remotely (e.g., objects stored and managed in relational
databases), so that the objects may be executed or otherwise manipulated
locally at the clients. The methodology is implemented by extending an
existing streaming protocol to support a "chunked" datatype; within a data
stream, the system can have individual data items which are themselves
streams of indeterminate length. This streaming data type is an
undifferentiated data type or simply a "BLOB" (i.e., binary large object).
Using the BLOB extension, the system provides a set of BLOB subtypes which
take advantage of existing object streaming mechanism (e.g., Java
streaming) but convey additional information in the form of
self-describing metadata. The metadata contains all necessary information
on the BLOB data for clients and servers to narrow the BLOB data itself to
the appropriate subtype and extract the semantically correct values from
it. In this manner, the system may employ the streaming protocol to
receive requests and input objects and, in response thereof, generate and
send output objects and output result sets with rows and columns that may
include objects in them, or send back output stored procedure parameters
that may be objects.
Een verdeeld (b.v., cliënt/server) gegevensverwerkingsmilieu wordt beschreven dat protocolmethodologie uitvoert die het gebruik van voorwerpen in verdeelde toepassingen vereenvoudigt. In het bijzonder vergemakkelijkt de methodologie het stromen aan ver opgeslagen en beheerde cliënten uitvoerbare voorwerpen (b.v., de voorwerpen van Java) (b.v., voorwerpen die in relationele gegevensbanken worden opgeslagen en worden beheerd), zodat de voorwerpen kunnen anders plaatselijk bij de cliënten worden uitgevoerd of worden gemanipuleerd. De methodologie wordt uitgevoerd door een bestaand stromend protocol uit te breiden om "te steunen chunked" datatype; binnen een gegevensstroom, kan het systeem individuele gegevensonderdelen hebben die zelf stromen van onbepaalde lengte zijn. Dit stromende gegevenstype is een niet gedifferentieerd gegevenstype of eenvoudig "BLOB" (d.w.z., binair groot voorwerp). Gebruikend de BLOB uitbreiding, verstrekt het systeem een reeks BLOB subtypes die uit bestaand objecten stromend mechanisme (b.v. voordeel halen, Java dat stroomt) maar extra informatie in de vorm van zelf-beschrijft meta-gegevens vervoeren. De meta-gegevens bevat al noodzakelijke informatie over de BLOB gegevens voor cliënten en servers om de BLOB gegevens te versmallen zelf aan het aangewezen subtype en de semantisch correcte waarden te halen uit het. Op deze wijze, kan het systeem het stromende protocol aanwenden om verzoeken en inputvoorwerpen en, in reactie te ontvangen daarvan, outputvoorwerpen en de reeksen van het outputresultaat met rijen en kolommen te produceren en te verzenden die voorwerpen kunnen omvatten in hen, of output opgeslagen procedureparameters terug te sturen die voorwerpen kunnen zijn.