metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-16 03:42 pm

Кто-то тупой, или я или гвозди

Сижу изучаю различные варианты реализации middle-tier, который планируется использовать в будущем для нескольких проектов. Решил пересилить свой страх и взглянуть на J2EE. А надо сказать, что для неподготовленного ума ентерпрайз жаба выглядит совершенно ирреально бредовой: миллиарды фреймворков, утилит, серверов, сотни страниц документации, проекты на ней содержат over 9000 папок и мелких исходников и xml-конфигов и вообще я не уверен, что в здравом уме и имея некую начальную свободу выбора инструментов, с этим стоит вообще связываться.

Начал искать что-нибудь вроде "J2EE для начинающих с пошаговыми инструкциями". Нашел AppFuse. Вроде все описано понятно, есть QuickStart, написано откуда качать зависимости, итд, итп. Но таки вы будете смеятся - но я не могу найти, где качать исходники этого дела. Ссылки "Download" на сайте нету.

Я, конечно, счас попытаюсь произвести описанные там вуду-ритуалы, может мавен тот все что нужно сам скачает, но то, что начинать приходится с вуду-действий, как-то печалит.

Вообще говоря, у меня уже есть почти полностью готовая основа для этого миддл-тиера, на которой я бы проект сделал очень быстро: Firebird+Delphi+ASP.NET RESTful веб-сервис. Но проблема в том, что это означает полную и окончательную привязку проектов к виндам, отказ от любых потенциальных работ с юниксами в будущем и сгнаивание мозга до состояния "сеньор-фокспро-девелопер в ВЦ НИИ Говна и Торфа, 50 лет, 30 лет опыта рисования формочек в дизайнере".

Кроме того, если дать объявление "требуется разработчик на дельфи" - приходят такие долбаные мышевозы с паттернами "magic button" что рыдать хочется, соответственно шансов на то, что хотя бы когда-нибудь я займусь только архитектурой и управлением проектами, вместо того, чтобы самостоятельно писать код, внедрять и обслуживать - не останется никаких.


PS: Есть кстати, еще одна, еще более неадекватная альтернатива: сойти с ума и ударится в нетривиальщину вроде ерланга и хаскеля, начать писать самодельный миддл-тиер на чистом С и изобретать прочие велосипеды. То, что это гарантированно будет легче для нервной системы, чем J2EE и ASP.NET, я уверен. Там комьюнити меньше и не будет такого, что половина интернетов забита разнообразными фреймворками, каждый из которых настолько наворочен, что позволяет не писать код, а всего лишь парой сотен xml-конфигов сделать любое приложение.
Я вспоминаю 90-е годы, когда никаких интернетов не было, проекты были более мелкие и выбора "на чем писать" особо не было, можно было велосипеды изобретать хоть годами.

В этом, кстати, и проблема с J2EE - я уверен, что 83% авторов готовых фреймворков думают совершенно не так как я, то бишь неправильно, хаскель не изучали, и вообще делали эти фреймворки по наитию левой задней пятки.

Вот, к примеру: я считаю, что любой, кто сталкивался с статической типизацией и выводом типов, резко перестанет делать проекты "мегапереконфигурируемыми" с помощью сотен xml-конфигов, т.к. это выносит проверку правильности с времени сборки на время деплоймента и запуска. Ошибся в xml-файле в одной букве и вешайся, читай 100-строчные стеки вызовов и это еще хорошо, если у тебя доступ к продакшен-серверу есть.

[identity profile] volodymir-k.livejournal.com 2009-12-16 09:46 pm (UTC)(link)
Мой совет, человека со стажем, именно в спринге 2 на томкате. Это мейнстрим, хорошая основа, масштаб от 2 до 2000 форм и т.д.

[identity profile] metaclass.livejournal.com 2009-12-16 09:54 pm (UTC)(link)
Это речь о приложениях с веб-интерфейсом?
У меня просто немного отличающаяся задача, веб-сервис и rich-gui-клиент, т.е. веб-интерфейс там вторичен.
Хотя если веб-интерфейс там окажется сделать проще, чем рисовать гуй в клиенте, может это и к лучшему.

[identity profile] henu3detb.livejournal.com 2009-12-17 12:01 pm (UTC)(link)
Если ваш клиент будет на джаве и вам не сильно нужен http для ремоутинга, то http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/remoting.html#remoting-rmi.

[identity profile] volodymir-k.livejournal.com 2009-12-19 01:34 am (UTC)(link)
В парадигме mvc спринг -- это организация контроллера и отделение от view. То есть можно на основе одного ява-контроллера иметь и веб-морду, и soap, и жаваскрипт-аякс-json. Одновременно. Или даже не одну, а много.

Для написания веб-интерфейса там помощи немного. Есть теги, но их не надо использовать. JSTL гораздо лучше.