gifts2017

Альтернативная Консоль администрирования сервера 1С 8.3

Опубликовал Алексей Бочков (Aleksey.Bochkov) в раздел Администрирование - Системное

Первый прототип web-приложения для администрирования серверов 1С через api сервера администрирования.
В настоящий момент это демонстрация технологии и поиск оптимальных алгоритмов, а не готовое для использования решение.
В перспективе хотелось бы позиционировать как полноценную замену стандартной консоли администрирования.

Преимущества

  1. Единый интерфейс для администрирования серверов 1С любых версий 8.3.
  2. Работа через web в любых браузерах, на любых устройствах и ОС.
  3. Возможность расширения функционала в пределах существующего API.

Принципиальная схема работы

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

Можно было бы, конечно, все написать на JAVA, но моего текущего уровня недостаточно на создания JAVA веб-приложения.

Поэтому существующий "Программный Java-интерфейс для административного сервера" был сконвертирован в .NET библиотеку с помощью IKVM.NET. А полученная библиотека уже использована при создании стандартного asp.net приложения.

Для чего опубликовано сырое решение?

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

Исходные коды

Актуальная версия доступна на github - https://github.com/alekseybochkov/WebRAS/

Для работы с исходными кодами требуется Visual Studio 2015 с поддержкой Visual Basic (Visual Studio 2015 Community Edition бесплатна!).

Опубликовано по лицензии GNU GPL - https://ru.wikipedia.org/wiki/GNU_General_Public_License

Любые привнесенные улучшения в код должны быть опубликованы в открытый доступ.

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

Что можно сделать в перспективе, кроме стандарных функций консоли администрирования

  1. Групповые процедуры - например, установка блокировки на ряд баз, создание нескольких баз и т.д. и т.п.
  2. Создание ролевой модели и разделение прав на функции (например, доступ только к определенным базам, или только просмотр без внесения изменений, ...)
  3. API для выполнения каких-либо задач из внешних приложений путем отправки HTTP-запросов в JSON-формате.

Установка RAS-сервера администрирования

 Сервер администрирования (Remote Administrative Server / RAS) должен быть установлен отдельно для каждого существующего сервера приложений 1С. Версии сервера приложений и сервера администрирования должны совпадать.

Для установки RAS-сервера в качестве службы можно использовать следующую команду:

sc create "1C:Enterprise 8.3.6.2299 RAS (1545)" binpath="\"C:\Program Files\1cv8\8.3.6.2299\bin\ras.exe\" cluster 
--service --port=1545 localhost:1540" displayname="1C:Enterprise 8.3.6.2299 RAS (1545)"

Хранение пользовательских данных

1) Не конфиденциальные данные (все, что не касается паролей) сохраняются на сервере в файлах типа "/App_Data/{USER-ID}.json", где USER-ID - уникальный доменный идентификатор пользователя Windows.

2) Конфиденциальные данные сохраняются в браузере пользователя в cookies в шифрованном виде.

Несколько скриншотов из интерфейса

Основное окно с деревом администрируемых серверов и выводимой информацией.

Открытие карточки ИБ из списка:

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Архив веб-сайта с исходниками и библиотеками
.zip 10,61Mb
13.11.15
11
.zip 0.1 10,61Mb 11 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Артур Аюханов (artbear) 13.11.15 09:42
(0) Интересно.
>Опубликовано по лицензии GNU GPL - https://ru.wikipedia.org/wiki/GNU_General_Public_License
Рекомендую положить в репозитарий на Гитхаб файл этой лицензии для решения вопросов "по стандартной opensource схеме без преследования коммерческого интереса."
Aleksey.Bochkov; +1 Ответить 2
2. Алексей Бочков (Aleksey.Bochkov) 16.11.15 02:18
(1) artbear,
Спасибо, добавил.
3. Андрей Овсянкин (Evil Beaver) 18.11.15 14:14
Заплюсовал. Интересно!
4. Андрей Овсянкин (Evil Beaver) 19.11.15 15:57
(0) А что конкретно в ней сырое и недоделанное? Что нужно доделать для более-менее приемлемого использования?
5. Евгений Ванжула (minimajack) 19.11.15 16:00
(4) Evil Beaver, переписать все на джава - убрать все лишнее.
6. Андрей Овсянкин (Evil Beaver) 19.11.15 16:14
(5) minimajack, ну это как вариант. Но если переписать на JAVA, то отсутствующая функциональность не появится же, верно? Я спрашиваю, чего не хватает с точки зрения пользователя.
7. Евгений Ванжула (minimajack) 19.11.15 16:18
(6) Evil Beaver, на некоторых кнопочках написано "(не работает)" ...по идее как раз то и значит
8. Алексей Бочков (Aleksey.Bochkov) 19.11.15 20:43
(1), (3) - отлично, тогда буду допиливать постепенно на выходных.

(4) Проще сказать что есть, чем чего нет :).
Пока только можно:
- посмотреть список сессий и убивать их по одной.
- посмотреть список соединений и процессов
- посмотреть список баз и открыть ее карточку.

Надо доделать весь основной функционал консоли 1С:
- создание и редактирование баз
- групповое удаление сеансов
- добавление\удаление\редактирование серверов, кластеров
и т.д. и т.п.

Хотя я уже и в таком виде вполне активно использую.

(6) На JAVA надо будет проделать точно такую же работу - написать весь интерфейс. 1С предоставляет только API к серверу администрирования в виде JAVA библиотек.
9. Dim Dragonim (Dragonim) 20.11.15 13:17
Не мог бы уважаемый автор описать отличие данной разработки от существующей консоли администрирования 1С.
10. Алексей Бочков (Aleksey.Bochkov) 20.11.15 18:03
(9) Dragonim,
В самом начале под заголовком "Преимущества".
11. Dim Dragonim (Dragonim) 21.11.15 12:53
(10)
1. Не понял про единый интерфейс. У 1С разве интерфейс отличается от версии к версии (в рамках 8.3)?
2. Стандартную консоль надо поставить на компьютер с windows и зарегистрировать, а вашем случае необходимо поднять веб сервер?
3. API это хорошо, но где бы прочитать его функциональность и возможность?
12. Игорь <...> (I_G_O_R) 07.04.16 23:54
Поэтому существующий "Программный Java-интерфейс для административного сервера" был сконвертирован в .NET библиотеку с помощью IKVM.NET.


А лицензии при этом не нарушаются? Я так понимаю, конвертация предполагает декомпиляцию...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа