В настоящий момент это демонстрация технологии и поиск оптимальных алгоритмов, а не готовое для использования решение.
В перспективе хотелось бы позиционировать как полноценную замену стандартной консоли администрирования.
Преимущества
- Единый интерфейс для администрирования серверов 1С любых версий 8.3.
- Работа через web в любых браузерах, на любых устройствах и ОС.
- Возможность расширения функционала в пределах существующего API.
Принципиальная схема работы
Получается этакая матрешка, но тестовый период показывает высокую стабильность работы.
Можно было бы, конечно, все написать на JAVA, но моего текущего уровня недостаточно на создания JAVA веб-приложения.
Поэтому существующий «Программный Java-интерфейс для административного сервера» был сконвертирован в .NET библиотеку с помощью IKVM.NET. А полученная библиотека уже использована при создании стандартного asp.net приложения.
Для чего опубликовано сырое решение?
Конечная цель — создать продукт, полезный массовому пользователю. К сожалению, времени для полностью единоличной работы над проектом у меня недостаточно, поэтому, если идея интересна сообществу — хотелось бы довести его до ума усилиями желающих по стандартной opensource схеме без преследования коммерческого интереса.
Исходные коды
Актуальная версия доступна на github — https://github.com/alekseybochkov/WebRAS/
Для работы с исходными кодами требуется Visual Studio 2025 с поддержкой Visual Basic (Visual Studio 2025 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 Files1cv88.3.6.2299in
as.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 в шифрованном виде.
Несколько скриншотов из интерфейса
Основное окно с деревом администрируемых серверов и выводимой информацией.
Открытие карточки ИБ из списка:
(0) Интересно.
https://ru.wikipedia.org/wiki/GNU_General_Public_License
>Опубликовано по лицензии GNU GPL —
Рекомендую положить в репозитарий на Гитхаб файл этой лицензии для решения вопросов «по стандартной opensource схеме без преследования коммерческого интереса.»
(1) artbear,
Спасибо, добавил.
Заплюсовал. Интересно!
(0) А что конкретно в ней сырое и недоделанное? Что нужно доделать для более-менее приемлемого использования?
(4) Evil Beaver, переписать все на джава — убрать все лишнее.
(5) minimajack, ну это как вариант. Но если переписать на JAVA, то отсутствующая функциональность не появится же, верно? Я спрашиваю, чего не хватает с точки зрения пользователя.
(6) Evil Beaver, на некоторых кнопочках написано «(не работает)» …по идее как раз то и значит
(1), (3) — отлично, тогда буду допиливать постепенно на выходных.
(4) Проще сказать что есть, чем чего нет :).
Пока только можно:
— посмотреть список сессий и убивать их по одной.
— посмотреть список соединений и процессов
— посмотреть список баз и открыть ее карточку.
Надо доделать весь основной функционал консоли 1С:
— создание и редактирование баз
— групповое удаление сеансов
— добавлениеудалениередактирование серверов, кластеров
и т.д. и т.п.
Хотя я уже и в таком виде вполне активно использую.
(6) На JAVA надо будет проделать точно такую же работу — написать весь интерфейс. 1С предоставляет только API к серверу администрирования в виде JAVA библиотек.
Не мог бы уважаемый автор описать отличие данной разработки от существующей консоли администрирования 1С.
(9) Dragonim,
В самом начале под заголовком «Преимущества».
(10)
1. Не понял про единый интерфейс. У 1С разве интерфейс отличается от версии к версии (в рамках 8.3)?
2. Стандартную консоль надо поставить на компьютер с windows и зарегистрировать, а вашем случае необходимо поднять веб сервер?
3. API это хорошо, но где бы прочитать его функциональность и возможность?
А лицензии при этом не нарушаются? Я так понимаю, конвертация предполагает декомпиляцию…
Для создания службы предлагается такой код:
У меня получилось создать службу только после убирания кавычек и добавления пробелов:
Но это скорее к вопросу возможности копипасты кода.
Вот такая ошибка, можете подсказать что делать?
Строка 28: <compilation debug=»true» targetFramework=»4.5″>
Строка 29: <assemblies>
Строка 30: <add assembly=»System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91″ />
Строка 31: </assemblies>
Строка 32: </compilation>