Architectural question
-
Hi, I have to come up with the architecture for very uncommon (by my opinion) framework: 1)I have to develop the MAPI store provider module for Outlook 2000/2007. This MAPI store provider has to be done with C++ (ATL) since Microsoft does not officially support .NET on MAPI store provider site. 2)There is the “data adapter” which has to supply the actual data to MAPI store provider (folders, list view, columns and more). This “adapter” has to be done on .NET/C# . The data could be retrieved from different data sources by “data adapter”. This could be the database, the file system or even web. 3)The .NET based “data adapter” has to be also flexible enough to supply data to different clients (I call them extensions), such as MAPI store provider, Windows explorer extension, Pocket PC and more. In the COM word (which I know much better then .NET) I could design such architecture as a COM based MAPI store provider, COM based Windows explorer extension and COM based out-of-process server which will be the data source for “client site” extensions. I have a hard time making a decision regarding of the architecture which involves .NET data adapter. The problem here is the fact that: 1)I need the .NET replacement for COM based out-off-process server. 2)Connect C++ based MAPI provider with .NET out of process “data adapter”. I could use the C++/CLI in order to connect the MAPI store provider to “data adapter” component, but preferably NO .NET on the MAPI store provider site - it should be pure COM based. 3)The protocol between the data adapter and the client site should be really fast. 4)The replacement of COM based out-of process server (data adapter) should provide data to many concurrently running clients (Win Explorer and MAPI provider/Outlook for example) The framework could be developed with any available .NET version - I just need the fastest way to communicate between COM based client and .NET out-of-process replacement. I would really appreciate if you have some code example of such architecture for performances measurement (at least one C++/COM based client connected to .NET based “off-process” server). Regards, Dmitry
-
Hi, I have to come up with the architecture for very uncommon (by my opinion) framework: 1)I have to develop the MAPI store provider module for Outlook 2000/2007. This MAPI store provider has to be done with C++ (ATL) since Microsoft does not officially support .NET on MAPI store provider site. 2)There is the “data adapter” which has to supply the actual data to MAPI store provider (folders, list view, columns and more). This “adapter” has to be done on .NET/C# . The data could be retrieved from different data sources by “data adapter”. This could be the database, the file system or even web. 3)The .NET based “data adapter” has to be also flexible enough to supply data to different clients (I call them extensions), such as MAPI store provider, Windows explorer extension, Pocket PC and more. In the COM word (which I know much better then .NET) I could design such architecture as a COM based MAPI store provider, COM based Windows explorer extension and COM based out-of-process server which will be the data source for “client site” extensions. I have a hard time making a decision regarding of the architecture which involves .NET data adapter. The problem here is the fact that: 1)I need the .NET replacement for COM based out-off-process server. 2)Connect C++ based MAPI provider with .NET out of process “data adapter”. I could use the C++/CLI in order to connect the MAPI store provider to “data adapter” component, but preferably NO .NET on the MAPI store provider site - it should be pure COM based. 3)The protocol between the data adapter and the client site should be really fast. 4)The replacement of COM based out-of process server (data adapter) should provide data to many concurrently running clients (Win Explorer and MAPI provider/Outlook for example) The framework could be developed with any available .NET version - I just need the fastest way to communicate between COM based client and .NET out-of-process replacement. I would really appreciate if you have some code example of such architecture for performances measurement (at least one C++/COM based client connected to .NET based “off-process” server). Regards, Dmitry
How did it go?
"The clue train passed his station without stopping." - John Simmons / outlaw programmer