Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Разработка информационных систем Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
Коллеги!
Представляю прототип сетевого хранилища десктопных приложений -
это мой подход к разработке информационных систем в локальных сетях на базе десктопных приложений среды Windows.

Составные части прототипа сетевого хранилища десктопных приложений:
1. Закрытая от клиента база данных, хранящая:
- параметры десктопных приложений (имя приложения, версия, соединение с прикладной базой данных и т.п.),
- параметры клиента хранилища (ФИО, хеш логин, хеш пароля, уровень доступа и т.п.)
2. Сетевая прикладная база данных
3. Шара файлового сервера, хранящая тела десктопных приложений
(тело - упакованная и зашифрованная папка реального десктопного приложения)
4. Шара файлового сервера, хранящая документы (Word, Excel и т.п.) и изображения (фото клиента, фото паспорта и т.п. )
5. Локальный кеш тел десктопных приложений, хранящий небольшое число, популярных у клиента, тел приложений.
6. Клиентское приложение для работы с хранилищем.
Вводим логин, пароль - получаем на экране список доступных приложений.
Выбираем и запускаем приложение из списка (приложение может быть выбрано из локального кеш или подкачено в кеш из хранилища)
Параметры запуска - args[] ( ... и строку соединения с прикладной базой данных и строку доступа к шаре документов)

Пытаюсь не ограничивать ни типы сред разработки десктопных приложений, ни типы прикладных баз данных.
Сам работаю на Visual Studio 2017 Community, язак c#.
Интересно применение Delphi, Java, F#

С уважением,
Владимир
25 мар 17, 13:50    [20331900]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43654
Изобретаешь очередной стим. Ню-ню...
25 мар 17, 14:51    [20331984]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
_Sheraton
Guest
Это примерно как репозитарий в Linux.
25 мар 17, 17:16    [20332214]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
hVostt
Member

Откуда:
Сообщений: 11399
ВМоисеев,

Можно поднять свой нугет. И вообще, см. Octopus.
25 мар 17, 17:20    [20332217]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>hVostt, сегодня, 17:20 Хранилище десктопных приложений.][20332217][/url]
>...И вообще, см. Octopus.

Octopus ? Не, не потянуть.
Да и задача несколько иная. Это ответная реакция на 2.5 года еб...ни с (сопровождения) информационной системой на базе web-интерфейса. Её особенность не только в количественных изменениях, но и в качественных изменениях. К примеру, нужно было дополнить имеющуюся систему подсистемой отображения параметров объектов базы данных на географической карте.
Как мне представляется, здесь не за горами и элементы искусственного интеллекта.
Думаю, что рамках подобных разработок нужно выходить в многоязычную среду.
Да и по мелочи набегают вопросы - например, разумно хранить файлы документов (word, excel) в сжатом виде. Применил zip и получил ошибки в русских названиях файлов. А что будет, если работать с файлом нужно будет и в среде Delphi?

С уважением,
Владимир.
p.s. в перечислении пунктов забыл пункт 1a) - удаленный WCF сервис (а-ля сервер приложений)
25 мар 17, 18:01    [20332264]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>_Sheraton, сегодня, 17:16 [20332214]
>...Это примерно как репозитарий в Linux.

Не знаю, как репозитарии в Linux, в хранилище

- сервер приложений возвращает клиентскому ОПО приложению:
//-- Распаковываем сообщение-ответ
abb = ош.btError[(int)err.errДекомпрессора];
if (!бом.Декомпрессор()) throw new Exception();

//-- Обработка информационного тела сообщения-ответа
abb = ош.btError[(int)err.errПараметрыПриложения];
гп.int_Версия             = бом.xmsToInt();      //-- Получим версию функционального приложения
str_Path                     = бом.xmsToString();  //-- Получим имя файла тела функционального приложения в Хранилище
str_Ключ                   = бом.xmsToString();  //-- Получим ключ архивации тела функционального приложения
str_Соединение         = бом.xmsToString();  //-- Получим строку соединения с информационной базой данных
str_Шара                   = бом.xmsToString();  //-- Получим строку доступа к ресурсу файлового сервера хранения тел приложений
гп.lng_ВремяСервера = бом.xmsToLong();    //-- Получим текущее временя сервера Хранилища


- клиентское ОПО приложение передает прикладному клиентскому приложению:
. . .
//-- Формируем параметры вызова приложения Хранилища 
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "" + гп.pth_Папка_ТФП + "Start.exe" + "";
startInfo.Arguments = "241 " + гп.int_Разрешения.ToString() + " " + гп.tm_Запрос.ToString() 
  + " " + @"""" + str_Соединение + @"""" + " " + @"""" + гп.str_ФИО + @"""" 
  + " " + @"""" + гп.str_Псевдоним + @"""" + " " + @"""" 
  + гп.Шара_ДФП + @"""" + " " + @"""" + гп.pth_Папка_ДФП + @"""";
