• 14663
  • 120
  • 7
Нравится блог?
Подписывайтесь!

Старт проекта на Java (J2EE)

Вобщем работал в крупной КЗ компании, одна из лидеров в разработке. Проекты в основном т.н. масштаба предприятия - серьёзные клиент-серверные приложения, со структурой БД из сотен таблиц, зачастую распределённые. На разных проектах использовались разные языки и технологии, соответственно и среды разработки тоже. Практически всегда выбор инструментария ложился на разработчиков проекта.

Для примера - один из проектов стартовал видимо в основном из команды тогда ещё молодых бойцов, там применили Дельфи, С++, и практически всё писали с нуля своими руками. Другой проект начинал матёрый разработчик и архитектор, там применили Java и сопутствующие ей бесплатные готовые решения.

На Java процесс и инструментарий примерно таков:

  • среда разработки Idea, на машине главного разработчика создаётся новый проект, готовится начальная структура модулей и пакетов, достигаются базовые договорённости разработчиков о её использовании и дальнейшем развитии. Также часто используется Eclipse, очень большой плюс этой среды - бесплатность;
  • разворачивается сервер контроля версий SVN, проект выкладывается на него; все разработчики в Idea настраивают коннект к SVN, апдейтятся;
  • разворачивается сервер приложений или веб-сервер. Мы много лет и на многих проектах успешно использовали сервер приложений JBoss, либо самостоятельный веб-сервер Tomcat. JBoss содержит в себе Tomcat, плюс множество сервисов, полезных при разработке приложений масштаба предприятия. Чистый Tomcat можно использовать для облегчённых по функциональности проектов.
  • разворачивается СУБД, какая - зачастую зависит от Заказчика. Чаще всего это Oracle. На сервере разворачивается БД с начальной структурой проекта. Достигаются договорённости между разработчиками о процессе её развития и обновления. Обычно скрипты сразу выполняются разработчиком в тестовой БД, и выкладываются на SVN для выполнения их в боевой при обновлении версии. Если разработчиков и скриптов много, пишется утилита для автоматического выполнения обновления в БД, в противном случае скрипты выполняются на боевой БД вручную. Каждый разработчик ставит себе какой-либо клиент, для удобной работы с БД, например DbVisualizer, Aqua Data Studio, и т.д. Как-то сложилось, что средства, поставляемые в составе СУБД использовались нечасто.

Вот в основном и всё, на этом этапе можно начинать активную командную разработку.

vovan_sidorytch
18 ноября 2009, 10:41
2770

Загрузка...
Loading...

Комментарии

Werser
0
0
Ты забыл про NIGRAHATE. Жабофаги ему поклоняются же!
Сорри, но я видимо немного не в теме, не пойму о чём речь... Не знаю чем вам не по душе язык Java, но предлагаю не начинать очередной бессмысленный холивар. Мир-дружба-жвачка?
Werser
0
0
Ну почему же сразу не по душе. :)
Речь о Hibernate.
Харе Hibernate! *истово бьюсь головой о пол*

Технологии объектно-реляционного отображения давно поработили J2EE разработчиков (да в других высокоуровненвых языках они уже есть). Hibernate одна из самых распространённых. Помню, как раньше раздражало постоянное написание кода перекладывающего из считанных полей таблиц данные в бизнес-объекты, и потом обратно при сохранении. Объектно-реляционный маппинг рулит! :) Некоторые сложные запросы на Hibernate Query Language написать затруднительно, но обычно поддерживаются т.н. Native-запросы, на стандартном (или же специфическом для провайдера) SQL. При этом результат нативной выборки может быть прозрачно для разработчика загружен в те же маппинг-объекты, что возвращаются HQL-ем.
tumar
0
0
Может быть, вы имели виду Hibernate?
вообще, эту запись сделал в качестве комментария к А какими средствами программирования пользуетесь вы?, поэтому как самостоятельная тема, она немного слабовата
Раз уж вы профессиональный разработчик, то позвольте спросить пару вопросов личного характера :)

1. нашли ли вы применение дискретной математике в построении энтерпрайзных приложений? (структуры данных, алгоритмы, реляционная алгебра, теория автоматов и т.д)
2. есть ли у вас бэкграунд в распределенных и конкурентных вычислениях?
3. какие профессиональные темы вас интересуют?

Не сочтите за допрос, реально интересно же :)
Нет при разработке энтерпрайзных приложений не нужно применять алгоритмы. Энтерпрайзные приложения, они такие, без алгоритмов могут работать, ага..
С удовольствием отвечу: :)

1. Т.к. по образованию я строитель, и к тому же не имею высшего образования, ваши термины меня просто пугают. Не буду утверждать, что эти знания для меня излишни, НО - я без них пока обхожусь. В этом я схож Шерлоком, которого мало интересовал тот факт, что земля круглая ;) . Прошу никого камнями не кидаться - любые знания нужны, но чтобы знать ВСЁ человеческой жизни не хватит, приходится идти на компромисы и хватать только то, что нужно прямо сейчас (или похоже на то, что понадобится в будущем)
2. довольно растяжимое понятие... был интересный опыт разработки многопоточных конкурентных задач; была распределённая многоуровневая система из более сотни серверов с репликацией данных между ними... в основном дело касалось чтения, модификации, распространения данных; сложных вычислений (да и несложных тоже) там не было.
3. трудно ответить. занимаясь разработкой, всегда приходится что-то новое узнавать, связанное с текущими нуждами. честно говоря мне текущих задач более чем хватает для удовлетворения жажды знаний. Хотя конечно было бы здорово быть на острие всего нового хотя бы в своей области (J2EE), но - лень. Пожалуй я страдаю недостатком любобытства :( . Да и кроме интересной профессиональной деятельности есть ещё и отдых, личная жизнь, на это тоже время надо находить...

Вообще, современные языки программирования и готовые технологии берут на себя много низкоуровневых вычислительных задач, программисту остаётся в основном бизнес-логика конкретных требований Заказчика. Тем не менее до времён, когда менеджер будет сам создавать программные продукты, без программиста, ещё очень далеко ;)...
>1. Т.к. по образованию я строитель, и к тому же не имею высшего образования, ваши термины меня просто пугают.

Да ничего страшного :)

>Тем не менее до времён, когда менеджер будет сам создавать программные продукты, без программиста, ещё очень далеко ;)...

Думаю, такие времена настанут, если менеджеры станут программистами. :)
За ответы благодарю, приятно вести конструктивный разговор.
2kost
0
0
1,2. Обычно в вебе это происходит когда надо провести "Data Mining". Что то интересное и необычное, что-то отличное от сбора комментариев пользователей.
1 структуры данных - Когда не хватает функциональности массива, когда готовые решения не удовлетворяют логике приложения, простейший пример - linked list из с++(помоему везде используют этот ADT). На этой неделе один ADT реализовал очень на него похожий. Правда не на си.
алгоритмы - когда надо оптимизировать работу чего-то или написать что - то новое (парсер, червь)
теория автоматов - да почти тот же предыдущий абзац.
2 хорошее железо позволяет забить на бэкграунд. Кстати, там конкурентно все ( ядер до кучи ), так что наполовину так и есть. А если надо будет написать, то напишу на Java или Erlang ( хотя не факт, пока хочу купить железку и сделать "домашний проект", чтобы опробовать )
3 работа
4 вопрос - какие тесты используют? (В моем случае *Unit и Selenium, Yahoo!набор тестов).
5 Чем профилируют?
6 вопрос - паттерны юзают?
От себя:
J2EE - отстой. Реально. Play Framework спасет его! А старый J2EE должен сгореть в аду за все что он сделал с вебом в яве. Реально J2EE был раньше как "российский браузер" - возможность быстро распилить бабло под "контейнеры энтерпрайз приложений. Ой, а вы знаете, какие они запутанные стали, мы их писали - писали? выделите еще $1kk".

Вопрос личного характера:
Походу все бабло в Алмате. Астана слегонца отстает?
Насчёт веба и Java, а также горения в аду J2EE - eBay построен на J2EE. миллиард транзакций в день. Мне кажется, в Казахстане некому сказать что eBay - отстой, и я на раз-два сделаю лучше

Насчёт бабла - я не менеджер, я разработчик, потоками средств не занимаюсь

