Часть полного текста документа:Java для SMB Василий Гринюк Бесспорно, java является одним из лидеров на рынке сложных корпоративных продуктов. Прекрасная масштабируемость и надежность - основные факторы этого успеха. Но стоит ли прибегать к такому мощному инструменту, когда масштабируемость не очень и важна? Ведь для небольших компаний более важным является стоимость разработки и ее сроки, а также возможность быстро отреагировать на перемены в деятельности компании и при необходимости изменить программный продукт. А для интернет-стартапов и вовсе нужно как можно быстрее реализовать первичный набросок бизнес-идеи и при этом с максимально привлекательным интерфейсом. И практически перед каждой компанией стоит выбор - заказать программное решение "под ключ" или попытаться найти уже готовое и адаптировать под свой бизнес. Microsoft тоже не отстает и с выходом net framework 2.0 и ms ajax пытается захватить рынок. Чтобы ответить на вопрос, подходит ли java для разработки программных решений, нужных среднему и малому бизнесу, посмотрим, для какого рода задач ее можно эффективно применять, где проявляются ее преимущества. Любое приложение состоит из нескольких слоев. Обычно это модель и графический интерфейс. В случае, если логика приложения достаточно сложна, появляется еще один слой между моделью и интерфейсом - это сервисы. Модель содержит в себе всю основную логику приложения - бизнес-логику, включая бизнес-объекты и бизнес-процессы, которые необходимы для поставленной задачи. Сервисы - это слой, который предоставляет более удобные методы для решения задач отображения, редактирования и добавления данных в пользовательском интерфейсе. Остановимся более детально именно на модели, так как она фактически является ядром системы, работоспособность и эффективность приложения в большей мере зависят именно от нее. От способов ее реализации также зависит, насколько сложно будет в дальнейшем вносить изменения в приложение. Hibernate Первый вопрос при проектировании модели - как и где хранить данные? Очевидно, что лучше всего в базе данных, но в какой именно и как организовать коммуникацию между приложением и конкретной СУБД? Здесь нам на помощь приходит практически революционный фреймворк- Hibernate. При работе с ним практически полностью отпадает необходимость заботиться о том, что данные где-то должны храниться. Разберемся в нем более детально. Во-первых, Hibernate является отчасти абстракцией над СУБД, а это означает, что приложение больше не привязано к конкретному серверу базы данных. Например, для того чтобы перейти с легкой и удобной СУБД MySQL на очень производительный Oracle, нужно всего лишь в конфигурационном файле поменять название диалекта. Во-вторых, Hibernate -это средство для объектного маппинга данных, т.е. фактически., мы манипулируем связками объектов, а не просто структурированными данными. Мы не заботимся о том, как эти объекты будут храниться в конкретной СУБД, и о том, как эти объекты (а точнее, их связки) сохранять или получать из базы данных. В связи с тем что при работе через Hibernate мы никогда не сталкиваемся с какими-либо специфическими для разных СУБД функциями, то привязки к конкретному серверу не существует. На самом деле нам даже не приходится писать SQL-запросы или самим создавать структуру базы данных. Структуру Hibernate создает сам при загрузке приложения. ............ |