100500 стандартов, что означает что часто можно выпилить целые фреймворки, заменив на другие, не меняя код.
Очень мощная интеграция с горами форматов, протоколов.
Готовая архитектура, в которой заключены best-practicies серьезных приложений. Всякие кластеризации, распределенные транзации, управление securty
Простой ЯП, который заточен на то, чтобы при превышении количества в сотни тысяч строк еще можно было понимать кода, проводить по нему навигацию, вместо плакать и звать маму. Так же «дефолтный» ЯП не дает возможности развернуться фантазии оригиналов, которые могли бы запутать код дальше некуда. Но с другой стороны на JVM есть мощные мультипарадигменные языки для тех проектов, где это уместно. Сам язык Java развивается по принципу «это не нужно, не добавляем, пока вообще ни припечет»
Есть стандартные интерфейсы и спеки на любой пук. Их имплементируют куча решений, как открытых так и коммерческих, с прекрасной поддержкой.
Например, взять сервлеты, они везде *одни-и-те-же*, на любом аппсервере. То есть, если программист работал на томкате, он с тем же успехом будет работать везде — это прекрасной свойство.
Свобода выбора поставщиков ПО и исполнителей с минимальными рисками — энтерпрайзный рай.
Всякие кластеризации, распределенные транзации, управление securty
EJB, JTA ну а security - отдельная тема. Просто почитайте убермануал. Но существует не только он, это просто то, что искаропки в Java EE. Существует куча сторонних фремворков, многие от Apache. Так же Spring, очень популярен в Java мире IoC
как нам говорил препод на курсах j2ee про бины
«вы пишите код, передаёте его в сервер приложений, и тут он творит тёмную магию - код начинает работать, если посмотреть на то, что получилось из вашего кода внутри контейнера - вы почти не увидите своего кода»
потому порог вхождения очень низок - достаточно 2-х недельных курсов по j2ee и всё, можно писать
Вполне. Но конейнер разработан для Java классов. То, что там добавили в Clojure может в виде Java кода смотреться необычно. Лучший способ - написать обертку на Java к вашей либе на Clojure и интегрировать код Java с инфраструктурой JavaEE.
Пример. В JavaEE чтото нужно обозначить аннотацией. Куда вы ее приклеите в Clojure? Можно прицепить на оборачивающий Java класс. То же самое с конвенцией JavaBeans
Самое главное - она уже есть и уже работает. Как язык ее мог бы заместить *любой* статически типизированный, C-like с виртуальной машиной, без необходимости напрямую работать с памятью. А все что необходимо было для успеха платформы - пиар, куча спек и стандартов (в бизнесе все пугливые и строго _против_ яйцеголовых технологий - бизнес инертен), пусть даже неудачных, унылых и откровенно кривых, но «шоб було». Единственное «достоинство», и то сомнительное, Java как языка для ынтерпрайза - это возможность писать особо не напрягая мозг, как итог - обширный рынок по написанию «внутрикорпоративных crm», «инновационных систем документооборота и контроля бизнес-процессов», клиент-банков и прочей унылой формошлепской голимотьи.
Безусловно, у java-стека есть задатки для успеха на ниве интерпрайза. Тут уже как-то спрашивали что такое интерпрайз-технологии, и я отвечал, что под интерпрайзом обычно понимают технологии с минимумом рисков. Так бывает, когда далекие от IT люди все же вынуждены заниматься IT. Java дает некую иллюзию защищенности, уверенности, что чужие дяди подумали за тебя и все сделал как нужно. Что в общем-то не далеко от истины. Однако если разбираться по существу, любая более-менее популярная технология годится для бизнес-задач. К примеру у нас на работе после почти 10 лет явы и вообще довольно интерпрайзных задач с ростом средней квалификации разработчика (не иллюзорно тут помог кризис - от всех тупарей избавились) закрались сомнения по поводу монополии ява-технологий (.net не рассматривался, так как у нас сплошной опенсоурс). В итоге последние проекты фигачатся на питоне, и вполне годно и надежно выходит. Но все равно тут квалификация решающую роль сыграла: код у нас принято тестами покрывать, так что защита статической типизации уже особо не нужна. Качество же питонячих либ, как и интерпретатора вполне сносное: сегфолтов не было, память не течет, все работает. Бизнес одобряет.