Вопрос или проблема
Условия:
- Мне нужно, чтобы база данных была небольшой и обеспечивала многопользовательский доступ
- Мне нужно серверное и клиентское программирование/скриптинг
- Мне нужно, чтобы это было без лицензии – или с низкой стоимостью, но с разумной безопасностью
- Мне нужно, чтобы это поддерживало несколько типов браузеров
Пример:
В данный момент я использую комбинацию:
- MySQL
- VisualStudio2013 c#/asp.net
- JavaScript (не jscript)
- IIS
Пока только VS13 использует лицензию, которая была приобретена до появления требований.
У меня были трудности с тем, чтобы заставить работать все функции, частично потому, что я еще не знаком с этими системами.
В прошлом я использовал Oracle SQL с ColdFusion, но у нас также был внутренний набор инструментов, который мы использовали для развертывания.
Рекомендации по экономически эффективным решениям приветствуются. Независимо от метода, мне придется изучить это, чтобы получить необходимую Familiarity.
Дополнительные ограничения:
- У меня нет возможности выбора операционных систем.
- В настоящее время доступны: Windows 7 и Windows Server 2012 R2
Я предпочитаю Apache с mod_proxy. Недавно я установил систему с Jira, Confluence и Mattermost. База данных была PostgreSQL. Все приложения скрыты за Apache и mod_proxy. Вы можете легко расширить эту настройку с помощью скриптов Node.js на стороне сервера, реализующих некоторые REST API, к которым можно получить доступ со стороны клиента с помощью программ на JavaScript. Confluence можно расширить, чтобы включить запросы к базе данных в вики-таблицы.
Ответ или решение
Эффективные инструменты для хостинга интранет-сайта
Создание и хостинг интранет-сайта требуют внимательного выбора инструментов, которые соответствуют всем вашим требованиям. На основе предоставленных вами условий, я настоятельно рекомендую следующую комбинацию технологических стеков, которая не только будет доступна по стоимости, но также поможет обеспечить стабильность и безопасность ваших приложений.
1. База данных: PostgreSQL
Почему PostgreSQL?
- Лицензия: PostgreSQL является системой управления базами данных с открытым исходным кодом, что позволяет избежать лицензионных затрат.
- Мультипользовательский доступ: PostgreSQL хорошо справляется с задачами параллельного доступа, что идеально подходит для небольшой группы пользователей.
- Безопасность: Эта СУБД имеет множество встроенных функций безопасности, таких как поддержка SSL и ролевая схема доступа.
2. Серверная разработка: Node.js и Express.js
Почему Node.js и Express.js?
- Лицензия: Оба инструмента являются бесплатными и с открытым исходным исходным кодом.
- Гибкость: Node.js позволяет легко создать серверные приложения, а Express.js добавляет уровень привлекательности и легкости для создания API.
- Удобство работы с REST: С их помощью можно быстро разрабатывать RESTful API, что позволит интегрировать разные сервисы и обеспечивать взаимодействие между клиентом и сервером.
3. Клиентская разработка: JavaScript и фреймворк Vue.js
Почему JavaScript и Vue.js?
- Совместимость с браузерами: JavaScript является основным языком веб-разработки, который поддерживается всеми современными браузерами.
- Легкость в изучении: Vue.js имеет простую интеграцию и легкий для изучения синтаксис, что упростит процесс разработки клиентской части вашего приложения.
- Производительность: Vue.js обеспечивает высокую производительность и отзывчивость интерфейса, что повысит пользовательский опыт.
4. Веб-сервер: Apache с модулями mod_proxy
Почему Apache?
- Широкая поддержка: Apache хорошо работает как на Windows, так и на Unix-подобных системах, что делает его универсальным решением.
- Масштабируемость и гибкость: Используя mod_proxy, вы можете легко настроить систему для работы с различными веб-приложениями через один интерфейс.
- Расширяемость: Вы сможете добавлять новые модули и расширения по мере необходимости, что позволяет адаптировать сервер под ваши растущие требования.
Рекомендуемая архитектура
-
Слежение за пользователями и аутентификация:
Используйте JWT (JSON Web Tokens) для безопасной аутентификации и передачи данных между клиентом и сервером. -
Связь между компонентами:
Создайте REST API с использованием Node.js и Express.js, чтобы ваше клиентское приложение на Vue.js могло получать и отправлять данные в PostgreSQL. -
Защита и безопасность:
Настройте SSL для вашего сервера Apache, чтобы обеспечить шифрование данных между клиентом и сервером. -
Хостинг:
Используйте Windows Server 2012 R2 для размещения вашего Apache, Node.js и PostgreSQL. Это обеспечит простоту настройки и удобство управления.
Заключение
Предложенный набор инструментов обеспечивает экономичное решение для хостинга интранет-сайта с поддержкой многопользовательских баз данных и разнообразных языков программирования. При этом вам не придется беспокоиться о лицензионных затратах, а комбинация PostgreSQL, Node.js, Express.js, Vue.js и Apache предоставит все необходимые функции для создания безопасного и эффективного веб-решения. Не забудьте уделить внимание безопасности и обновлениям сервера, чтобы поддерживать высокие стандарты качества и производительности вашего интранет-сайта.