Привет, есть небольшое клиент-сервер приложение, работающее с базой данных MSSQL.
Слой доступа к базе данных выделен, на первый вгляд, хорошо. Используются POCO-объекты, EF
Необходимо расширить приложение таким образом, что бы дотуп к базе осуществлялся через интернет.
т.е. нужен веб-сервис (HTTP) на стороне базы данных, через который будет осуществлятся обращение к базе.
Имею небольшой опыт в WCF, наслышан про REST. Наверняка есть что-то другое и проще. Нужна простота во времени разработки и последующей установки (на серверах!)
Пожалуйста, подскажтие, какие технологии .NET для этого можно и нужно использовать.
Здравствуйте, SeLo, Вы писали:
SL>Необходимо расширить приложение таким образом, что бы дотуп к базе осуществлялся через интернет. SL>т.е. нужен веб-сервис (HTTP) на стороне базы данных, через который будет осуществлятся обращение к базе.
SL>Пожалуйста, подскажтие, какие технологии .NET для этого можно и нужно использовать.
Нужно определиться, какой доступ через веб-сервисы требуется — SOAP или REST (клиентские приложения какие предполагаются?). Для разработки REST сервиса сейчас оптимально использовать ASP.NET WebAPI (на WCF 4й версии тоже можно, но... не слишком удобно).
Здравствуйте, Ziaw, Вы писали:
Z>А чем не устроили технологии TCP/IP?
Есть какие-то проблемы с доспупом по TCP/IP, дата-центр, где находится SQL серевер со многими базами данных из-за своих политик безопасностей не пущает. Фейеровл.
Ну а по HTTP должен вроде как везде, работать.
А вообще, можно через TCP/IP соединение комфортно и безопасно через Internet работать? Или же необходимо на HTTP (и соостветсвенно веб-службы) смотреть? Я к сожалению сам не могу дать ответа.
Здравствуйте, SeLo, Вы писали:
SL>А вообще, можно через TCP/IP соединение комфортно и безопасно через Internet работать? Или же необходимо на HTTP (и соостветсвенно веб-службы) смотреть? Я к сожалению сам не могу дать ответа.
В принципе можно использовать SSL подключение к MSSQL, либо поднимать VPN соединение с сервером (хотя в стороннем дата-центре ничего из этого может и не быть доступным).
Но вообще так с БД работать неправильно по многим причинам
A>Нужно определиться, какой доступ через веб-сервисы требуется — SOAP или REST (клиентские приложения какие предполагаются?). Для разработки REST сервиса сейчас оптимально использовать ASP.NET WebAPI (на WCF 4й версии тоже можно, но... не слишком удобно).
Что потребуется, SOAP или REST пока неясно, нужно детальнее смотреть, каким образом используется доступ к БД.
Но мне кажется, что потребуется SOAP. В любом случае буду рад информации для обоих подходах.
Здравствуйте, SeLo, Вы писали:
SL>Привет, есть небольшое клиент-сервер приложение, работающее с базой данных MSSQL. SL>Слой доступа к базе данных выделен, на первый вгляд, хорошо. Используются POCO-объекты, EF SL>Необходимо расширить приложение таким образом, что бы дотуп к базе осуществлялся через интернет. SL>т.е. нужен веб-сервис (HTTP) на стороне базы данных, через который будет осуществлятся обращение к базе.
SL>Имею небольшой опыт в WCF, наслышан про REST. Наверняка есть что-то другое и проще. Нужна простота во времени разработки и последующей установки (на серверах!)
SL>Пожалуйста, подскажтие, какие технологии .NET для этого можно и нужно использовать.
Все зависит от того, что Вам надо: универсальный доступ к бд для любого приложения или доступ к бд для конкретного приложения. Для первого можно использовать WCF Data Services
Здравствуйте, Qulac, Вы писали:
Q>Все зависит от того, что Вам надо: универсальный доступ к бд для любого приложения или доступ к бд для конкретного приложения. Для первого можно использовать WCF Data Services
Здравствуйте, SeLo, Вы писали:
SL>Здравствуйте, Qulac, Вы писали:
Q>>Все зависит от того, что Вам надо: универсальный доступ к бд для любого приложения или доступ к бд для конкретного приложения. Для первого можно использовать WCF Data Services
SL>А для второго?
Здравствуйте, Qulac, Вы писали:
Q>Все зависит от того, что Вам надо: универсальный доступ к бд для любого приложения или доступ к бд для конкретного приложения. Для первого можно использовать WCF Data Services
WCF Data Services — тупиковая ветвь. Надо смотреть в сторону WebAPI OData
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, SeLo, Вы писали:
SL>Есть какие-то проблемы с доспупом по TCP/IP, дата-центр, где находится SQL серевер со многими базами данных из-за своих политик безопасностей не пущает. Фейеровл.
Тогда расскажи подробнее про задачу, структуру данных, авторизацию, возможности инфраструктуры и т.п. А то сложно что-то советовать, вдруг дата-центр и это тебе не разрешит.
SL>А вообще, можно через TCP/IP соединение комфортно и безопасно через Internet работать? Или же необходимо на HTTP (и соостветсвенно веб-службы) смотреть? Я к сожалению сам не могу дать ответа.
Комфорт зависит от канала к серверу. А с SSL достаточно безопасно.
Здравствуйте, Ziaw, Вы писали: A>>Но вообще так с БД работать неправильно по многим причинам
Z>Не мог бы ты их перечислить?
Не совсем точно выразился... все конечно зависит от задачи и соотв. требований (из исходного вопроса показалось, что планируется переход от 2х звенки к 3х). А на практике проблемы при такой работе с БД через интернет в общем-то очевидные — те самые проблемы с файрволлами, организацией аутентификации (и вообще разграничения доступа), результирующим трафиком и временем отклика.
Здравствуйте, andrey82, Вы писали:
A>Не совсем точно выразился... все конечно зависит от задачи и соотв. требований (из исходного вопроса показалось, что планируется переход от 2х звенки к 3х).
Введением дополнительного слоя абстракции решается почти любая архитектурная проблема, кроме проблемы избыточного количества слоев абстракции. Перед тем, как вводить еще один слой надо иметь достаточно данных для четкого понимания, что остальные варианты хуже.
A>А на практике проблемы при такой работе с БД через интернет в общем-то очевидные — те самые проблемы с файрволлами, организацией аутентификации (и вообще разграничения доступа), результирующим трафиком и временем отклика.
Результирующий трафик и время отклика от введения дополнительной прослойки только увеличатся. Проблемы с фаерволами тоже решаются, но тут надо смотреть конкретный случай.
Аутентификация и авторизация тоже должны плясать от задачи.
Самая нерешаемая в данном случае проблема — количество одновременных соединений с сервером.
Здравствуйте, Ziaw, Вы писали:
A>>Но вообще так с БД работать неправильно по многим причинам Z>Не мог бы ты их перечислить?
БД это дорогой ресурс что-бы им так разбрасываться.
Для начала работа с БД "напрямую" из клиентского приложения это принципиально другой подход к организации безопасности данного решения.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, Qulac, Вы писали:
Q>>WCF — сервис, такой который Вам надо.
TK>Используйте OData и WebAPI. Подойдет для "толстых" приложений, для тонких и для сторонних.