metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2008-11-14 06:52 pm

Сервера приложений

Периодически на работе всплывает вопрос: а не завести ли нам манула? а не переселить ли приложения на трехзвенную архитектуру ради большей адекватности серверной части и убирания части логики с клиентской.

Но все это натыкается на то, что единственный сервер приложений на слуху - это JBoss, затраты от переписывания всего этого на жабу превысят потенциальные улучшения, а мысль о том, что придется деплоить это в условиях предприятий, где ИТ-службы или нет, или она состоит из адептов экзотических сортов клея, сразу оставливает любое желание что-либо делать.

В связи с этим, имеется вопрос: если не жаба и не дотнет, и не веб-интерфейсы, а нормальная трехзвенка - субд, аппсервер, более-менее интеллектуальный клиент и все это предпочительно кроссплатформенное - на чем такое вообще писать? И какая должна быть архитектура подобной вещи, а особенно - какая модель данных, какая парадигма программирования и в каком виде гонять данные между клиентом и аппсервером, чтобы это не оказалось очередной инкарнацией СуперУниверсальнойСистемыДляВсего, на которой сделать что-либо сложнее, чем это же склепать по быстрому с нуля вручную :)

Re: без обид

[identity profile] metaclass.livejournal.com 2008-11-15 07:10 am (UTC)(link)
Если делать на Java, то идея хорошая. Хотя я бы предпочел взять на работу этих самых профессионалов, чтобы потом их не искать для доработок:)

Re: без обид

[identity profile] alexey-rouban.livejournal.com 2008-11-15 07:18 am (UTC)(link)
> Хотя я бы предпочел взять на работу этих самых профессионалов, чтобы потом их не искать для доработок:)
Да, так чаще всего и делают.

[identity profile] thesz.livejournal.com 2008-11-15 11:07 am (UTC)(link)
Erlang?

[identity profile] sergiej.livejournal.com 2008-11-15 11:39 am (UTC)(link)
Это стереотип, поставь гласфиш с нетбинсом и сделай туторный проект. Если тебе не нужны конфиги для своего приложения то то что нужно серверу управляется из консоли без лазания по файлам. В веблоджике пожалуй даже круче но он платный.

[identity profile] sergiej.livejournal.com 2008-11-15 11:46 am (UTC)(link)
Вот я работаю с одним уже готовым приложением, "добавить поле в таблицу/добавтиь поле в объект/добавить поле в интерфейс", J2EE + умный фреймворк - это занимает 15 минут, я недавно именно такой сценарий демонстрировал и сам удивился :)

[identity profile] metaclass.livejournal.com 2008-11-15 11:52 am (UTC)(link)
О, а что за умный фреймворк и как это все выглядит?

[identity profile] sergiej.livejournal.com 2008-11-15 11:59 am (UTC)(link)
Секрет, да и нет возможности его использования, он поставляется исключительно с этим приложением. Уверен что есть другие, не менее хитрые, просто я ими не занимался.

[identity profile] metaclass.livejournal.com 2008-11-15 12:12 pm (UTC)(link)
Хехе, я так и знал, что все полезное это исключительно собственные разработки :)

[identity profile] sergiej.livejournal.com 2008-11-15 12:17 pm (UTC)(link)
Будет. Через несколько лет SUN будет примерно там где теперь эти фичи. Пришёл же он сегодня с глассфишем на уровень веблоджика пятилетней давности.

[identity profile] pete-by.livejournal.com 2008-11-15 12:25 pm (UTC)(link)
В целом соглашусь, можно обойтись и без JEE серверов.
Сам использую Tomcat, Spring, Hibernate/Spring JDBC + тот же Generic Dao, Spring'овские же декларативные транзакции и конфиги, Apache Commons библиотеки, куда уж без них :-). Насчет пула соединений, почему-то кажется, что в jdbc-драйверах последние пару лет есть собственные механизмы для этого. Для веб интерфейса GWT или Flex (этот больше нравится). Для сборки Maven 2 или Ant.

[identity profile] slonopotamus.livejournal.com 2008-11-15 12:35 pm (UTC)(link)
Пулы может и есть, но так получается единообразно для всех баз. И смена бд - вопрос трёх-четырёх строчек в конфиге.

Re: без обид

[identity profile] pete-by.livejournal.com 2008-11-15 12:43 pm (UTC)(link)
Есть знакомый Java Architect (один из первых в РБ сдавший на SCEA), опыта работы, наверное уже лет 8. Человек прошареный, вменяемый и, что немаловажно, ответственный. Конечно, как хороший спец, без дела он не сидит, но думаю спроектировать архитектуру и, возможно, скелет системы реализовать может. Контакт могу скинуть, если интересно.

[identity profile] metaclass.livejournal.com 2008-11-15 01:33 pm (UTC)(link)
Хотя, если посмотреть на quickstart от AutoDAO, все выглядит проше :)

[identity profile] slonopotamus.livejournal.com 2008-11-15 04:14 pm (UTC)(link)
Ну я постарался слегка улучшить их идею. Вот только всё никак руки не дойдут нормально задокументировать.

[identity profile] tonal.myopenid.com (from livejournal.com) 2008-11-16 07:56 am (UTC)(link)
ACE + TAO?

[identity profile] tonal.myopenid.com (from livejournal.com) 2008-11-16 08:00 am (UTC)(link)
Ну и Qt в качестве GUI. :-)

[identity profile] blackyblack.livejournal.com 2008-11-17 08:16 am (UTC)(link)
Из серверов приложений знаю Zope. Насколько я понимаю, вещь довольно сырая, но может быть действительно получится упростить развёртывание приложений.

[identity profile] henu3detb.livejournal.com 2008-11-17 02:45 pm (UTC)(link)
Может. Даже mediawiki для меня удобнее чем шарепоинт. Не говоря уже про confluence.

[identity profile] zamotivator.livejournal.com 2008-11-18 11:52 am (UTC)(link)
СУБД достаточно большой и сложный проект?
Как же я без суицида в emacs'е разработку и отладку веду...

[identity profile] henu3detb.livejournal.com 2008-11-18 12:06 pm (UTC)(link)
Не знаю как, я про блокнот говорил.

[identity profile] zamotivator.livejournal.com 2008-11-18 12:10 pm (UTC)(link)
В самом начале был упомянут навороченный IDE, что конфиги правит самостоятельно.
В противовес был упомянут блокнот.
Зачем из крайности в крайность?
Комбайн что шуршит непонятно как и где - верный путь к граблям.
До сих пор не могу забыть кошмар под названием BLToolkit, DCOM, WCF, TFS...
Это пиздец.

Система должна быть поддерживаема и emacs'ом, и (если по-быстрому править нужно, или end-user'у через приложение) при помощи блокнота, и так далее - т.е. plain -text конфиги.

А путь microsoft - способ склепать монолитного монстра (монолитного - в плане завязки на один и только один способ настройки - IDE). Для разовых проектов сойдёт, в течении нескольких лет поддерживать - убьёшься тапком.

[identity profile] henu3detb.livejournal.com 2008-11-18 12:12 pm (UTC)(link)
Я вообще-то не про IDE писал. Ну да ладно.

[identity profile] henu3detb.livejournal.com 2008-11-18 12:19 pm (UTC)(link)
IDEA, кстати, конфиги сама не правит.

[identity profile] zamotivator.livejournal.com 2008-11-18 12:53 pm (UTC)(link)
Я полагаю, что если дать любому девелоперу здоровый проект на любом языке програмимрования и заставить его развивать проект в блокноте, то девелопер очень быстро придет к суициду.
...
В файлах конфигурации нет абсолютно никакой проблемы при нормальной поддержке IDE.

То что либо IDE/либо блокнот линия видна.
Тезис - без IDE конфиги править неудобно (в блокноте, например) тоже видно.
Что я не так понял?

Page 3 of 4