И ещё, я дико извиняюсь, но манерой общения вы похожи на тролля. Надеюсь что ошибаюсь
О, нет. На счет тролля прям в точку.
О, да. На счет на счет ты прямо в точку.
Я с мудаками не общаюсь.
Да, кстати - вот этот Казахстанский проект построен на J2EE. Пока ещё Бета-версия, но он ещё станет казахстанким eBay-ем ;)
Да, но нафига такие урлы, 21 век же.
http://www.shopline.kz/jsp/frontend/search/searchResult.xhtml?ss=Жопа&st=Default
И в поиске по городам(дропдаун) 2 Петропавловска, один из них на 2 месте!!! Я рад!!!
Скриншот не делал, могу потом показать, если надо будет и не исправите
За Петропавловск - спасибо, исправим.
EpeTuK
0
0
Полезный пост)) Плюсую.
jad
0
0
таск менеджмент? ведение внутренней доки?
Да! :)
Этапов создания продукта много, в каждом есть свои задачи, по каждому написано немало книг. Я описал лишь инструментарий программиста, и кратко затронул процесс построения решения, т.е. - работу программиста. А есть ещё аналитики, архитекторы, руководитель проекта, тестировщики (в алфавитном порядке, чтобы никому не обидно было). И это только основные роли, участвующие в проекте непосредственно...
Это проектирование ИС? (начинаю только все эти дебри изучать)
Проектирование - этап предшествующий описанному мной. Проектированию предшествует подготовка общего видения, требований Заказчика, планирование и др. Непосредственно работа программистов - только часть процесса создания продукта. Соответственно и программисты - только часть проектной команды. Это относится к достаточно крупным проектам, на более простых некоторые этапы отсутствуют, некоторые функции совмещаются одними и теми же людьми (и жнец, и швец, и на дуде игрец)
Olzhas
0
0
Можно несколько вопросов?
1. Как построена организационная структура? Кто является главным? Есть ли у вас менеджер проекта? Архитектор? Какие еще люди задействованы на проекте?
2. На сколько полно вы используете спецификацию J2EE? Нужна ли она вообще в рамках задач которые возникают в Казахстане?
1. На разных проектах состав команды может различаться. В любом случае в проектной команде главным является Руководитель проекта. Ролевые группы (не путать с играми) равны между собой. В каждой группе есть главный специалист (главный программист, главный аналитик, главный тестировщик), который несёт ответственность за распределение задач в своей группе, являясь звеном в иерархии между Руководителем проекта и своими специалистами. Роль Архитектора довольно непроста, он может являться кем-то вроде координатора для главных специалистов других ролей. В проекте опосредовано могут быть задействованы различные менеджеры, секретари, но эти роли обычно не так жёстко привязаны к проектной команде.

2. Я честно говоря не вижу связи между программными спецификациями и задачами, "которые возникают в Казахстане". Эти задачи такие же, что и в других странах, а на некоторых другим странам можно ещё и поучиться у нас. Очень многое зависит от профессионализма команды, а использование спецификаций - конкретно от программистов. Заказчика редко всерьёз интересует какими средствами будет достигнут результат. Конкретно J2EE - одна из лидирующих платформ для создания приложений масштаба предприятия, и такие приложения в Казахстане создаются. Насчёт полноты использования: простое перечисление названий используемых J2EE API скучно и несёт мало смысла, а полное описание архитектуры конкретного проекта - это уже отдельная тема...
Olzhas
0
0
Просто мне кажется что задачи то у нас в КЗ простые, просто почему-то народ у нас любит все усложнять. Мне приходилось сталкиваться с J2EE в частности EJB больше времени потратил на отлов багов самой технологии чем на решение задачи.
Ну, насчёт задач в КЗ я уже высказался.
А насчёт J2EE - технология обширная и сложная, просто столкнуться с ней недостаточно, её надо серьёзно изучать и практиковать. Ещё раз повторюсь: основное назначение её - крупные проекты, пытаться использовать её для простых задач - стрелять пушкой по воробьям. Это в общем и целом, а в частности - можно подходить к внедрению J2EE плавно, чем больше проект, тем больше API использовать. Любой проект на Java, работающий с БД, использует JDBC. А JDBC - один базовых API J2EE. При этом факт использования JDBC ещё не говорит о том, что проект соответствует спецификациям J2EE.
Вобщем я кажется флудить уже начал...
Вообще-то JDBC не в входит с спецификацию J2EE, JDBC - это SE.
Мы оба правы, JDBC входит и в SE и в EE. В конце концов, это всё - Java :)
2kost
0
0
Где самое главное - тестирование? Где UML?
Полпоста о DbVisualizer, Aqua Data Studio, и т.д, бла бла бла.
Диаграмму классов показал бы лучше.
>тестирование?

