what does marshalling means ?

G

gk

what does marshalling means ?

here is a question "....:Is is possible for an EJB client to marshal
an object of class java.lang.Class to an EJB? - Technically..."


what does marshalling means in the above question ?
 
J

jmcgill

gk said:
what does marshalling means ?

here is a question "....:Is is possible for an EJB client to marshal
an object of class java.lang.Class to an EJB? - Technically..."


what does marshalling means in the above question ?


It's a form of serialization. It's "(un)marshalling" because there's
potentially a validation step, and also, possibly an arbitrary mapping
between the object and the representation you're marshalling to.

This term is almost exclusively used in the context of serializing and
object to XML.

The term seems to have been pressed into the vocabulary as part of the
earliest talk about java-to-XML data binding. Maybe somebody with a
longer beard can say whether it was in common usage before then.
 
K

Kent Paul Dolan

gk said:
what does marshalling means ?

a google search for

data.marshalling

came up with this nice definition as its
first ranked hit:

http://www.webopedia.com/TERM/D/data_marshalling.html

which covers the subject nicely in a
few lines, not only telling you _what_
data marshalling is, but also _why_ it
is necessary.

HTH

xanthian.

Notice the search trick that if you want adjacent words,
you put a dot between them.
 
E

EJP

jmcgill said:
The term seems to have been pressed into the vocabulary as part of the
earliest talk about java-to-XML data binding. Maybe somebody with a
longer beard can say whether it was in common usage before then.

OK, I'll bite ... It's been used in the context of Java RMI since
1996-7, DCOM since whenever that got going (1992?), in the context of
CORBA since whenever *that* got going (1987-8?), in the context of other
IDLs and RPCs (e.g. Sun RPC and XDR) since somewhere around 1983

.... and IIRC in the context of compiler construction since about
Algol-60 when the basic theoretical foundations for almost everything
were laid ;-) In effect it's really part of any call-by-value system: a
data copy/formatting step into a format understood by the target.
 
M

Marcin Wielgus

OK, I'll bite ... It's been used in the context of Java RMI since
1996-7, DCOM since whenever that got going (1992?), in the context of
CORBA since whenever *that* got going (1987-8?), in the context of other
IDLs and RPCs (e.g. Sun RPC and XDR) since somewhere around 1983

... and IIRC in the context of compiler construction since about
Algol-60 when the basic theoretical foundations for almost everything
were laid ;-) In effect it's really part of any call-by-value system: a
data copy/formatting step into a format understood by the target.
LOL:D last sentence would be enough!
 
A

alexandre_paterson

Kent said:
a google search for

data.marshalling

came up with this nice definition as its
first ranked hit:

http://www.webopedia.com/TERM/D/data_marshalling.html

which covers the subject nicely in a
few lines, not only telling you _what_
data marshalling is, but also _why_ it
is necessary.

"_why_ it is necessary"

but then how where people doing that when that buzzword didn't
exist?

You know, like if computing existed before that Microsoftism from
the DCOM era appeared (*).

;)

Seriously though, that page gives one reasonable definition of
marshalling but it doesn't say that the term *is* misused.

Does it imply validation as another poster said?

Does it imply going over the wire? I'd think "yes", as does the
definition you gave. But there are many people (blogs, articles,
Usenet postings) who definitely use the term for data that does
never leave the computer it was "marshalled" on.

Is it related to XML or not?

Is it related to XML in the Java world or not?

who coined the term? is it trademarked? if the answer is "nobody
knows" and "no" to these two questions, then it's not going to help
to have a precise definition (as opposed to, say, "Design by Contract"
which has been coined and trademarked by Meyer, this helps
to narrow the definition [I like this example]).

Note that even when terms have very precise meaning (eg "inner" or
"nested" in Java, as defined by the JLS) they're being misused. So
when you start with a vague term like "marshalling" that apparently
had various meanings through the computing ages, you're unlikely
to find many people correctly using the term (which helps spread
misconceptions).

Based on these facts, I tend to avoid the term as much as possible
in documentation/talks/whatever. There's usually always a less
ambiguous way to explain what's going on (I'd rather write a
few more words than have people not understanding or
misunderstanding what I'm writing).

As an example, the OP asked:

OP: "....:Is is possible for an EJB client to marshal an object
OP: of class java.lang.Class to an EJB?"
OP: what does "marshalling" means in the above question?

What has gone wrong for such a question to appear?

:)

To me there's more to it than simply saying "here's a definition,
computing wouldn't exist without it"... (slightly exagerating ;)

HTH,


(*) I was already programming since many years when I first encoutered
the term (actually I probably already had forgotten COBOL when I
first read the term "(un)marshal(l)ing" (**) and I attributed it
back in the days to a DCOM-specific term, but I was wrong as
another poster pointed out).

(**) I wrote "(un)marshal(l)ing" for the spelling with a single
"l" is quite often seen ("english english" vs "amercian spelling" ?)
 
K

Kent Paul Dolan

"_why_ it is necessary"
but then how were people doing that when that
buzzword didn't exist?

Not having a word for "rock" doesn't prevent monkeys
from pounding one rock upon another. Actions aren't
limited by vocabulary.
You know, like if computing existed before that
Microsoftism from the DCOM era appeared (*).
Seriously though, that page gives one reasonable
definition of marshalling but it doesn't say that
the term *is* misused.

