Автор | Сообщение |
|
| |
Пост N: 32
Зарегистрирован: 05.02.19
|
|
Отправлено: 14.10.19 18:07. Заголовок: Перевод на Harbor http webserver...
Друзья, подскажите в каком направлении рыть ... Есть программа, переведена на Harbour. Работает в терминальном режиме. Заказчики просят перевести программы на GUI интерфейс. Появилась идея перевести на графический интерфейс (GUI) но в следующей архитектуре: Клиентская часть: содержит графический интерфейс написанный на C# (C шарп). Клиентская часть формирует запросы на сервер, получает ответы (JSON) и с ними работает. Серверная часть: планируется написать на Harbour. Работает по протоколу IP (Http). «Слушает» порт получает, обрабатывает запросы от клиентской части, возвращает данные (JSON). Какие будут мысли? Может у кого, то есть ссылки на подобный материал? Ссылка: Harbor http webserver https://medium.com/harbour-magazine/restful-server-with-harbour-575e59335cf7
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|
|
| постоянный участник
|
Пост N: 2945
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.10.19 19:59. Заголовок: В чем фишка исп. C#,..
В чем фишка исп. C#, используя вэб-броузер вместо, можно работать с разных устройств (м.тел, смартфон, планшет, ...) разных фирм. Такая архитектура у нас работает (с модифицированным под себя http://www.dbtopas.lt/hrb/uhttpd-0.3.zip), но это небольшая часть (типа "личный кабинет" соединенный с cms joomla) к задаче "Квартплата", которая GUI на hmg + letodb + ftp сервера
|
|
|
|
| постоянный участник
|
Пост N: 2946
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.10.19 20:05. Заголовок: PS Для вэб-броузер т..
PS Для вэб-броузер таблиц можно исп., к примеру, http://w2ui.com/web/demos/#!grid/grid-1 (примеров много) Приличный вид, ведение, поиски, resize, итоги и др. штуки
|
|
|
|
| |
Пост N: 33
Зарегистрирован: 05.02.19
|
|
Отправлено: 15.10.19 11:11. Заголовок: Ответ SergKis ...
Сергей, спасибо за ответы! "В чем фишка исп. C#" - Для сокращения сроков реализации выделяют в помощь сотрудника специалиста по C# "используя вэб-броузер вместо, можно работать с разных устройств" - использовать вэб-броузер не получиться. Программа банковская и безопасники не разрешают использовать такую архитектуру.
|
|
|
|
| постоянный участник
|
Пост N: 2947
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.10.19 11:41. Заголовок: Aleksandr_D пишет Ha..
Aleksandr_D пишет Это используется, т.к. базы dbf ?
|
|
|
|
| |
Пост N: 34
Зарегистрирован: 05.02.19
|
|
Отправлено: 15.10.19 11:57. Заголовок: Это используется, т.к. базы dbf ?
Да, именно так. Решение обусловлено тем, что хочется разделить интерфейсную часть от обработчиков (сервер приложений) и базы данных. В последствии планируется "поэтапный" переход на другую СУБД.
|
|
|
|
| постоянный участник
|
Пост N: 2948
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.10.19 12:47. Заголовок: По мне, архитектура ..
По мне, архитектура получается работоспособная, но в целом "хрен редьки не слаще", т.к. на стороне клиента будут не sql запросы, а на стороне сервера не их реализация (еще надо посмотреть как потоки http сервера потянут нагрузку). В нашем варианте на ~3000 квартир 50% исп. личный кабинет, из них 50% это PC, оставшиеся это смартфоны и т.д. При этом из 50 зарезервированных потоков мах используется 5, т.е. всего вполне хватает. использование нами http сервера обусловлено очень быстрой скоростью реакции, т.е. ввели, нажали Enter и тут же на экране уже данные с расчетом и др. поле ввода, Apache, NodeJs с cgi тоже быстро, но не так, как хотелось бы. Еще на clipper с прослойкой VO 2.0\2.7 базу переносил в mysql и firebird и VO работало с sql командами. Трудностей переноса практически не было. Была сделана процедура создания таблиц от структуры dbf + создание процедур сервера для append, replace, delete операций (если это для таблицы надо, конечно). Тогда GUI может быть любой с клиентской dll sql сервера и работать в "правильных" командах. Еще вариант с LetoDbf ( https://github.com/elchs/LetoDBf ). Работают set relation нормально. - можно подсунуть в терминалку и перейти работать на команды из leto_std.ch, типа sql вариант - сделать dll и подсунуть C# (не пробовал)
|
|
|
|
| постоянный участник
|
Пост N: 2949
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.10.19 13:24. Заголовок: PS освежить терминал..
PS освежить терминалку GUI элементами можно исп. contrib\gtwvw
|
|
|
|
| |
Пост N: 35
Зарегистрирован: 05.02.19
|
|
Отправлено: 15.10.19 14:13. Заголовок: Спасибо за информаци..
Спасибо за информацию! «Еще вариант с LetoDbf ( https://github.com/elchs/LetoDBf ). Работают set relation нормально. - можно подсунуть в терминалку и перейти работать на команды из leto_std.ch, типа sql вариант» - этот вариант в стадии финальной отладки. «освежить терминалку GUI элементами можно исп. contrib\gtwvw» - мне кажется такой это промежуточные вариант не нужен. По ссылке: Harbor http webserver https://medium.com/harbour-magazine/restful-server-with-harbour-575e59335cf7 Скачал исходники Harbor http webserver. При сборке требует библиотеку HBSSL.LIB При попытке собрать библиотеку ….\HARBOUR\contrib\hbssl\ ошибки: HBMK2 hbssl.hbp hbmk2: Building sub-project (level 2): hbssls.hbp hbmk2[hbssls]: Warning: Missing dependency: openssl HBMK2 hbssls.hbp hbmk2[hbssls]: Warning: Missing dependency: openssl Что делаю не так? А где можно скачать библиотеку HBSSL.LIB для Harbour 3.2.0dev (r1811161533) ?
|
|
|
|
| постоянный участник
|
Пост N: 2950
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.10.19 14:40. Заголовок: Что то было в разных..
|
|
|
|
| |
Пост N: 7115
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.10.19 15:03. Заголовок: Aleksandr_D пишет: ..
|
|
|
|
| |
Пост N: 36
Зарегистрирован: 05.02.19
|
|
Отправлено: 15.10.19 15:43. Заголовок: Помогло отчасти...
Спасибо! Помогло отчасти. Установил Win32 OpenSSL v1.0.2t Библиотеку HARBOUR\contrib\hbssl собирал с использованием батника: SET HB_WITH_OPENSSL=C:\OpenSSL-Win32\include\ HBMK2.EXE hbssl.hbp При компиляции были предупреждения: bssl\x509.objWarning: 'hbssl' not found in library Warning: 'ssl_hbcon' not found in library Warning: 'ssl_hb' not found in library Warning: 'ssl_inet' not found in library Warning: 'ssl_sock' not found in library Warning: 'bio' not found in library Warning: 'err' not found in library Warning: 'evp' not found in library Warning: 'evpciph' not found in library Warning: 'evpenc' not found in library Warning: 'evpmd' not found in library Warning: 'evppkey' not found in library Warning: 'pem' not found in library Warning: 'rand' not found in library Warning: 'ssl' not found in library Warning: 'sslciph' not found in library Warning: 'sslctx' not found in library Warning: 'sslsess' not found in library Warning: 'x509' not found in library Библиотеки собрались: hbssl.lib ssleay32.lib libeay32.lib hbssls.lib Скопировал библиотеки в HARBOUR\contrib\hbssl\tests\test.prg При сборке test.prg Появляется большое количество Unresolved external. Собирал и HBMK2 … И с использованием *. Hbp в котором указывал библиотеки. Error: Unresolved external '_SSL_use_certificate_ASN1' referenced from D:\HARBOU R\CONTRIB\HBSSL\TESTS\HBSSL.LIB|ssl Error: Unresolved external '_SSL_use_PrivateKey' referenced from D:\HARBOUR\CONT RIB\HBSSL\TESTS\HBSSL.LIB|ssl Error: Unresolved external '_SSL_ctrl' referenced from D:\HARBOUR\CONTRIB\HBSSL\ TESTS\HBSSL.LIB|ssl Error: Unresolved external '_SSL_set_msg_callback' referenced from D:\HARBOUR\CO NTRIB\HBSSL\TESTS\HBSSL.LIB|ssl Error: Unresolved external '_RAND_seed' referenced from D:\HARBOUR\CONTRIB\HBSSL \TESTS\HBSSL.LIB|rand Error: Unresolved external '_RAND_add' referenced from D:\HARBOUR\CONTRIB\HBSSL\ TESTS\HBSSL.LIB|rand Error: Unresolved external '_RAND_poll' referenced from D:\HARBOUR\CONTRIB\HBSSL \TESTS\HBSSL.LIB|rand Error: Unresolved external '_RAND_status' referenced from D:\HARBOUR\CONTRIB\HBS SL\TESTS\HBSSL.LIB|rand Error: Unresolved external '_RAND_event' referenced from D:\HARBOUR\CONTRIB\HBSS L\TESTS\HBSSL.LIB|rand Error: Unresolved external '_RAND_screen' referenced from D:\HARBOUR\CONTRIB\HBS SL\TESTS\HBSSL.LIB|rand Error: Unresolved external '_SSL_CIPHER_description' referenced from D:\HARBOUR\ CONTRIB\HBSSL\TESTS\HBSSL.LIB|sslciph hbmk2: Error: Running linker. 2
|
|
|
|
|
| |
Пост N: 7116
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.10.19 16:31. Заголовок: Harbour хоть свежий ..
Harbour хоть свежий ? Win32 OpenSSL v1.1 надо было тянуть если Harbour свежий
|
|
|
|
| |
Пост N: 37
Зарегистрирован: 05.02.19
|
|
Отправлено: 15.10.19 16:43. Заголовок: Harbour хоть свежий ? ....
"Harbour хоть свежий ? " - Harbour 3.2.0dev (r1811161533) сборка от 03.12.2018
|
|
|
|
| |
Пост N: 7117
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.10.19 16:47. Заголовок: на OpenSSL 1.1 перех..
на OpenSSL 1.1 переход был сделан 2018-11-16 16:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) Так что надо смотреть что за версия Harbour у вас
|
|
|
|
| |
Пост N: 38
Зарегистрирован: 05.02.19
|
|
Отправлено: 15.10.19 17:24. Заголовок: У меня сборка для bcc 5.5.1 ....
|
|
|
|
| |
Пост N: 7118
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.10.19 11:29. Заголовок: Aleksandr_D Попробу..
Aleksandr_D Попробуй таким батником (пути поправь если надо) Собираться должно без ошибок , если они есть , что то пошло не так. Батник сложи в ....contrib\hbssl\ set path=C:\bcc55\bin\ SET HB_WITH_OPENSSL=C:\OpenSSL-Win32\include c:\hb32\bin\hbmk2 hbssl.hbp
|
|
|
|
| |
Пост N: 39
Зарегистрирован: 05.02.19
|
|
Отправлено: 16.10.19 12:18. Заголовок: Попробуй таким батником ....
Батник set path=C:\Borland\BCC55\Bin SET HB_WITH_OPENSSL=C:\OpenSSL-Win32\include D:\HARBOUR\bin\HBMK2 hbssl.hbp Те же ошибки/warning Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation hbmk2: Created import library: ssleay32.lib <= C:\OpenSSL-Win32\ssleay32.dll hbmk2: Creating static library... hbssl.lib TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation /P128 hbssl.lib -+ .hbmk\win\bcc\hbssl\hbssl.obj -+ .hbmk\win\bcc\hbssl\ssl_hb con.obj -+ .hbmk\win\bcc\hbssl\ssl_hb.obj -+ .hbmk\win\bcc\hbssl\ssl_inet.obj -+ .hbmk\win\bcc\hbssl\ssl_sock.obj -+ .hbmk\win\bcc\hbssl\bio.obj -+ .hbmk\win\bc c\hbssl\err.obj -+ .hbmk\win\bcc\hbssl\evp.obj -+ .hbmk\win\bcc\hbssl\evpciph.ob j -+ .hbmk\win\bcc\hbssl\evpenc.obj -+ .hbmk\win\bcc\hbssl\evpmd.obj -+ .hbmk\wi n\bcc\hbssl\evppkey.obj -+ .hbmk\win\bcc\hbssl\pem.obj -+ .hbmk\win\bcc\hbssl\ra nd.obj -+ .hbmk\win\bcc\hbssl\ssl.obj -+ .hbmk\win\bcc\hbssl\sslciph.obj -+ .hbm k\win\bcc\hbssl\sslctx.obj -+ .hbmk\win\bcc\hbssl\sslsess.obj -+ .hbmk\win\bcc\h bssl\x509.objWarning: 'hbssl' not found in library Warning: 'ssl_hbcon' not found in library Warning: 'ssl_hb' not found in library Warning: 'ssl_inet' not found in library Warning: 'ssl_sock' not found in library Warning: 'bio' not found in library Warning: 'err' not found in library Warning: 'evp' not found in library Warning: 'evpciph' not found in library Warning: 'evpenc' not found in library Warning: 'evpmd' not found in library Warning: 'evppkey' not found in library Warning: 'pem' not found in library Warning: 'rand' not found in library Warning: 'ssl' not found in library Warning: 'sslciph' not found in library Warning: 'sslctx' not found in library Warning: 'sslsess' not found in library Warning: 'x509' not found in library
|
|
|
|
| moderator
|
Пост N: 1606
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.10.19 12:40. Заголовок: Aleksandr_D пишет: ..
Aleksandr_D пишет: цитата: | Библиотеки собрались: hbssl.lib ssleay32.lib libeay32.lib hbssls.lib |
| Рекомендую пересобрать библиотеки цитата: | ssleay32.lib libeay32.lib |
|
с помощью борландовской утилиты implib: цитата: | if exist ssleay32.dll implib -a ssleay32.lib ssleay32.dll if exist libeay32.dll implib -a libeay32.lib libeay32.dll |
| Aleksandr_D пишет: Это должно помочь решить проблему
|
|
|
|
| |
Пост N: 40
Зарегистрирован: 05.02.19
|
|
Отправлено: 16.10.19 12:58. Заголовок: Рекомендую пересобрать библиотеки ...
gfilatov2002 Батник set path=C:\Borland\BCC55\Bin SET HB_WITH_OPENSSL=C:\OpenSSL-Win32\include D:\HARBOUR\bin\HBMK2 hbssl.hbp if exist ssleay32.dll implib -a ssleay32.lib ssleay32.dll if exist libeay32.dll implib -a libeay32.lib libeay32.dll Результат такой же. Если отдельно запустить батник implib -a ssleay32.lib ssleay32.dll implib -a libeay32.lib libeay32.dll То размер библиотек уменьшается и становиться = 1024. Или я не правильно исполняю строки : if exist ssleay32.dll implib -a ssleay32.lib ssleay32.dll if exist libeay32.dll implib -a libeay32.lib libeay32.dll
|
|
|
|
| |
Пост N: 7119
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.10.19 13:18. Заголовок: DLL сложи в папку гд..
DLL сложи в папку где батник живет
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|