Страница 1 из 4

Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 21 окт 2014, 09:03
Данил
Добрый день.
Занимаюсь программированием в различных сферах, как по работе, так и для собственного удовольствия. Знакомство с LabVIEW произошло на работе, где требовалась разработка алгоритмов потоковой обработки биофизических данных. Сейчас предполагаю язык G очень удобным и наглядным для проектирования CGI приложений.
В общем-то решил я реализовать движок сайта, типа microText на LabVIEW. Для создания CGI приложения потребовалось написать маленький мостик на GNU C++, который подключает скомпилированную в LabVIEW Shared Library, передавая слегка переработанные параметры в функцию библиотеки, эти параметры являются аргументами CGI (argc, argv, envp).
Исходник моста для библиотек LabVIEW к серверу apache 2.2 прилагаю, так же как и програмку, которая при помощи моста выбрасывает аргументы CGI в браузер написанную на LabVIEW.
Так вот, хочу услышать адекватную критику реализации моей идеи, с целью ее доработки,переработки.
Для компиляции моста под linux с данным примером нужно положить cgi.c рядом с скомпилированной библиотекой (вызываемая функция должна называться TestCGI, задаётся в Application Builder'е, так же должна стоять галочка, добавляющая файлы extcode.h в папку, компилированная библиотека должна называться env.so). Далее в консоли написать: gcc cgi.c -o TestCGI.cgi ./env.so -L /usr/local/natinst/LabVIEW-2010/AppLibs/liblvrtdark.so.10.0.0 . Это соберёт файл TestCGI.cgi, которую можно будет использовать веб сервером Apache.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 21 окт 2014, 20:22
Pavel Krivozubov
Идея супер как мне кажется!
Не могли бы уважаемые пользователи линукс проверить это дополнение и написать отзыв?
Сам к сожалению не имею этой ОС.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 07:02
Данил
Pavel Krivozubov писал(а):Идея супер как мне кажется!
Не могли бы уважаемые пользователи линукс проверить это дополнение и написать отзыв?
Сам к сожалению не имею этой ОС.
Могу выложить ссылку на рабочий CGI крутящийся на Apache, если тут всё не очевидно. Кстати, в первом посте имеется ошибочка, вызываемая функция должна называться CallCGI, так как в файле cgi.c вызывается именно она, так же в файле cgi.c подтягивается TestCGI.h, если библиотека будет называться env.so, то .h файл следует заменить на env.h.
Через 4 часа поднимется домен, http://lvcgibridge.tk/ - тут будет лежать рабочий пример. Если перейти http://lvcgibridge.tk/TestCGI.cgi , то запустится CGI, http://lvcgibridge.tk/TestCGI.cgi - скриншот исходника библиотеки.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 07:38
mzu2006
0. отсутствует TestCGI.h

мне не совсем понятна идея. Позволю предположить:

1.
реализовать движок сайта, типа microText на LabVIEW
у microText основная изюминка, если я правильно понял, это использование простого API и шаблонов на php. Собираетесь ли Вы предоставить такого типа API в LabVIEW? Рассматривали ли Вы Internet Toolkit для LV под Linux?

2. Запускать LabVIEW код в качестве CGI? Представленный код должен работать как proof-of-concept, при нежелании использовать Web Services из-под Windows.
Но даже после выправки стиля, устранения очевидных ошибок и недоработок с-шного кода я бы не стал использовать такое решение для коммерческого устройства:
сложно отлаживать, протоколировать, поддерживать. Среди прочего, видимо, придется писать какой-то некий framework (типа web services) на LabVIEW. Как Вы планируете масштабировать решение для работы в качестве fcgi?

Изложите Вашу идею подробнее.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 07:58
Данил
mzu2006 писал(а):0. отсутствует TestCGI.h

мне не совсем понятна идея. Позволю предположить:

1.
реализовать движок сайта, типа microText на LabVIEW
у microText основная изюминка, если я правильно понял, это использование простого API и шаблонов на php. Собираетесь ли Вы предоставить такого типа API в LabVIEW? Рассматривали ли Вы Internet Toolkit для LV под Linux?

2. Запускать LabVIEW код в качестве CGI? Представленный код должен работать как proof-of-concept, при нежелании использовать Web Services из-под Windows.
Но даже после выправки стиля, устранения очевидных ошибок и недоработок с-шного кода я бы не стал использовать такое решение для коммерческого устройства:
сложно отлаживать, протоколировать, поддерживать. Среди прочего, видимо, придется писать какой-то некий framework (типа web services) на LabVIEW. Как Вы планируете масштабировать решение для работы в качестве fcgi?

Изложите Вашу идею подробнее.
А в чём сложность собственно, это обычная Shared Library написанная на LabVIEW?
Про fcgi, fcgi - FastCGI, вы об этом? Если да, то тут об этом вообще пока речи нет, пока моя проблема в том, что являюсь обладателем LabVIEW 2010 32bit, а сервер, который в моём доступе имеет ядро am64, и крутить 32-битные библиотеки, кроме как через CGI мост я не могу. Если масштабировать этот проект, то проще, наверное, будет написать модуль для apache, который будет перерабатывать "html" шаблоны со вставками, в конечный html подключая библиотеку-движок написанную на LabVIEW.
LabVIEW internet toolkit стоит денег, на сколько я понимаю. Так же, не очень понимаю, позволяет ли этот тулкит использовать сторонний http сервер.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 08:07
Borjomy_1
являюсь обладателем LabVIEW 2010 32bit
Эксперты меня, возможно, поправят, но, имхо, лицензионный ключ действует на обе версии и 32 и 64 разрядную...

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 08:12
Данил
Borjomy_1 писал(а):
являюсь обладателем LabVIEW 2010 32bit
Эксперты меня, возможно, поправят, но, имхо, лицензионный ключ действует на обе версии и 32 и 64 разрядную...
Очень буду рад если, но дистрибутив на CD у меня для x86, найти сторонний я не смог. У меня вообще сомнения о его существовании для am64. Может кто хоть подскажет, существует ли?
mzu2006 писал(а):0. отсутствует TestCGI.h
2. Запускать LabVIEW код в качестве CGI? Представленный код должен работать как proof-of-concept, при нежелании использовать Web Services из-под Windows.
Но даже после выправки стиля, устранения очевидных ошибок и недоработок с-шного кода я бы не стал использовать такое решение для коммерческого устройства:
сложно отлаживать, протоколировать, поддерживать. Среди прочего, видимо, придется писать какой-то некий framework (типа web services) на LabVIEW. Как Вы планируете масштабировать решение для работы в качестве fcgi?
Давайте о недоработках подробнее, можно тут же все поправить, если Вам кажется, что можно предложить более рациональный способ стыковки типов данных. Единственное, что я заметил, так это отсутствие отработки ошибки в случае, если ОС не выделит память во время наращивания ReturnCollector'a.
Кстати, для моего провайдера домен http://lvcgibridge.tk/ уже заработал.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 08:46
Borjomy_1
Очень буду рад если, но дистрибутив на CD у меня для x86
Все дистрибутивы :labview: доступны на сайте NI.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 08:50
Данил
Borjomy_1 писал(а):
Очень буду рад если, но дистрибутив на CD у меня для x86
Все дистрибутивы :labview: доступны на сайте NI.
Спасибо, попробую поискать, надеюсь их можно скачать без регистрационных данных, которые скорее всего были 10 раз потеряны моим работодателем.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 09:30
mzu2006
Прежде чем править код, изложите, пожалуйста, вкратце идею. Что хочется сделать? Потом обсудим как. И только уже потом как конкретно (код).

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 09:41
Borjomy_1
Спасибо, попробую поискать, надеюсь их можно скачать без регистрационных данных, которые скорее всего были 10 раз потеряны моим работодателем.
Без регистрации не получится, но сама регистрация - ничего особенного, не больше данных, чем на новый почтовый ящик.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 11:09
Данил
Borjomy_1 писал(а):
Спасибо, попробую поискать, надеюсь их можно скачать без регистрационных данных, которые скорее всего были 10 раз потеряны моим работодателем.
Без регистрации не получится, но сама регистрация - ничего особенного, не больше данных, чем на новый почтовый ящик.
Не смог найти версии для linux

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 15:21
Vitekkz88
Идея супер как мне кажется!
Pavel Krivozubov, а в чем этот супер заключается,позвольте по-любопытствовать?
Да,таких "финтов" с участием LabVIEW не было(и это естественно в силу здравых рассуждений). Убежден, что инженеры/программисты(LabVIEW,С/C++,Java,HDL и тд) такими идеями вообще не заморачивались. И это нисколько не умоляет нашу квалификацию как разработчиков ПО. Нет,ну правда,ребят?
Данил, не обижайтесь пожалуйста, но Ваши идеи - напоминают плод больной фантазии. Что с компилятором(транслятором),что с движком. Вы намеренно не хотите думать на 2 шага вперед.
Возможно,Вы добьётесь определенных результатов в реализации...Но,позвольте!?Зачем создавать заведомо "кривое" решение,которое без "костылей" двигаться не сможет!Описывать его недостатки+урезанный функционал,а этого добра будет на порядок больше,чем у аналогичных решений,выполненных в спец.средах.
После нескольких месяцев запила собственного компилятора и движка сайта Вам станет скучно...и возникнет у Вас идея создать какую-нибудь игруху аркадную или шутер в LabVIEW(Snake уже есть,а че бы CS не запилить или танки...начнете как раз с реализации движка в LabVIEW...ну или хотя бы какую-нибудь часть - но в LabVIEW).
Подобные идеи извращают представление о LabVIEW в целом.
ЗЫ:"Взять кредит в России - это как обос**ться на морозе - сперва даже тепло".Точно также будет с написанием движка сайта на LabVIEW и компилятора/транслятора LabVIEW-диаграмм.
Да простит меня Pavel Krivozubov.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 17:45
Pavel Krivozubov
По моему чем больше будет разных аспектов применения LabVIEW, пусть даже на первый взгляд кажущихся странными и выбивающимися от некой "нормы" - тем лучше.
Вспомните, что сама LabVIEW в некоторой степени отличается от "нормы", которую "нарисовали" в своих головах разного рода традиционалисты от программирования.
По этому я всегда приветствую разного рода дополнения и расширения возможностей LabVIEW, пусть даже самые фантастичные на первый взгляд.

Re: Движок сайта на LabVIEW для apache 2.2 linux

Добавлено: 22 окт 2014, 18:42
Vitekkz88
Pavel Krivozubov,
По моему чем больше будет разных аспектов применения LabVIEW, пусть даже на первый взгляд кажущихся странными и выбивающимися от некой "нормы" - тем лучше.
Это справедливо,но в погоне за количеством легко теряется качество.Об этом речь. А LabVIEW и NI - не сторонники НЕ качественного продукта. Даже если LabVIEW задействовано на 5-10%.Маркетинг сейчас в сторону :wink:
Ведь,по-большому счету, LabVIEW можно использовать абсолютно везде. Вопрос лишь здравого смысла...
LabVIEW в некоторой степени отличается от "нормы", которую "нарисовали" в своих головах разного рода традиционалисты от программирования.
Согласен. Однако,лет за 50 в программировании сформировались определенные нормы и правила(это не имеет отношение к форме представления языка...графический он или текстовый).Это формируют мышление программиста.Есть инструмент,с помощью которого поставленная задача вполне себе эффективно решается.
А можно пойти другим путем и получится как в той песне: "Я его слепила из того что было...".
По этому я всегда приветствую разного рода дополнения и расширения возможностей LabVIEW
Я тоже :wink: Вот тулкит для CUDA - это расширение возможностей LabVIEW. А микродвижок для сайта(в перспективах глючный и реально микро),зато при участии LabVIEW - имхо, не из той оперы.