Sharing data between processes

D

Dan24

Hi,

I am designing an application in which several processes need to share
*secure* data. Some of these applications will be written in .Net
(managed) code and some in C++ (unmanaged).
To centrally store this data, I considered a few solutions:

1. COM Server (Out of process) - store all the centralized data in this
object.
2. Enterprise Services (COM+)
3. System Service with .Net Remoting
4. Shared memory (needs .Net wrapper)

There is also a security consideration - I don't want any other process
(besides those that I define) to be able to access this data.

Any suggestions on the best approach to implement this would be greatly
appreciated :)


Danny
 
E

Eugene Mayevski

Hello!
You wrote on 31 Dec 2006 03:53:20 -0800:

D> Any suggestions on the best approach to implement this would be greatly
D> appreciated :)

The answer depends on what the nature of the data is (persistent or
non-persistent data) and how exactly the data is accessed.

If the data is non-persistent and should be accessed/modified frequently,
then memory-mapped files are ok. You can encrypt/decrypt the data
in-process, and save only encrypted data to the MMF. The main question with
MMFs is who creates, owns and destroys the mapping (and what it does with
the data inside).

If the data is persistent or when you need different level of access for
various applications (for example, read-write and read-only access should be
provided), then an out-of-process server would be a good idea.

For a client-server arhitecture we can offer our cross-platform secure solutions:
SolFS ( www.SolFS.com ) for storing the data and MsgConnect (
www.MsgConnect.com ) for information exchange between the server and the
clients.

With best regards,
Eugene Mayevski
http://www.SecureBlackbox.com - the comprehensive component suite for
network security
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top