Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];

Вниз

Организация API для сторонних приложений: какие технологии?   Найти похожие ветки 

 
ksergey ©   (2015-10-23 12:54) [0]

Мечтается о новом приложении, которое делает что-то полезное.
К нему необходимо сделать некое API, которое позволило бы внешним приложениям взаимодействовать с ним.

Платформа - только Windows.

Вопрос: какие нынче технологии есть вообще и в в тренде для таких дел? хотелось бы обеспечить возможность подключаться из более-менее разных приложений: VB, Delphi, java-script быть может(имеется ввиду скрипты, выполняемые "внутри Windows", не WEB-технологии), C#.
Нужны просто ключевые слова.

Что знаю я, для примера:
1) Можно вытащить COM-интерфейс
2) Можно сделать DLL, которую пользователь будет подгружать в своё приложение и дёргать из неё функции - а эта DLL как-то будет взаимодействовать с основной программой
3) Можно взаимодействовать через какую-то БД, например (а что, вариант)
ну и т.п.

Какие еще есть варианты, достаточно удобные для использующих это API?

Я слышал слова SOAP - это оно?


 
DayGaykin ©   (2015-10-23 13:08) [1]

Если только Windows, то Com. Еще и в виде ActiveX компонента оформить.


 
Кто б сомневался ©   (2015-10-23 13:09) [2]

Вам ехать надо или шашечки?


> какие нынче технологии есть вообще и в в тренде для таких
> дел?


В тренде нынче сделать готовый продукт, удобный, без багов и быстро работающий.


 
Кто б сомневался ©   (2015-10-23 13:13) [3]

Обычно это делают через плагины dll. А внутри dll - или классические вызовы или через interface.


 
Кто б сомневался ©   (2015-10-23 13:29) [4]

Можно попробовать сделать плагин для тотал командера, чтоб понять детали.
К примеру http://www.ghisler.com/plugins.htm  - под каждой таблицей есть хелп файлы - с деталями того, как делать плагин  - WCX Plugin Guide, FS Plugin Guide итд.
В ТС кстати классические процедурные вызовы dll.


 
ksergey ©   (2015-10-23 13:53) [5]

Программы с плагинами - это крайне мелкие программы. Плагины и так делаются, с ними вопросов нет.
Но задачи именно предоставить удобный API для внешних приложений.


 
Кто б сомневался ©   (2015-10-23 14:42) [6]


> Но задачи именно предоставить удобный API для внешних приложений.

Что означает "API для внешних приложений"?

Тут все зависит от задачи, смотря чем они обмениваются, может вообще будет достаточно  обычных WM сообщений (втч broadcast сообщений) или отображенного в память файла (Memory Mapped Files) со своими структурами.


 
Кто б сомневался ©   (2015-10-23 14:52) [7]

Давайте попросим в студию ИШ, который помог бы "стеснительно" задать один важный вопрос.


 
Игорь Шевченко ©   (2015-10-23 15:19) [8]

ksergey ©   (23.10.15 12:54)  

Я бы COM-интерфейс сделал.


 
ksergey ©   (2015-10-23 15:58) [9]

> может вообще будет достаточно  обычных WM сообщений

На vbs? привычная ли и удобная ли это техника для программиста vbs?

Еще раз.
Хотелось бы услышать слова, которыми пользуются нынче люди для организации API в своих приложениях для доступа из других приложений (получение/отправка данных по сути). Причем данные не потоковые. Друбо говоря методы GetЧтоНибудь() SetЧтоНибудь()

Или даже так: в промышленных продуктах (промышленно-количественно используемых) какие нынче делают API для доступа внешних программ?
Просто так получается, что много WEB-а на слуху, а вот если не про WEB - то что? понимаю, что можно взять и посмотреть какой API есть, но вдруг будут готовые ответы. На это лишь и уповаю.


 
KSergey ©   (2015-10-23 15:59) [10]

>Игорь Шевченко ©   (23.10.15 15:19) [8]
> Я бы COM-интерфейс сделал.

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


 
картман ©   (2015-10-23 16:44) [11]


> ksergey ©   (23.10.15 15:58) [9]

хватит балду пинать, начинай уже работать


 
ksergey ©   (2015-10-23 16:54) [12]

> хватит балду пинать, начинай уже работать

/* испуганно озираясь */
кто ты??


 
Кто б сомневался ©   (2015-10-23 17:45) [13]


> > может вообще будет достаточно  обычных WM сообщений
>
> На vbs? привычная ли и удобная ли это техника для программиста
> vbs?


