A business case and calling managed (!) code

  • Thread starter Thread starter Fender Mussel
  • Start date Start date
F

Fender Mussel

Hi,

We are in a situation where we have a Win32 application which is
currently deployed to about 15000 desktop machines and want to rewrite
the back end (business logic) in a modern language. At the moment there
is no change for changing the front end (GUI) because it's far to
complex to rewrite it now.

Thus, we are currently evaluating several alternatives for programming
languages and one very favourite candidate is C#.

Please could anybody give me good hints for:
- how to write managed DLLs (in C#) and call them from a Win32 process?
The only valuable information I could found was about the reverse
direction.
- Are there any good studies about how to write components on a large
environment so that they are interchangable easily? (something like
plugins to customize the software for customers)
- Are there informations how .NET applications behave if, say, 4000
classes are involved in a project (over many components, of course)?


Thanks for any help!

FM
 
We are in a situation where we have a Win32 application which is
currently deployed to about 15000 desktop machines and want to rewrite
the back end (business logic) in a modern language. At the moment there
is no change for changing the front end (GUI) because it's far to
complex to rewrite it now.

I know this feeling... BOY do I know this feeling...
Please could anybody give me good hints for:
- how to write managed DLLs (in C#) and call them from a Win32 process?
The only valuable information I could found was about the reverse
direction.

Hmmm, There might be a way to expose .NET as WIN32 though I doubt it highly. I recommend consulting the Interoperability Bible:

http://www.amazon.com/exec/obidos/t...f=sr_1_1/102-2303146-3111314?v=glance&s=books

When you find nothing of help in there you can do a full round trip from unmanaged to managed and back again. I've gone from C# to Managed C++ to Unmanaged C++ and back:

Managed C++ classes are managed: they can see, use, and be seen by C# or any other .NET language. Managed C++ classes can also see and use unmanaged C++ classes. KEY--> Unmanaged C++ can see and use managed C++. Here are some MSDN search keywords: "gcroot template", "pinning", "boxing", "DllImport", "MarshalAs"...
- Are there any good studies about how to write components on a large
environment so that they are interchangable easily? (something like
plugins to customize the software for customers)

"Service Oriented Architecture" - live it, learn it, love it - it will be the Oop of the 2010s... By the 2020s people will be over it {hungover it} - but for now its SOA or bust... If you're a Microsoft lover be advised that BizTalk and SharePoint are all moving toward SOA... Longhorn will be a platform for SOA... .NET is and will continue to be a platform for SOA... Bill Gates is giving a $50 billion+ dividend and I guarantee it's somehow related to SOA...

--Richard
 
Back
Top