Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / May 2006

Tip: Looking for answers? Try searching our database.

what does  marshalling  means ?

Thread view: 
gk - 23 May 2006 02:45 GMT
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 ?
jmcgill - 23 May 2006 03:24 GMT
> 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.
EJP - 23 May 2006 05:34 GMT
> 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.
Marcin Wielgus - 23 May 2006 07:32 GMT
>> 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  
[quoted text clipped - 9 lines]
> 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!
Kent Paul Dolan - 23 May 2006 03:43 GMT
> 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.
alexandre_paterson@yahoo.fr - 23 May 2006 20:26 GMT
> > what does  marshalling  means ?
>
[quoted text clipped - 11 lines]
> 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" ?)
Kent Paul Dolan - 24 May 2006 10:54 GMT
>>> 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.

> "_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
[quoted text clipped - 4 lines]
> 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
[quoted text clipped - 3 lines]
> 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.
Dag Sunde - 24 May 2006 12:03 GMT
"Kent Paul Dolan" <xanthian@well.com> skrev i melding
<snipped />
> The 1913 online Merriam Webster's unabbridged
> dictionary has this as its first definition of the
[quoted text clipped - 4 lines]
>
> 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

Signature

Dag.

Kent Paul Dolan - 24 May 2006 12:11 GMT
> "Kent Paul Dolan" <xanthian@well.com> skrev i melding

>> 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)."

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.


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.