[Mono-list] J2EE style architecture for C#/.NET (was: Mono quotes from a Sun evangelist)

Luis Fernandez luifer@onetel.net.uk
Fri, 28 Mar 2003 10:16:07 -0000

> > > > Has there been interest in creating a J2EE style architecture for
> > > > C#/.NET?  We can make it "better" because we can make the beans self
> > > > describing using attributes.  No need for XML descriptors :D.
> > > >
> > >
> > > This is what System.EnterpriseServices does.
> >
> > Not really.  System.EnterpriseServices is basically a band-aid on top of
> > COM+.  The only reason it exists is that MS ran out of time and chose to
> > ship .NET without a new distributed Tx architecture.  Of all the things
> > in .NET System.EnterpriseServices probably has the shortest future ahead
> > of it - I can't see Mono really meaningfully implementing it as
> > ServicedComponent and friends are conceptually tied so closely to
> > COM+/Windows.
> This is a good point for discussion. System.EnterpriseServices is just an
> API through you can use the services that COM+ offers, I Agree. But this
> and those services are very generic: distributed transactions, role-based
> security, object pooling, etc., more or less what J2EE has (ok, it doesn't
> have anything like BMP or CMP). So, if we need an API for a J2EE style app
> server, why not use System.EnterpriseServices? I see many benefints: it is
> already defined, it is known by many developers, and it will ease
> portability of server applications between Windows and Linux.
> - Lluis

Could we implement an application server that would take care of all these
issues so that it is transparent to the user? Any program developed to run
on it will be able to run on both .NET and MONO, as the application server
should be able to run independently on both platforms.

In this way we can provide a very robust framework for distributed
environments that developers can use without having to worry about remoting,
and such things. So I guess what I'm suggesting is to implement a .NET J2EE,
which could use System.EnterpriseServices when run on windows and some other
mechanism when run on linux, but which would be transparent to the programer
developing the application.

Also, I think I  have read that microsoft ships many more class libraries
toguether with their .NET Enterprise servers for enterprise level
applications so we should be providing at least some kind of alternative.

I would be very interested in contributing to such project.