Ну JUnit по дефолту наверное и юзают.
2kost
0
0
>JUnit по дефолту
вдруг нет
>юзают
вдруг ничего не юзают, а то так расписали подробно про красивые финтифлюшки к бд, а про JUnit - 0.(это не смайл, это ноль, точка, скобка)
UML, диаграммы классов, JUnit... Я тоже знаю много страшных слов про незаменимые при разработке техники и технологии, и прекрасно понимаю насколько они важные и нужные. Но к сожалению нельзя в реальном проекте применить их все. Можно много теоритезировать, но когда проект стартует с изначально нереальными сроками завершения, то любыми путями надо делать одно - укладываться в них. Или как минимум суметь показать что-то работоспособное к наступлению дедлайна. И я делал это, естественно не один, а в составе команды. Иначе - штрафники, напряжённость с Заказчиком, юридические проблемы и прочие "радости жизни"... Так что не тыкайте мне пожалуйста с умным видом своё "бла бла бла", я в мире разработки ПО не одну собаку сожрал, и очень сильно сомневаюсь что лично вам есть чему меня в этом учить...
[ Но к сожалению нельзя в реальном проекте применить их все. Можно много теоритезировать, но когда проект стартует с изначально нереальными сроками завершения, то любыми путями надо делать одно - укладываться в них. Или как минимум суметь показать что-то работоспособное к наступлению дедлайна. И я делал это, естественно не один, а в составе команды. Иначе - штрафники, напряжённость с Заказчиком, юридические проблемы и прочие "радости жизни"... ]

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

По теме: Я работаю в довольно крупной компании, и все проекты подымают на Wicket + Oracle. На проектирование дают очень мало времени, в основном это проектирование БД таблиц, и написание ЧТЗ по ТЗ заказчика, потом это все ложиться в систему управления проектами любую. И понеслась душа в рай ...
П.С. На UML диаграммы просто нет времени, вместо этого есть ведуший специалист, который координирует постоянно весь процесс разработки.
Да ладно вам, разнервничался я что-то... И вообще, это темы для книг, а не для комментов...
Как это замечательно, когда у тебя есть ТЗ, ах. :)
Наступил акост на любимую мозоль.
Парень ещё не пуганый, вьюношеский идеализм, то-сё. :)

Честно говоря, я бы даже разговаривать об этом не стал. Всё равно что сказать прямо: "я делаю говно из говна по-говняному потому, что мне по-другому не дают". Или наоборот, надо об этом говорить? Чтобы все знали, что разработка в казахстанских конторах ведётся абы как и с нарушением всех предусмотренных технологией правил и предписаний.
Позволю себе возразить:
1. Во-первых, конкретно у нас всё было не так уж и плохо. Не идеально - не значит плохо. Даже в жёстких условиях умели и процессами управлять и архитектуру строить, и это себя оправдывало.
2. Второе: сроки, компромисы, и т.д. - это не казахстанские проблемы, а мировые.
В большинстве случаев вы правы, все так и делают, все ведуться на деньги, а не на качество, но мы не говорим о мелких конторах которые штампуют сайты. Изначально подразумевались "крупные проекты", в них абы как сделать не прокатит, потому что за такие системы платят большие деньги, и спрашивают за эти деньги по взрослому. (Если один маленький пунктик не будет выполнен из ТЗ, то проект не примут, и это издержки, деньги). Поэтому не все так плохо как кажется, в некоторых конторах ведутся разработки с соблюдением технологий, правил.
ПРОФЕССИОНАЛ.
Ты действительно думаешь все эти страшные слова сделаны для усложнения жизни? ЛОЛ. Хоть бы ченибудь четали местные J2EE гуру отличное от хабра и подобного говна. А когда функционал добавляешь, то нефигова все ети сложные слава помогают если че. Так как ТЗ всегда меняется. Но хули, если есь MysQLLSuperVieverr!
>всех предусмотренных технологией правил и предписаний.
Запомни, это "страшные слова".
>Изначально подразумевались "крупные проекты", в них абы как сделать не прокатит, потому что за такие системы платят большие деньги, и спрашивают за эти деньги по взрослому.
Все потом укладывается в
> Можно много теоритезировать, но когда проект стартует с изначально нереальными сроками завершения, то любыми путями надо делать одно - укладываться в них.
А то что что-то не работает в чем-то - Ну это же риальная жизня.
>. Так что не тыкайте мне пожалуйста с умным видом своё "бла бла бла", я в мире разработки ПО не одну собаку сожрал, и очень сильно сомневаюсь что лично вам есть чему меня в этом учить
Ясен пень, тебе даже на JUnit похуй, куда уж мне строителя учить.
Надо говорить. Я лично хочу знать, с чем столкнусь через полтора года
Вы строитель? Вам же ближе архитектура:)
Не расскажите про архитектуру какого-нибудь серъезного проекта?
Я уверен, что это будет интересно многим.
з.ы. Могу ошибаться, но паттерны проектирования пришли в программирование из строительства.
Про паттерны - абсолютно верно :)

