Открытый доступ к данным - PullRequest
0 голосов
/ 17 декабря 2011

Я пишу плагин для приложения на C #.Плагин предоставляет мне полный доступ к внутренней информационной модели приложения.

Я хотел бы создать механизм, позволяющий внешним приложениям иметь возможность подключаться к информации, чтобы они могли отчитываться по ней и т. Д.

В прежние времена это было достигнуто с помощью ссылок ODBC - это все еще путь.

Я полагаю, что для этого стоит создать драйвер ODBC, есть ли более простые рекомендацииили пример кода C # для создания драйвера.

Спасибо

Оглядываясь назад, я не очень ясно понял в исходном вопросе.Требуется разрешить двум приложениям на одном ПК обмениваться данными.Приложение «хост» использует собственный формат хранения, и поэтому доступ к данным невозможен без использования приложения «хост».Приложения "host" позволяют разрабатывать плагины (используя C #), и плагины имеют доступ ко всем данным в приложении.Исходя из этого, я изучал, может ли плагин предоставлять интерфейс другому внешнему приложению и, таким образом, действовать как «Уровень доступа к данным»

Моя ссылка на ODBC, вероятно, «красная сельдь» - простопоказывает, как я не на связи в этой области.

1 Ответ

1 голос
/ 17 декабря 2011

Возможно, вы ищете что-то вроде Remoting и \ или Web-сервисов и \ или более современного WCF (Windows Communication Foundation).

Вы можете написать свои собственные сервисы и получить доступ к этим сервисам на любом языке, который выхочу.Поддержка C # для WCF, Remoting и WebServices очень хороша и позволяет вам писать инфраструктуру сервер-клиент очень простым, объектно-ориентированным и простым способом.

Использовать HTTP: каждая служба обрабатывается в отправленном сериализованном объектев XML через HTTP-сервер, например, IIS.Клиенты могут быть написаны на любом языке, который вам нужен, от PHP до C #, от C ++ до JAVA и т. Д., Им нужно только подключиться через HTTP и проанализировать \ deserialize \ serialize XML.

Вы можете выбрать свою архитектуру.Если и клиенты, и серверы написаны на C #, все для вас прозрачно, сериализация и десериализация XML, удаленный вызов процедур и интеграция с IIS готовы для использования.Вам нужно только написать свои приложения.

Вы можете экспортировать сервисы вместо таблиц, как это делает реляционная СУБД, таким образом, вы можете отделить логику вашей системы от уровня данных и уровня представления.Таким образом, вы можете получить масштабируемость, поддержку мультиплатформенности и мультисистемы.

Некоторые ссылки для чтения:

http://en.wikipedia.org/wiki/Windows_Communication_Foundation

http://www.codeproject.com/KB/webservices/myservice.aspx

http://msdn.microsoft.com/en-us/library/aa730857(v=vs.80).aspx

http://msdn.microsoft.com/en-us/library/kwdt6w2k(v=vs.71).aspx

http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/02/10/how-to-build-an-n-tier-application-with-wcf-and-datasets-in-visual-studio-2008.aspx

http://msmvps.com/blogs/williamryan/archive/2008/05/16/doing-tiers-with-wcf.aspx

Вместо этого, например, если вы находитесь в интрасети или на одном компьютереи вы хотите просто поделиться службой БД, вы можете просто использовать SQLServer или MySql или PostgreSql и подключаться к нему через TCP / IP.Однако небезопасно \ безопасно предоставлять службу БД в Интернете или в интрасети, где может возникнуть проблема с безопасностью.

Обратите также внимание, что SQLServer Express является бесплатным и может подойти вам, если у вас малопользователи \ подключения или БД не более 4Гб.MySql и PostgreSql являются бесплатными и с открытым исходным кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...