iPhone: подключение к базе данных через Интернет? - PullRequest
3 голосов
/ 04 июня 2009

Я разговаривал с кем-то о возможности контракта на разработку iPhone. Все, что я действительно знаю на данный момент, - это то, что есть компания, которая хочет создать приложение для iPhone, которое поразит их внутреннюю базу данных. Я не уверен, что тип базы данных (Oracle, MySQL и т. Д ...).

Я хотел бы знать, был ли тип базы данных Oracle или MySQL, если есть большая кривая обучения для подключения к одному из них через Интернет?

Если это настоящая боль, я могу провести дополнительные исследования, прежде чем принимать контракт.

Ответы [ 5 ]

14 голосов
/ 04 июня 2009

Я бы не советовал напрямую обращаться к базе данных из приложения iPhone.

Обычно вы создаете веб-сервис, который обращается к базе данных, а затем используете этот веб-сервис из приложения iPhone.

3 голосов
/ 04 июня 2009

Создать веб-сервис. Это позволяет сделать приложение для iphone более тонким клиентом. Позвольте приложению передавать команды в веб-сервис для обработки и взаимодействия с базой данных, возвращая только данные, необходимые приложению.

Эта опция лучше подходит для приложения, базы данных и безопасности клиента.

1 голос
/ 18 сентября 2010

Эти ответы 2009 года в основном устарели.

http://ODBCrouter.com/ipad (новый) имеет клиентские библиотеки ODBC XCode, заголовочные файлы и многопоточные объекты Objective C, которые позволяют вашим приложениям отправлять SQL-запросы на драйверы ODBC на стороне сервера и получать двоичные результаты! Это уменьшает необходимость останавливать и отдельно обслуживать серверы SOAP / REST, которые могут стать довольно пугающими в любом случае после его обслуживания.

XML-схемы были хороши для передачи статических конфигураций на мобильные устройства «время от времени», но XML предназначался для нечастых передач между типами компаний в «серверной среде» (со шнурами питания, проводными сетями и кондиционированием воздуха). ) и определенно не эффективен для частых запросов к базе данных, поступающих с n-копий мобильного приложения. Существуют сторонние библиотеки JSON, которые помогают, но даже с JSON все должно быть закодировано (и декодировано) от двоичного представления в базе данных до текстового представления на сервере (хорошо, только если оно будет показано пользователю в любом случае, в веб-браузере, но не очень хорошо, если мобильное приложение собирается перевести его обратно в двоичный файл, чтобы оно могло выполнять вычисления «за кулисами» для того, что происходит с пользователем). Помимо более высокой нагрузки на сеть и заряда батареи мобильный ЦП будет использовать XML и JSON, а также заставит вас покупать больше ОЗУ и ЦП на внутреннем сервере быстрее, чем просто через соединение ODBC с базой данных.

1 голос
/ 04 июня 2009

Я занимаюсь созданием веб-службы, используя Sinatra для доступа к онлайн-базе данных.

1 голос
/ 04 июня 2009

Вы можете легко установить соединение через Интернет, так же, как и локально, но вы открываете базу данных для атак, если она примет связь с любого удаленного IP-адреса. Обычно вы просто подключаетесь через сокет, открытый к удаленному IP-адресу сервера через открытый порт, порт MySQL по умолчанию - 3306.

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

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