[Mono-list] server-sided concepts in Mono / ASP.NET vs. Java EE

Kristian Rink lists at zimmer428.net
Fri Jun 19 03:51:46 EDT 2009

Hi again;

and, once more, thanks everyone for your hints on that, much appreciated. :)

Tom Opgenorth schrieb:

> Not sure what you mean here?  Do you mean you delete all the files
> from your server?  Or you copy new files over?

In the Java EE environment, at the very least while dealing with EJB entity
or session beans, the undeployment / deployment mechanism ensures that,
whenever I have a "modified" version of my classes ready to be deployed to
the server, any (by then obsolete) existing instances of "previous" versions
of these classes are reliably destroyed / discarded / shut down before the
new code is loaded on the server, to prevent "old" class instances from
being around after replacing code. While dealing with EJB this is essential,
but I am not sure about .NET/Mono.

To provide an example: What happens if you try to replace, say, a SOAP web
service implementation while an instance of this service is still running,
say, processing a longer running SOAP request? What will happen, then? Will
the new code "just" be started after this active instance has ended its
processing and can safely be replaced? Will the code immediately be
replaced, eventually ending up in running processing activities being
terminated prematurely? Will the new code be loaded "right on", knowing that
by then "new" calls to the web service in question will end up being handled
by "new" code while running requests will be dealt by "old" code? Do I have
to start the server to load the new code, making all these considerations
pointless after all?

> Hard to say.  You can use MoMA (Mono Migration Assistant) over a .NET
> assembly to determine is compatibility with Mono.  Odds are good (and
> get better with each release) that you can just drop in your .NET
> assembly under Mono (assuming Windows specific tricks aren't used).

Okay, thanks for the pointer to MoMA (hmmm, doesn't that acronym sound
familiar somehow... oh well. :) ). I will have a look and try and see how
far I get. :>

> NHibernate is a port of Hibernate to .NET.  It's trustworthy and
> capable in production-ready projects.  The only problems I've had with
> it have been due to my own ignorance.

Ooh. Okay. :) Well for what I have seen so far, in some situations hibernate
can be painful, and in Java at the moment I try to avoid it in favour of
other options, but if NHibernate is there and works the same way, it's the
tool of choice I guess... Do you know whether there's any tooling support
(monodevelop?) for dealing with tools like hibernate?

> If you're asking for a map of "Java tool X is .NET tool nX", that
> might be a bit tricky.

I thought so. :) One of the problems I've seen so far is that, while dealing
with .NET/Mono, it's not just trying to figure out how XY does work there,
but first off it's all about figuring out what concept is used in .NET to do
something resembling what XY is/does in Java. Maybe collecting such
information would be an interesting community project... :]

>  In general, yes there are frameworks for the
> stuff you mentioned (ASMX for web services, something like nServiceBus
> or Mass Transit for asynchronous messaging).

Aaah, thanks a bunch, this is pretty much what I am looking for; seems it
even integrates with / links to ActiveMQ more or less easily. Thanks a bunch
for your help. :)

Cheers & all the best,

Kristian Rink
cell    :  +49 176 2447 2771
personal: http://pictorial.zimmer428.net
"Past midnight. Never knew such silence.
The earth might be uninhabited..."
//beckett / krapp's last tape//

More information about the Mono-list mailing list