Стратегии доступа к приложению с помощью COM API из PHP - PullRequest
0 голосов
/ 22 марта 2010

Фон: опытный PHP-разработчик, в основном * nix фон.

Я пишу PHP-приложение, которое должно взаимодействовать с проприетарной сторонней системой. Сторонняя система - только Windows. Приложение PHP будет жить в отдельной системе на базе Linux

Стороннее приложение было описано как имеющее «COM API», с которым мне нужно будет поговорить из приложения PHP. Как это выглядит архитектурно? Я начинаю с COM раздела руководства по PHP, но у меня есть конкретные вопросы.

Конкретные вопросы:

  1. Можно ли напрямую общаться с COM API из приложения PHP, запущенного на другом сервере? Если так, то как? (какие расширения PHP мне понадобятся или какие протоколы / функции PHP я буду использовать для общения с API)

  2. Если ответ на вопрос 2 - нет, я бы предположил, что мне понадобится какое-то приложение на компьютере с Windows, которое может общаться с COM, а затем служба на компьютере с Windows, которую я смогу использовать с помощью PHP. , Есть ли готовые фреймворки для такого рода вещей?

  3. Это все чепуха и / или я сказал что-то чрезвычайно глупое? (Вполне возможно, так как я немного размышляю о том, что «СОМ» делает и не покрывает)

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

Спасибо!

1 Ответ

2 голосов
/ 22 марта 2010

Обычно «COM API» содержится в файле DLL или элементе управления Active X (вроде файла DLL), и вы ссылаетесь на него из приложения Windows, которое будет загружать COM DLL, как и любая другая DLL. COM был просто попыткой облегчить повторное использование DLL, а также решить многие другие проблемы с DLL.

Таким образом, ответ на номер 1 - нет. Ответ на номер 2 - да. Я бы лично создал оболочку для COM API с WCF. WCF - это технология Microsoft .NET для создания веб-сервисов. Это значительно облегчит использование API в PHP. Самым большим препятствием будет изучение WCF, а также выяснение того, как вы хотите отобразить элементы в API-интерфейсе COM на элементы в вашем веб-сервисе, поскольку типы данных, вероятно, должны быть каким-то образом преобразованы. Приложение WCF может быть размещено как служба Windows или размещено в IIS, поэтому этот вид убивает обеих птиц одним камнем.

Вы можете по желанию использовать более старые веб-сервисы в .NET, которые были до WCF, мне лично больше понравился WCF, потому что он был более гибким. Если вы нажмете достаточно много раз на недружелюбном сайте для веб-трансляции Microsoft, вы можете скачать серию видео на WCF: http://www.dasblonde.net/2007/06/24/WCFWebcastSeries.aspx

-3 Нет, я так не думаю.

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