Как стать автором
Обновить

Онлайн-митап: Как начать свой путь в IT с Java School

Блог компании Deutsche Telekom IT Solutions Java *Учебный процесс в IT Карьера в IT-индустрии

Уже больше 10 лет в Java School мы не только учим начинающих специалистов технологиям, но и помогаем проложить дорогу в мир IT. Ментор, разработка собственного проекта, профессиональное комьюнити — все это доступно каждому студенту школы. 

2 февраля в 18:00 мы приглашаем на онлайн-митап всех, кто задумывается об обучении в Java School. На встрече преподаватели школы расскажут о том:

- как подготовиться к поступлению;
- пройти отбор;
- что включает в себя обучение. 

Бонус: история и опыт бывшего студента Java School.

Регистрация на встречу.
Подробности о Java School.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 705
Комментарии 0

Что такое сервлет и зачем нужен портлет?

Java *
И так, дорогие друзья, я планирую открыть блог, посвящённый портальным технологиям.
Для разогрева, предлагаю вам коротенький рассказик, прочитав которую, вы узнаете что такое сервлет и зачем изобрели портлет. Места мало, обо всем напишу кратенько. Переписывать книжки, коих выпущено не одна сотня, я не собираюсь. Я буду писать о общих вещах, а так же о приёмах, которые существенно упрощают жизнь разработчику. Если вы хотите узнать больше, то лучше http://java.sun.com/javaee/index.jsp
вряд ли что-то может быть.
Приготовьтесь, вы ощутите мощь Java EE.
Начать ощущать
Всего голосов 23: ↑18 и ↓5 +13
Просмотры 95K
Комментарии 29

Настройка среды разработки отладки портлетов, запуск HelloWorld портлета.

Java *

Цель:


Настроить среду для разработки и отладки портлетов из-под Windows XP.
Запустить первое портлетное приложение и понять, что установка прошла успешно.

Продолжение портлетоэпопеи
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 4K
Комментарии 42

Установка Sun System Portal Server 7.1 update 1 на Windows 2003

Java *
По просьбам трудящихся, пишу как установить портал на винду. К сожалению, я не осилил следующую проблему — как продеплоить сэмплы на портал, как запустить болг-портлет, вики-портлет и т.д. Исходя из логов, я пришел к выводу, что хардкод путей к файлам в билдовых скриптах не позволяет установить примеры и развернуть существующий функционал.
Тем не менее, портал ставится и работает.
Как я и обещал, через несколько дней будут готовы примеры портлетиков (через неделю диплом сдаю, пришлось отложить написание портлетов на «последипломие»). Затем поставлю портал 7.2 на линух и начну его ковырять.
И все-таки он встает
Всего голосов 4: ↑2 и ↓2 0
Просмотры 1.2K
Комментарии 4

Недокументированная возможность в WebSphere Portal 5.1 (общая сессия для портлета и сервлета)

Java *

Была следующая задача:

написать портлет, который отображает график отчета, хранящегося в Когносе. Отчет Когноса может строиться очень и очень долго, от нескольких секунд до 20.
Заставлять ждать пользователя столько времени — ужасное решение.
Что же делать?
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.1K
Комментарии 5

Что умеет и имеет Sun Java System Portal 7.1

Java *
Перевод
Это статья является переводом — компиляцией нескольких доков по порталу. Я добавил сравнение в самым крутым портальным сервером — IBM WebSphere Portal
Посмотрим, что там есть!
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.7K
Комментарии 10

Корпоративный портал Jahia – обзор архитектуры (часть 1)

Java *
Перевод
В статье представлен высокоуровневый обзор архитектуры корпоративного портала Jahia.

Jahia – одна из немногих open source систем, которая объединяет Java EE портал и управление
контентом в один продукт. CMS является законченным решением, представляющим альтернативу порталам
от крупных компаний.

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

Читать дальше →
Всего голосов 14: ↑8 и ↓6 +2
Просмотры 6.7K
Комментарии 2

Java EE 6. Что нового в Servlet API 3.0

Java *


С выходом Java EE 6 на ряду со значительными изменениями в JPA 2.0 спецификации сервлетов 3.0 также притерпела ряд улучшений: упростилась разработка и процедура развертывания, конфигурирование стало более удобным, появилась поддержка асинхронных запросов и улучшилась модель безопасности. Далее я попытаюсь осветить основные изменения в API.

Программирование и развертывание сервлетов упростилось главным образом за счет введения аннотаций для декларирования сервлет (@WebServlet), фильтров (@WebFilter), листнеров (@WebListener) и ограничений безопасности (@ServletSecurity). Таким образом, и дескриптор развертывания web.xml стал опциональным элементом. Обращаю внимание, что сами компоненты Servlet API не стали POJO, привычную иерархию интерфейсов и классов никто не отменял. Также добавилась аннотация для поддержки загрузки файлов @MultipartConfig и для установки параметров инициализации @WebInitParam.

Пример Hello World сервлета
package net.ismailov.tests;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name="hw", urlPatterns = "/hello_world")
public class HelloWorld extends HttpServlet{

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    PrintWriter writer = response.getWriter();
    writer.println("<h1>Hello, World!</h1>");
    
  }

}


Читать дальше →
Всего голосов 47: ↑37 и ↓10 +27
Просмотры 21K
Комментарии 34

Java EE 6. Обзор JPA 2.0, часть 1: Введение

Java *

Пожалуй, наибольшее количество изменений с выходом спецификации Java EE 6 было привнесено в JPA (Java Persistence API). В серии статей, начиная с этой, я планирую рассказать подбробно о каждом из нововведений.

Введение


Технология JPA является абстракцией над JDBC и позволяет быть независимым от SQL. Все классы и интерфейсы JPA расположены в пакете javax.persistence, основными составляющими технологии являются:
  • ORM (механизм объектно-реляционного отображения);
  • Entity manager API — позволяет осуществлять базовые операции CRUD;
  • JPQL и Criteria API — механизмы извлечения данных;
  • Управление транзакциями и блокировками (как с использованием JTA, так и без);
  • Механизмы обратных вызовов и listener-ов.

Читать дальше →
Всего голосов 31: ↑28 и ↓3 +25
Просмотры 16K
Комментарии 10

Java EE 6. Обзор JPA 2.0, часть 2: Коллекции

Java *


image

Продолжение серии. Ранее: Java EE 6. Обзор JPA 2.0, часть 1: Введение. В данной статье я продолжаю рассматривать изменения в JPA.

Встроенные коллекции

Введенный в JPA 2.0 компонент ElementCollection позволяет задавать политики отображения для необычных в JPA 1.0 видов коллекций: коллекций embeddable объектов, либо коллекций «простых» типов (Integer, String и т.д.). Также это компонент используется при в определениях отношений с Map, в роли ключа которого выступают любого рода объекты, а в роли значения — embeddable или «простые» объекты.

Значения ElementCollection всегда хранятся в отдельных таблицах, которые задаются аннотацией @CollectionTable. CollectionTable отпределяет имя таблицы и @JoinColumn или @JoinColumns в случае составного первичного ключа.
Читать дальше →
Всего голосов 35: ↑27 и ↓8 +19
Просмотры 21K
Комментарии 2

Будущее построения архитектуры Java EE приложений становится яснее

Java *
Перевод
Известный JavaEE архитектор-фрилансер недавно опубликовал свое видение будущего в построении архитектуры корпоративных приложений. Далее идет вольный перевод.

Java EE 6 и Spring 3 оказались очень похожи — как минимум архитектура и дизайн отличаются лишь в деталях. Не вижу отличий и в процессе разработки, где JPA и SessionBean-ы в Glassfish можно заменить технологиями Spring.

Spring также идет со своим сервером приложений, который с 7 октября 2008 является open source сервером с коммерческой поддержкой. Если вам понадобится получить патчи старых версий Spring — вам будет необходимо преобрести коммерческую поддержку от SpringSource/VMWare. Для серьезных проектов вы будете вынуждены преобрести два пакета поддержки — для сервера приложений от вендора и один от SpringSource, хотя этом случае одновременное использование Java EE 5/6 опровдать сложно. В перспективе я вижу два возможных варианта:
  • Развертывание Spring-а на проприетарный tc сервер
  • Развертывание Java EE 6 приложений без Spring-а
Обозначенная выше дилемма также справедлива и для проектов по миграции — стоит ли использовать стек Java EE, либо мигрировать на Spring. Это скорее стратегическая или политическая дилемма, нежели технологическая. Конечно, можно еще самостоятельно собирать и распространять Spring, однако такой подход недопустим в большинстве коммерческих проектов.

Я считаю, что будущее корпоративной Java очень чистое — мы полностью используем либо Spring, либо стек Java EE, но не эти технологии вместе.

См. также Oracle опубликовал планы развития Glassfish
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 3.2K
Комментарии 12

Собираем JavaEE приложение maven'ом

Чулан
Когда переводил на maven свои ejb3-проекты, порядком намучился с настройкой проекта, подключением «правильных» библиотек. Информации или не было, или она была устаревшей. В работе я использую JBoss 5.1.0.GA, поэтому все примеры будут на его основе.
Задача. Нужно создать maven2 проект для JBoss. Пусть, это будет Enterprise Application. Внутри — ejb3 модуль и web-приложение.
Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Просмотры 4K
Комментарии 8

Database Connection Pool

Java *
Добрый день, хабралюди!
2 недели назад я начал работать juior java разработчиком, и, соответственно, получать много нового для себя опыта. Сегодня я решил совместить приятное с полезным и начать этот опыт оформлять в письменные мысли — в виде статей о тех технологиях, принципах и приёмах, с которыми я столкнулся на своём джуниорском пути. Нижеследующая статья — первая среди подобных, и выкладывая её здесь, я хочу, во-первых, понять, нужны ли хабрасообществу подобные вещи — рассказы не умудрённых опытом и сотнями проектов старожилов, а небольшие попытки поделится опытом от джуниора джуниору, — а во-вторых, как обычно, услышать замечания, исправления и критику.
Спасибо за внимание.


Подавляющее большинство современных веб-приложений использует базы данных для хранения информации. Приложение может обмениваться информацией с БД, используя соединение (database connection). Если создавать при каждом обращении к БД, получается проигрыш во времени: выполнение транзакции может занять несколько милисекунд, в то время как на создание соединения может уйти до нескольких секунд. С другой стороны, можно создать одно-единственное соединение (например, используя шаблон "Singleton") и обращаться к базе данных только через него. Но это решение чревато проблемами, в случае высокой нагрузки: если одновременно сто пользователей попытается получить доступ к базе данных используя одно соединение, образуется очередь, что также пагубно сказывается на производительности приложения.

Database Connection Pool (dbcp) — это способ решения изложенной выше проблемы.
Читать дальше →
Всего голосов 49: ↑34 и ↓15 +19
Просмотры 146K
Комментарии 38

Интересные задания для джуниора — миф или реальность?

GTD *
Поспорил я с одногруппником на тему того, может ли джуниор получать интересные задания.
Его позиция такая, что он бы хотел найти работу, где его сразу поставят в какой-нибудь новый проект (не поддержка, а разработка), с новыми технологиями (Spring не ниже 3.0, Hibernate не ниже 3.5, ну и так далее), и дадут «какие-нибудь интересные таски». Он уже успел несколько месяцев поработать над 6-летним проектом без каких-либо фреймворком — только сервлеты и JSP c JSTL, — ему не понравилось и он ушёл, в надежде найти что-то поинтересней.

Я же считаю, что вариант, который описывает он, конечно, более интересен и привлекателен, но сильно менее реален. Я за свой рабочий месяц над не таким современным проектом (Spring 2.5, iBatis 2.3, Oracle 10g) успел узнать и попробовать очень многое, как на мой взгляд. Пусть у меня не было возможности углубиться в Java core, изучить на практие побольше design patterns и так далее, но я успел разобраться с основами сервлетов и JSP, некоторыми особенностями Tomcat'a, узнать основные принципы, заложенные в работу Spring'a (например, DI и реализацию MVC), поработал с PL/SQL и ещё много-много всего. Да, последний мой таск (перенос inline SQL в хранимые процедуры) длится уже неделю и ещё наверное столько же будет длится, но даже в рамках него у меня ещё остались не до конца решённые задачи, которые ещё принесут мне фан и опыт. Он же, например, не хочет разрабатывать хранимые процедуры на PL/SQL, а хочет писать по больше именно java-кода, так как хочет«развиваться как Java developer».

Рассудите нас. Чья правда правдивее?
Всего голосов 19: ↑4 и ↓15 -11
Просмотры 2.9K
Комментарии 21

Использование MongoDB в Java EE 6

Java *


MongoDB — документо-ориентированная NoSQL СУБД, не требующая описания схемы таблиц. Больше о ней можно узнать на оф. сайте, а в данной статье я опишу пример использования MongoDB в Java EE 6 приложении.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Просмотры 25K
Комментарии 22

«Разбор полетов» — episode 5 — Предновогодний

Чулан
Я и коллега aib представляем вашему вниманию очередной пятый предпраздничный выпуск популярного в узких кругах, разговорного IT-тематического подкаста «Разбор Полетов».
В этом выпуске:
  • Полезняшка — 5 метров колючей проволоки-скрещиваем ежа и ужа в домашних условиях http://jodd.org/doc/jerry/index.html
  • Ванга отдыхает - 
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 268
Комментарии 0

Интеграция Groovy в JEE приложение

Java *Groovy & Grails *
Из песочницы
Tutorial
В одну телегу впрячь не можно
Коня и трепетную лань
                        А.С. Пушкин

Всем привет!

В данной заметке я хочу рассказать, как интегрировать язык Groovy в существующее JEE приложение на основе Maven. Выражаю благодарность Антону Щастному schaan за разрешение на использование исходного кода его проекта в качестве отправной точки. Поэтому данный топик можно считать продолжением его статьи Учимся готовить: Spring 3 MVC + Spring Security + Hibernate.

Начнем.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 15K
Комментарии 24

«Разбор полетов» — Episode 24 — А ты заполнил классный журнал?

Я пиарюсь

Новый сезон в старом и надеемся полюбившимся составе. В сегодняшнем выпуске мы обсудим
Тема сочинения — Как провели лето:
Читать дальше →
Всего голосов 18: ↑9 и ↓9 0
Просмотры 6.1K
Комментарии 7

Новые перспективы Java Enterprise с Polyglot JVM

Блог компании EPAM Java *
В этой статье хочу поделиться размышлениями об архитектуре серверных платформ для корпоративных приложений на Java с использованием Java EE, Spring, Akka.
Почему возникло желание написать? На JavaOne 2012 много было рассказано о трендах и изменениях в мире Java и JVM — Polyglot JVM, лямбды, модульность. На конференции возникло ощущение, что все наработки Java EE не должны зависеть от языка программирования. Сейчас часто задают вопрос – какой язык заменит Java? Но тогда куда девать все существующие технологии разработки корпоративных приложений? Эти технологии однозначно имеют ценность. Можно ли одновременно заменить язык программирования и при этом сохранить существующие наработки и сделанные инвестиции? Видимо да.
Теперь постараюсь подробнее – о влиянии тренда Polyglot JVM.
Введение Polyglot JVM достигает двух целей: открывает путь инновациям и позволяет сохранить все технологии Java в секторе корпоративных приложений. Но путь к этим выводам будет долгим;-)
Эта статья – для разработчиков корпоративных приложений. Надеюсь, она поможет систематизировать знания по архитектурам серверных платформ на базе Java и, возможно, вдохновит расширить диапазон используемых языков.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 15K
Комментарии 12