There's no reason, in a definition, to list all the
misuses.
Does it imply validation as another poster said?

Not necessarily.
Does it imply going over the wire?

No. It is sufficient for marshaling to be necessary,
that the data travel from a program/routine compiled
in one language, to one compiled in another, since
the binary formats for the same block of data are
only rarely identical between languages. This is a
well known problem with C structures. Marshaling is
useful over-the-wire because computer hardwares
don't agree on which end of a "longer than a byte"
data entity comes first, much less on internal
formats.
I'd think "yes", as does the definition you gave.
But there are many people (blogs, articles, Usenet
postings) who definitely use the term for data
that does never leave the computer it was
"marshalled" on.
Is it related to XML or not?

XML is used for data marshaling, in particular it is
often used that way in Java, but data marshaling
need not involve XML, there are other ways to
accomplish the same thing. The big, big advantages
of XML are 1) it is standardized, 2) it is
self-describing, and 3) it has several standardized
validation mechanisms.
Is it related to XML in the Java world or not?

As above. I'd certainly _recommend_ XML if a data
marshaling task is at hand, but I can't pretend
there aren't other ways to do it, Java or not.
who coined the term?

It is a natural outgrowth of other uses of
marshaling, so only the usage, not the term, was a
computer person's "invention", and the usage is so
natural the "inventor" probably didn't notice the
act.
is it trademarked?

Probably, but probably not in that usage. Most of
English has ended up trademarked, somehow.
if the answer is "nobody knows" and "no" to these
two questions, then it's not going to help to have
a precise definition (as opposed to, say, "Design
by Contract" which has been coined and trademarked
by Meyer, this helps to narrow the definition [I
like this example]).

There's not much use for _a_ precise definition
anyway, since the term has meanings outside
computing, and can be infinitely re-mapped from
those outside meanings to new places that computing
needs such a term.
Note that even when terms have very precise
meaning (eg "inner" or "nested" in Java, as
defined by the JLS) they're being misused. So
when you start with a vague term like
"marshalling" that apparently had various meanings
through the computing ages, you're unlikely to
find many people correctly using the term (which
helps spread misconceptions).

Umm, if it cannot be narrowly defined, and it
cannot, then you're hard pressed to call _any_ usage
"incorrect", such usages are merely "extensions".
Based on these facts, I tend to avoid the term as
much as possible in documentation/talks/whatever.

I wouldn't do that. The main meaning, of arranging
data into a new, possibly standard, format robust
enough to survive a transition across any interface
where the original format is incompatible between
the sides of the interface, is clear enough.
There's usually always a less ambiguous way to
explain what's going on (I'd rather write a few
more words than have people not understanding or
misunderstanding what I'm writing).
As an example, the OP asked:
OP: "....:Is is possible for an EJB client to marshal an object
OP: of class java.lang.Class to an EJB?"
OP: what does "marshalling" means in the above question?
What has gone wrong for such a question to appear?

There is nothing wrong for such a question to
appear, the OP is simply asking for clarification of
an unfamiliar term.
To me there's more to it than simply saying
"here's a definition, computing wouldn't exist
without it"... (slightly exagerating ;)

"Here's a term, here are its historical roots, here
are the ways it is commonly used in computing
today" seems to suffice, though.
(*) I was already programming since many years
when I first encoutered the term (actually I
probably already had forgotten COBOL when I first
read the term "(un)marshal(l)ing" (**) and I
attributed it back in the days to a DCOM-specific
term, but I was wrong as another poster pointed
out).

I'd be floored if MicroSoft, the essense of adopting
the work of others, _invented_ the term. It does,
after all, extend back to the marshal of a parade,
who in the act of marshaling lines up the
participants in a specific arrangement, so it
predates computing, much less MicroSoft.

The 1913 online Merriam Webster's unabbridged
dictionary has this as its first definition of the
verb "to marshal".

"To dispose in order; to arrange in a suitable
manner; as, to marshal troops or an army."

http://machaut.uchicago.edu/cgi-bin/WEBSTER.sh?WORD=marshal
(**) I wrote "(un)marshal(l)ing" for the spelling
with a single "l" is quite often seen ("english
english" vs "amercian spelling" ?)

I'm not sure who owns which, though "traveller" is
the British spelling and "traveler" the American
spelling, so maybe the doubled consonant is the
British choice. The 1913 Websters has both
spellings "marshaling" and "marshalling".

HTH

xanthian.
 
D

Dag Sunde

Kent Paul Dolan said:
The 1913 online Merriam Webster's unabbridged
dictionary has this as its first definition of the
verb "to marshal".

"To dispose in order; to arrange in a suitable
manner; as, to marshal troops or an army."

http://machaut.uchicago.edu/cgi-bin/WEBSTER.sh?WORD=marshal

Which means that The 1913 online Merriam Webster's can be used
today within the context of programming/software development:

"To arrange (data) in a suitable manner (so the recipent can
understand them)."

:-D
 
K

Kent Paul Dolan

Dag said:
"Kent Paul Dolan" <[email protected]> skrev i melding
Which means that The 1913 online Merriam Webster's can be used
today within the context of programming/software development:
"To arrange (data) in a suitable manner (so the recipent can
understand them)."

Precisely so, which does rather remove the necessity to look for
some one original user of "marsheling" in a "computer data
re-arranging" sense.

HTH

xanthian.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,535
Members
45,008
Latest member
obedient dusk

Latest Threads

Top