Java - статьи
Java - Методология построения корпоративных информационных систем на основе технологии EJB. Часть 1.
Введение

Думаю, расхваливать то, что будет написано мной сразу не стоит. Лучше сказать чего я постараюсь не написать. Если Вы хотите увидеть здесь учебник по которому можно научится основам EJB, то лучше Вам почитать книжки типа Corba за 14 дней. Если Вы ждете моих вздохов по перспективности и крутости технологии EJB, то Вам лучше почитать обзоры популярных компьютерных журналов. Если Вы ожидаете найти здесь обилие исходных примеров, да еще что бы они компилировались и работали, то Вам лучше почитать Manual от любого поставщика коммерческой или некоммерческой версии EJB сервера. В общем получается, что не совсем понятно, для кого я это все буду писать. Не знаю, как даже охарактеризовать моего потенциального читателя. Думаю, что я пишу это для себя самого.

 
Java - Методология построения корпоративных информационных систем на основе технологии EJB. Части 2, 3.

Сервер приложений
Самое главное в EJB это сервер приложений. Без него у Вас ничего работать не будет. Клиентские приложения будут общаться с ним через RMI или CORBA. Обычно сервер приложений предоставляет Вашим EJB компонентам соответствующую среду. Например: хранит права доступа к Вашим компонентам (а точнее логины с паролями по доступу к серверу приложений), поддерживает RMI и CORBA взаимодействие с ними, предоставляет JNDI сервис (сервис именования EJB компонентов), координатор транзакций и контейнер, в котором будут храниться ваши EJB компоненты, сервис асинхронных сообщений JMS. Специалисты, которые это прочтут, будут возмущены грубыми ошибками. Дело в том, чтобы не грузить читателя, я довольно упростил и смешал некоторые вещи. Сервер Приложений

 
Java - Методология построения корпоративных информационных систем на основе технологии EJB. Часть 4.

Часть 4

HOME-интерфейс
Как уже говорилось выше, вся работа с компонентами начинается с обращения к Home-интерфейсу. Каждый тип компонент должен его иметь. Пример Home-интерфейса изображен на рис. 8.

 
Java - Философия языка - О философии Java и многом другом

Сразу хочу предупредить вот о чем. Здесь не будет криков "как все круто" или "как все плохо". Я отношусь к Java именно с точки зрения философской. Это – данность. Потому – рассуждать о том, хорош язык или плох, бессмысленно. Язык может удовлетворять предъявляемым требованиям, либо не удовлетворять им. Ежели удовлетворяет – прекрасно, пользуемся. Нет – выбираем другой. А то получается как в том анекдоте: "Мыши плакали, кололись, давились, но продолжали грызть кактус" . Если Java для вас – кактус, возможно, стоит задуматься о выборе другого языка. А если все-таки грызете, несмотря на то, что это кактус, – значит, плюсов в этом занятии для вас больше чем минусов. Тогда не жалуйтесь.

 
Java - Философия языка - Наследование как явление

Сказать по правде, изначально я этой статьи не планировал. Я считал вопросы, которые хочу тут обсудить, тривиальными, не стоящими даже упоминания. Однако в процессе написания статей для этого сайта я поднял в одном из форумов обсуждение множественного наследования. В результате чего выяснилось, что большая часть разработчиков имеет весьма смутное представление о наследовании. И, соответственно, допускает очень много ошибок. Поскольку наследование является одной из важнейших черт ООП (если не самой важной!) – я решил посвятить этому явлению отдельную статью.

 
Java - Философия разработки - Введение

Существует, на мой взгляд, несколько правил, которыми стоит руководствоваться при разработке программного обеспечения, вне зависимости от того, что разрабатывается и для кого. Здесь я исхожу из мысли, которая очевидна: программное обеспечение разрабатывается людьми и для людей. Из этой мысли и вытекают все правила, о которых пойдет речь. Я бы назвал эти правила аксиомами, ибо для меня они аксиомами и являются. Возможно, эти аксиомы и просты, но меня поражает количество людей, которые о них не знают либо не следуют им.

 
Java - Изменчивые постоянные, или "что такое 122?"

В этой статье речь пойдет об использовании констант. При всей внешней простоте этот вопрос содержит немало тонкостей, как идеологического, так и чисто реализационного плана. Когда и почему стоит использовать константы? Когда этого можно не делать, и почему? На эти вопросы я хочу дать ответы. Сразу оговорю – речь идет в основном о числовых константах. Использование неизменяемых объектов вызвано несколько другими причинами.

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

 
Java - Философия разработки - "0,1,много..." или "чисел не существует"

Я пришел к этому выводу на том основании, что число два
бессмысленно и существовать не может.

Айзек Азимов. "Сами Боги"

Вопрос, который я хочу рассмотреть в этой статье, относится больше к области разработки архитектуры программного обеспечения. Мой опыт показывает, что чаще всего об этом не задумываются, в результате чего может возникнуть масса проблем. Речь пойдет о числах в проектировании.

Итак. Представим себе приложение, имеющее одну рабочую область. Скажем, панель, на которой можно визуально раскладывать узлы графа. Для этой работы есть целая панель инструментов, достаточно большая. Представили? Замечательно! Приложение развивается, и вот нам понадобилась вторая такая же панель, на которую, скажем, можно скопировать фрагмент основного графа. Вопрос. Что делать с панелью инструментов?

 
Java - Философия разработки - Качественный код – слагаемые

Для начала я вообще хочу определить, о чем пойдет речь. Ибо качество кода многие неразрывно отождествляют с качеством приложения – устойчивостью, скоростью, безопасностью и т.п. Я хочу поговорить несколько о другом – о качестве именно программного кода. Это не одно и то же. К сожалению, есть много примеров быстрых, устойчивых приложений, качество кода в которых оставляет желать лучшего. И наоборот – код может быть очень качественным, а приложение никуда не годится. И если качество приложения в основном зависит от продуманности его архитектуры, то качество кода зависит непосредственно от разработчиков.