Про архитектуру: комменты и так ужасно распухли. Наверное на следующей неделе скину в свой блог две статьи о J2EE, которые публиковал в Digital Kazakhstan. Там много интересного... Боюсь только что после этого на работе придётся поставить крест и отдать себя целиком комментам ))
С удовольствием почитаю про архитектуру какого-нибудь казахстанского проекта.
Несмотря на то, что я совсем недавно перешел с java на dotnet. Все равно интерес к java не пропал.
Отмечу, что очень радует связка: Servlet Container + Spring MVC + Hibernate +POSTGRE.
Но, к сожалению, я так и не увидел на ней ничего масштабного.
Также нравится Apache Wicket, GWT и Flex(BlazeDS). Много было технологий... но хочется единости.
И в этом microsoft мой друг в лице dotnet-а.
А у вас не возникало мыли перейти на другие языки и технологии?

Возникали мысли изучить другие языки и технологии, перейти - нет. Просто нет свободного времени...
кстати, IDEA стала бесплатной -) слышал в одном из последних выпусков подкаста NOBSIT
Ну не совсем уж бесплатной, повится бесплатная версия Community Edition, при этом параллельно будет выпускаться более функциональная платная Ultimate Edition

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Зачем Forbes.kz пытается дискредитировать программу латинизации?

Зачем Forbes.kz пытается дискредитировать программу латинизации?

Буквально вчера заинтересовался одним любопытным сайтом. Не зря заинтересовался, взбесил он меня не по-детски. Да и не только меня. С этим хитрым сайтом был связан настоящий взрыв негатива в Казнете.
Rulan_Oteshev
13 сент. 2017 / 16:32
Почему GGG, при любом результате боя, не войдёт в историю как великий боксёр

Почему GGG, при любом результате боя, не войдёт в историю как великий боксёр

16 сентября в Лас-Вегасе состоится боксёрский вечер, главным событием на котором станет бой за титул чемпиона мира в среднем весе между Геннадием Головкиным и Саулем «Канело» Альваресом.
openqazaqstan
13 сент. 2017 / 13:44
  • 5215
  • 33
Дорога Алматы – Хоргос. Впечатления от первой поездки

Дорога Алматы – Хоргос. Впечатления от первой поездки

Если раньше путь до Хоргоса занимал около 5 часов по Кульджинской трассе, то сейчас время до границы с Китаем сокращается до 2,5-3 часов. Уже сейчас можно ехать по 4-полосной дороге с цементобетонным покрытием.
theYakov
15 сент. 2017 / 9:35
  • 5145
  • 12
Посол Польши: «Переход на латиницу для Казахстана станет цивилизационной революцией»

Посол Польши: «Переход на латиницу для Казахстана станет цивилизационной революцией»

Сегодня в Казахстане активно обсуждают предложенный латинский алфавит казахского языка в Парламенте, мнения высказываются самые разные, некоторые даже предпочли вообще отказаться от такого перехода.
Shimanskaya
13 сент. 2017 / 12:28
  • 2922
  • 45
Работа в Mc Donald's. Советы и лайфхаки для гостей

Работа в Mc Donald's. Советы и лайфхаки для гостей

За три месяца я поработала в трёх разных сферах. И сегодня, хочу поведать вам о работе в одной из богатейших компаний мира. Звучит значительно лучше, чем «Я работаю в Mc Donald’s».
madiNAtty
15 сент. 2017 / 12:44
  • 2841
  • 16
Фильм «Крылья, подаренные матерью» учит ценить своих близких в любых ситуациях

Фильм «Крылья, подаренные матерью» учит ценить своих близких в любых ситуациях

Вчера состоялся предпремьерный показ нашего отечественного фильма "Крылья, подаренные матерью", после просмотра которого защемило сердце - настолько правдоподобной казалась эта история.
Gulmira-I
14 сент. 2017 / 9:34
  • 2188
  • 0
Фотопрогулка по Алматы. Иностранцам не интересны наши стеклянные здания и моллы

Фотопрогулка по Алматы. Иностранцам не интересны наши стеклянные здания и моллы

Алматы - самый лучший город для меня, так как родной и самый близкий. Так как я много лет прожил за рубежом, могу сказать свою точку зрения, что надо делать у нас.
Ispanec
15 сент. 2017 / 6:20
  • 1867
  • 21
«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

По данным статистики 2017 года Казахстан занимает 4 место по самоубийствам. Говорить об этом - социальное табу. Мы игнорируем разговоры о депрессиях. Потому что нам страшно.
goribaldi
18 сент. 2017 / 15:45
  • 1736
  • 18
Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Вице-спикер Мажилиса Владимир Божко остановился на некоторых деталях известного конфликта в Астане возле строящегося «Абу Даби Плаза», затронув проблему «многочисленной сельской молодёжи»...
openqazaqstan
вчера / 13:16
  • 1527
  • 44