startInfo.WindowStyle = ProcessWindowStyle.Normal;

//-- Запускаем приложение
strErr = "Ошибка в работе приложения Хранилища";
abb = ош.btError[(int)err.errЗапускаПриложения];
using (Process rar = Process.Start(startInfo)) {
  rar.WaitForExit();
}
. . .


С уважением,
Владимир
25 мар 17, 18:41    [20332344]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
Товарищ старшина
Member

Откуда:
Сообщений: 520
6. Клиентское приложение для работы с хранилищем.
Вводим логин, пароль - получаем на экране список доступных приложений.
Выбираем и запускаем приложение из списка (приложение может быть выбрано из локального кеш или подкачено в кеш из хранилища)
Параметры запуска - args[] ( ... и строку соединения с прикладной базой данных и строку доступа к шаре документов)
...

Лютый треш.
25 мар 17, 19:45    [20332457]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
hVostt
Member

Откуда:
Сообщений: 11399
ВМоисеев,

Хз. Не увидел проблемы. NuGet как репозиторий библитек и приложений. Octopus как система развёртывания. Ну и всё остальное, билд-сервер, стенды, хранилища, базы данных...

Зачем лепить горбатого, когда всё уже есть?
25 мар 17, 21:19    [20332601]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>hVostt, сегодня, 21:19 [20332601]
>...Зачем лепить горбатого, когда всё уже есть?

Клиент вводит логин/пароль и имеет список доступных приложений.
Программист же имеет исходники.
И Хз зачем ему NuGet и Octopus.

С уважением,
Владимир.

К сообщению приложен файл. Размер - 55Kb
25 мар 17, 22:21    [20332756]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
hVostt
Member

Откуда:
Сообщений: 11399
ВМоисеев,

Ты говоришь про какой-то портал, в котором будут ссылки на уже опубликованные приложения, у каждого пользователя набор приложений разный?

Задача конечно капец какая сложная, чтобы её назвать "Великое сетевое хранилище приложений вся Руси"
С этим справится любой студент. Но толку обычно от этого не много.

Или это одна экосистема, где разные приложения работают работают с данными, которые так или иначе связаны с данными и функциональностью других приложений?

Это совсем из другой оперы. Тут подойдёт микросервисная архитектура. И в целом желательно именно так. А не пытаться поженить ужа с ежом.
25 мар 17, 22:31    [20332769]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
hVostt
Member

Откуда:
Сообщений: 11399
Товарищ старшина
6. Клиентское приложение для работы с хранилищем.
Вводим логин, пароль - получаем на экране список доступных приложений.
Выбираем и запускаем приложение из списка (приложение может быть выбрано из локального кеш или подкачено в кеш из хранилища)
Параметры запуска - args[] ( ... и строку соединения с прикладной базой данных и строку доступа к шаре документов)
...

Лютый треш.


Это не просто лютый треш. История стара как мир.
25 мар 17, 22:35    [20332781]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>hVostt, сегодня, 22:31 [20332769]
>...Ты говоришь про какой-то портал...

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

С уважением,
Владимир.
25 мар 17, 23:09    [20332852]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
hVostt
Member

Откуда:
Сообщений: 11399
ВМоисеев
Я говорю про информационную систему в локальной сети, где каждый пользователь имеет доступ только к своему набору прикладных (функциональных) приложений и где разные приложения работают с данными, которые так или иначе связаны с данными (прикладная база данных и документы) других приложений.


Очень интересно, но не взлетит. Требование, чтобы каждое приложение было простым, примитивным и прямым как палка (один экзешник или папка), упирается в суровую действительность. Не надо считать дураками людей, которые за много лет наломали копий и дров в сложных технологиях развёртывания, которые учитывают массу требований и зависимостей, условий, контекстов и времени.

Называть обычную свалку "информационной системой", это сильно, но не убедительно. Разве что только себя можно убедить в этом.

В общем, я поделился своими соображениями. И ещё раз утверждаю, развёртывание приложение это отдельная тема, пример технологий привёл. Установить приложение по клику из шифрованного хранилища, ну да, ну да, когда пользователь этого захотел без админских прав, а не так как это делается у людей по-нормальному, через систему удалённого развёртывания. Это не правильный, вредный и однозначно плохой подход, который прокатит только там, где всем на всё наплевать, каждый делает что ему вздумается.

