Преимущества
- Единый интерфейс для администрирования серверов 1С любых версий 8.3.
- Работа через web в любых браузерах, на любых устройствах и ОС.
- Возможность расширения функционала в пределах существующего 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 в списке релизов.
Что можно сделать в перспективе, кроме стандарных функций консоли администрирования
- Групповые процедуры - например, установка блокировки на ряд баз, создание нескольких баз и т.д. и т.п.
- Создание ролевой модели и разделение прав на функции (например, доступ только к определенным базам, или только просмотр без внесения изменений, ...)
- 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 в шифрованном виде.
Несколько скриншотов из интерфейса
Основное окно с деревом администрируемых серверов и выводимой информацией.
Открытие карточки ИБ из списка: