Pull to refresh

Comments 15

Смысл делать из пользовательских машин (Web-)сервисы я не уловил.

Зачем это надо пользователям?
Понятно что веб-приложение не будет ставится на каждую машину в сети — но даже на эту одну единственную — кто-же должен поставить?
«Deploy» — это операция копирования WAR-файла в папку Web-контейнера/Web-сервера с последующей автораспаковкой содержимого в рабочий каталог сервера. Последняя операция осуществляется без участия администратора — дело администратора только предоставить WAR-файл.

Куда уж проще?
Можно провести опрос на Хабре (притом что Хабр — достаточно специфичная аудитория) «Знаете ли вы что означают слова „Deploy“ и „Web-Container“» — хорошо если наберется половина (при том что — еще раз — Хабр — публика очень специфичная — достаточно много Java-программистов)
Можно сколько угодно проводить опросов, но спецификация JEE (фактически — отраслевой стандарт) написана не для того, чтобы принимать или отвергать её решения простым голосованием на форуме слаборазбирающимися в этом вопросе потенциальными пользователями.
Вопрос в голосовании — не в том что бы отвергать или утверждать стандарт (не мы создавали этот стандарт — не нам его и отвергать) а понять сколько людей понимают — о чем идеть речь

Я приводил пример с голосованием — просто что бы показать — что даже на хабре может найтись большое количество людей — которые не знают что-такое Deploy и Web-Container (Servlet-Conatiner).
И упаси меня бог отменять J2EE — это же рубить сук на котором сидишь! Я же благодаря этим отраслевым стандартам себе на жизнь зарабатываю (за что им — стандартам этим — огромное спасибо!)
Можно сколько угодно проводить опросов, но спецификация JEE (фактически — отраслевой стандарт) написана не для того, чтобы принимать или отвергать её решения простым голосованием на форуме слаборазбирающимися в этом вопросе потенциальными пользователями.
Зачем это потребовалось именно мне. Занимаясь разработкой EmForge (система управления проектами) — целевая аудитория которого на данный момент — это team-leader-ы, project manager-ы, которые мог ли бы заинтерисоваться им и захотели бы попробовать я столкнулся с тем, что действительно далеко не все из них работают в J2EE, и готовы тратить время на разбирательство куда надо засунуть этот *.war что бы это заработало. Вот для таких случаев очень сильно пригодился msi — и как показывает статистика на SourceForge — больше половины закачек — именно msi а не war — значит все-таки надо.

Ну а если еще кому-нибудь пригодится — то и хорошо :)
У каждого Web-контейнера есть «админка», используя которую администратор сервера приложений может указать путь к WAR-файлу, загрузить его на сервер и запустить на нём. Никакие другие непривелегированные пользователи деплоинг JEE-приложения делать не должны — это противоречит самой системе безопасности Java.

И процесс развёртывания явно специфицированный и не привязан к конкретной платформе (Windows, Unix, etc.).

Вы же предлагаете:
1) обеспечить любому пользователю с административными правами в системе инсталлировать приложения, которые к Windows по сути не имеют никакого отношения (выполняются в контейнере и могут мигрировать по сети на другие сервера, отличные от Windows)
— администратор ОС не то же самое, что администратор сервера! — запомните это.

2) привязать JEE-приложение к конкретной операционной среде Windows, что не является правильным и противоречит принципам Java «WORA»
— мобильность и кластеризуемость JEE-приложений под угрозой.
1) С чего Вы взяли, что в сети уже установлен сервер приложений? Компания просто желает поставить веб-решение для управлением проектом. Если у них нет в сети ни одного сервера приложений, почему бы не предоставить один файл, с инструкцией из одного пункта, избавив от ненужных терминов

2) Опять же, разве кто-то запретил скачивать WAR?

Инсталятор — это средство для популяризации проекта. Увидив знакомый msi — намного больше народу захотят это попробовать.
Все правильно. Для того эе EmForge — msi с Windows Installer-ом, zip — с Jetty-bundled решением и WAR — для деплоя на уже установленный сервер лежат рядом — каждый выбирает что ему лучше подходит.

Понятное дело — что если у кого-то уже стоит какой-либо сервер приложений — понятно что такому пользователю будет удобней скачать вар и задеплоить его — вместо того что бы заводить еще один сервис. Но практика показывает — значительно больше людей у которых никакого сервера нет — а их интерисует именно продукт (а не технология, на которой он написан)
Спасибо за статью, ждем второй части
Можно ли в установке сконфигурировать сервер/приложение? Например порт jetty, пути к базе,…
Об этом следующей части — но пока нет — порт по умолчанию, база — встроенный HSQL. Все это можно сделать — но надо глубже копать в WiX.

Так что пока — только простейшее решение — поставил, сконфигурил как сервис, корректно удалил. Но опять-таки — об этом в следующей части (сегодня попозжее напишу)
Sign up to leave a comment.

Articles