Cross-Platform .NET Development Using Mono, Portable .NET and Microsoft .NET

Published Fri, Oct 15 2004 18:44 | William

Well, I came home today to a pleasant surprise . And fortunately for me, my new iMAC should be here next Wednesday so I can start freestyling, cross platform style.  Right now I'm going to see if I can remote a Dataset from my Linux box over to my Win2k3 Server - will report back shortly (or maybe longer depending on how it goes).  Next week I'll be able to try it on 3 environments which, if it works will be f****** cool.  To be honest though, if I can build a simple assembly that will throw back a Dataset hitting my Oracle DB on the Linux box to my windows machine, use it, play with it and then update from it, I'll be stoked.  I know, I can do that with web services and XML but I want to do it in all .NET stuff, with an assembly built on one consuming objects remoted from an assembly built on the other.  And then if it works, I want to serialize the the DataSet and find some OS Big Mouth (note, i'm not implying all OSS guys are big mouths, rather, I'm speaking to that particular type of Open Source Advocate ) rename the Dataset to Data$et, put 3 tables in it, Micro$oft, BillGate$ and $teveBallmer) and then shove it right up their a33.  Providing it works (which it will), this is precisely the type of thing that proves that the world is a big place with plenty of room for everyone and STUPID language/OS battles are nothing but pastimes for the untalented and dorky.

Much love to Apress on this one.

Filed under: ,

Comments

# William said on October 17, 2004 9:22 AM:

Bill: uhmmm...how would you go about consuming remote objects from within a set namespace?

I'm a bit stoked on this one as i'm trying (in vain) to find a way to consume "any" object from one namespace to another without using web services...please let me in on the secret if you get it off the ground!

# William said on October 20, 2004 12:20 AM:

I don't follow you Bri. Same namespaces... just built on different machines. I don't know Samba that well so I'm using IIS but I can get it to work so far w/ two frameworks.... I'll let you know how it goes.

# William said on October 20, 2004 8:13 AM:

urgghh...maybe i'm attempting something "impossible"...i have 2-3 applications (all C#.Net of course) which are located on two different servers. Each app has to be able to "interact" with eachother on more than one occasion and each run within their own namespace.

1 is a win/web app
1 is a windows service - this one currently sits on both servers (which i feel is a double up and unnecessary)
1 is a web app.
1 is a client app (VBA through MS Access 2003) which is more of a front for one of the SQL Servers.

All running with a SQL Server 2000 backend

Anyways, it's all developed out of time scope when it wasn't thought possible (mostly due to lack of knowledge on our side early on in our "carreer" with .Net) to interact between the three and because most of the stuff was developed in a period where Project Management was a city in Russia before the early revolution.

What i'm trying to do is mostly on my own time, for the sake of curiosity and to see if i could pull it off.

I would post some code BUT i'm under fairly strict rules as to what is shown and what isn't so i'll wait till i get handle on the work first and then throw in some tuts/articles.

So - that's why i was piqued as to your first post - but since you being this guru n' all, maybe you could shed some light on it being possible or not? (mostly because i don't want to waste my time, so a simple yes/no answer could stop me dead in the tracks right now).

# TrackBack said on October 22, 2004 7:27 AM:

# William said on October 24, 2004 5:36 PM:

Brian:

This is not only possible, it's pretty straightforward. Create your business classes in one assembly and then create a set of interfaces to those classes in another. The clients will need a direct reference to the interface assembly(ies) and your backend piece that will host your remoting server will need a reference to the business classes. You can simply remote them over.

Remember that you can use an interface which matches your class definitions (a better way to put it is that you can use the interfaace to remote an object that implements it) with pretty simple remoting techniques to do what you need. IMHO, if you haven't used Remoting much yet, stay away from Client Activated objects until you get comfortable with the remoting framework. It's not that CAO's are 'hard' there's just a lot more to them in a few regards, performance being the biggest one.

I'm not sure about the VBA part though unless you are using .NET to manage the VBA libraries - haven't done much with VBA in a while. However using .Net this shouldn't be a problem and as a matter of fact, this is precisely the type of scenario that I've been building.

For pass one I'm going to do it from just one OS to the other. If that works like I hope than it's going to use all three.

If you have any specific questions though I'd be glad to walk you through it.

# William said on December 2, 2004 6:58 PM:

Did Jason King play minor league baseball for the Mets around 1993?

Search

This Blog

Tags

Community

Archives

News

My other sites

Cool Stuff

Book Stuff

Security

ORM

Data Access

Funny Stuff

Compact Framework Stuff

Web Casts

My KnowledgeBase Articles

My MVP Profile

Design Patterns

Performance

Debugging

Remoting

My Fellow Authors

My Books

LINQ

Misc

Speech

Syndication

Email Notifications