Ссылки на доступные для пользователей веб-приложения (АРМ), реализуются на корпоративном портале, это уже как дважды два, изобретать что-то своё на эту тему, это приносить больше вреда, чем пользы.
25 мар 17, 23:23    [20332878]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
hVostt
Member

Откуда:
Сообщений: 11399
ВМоисеев
Программист же имеет исходники.


В нормальной адекватной конторе, программист не имеет исходники, они хранятся в общем защищённом репозитрии компании. В нашей суровой дейтсвительности хаоса и бардака, да, программист имеет исходники. И не так давно на sql.ru всплывала тема, когда надо что-то поправить в текущем приложении, а программист ушёл и исходники "потерял", теперь сделать ничего нельзя, только ковыряться в дизассемлере. Очень весело. Зато есть "информационная система". В общем, я бы так не напрягался, печатая столько букв, если бы меня это не задевало. Бесит такой бардак. А потом приходит какой-то очередной умный и лепит очередную "ИС", увеличивая фрагментацию бардака.
25 мар 17, 23:28    [20332886]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>hVostt, сегодня, 22:35 [20332781]
>Это не просто лютый треш ...
Не тех. сайт, а бла-бла-бла салон мадам Шерер.
Лютый треш (мусор) это аналог "хо-хо парниша" в современном изложении.
Что бы давать задание студенту, надо определить функционал системы.
Термин <треш> не функционален.
25 мар 17, 23:31    [20332892]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
Товарищ старшина
Member

Откуда:
Сообщений: 520
hVostt
Товарищ старшина
пропущено...

Лютый треш.


Это не просто лютый треш. История стара как мир.

И в те староглиняные времена подобное также воспринималось как студенческая поделка.
25 мар 17, 23:34    [20332899]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>hVostt, сегодня [20332878], [20332886]
> Очень интересно, но не взлетит.
летит
> В нормальной адекватной конторе ...
Нормальная адекватная контора будет иметь исходники хранилища.

В прототип заложил функционал, который необходим для построения информационной системы, аналогичной сопровождаемой.
Как тест, переписал на c# (WPF) прикладную подсистему. Работает.
25 мар 17, 23:53    [20332924]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>Товарищ старшина, сегодня, 23:34 [20332899]
>И в те староглиняные времена ...
.NET Remoting - 2002 год;
WCF - 2006 год;
26 мар 17, 00:04    [20332932]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
Товарищ старшина
Member

Откуда:
Сообщений: 520
ВМоисеев
>Товарищ старшина, сегодня, 23:34 [20332899]
>И в те староглиняные времена ...
.NET Remoting - 2002 год;
WCF - 2006 год;

Что за бред несете, товарищ.
26 мар 17, 01:27    [20333082]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
Romka-Fes
Member

Откуда: Kyiv
Сообщений: 418
ВМоисеев,

Каким образом у Вас реализована возможность отката до какой-то из старых версий , на выбор пользователя, если "вдруг" новый апдейт "всё сломал"?
26 мар 17, 09:15    [20333317]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
hVostt
Member

Откуда:
Сообщений: 11399
Romka-Fes
ВМоисеев,

Каким образом у Вас реализована возможность отката до какой-то из старых версий , на выбор пользователя, если "вдруг" новый апдейт "всё сломал"?


По-моему, это глупый вопрос в контексте обсуждаемый "ИС" ))
26 мар 17, 12:13    [20333586]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>Romka-Fes, сегодня, 09:15 [20333317]
>Каким образом у Вас реализована возможность отката до какой-то из старых версий , на выбор пользователя ...

В моем случае пользователь не решает ни-че-го.
Откатиться может администратор, заменив тело приложения в хранилище и поменяв номер версии.

С уважением,
Владимир.
26 мар 17, 12:22    [20333601]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1486
>Товарищ старшина, сегодня, 01:27 [20333082]
>Что за бред несете, товарищ.

Что бы запретить прямой доступ пользователя к базе данных хранилища (строка соединения) вынужден воспользоваться вызовом удаленного метода (WCF).
26 мар 17, 12:29    [20333618]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43654
Вот чего я не пойму, так это чем система ТСа лучше простого использования штатных политик Windows по установке ПО и trusted authentification для баз данных.
26 мар 17, 13:58    [20333746]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище десктопных приложений.  [new]
mikron
Member

Откуда: Germany / Stuttgart
Сообщений: 592
ВМоисеев,

Ты описал функционал какой-то системы, но кого это интересует?
Ты лутше напиши: зачем оно вобще нужно? Какую проблему решает?
Деньги экономит, время или где жизнь упрошяет?
27 мар 17, 11:13    [20336020]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Разработка информационных систем Ответить