Нет, vbs как раз использует только COM (по факту это dll"ки) и ничего больше.


> ksergey ©   (23.10.15 16:54) [12]
>
> > хватит балду пинать, начинай уже работать
>
> /* испуганно озираясь */
> кто ты??


Это твое вдохновение.

// А фраза "кто ты?" у меня в голове воспроизвелась голосом А Ревы. :)


 
кгшзх ©   (2015-10-23 18:22) [14]

вебсервис однозначно


 
Dimka Maslov ©   (2015-10-23 19:48) [15]


> Я бы COM-интерфейс сделал.


И я бы сделал COM интерфейс. Просто и универсально. При правльной организации для два щелчка прикручивается к чему угодно.


 
Eraser ©   (2015-10-24 00:20) [16]


> ksergey ©   (23.10.15 12:54) 

если нужно модно, то вроде REST.


> Платформа - только Windows.

я бы не зарекался. попросят мобильную версию )


 
ksergey ©   (2015-10-24 17:08) [17]

> Eraser ©   (24.10.15 00:20) [16]
> я бы не зарекался. попросят мобильную версию )

В данном случае нет )

Сейчас подумал - что я так туманно написал? по факту есть уже большая гуёвая софтина, но часть рутинных действий в ней пользователь хочет автоматизировать (т.е. связать с другой своей системой, как это водится) - собственно вот под это и надо сделать API, для внешней интеграции, так скажем.


 
KSergey ©   (2015-10-24 17:08) [18]

Большое спасибо всем за мнения и слова!


 
KSergey ©   (2015-10-24 17:12) [19]

Кстати, про COM
Использовать-то я его использовал из разных мест - это клёво, в самом деле очень удобно и просто, а вот делать ни в жисть не доводилось, есть такой пробел у меня серьёзный.
От того и пытаюсь что-то выдумать.

Вот бы почитать как люди собственно COM-сервера делают, на какие соображения при этом ориентируются. С учётом постоянного расширения интерфейса (это точно будет).


 
Dimka Maslov ©   (2015-10-24 17:37) [20]


> KSergey ©   (24.10.15 17:12) [19]


New>Other>ActiveX существует ещё с Delphi5


 
Юрий Зотов ©   (2015-10-24 17:44) [21]

> Вот бы почитать как люди собственно COM-сервера делают

https://www.google.ru/search?q=Delphi+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+COM+%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&ie=utf-8&oe=utf-8&gws_rd=cr&ei=1ZgrVo_SCaLgyQPytZPgCA


 
Кто б сомневался ©   (2015-10-24 17:52) [22]


> Вот бы почитать как люди собственно COM-сервера делают,


Есть книжка: Елманова,Трепалин,Тенцер - Delphi и технология COM , 2003  
djvu


 
ksergey ©   (2015-10-24 18:15) [23]

У меня эта книжка есть в печатном виде.
ниасилил )

Ну и потом, вопросы как таковой техники -они, понятно, решаемы. Меня волнует другое: как потом это всё поддерживать и развивать, на сколько удобно. Этот бы момент почитать концентрированно, "опыт эксплуатации и развития СОМ-сервера", так сказать.


 
KSergey ©   (2015-10-24 18:17) [24]

> ksergey ©   (24.10.15 18:15) [23]
>  на сколько удобно.

Правильнее, конечно, сказать так: о чем надо думать при развитии интерфейса.


 
ksergey ©   (2015-10-24 18:18) [25]

> Юрий Зотов ©   (24.10.15 17:44) [21]

Я понимаю, что форум про дельфи, но речь не про дельфи в данном случае. Хотя это опять же детали, конечно, можно любое другое слово подставить в запрос.


 
Кто б сомневался ©   (2015-10-24 19:03) [26]


> "опыт эксплуатации и развития СОМ-сервера", так сказать.


Because in-process COM components are implemented in DLL files and registration only allows for a single version of a DLL per CLSID they might in some situations be subject to the "DLL Hell" effect. Registration-free COM capability eliminates this problem.


 
virex(home) ©   (2015-10-26 08:14) [27]

>ksergey ©   (24.10.15 18:15) [23]
> Меня волнует другое: как потом это всё поддерживать и развивать, на сколько удобно. Этот бы момент почитать концентрированно, "опыт эксплуатации и развития СОМ-сервера", так сказать.


поддерживаю такой проект  трехзвенку

любой кривой компонент с утечкой памяти на клиенской части и catastrofic failure (примерно так)

не просто отлавливать ошибки (где ole а где дельфовские)

все построено на транзакциях



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.005 c
2-1414317120
Вован Петрович
2014-10-26 13:52
2016.07.24
Как правильно передать параметры запросу?


15-1442349057
Marser
2015-09-15 23:30
2016.07.24
Ihor Osov yak умер :-(


15-1443907804
Юрий
2015-10-04 00:30
2016.07.24
С днем рождения ! 4 октября 2015 воскресенье


15-1441438120
Pavia
2015-09-05 10:28
2016.07.24
Настройка W-Fi роутера


2-1413746607
AlexC
2014-10-19 23:23
2016.07.24
Текст на канвасе: получить позицию курсора





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский