LINUX.ORG.RU

Новый стандарт Java EE 6 утвержден

 , , , , ,


0

0

30 ноября состоялось финальное голосование комитета JCP EC за утверждение нового стандарта Java EE 6.

JCP EC состоит из 16 крупных компаний, среди которых SAP, IBM, HP, Google, RedHat и другие. Что интересно, только Apache Software Foundation из комитета были против принятия стандарта, а SAP и Intel воздержались.

Среди нововведений платформы JAVA EE 6: Servlet 3, JPA 2, EJB 3.1 и Bean validation. Кроме того Гевин Кинг в своем блоге пишет, что в новом стандарте много всего было приведено в порядок и решено множество старых проблем.

Официальная публикация произойдет 10 декабря. В тот же день выйдет и реализация нового стандарта в виде GlassFish V3 .

>>> Результаты голосования

★★★★★

Проверено: svu ()

Ответ на: комментарий от r

Любая. Большинство проектов на J2EE серверах их не требуют в принципе. Исключение - вебсервисы.

Ну то если проект начался давным давно, тогда да. А сейчас никто не рискнет вот так вот просто взять и ограничиться сервлетами и jsp. И это, не видел ни одного ЪЪного проекта без спринга.

slyjoe
()
Ответ на: комментарий от vertexua

@Entity
@Table(name="USERITEM")
@NamedQueries(
    {
        @NamedQuery(name="selectAllUserItems",query="select a from UserItem a"),
        @NamedQuery(name="findUser",query="select a from UserItem a where (a.username=?1)"),
        @NamedQuery(name="clearAllUsers", query="delete from UserItem a")
    }
)
public class UserItem implements Serializable{
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;

    private String username;
    private String password;
    private int age;

// autogenerated in IDE getters/setters
...
//
}
vertexua ★★★★★
()
Ответ на: комментарий от vertexua

>Ну а JPA хоронит MS LINQ, потому что работает с любыми СУБД, а тот только с MS SQL, что не всем подходит.

это неверное утверждение

lorhellboy
()
Ответ на: комментарий от vertexua

J2EE vs. Springframework
Вот интересует такой вопрос. Есть ли в Springgramework эквивалент аннотации @Remote?
Поясню. Требуется написать сервис (бизнес-объект если хотите) так, чтобы без дополнительного программирования (только меняя deployment-схему) можно было этот сервис использовать:
1. В рамках одного JVM и ClassLoader (например в одном WAR-приложении)
2. В рамках одного JVM и разных ClassLoader (например сервис в одном WAR, использующий его код в другом WAR)
3. В рамках разных JVM (например сервис на одном сервере, клиент на другом)

В EJB 3.0
Это делается легко через
@Remote
@Stateless / @Statefull

А как заставить в Springframework работать в таком же режиме bean из SpringContext?

anonymous
()
Ответ на: комментарий от anonymous

LINQ to SQL или LINQ ? LINQ не только расчитан на работу с БД. Но если сравнивать Hibernate (не nHibernate) с LINQ to SQL, то последний просто отдыхает. Загляните хотя бы inheritance strategy и почувствуйте разницу в возможностях или возможности того-же HQL. Вобщем куда не пнёшь, linq to sql отдыхает по сравнению с жабовским хибернейтом.

cerberus
()
Ответ на: комментарий от vertexua

Не осилил вашу логику

Есть два подхода - в одном повторяющиеся части включаются в отличающиеся - классический, во втором в повторящиеся части включаются отличающиейся - инвертированный - tiles. Второй - приводит к ужосу в перспективе развития - ради экономии десяти строчек html head.

Человек в реальном проэкте сказал, что они сказали одну из этих поделок, и они не для продакшн.

Каким образом качество драйверов пересекается с конкурирующим стандартом?

Никаких оверкилов.

Кроме того что он в принципе не нужен?

В чем вы видите проблему EJB?

А что там уже стали немодными мегапаттерны типа JDBC4Reading, Value/Transfer Object, Session Facade?

r ★★★★★
()
Ответ на: комментарий от slyjoe

А сейчас никто не рискнет вот так вот просто взять и ограничиться сервлетами и jsp. И это, не видел ни одного ЪЪного проекта без спринга.

Знаю я этих никто. Они текст из пдфок извелкали ораклом и веблоджиком.

И - таки да - я решусь как ни вопрос. И без спринга.

r ★★★★★
()
Ответ на: комментарий от vertexua

> Facelets - подростает замена JSF, который работал через JSP, которые сами работали через Servlet, которые потом компились в нативный код.

А facelets, по-твоему, как работают? И что за нативный код ты тут приплёл?

pitekantrop ★★★
()
Ответ на: комментарий от r

> во втором в повторящиеся части включаются отличающиейся - инвертированный - tiles. Второй - приводит к ужосу в перспективе развития - ради экономии десяти строчек html head.

Видел один проект на фейслетах — там было именно так.

pitekantrop ★★★
()
Ответ на: комментарий от vertexua

> Facelets - подростает замена JSF

Не замена, а довесок. Оно без JSF не работает.

svr69 ★★
()
Ответ на: комментарий от anonymous

> сервис на одном сервере, клиент на другом

Я делал это так http://static.springsource.org/spring/docs/2.0.8/reference/remoting.html

Кроме того, Спринг прекрасно интегрируется с EJB - курИте следующую главу приведенной мной доки.

Bioreactor ★★★★★
()

У меня, как у человека который не знает EJB и истово его ненавидит, есть только один вопрос. Почему оно на четырёх ядрах и восьми гигах памяти «чуть-чуть тормозит» на страничке «About company»?

Xellos ★★★★★
()
Ответ на: комментарий от r

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

Facelets - это такая примочка, чтобы чуть менее противно с JSF было работать. На tiles это как раз не похоже, маппингов нет. Ну и простые компоненты писать значительно легче, чем на чистом JSF.

svr69 ★★
()
Ответ на: комментарий от Xellos

> s/EJB/J2EE/

хотя в принципе одна фигня

Какое отношение имеет J2EE к стандарту EJB 3.0 и прочим вкусностям типа JPA??????

Bioreactor ★★★★★
()
Ответ на: комментарий от pitekantrop

Это на фейслетах постараться надо. Может, это все же Clay был?

svr69 ★★
()
Ответ на: комментарий от Bioreactor

Программисты-создатели серверов приложений? Да, согласен, криворукие. А есть другие? Вся эта ваша красотень при переходе в обычный жава-код уже перестала быть страшной, замороченной и делать два соединения с БД в ответ на каждый запрос?

Xellos ★★★★★
()
Ответ на: комментарий от JFreeM

У меня тоже ничего не тормозит, если я использую perl или php. Мне нужно постараться найти такую машину, которая при одиночном запросе будет тормозить. А вот глядя на вебсферу (и особенно её портал) я поражаюсь, как же оказывается всё может тормозить.

Xellos ★★★★★
()
Ответ на: комментарий от svr69

Facelets - это такая примочка, чтобы чуть менее противно с JSF было работать.

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

r ★★★★★
()
Ответ на: комментарий от Bioreactor

> Какое отношение имеет J2EE к стандарту EJB 3.0 и прочим вкусностям типа JPA??????

Прямое же.

Bohtvaroh ★★★★
()
Ответ на: комментарий от naryl

> Потому что разделитель каталогов - «/», а «\» - начало escape-последовательности. И это скорее фича чем бага.

Спасибо КЭП. Только вот ответь, зачем кому то в комментах рабочая escape-последовательность? Вот они в баг трекере поделить и не могу, бага или фича. По мне так кривой стандрат если об этом заранее не подумали.

gloomdemon
()
Ответ на: комментарий от matumba

> Абалдеть! Я прочёл и глазам своим не верю. Я правильно понимаю, что эти горе-языкостроители обрабатывают \u раньше, чем вырежут из исходников комменты?!!? Я валяюсь!!! :))))

Я сам когда столкнулся когда компилил прогу на mercury подумал что косяк компилера mercury. А выяснилось что пиз.... с java.

gloomdemon
()
Ответ на: комментарий от Xellos

надо было [code=java] писать, а не просто [code]

maxcom ★★★★★
()
Ответ на: комментарий от Bioreactor

Я делал это так http://static.springsource.org/spring/docs/2.0.8/reference/remoting.html


Знаем про это - не подходит (читай ниже). А что до интеграции с EJB, то в этом случае SpringFramework не становится его заменой и нужен Enterprise контейнер типа JBoss.

Почему Spring remoting не подходит - все просто.
В случае если у вас _одна_ JVM и _два_ разных spring приложения и из одного нужно дергать бины другого - единственный вариант - это вызов через сокеты (RMI, HTTP-requests, WebServices) и соответственно сериализацию.

В случае с EJB 3.0 он просто заюзает Local интерфейс и performance от этого не пострадает в отличие от Spring.

anonymous
()

Новая ява такая ява :)

anonymous
()
Ответ на: комментарий от Xellos

Почему может тормозить

>Почему оно на четырёх ядрах и восьми гигах памяти «чуть-чуть тормозит» на страничке «About company»?

По умолчанию там все lazy: при первом посещении jsp страница компилируется в сервлет, а сервлет при первом обращеннии грузится и инициализируется, может это ваш случай?

ycnix
()
Ответ на: Почему может тормозить от ycnix

> По умолчанию там все lazy: при первом посещении jsp страница компилируется в сервлет, а сервлет при первом обращеннии грузится и инициализируется, может это ваш случай?

Вот здесь мне стало страшно! А вам?

valich ★★★
()
Ответ на: комментарий от valich

Тормоза бывают разные...

Вообще, что на яве, что на .NET сервак должен «разогреваться». Т.е. он начнёт работать нормально тоько через какой-то сравнительно небольшой промежуток времени.

Вспомнилось...

Когда-то участвовал в воянии среднего звена под .NET 2 и никак не мог понять по какой такой причине скорость обращения к Ораклу в 23 раза ниже скорости обращения к MS SQL. Дошол до декомпиляции стандартного мсовского провайдера к Ораклу и выпал в осадок... Хотите верьте, хотите - нет... Но там были пустые цыклы.

После того, как на вскидку переписал провайдер ручками - получил 6-ти кратный прирост в скорости. После доводки скорость работы с обеими базами практически сравнялась!

vektory
()
Ответ на: комментарий от pitekantrop

> И что за нативный код ты тут приплёл?

Во-первых джава частично интерпретируется, частично JIT компилируется в нативный код. Матчасть не осилил?

А facelets, по-твоему, как работают?

А они по моему и по ихнему работают с JSF, без JSP. Тоесть нет фазы генерации из текстовика большого сервлета с кучей кода, который JVM должна по честному оптимизировать и выполнять. Фейслеты работают напрямую. Из-за обязательного требования о XHTML, главный сервлет фейслетов просто обрабатывает xml документы и генерирует их. И сам делает нужное кеширование и что там хочет. Это уже не важно. Главное что нет глупой фазы генерирования байткодов с нестандартного текстовика. В итоге нет раскачивания сайта, все работает в разы, иногда на порядки быстрее и легче.

А хде подсветка? :(

Я делал [code lang=«java»], не сработало, в док не смотрел, буду впредь знать как правильно.

Есть два подхода - в одном повторяющиеся части включаются в отличающиеся - классический, во втором в повторящиеся части включаются отличающиейся - инвертированный - tiles. Второй - приводит к ужосу в перспективе развития - ради экономии десяти строчек html head.

Вы замечаете, что просто констатируете это, особо не аргументируя. У меня переход на фейслеты уменьшил код. Повысил читаемость и управляемость. ЧЯДНТ? Но вообще если не хотите, то не используйте. Видите, ваши взгляды отличаются от моих и инженеров сан. Но если вас это волнует, то напишите им письмо. Опишите опыт вашей компании. Они оценят ваш авторитет и изменят свое мнение и подход. Особенно не забудьте им написать, что классический подход, так как в php, намного лучше. Они этого не знают.

vertexua ★★★★★
()
Ответ на: Тормоза бывают разные... от vektory

Вот тут мне стало страшно. Стратегия МС основаная на vendor lockin. Вот почему и LINQ глючил, почему OpenGL 1.1 и не выше в винде, вот почему джава выпиляли и а до того не обновляли, вот почему Windows Forms проприетарна. Хотя глобально ничего нового не услышал

vertexua ★★★★★
()

> Среди нововведений платформы JAVA EE 6: Servlet 3, JPA 2, EJB 3.1 и Bean validation.

Среди нововведений платформы: Уйнымуйны 3, Тырыпыры 2, Лябуду 3.1 и Хренпомичотакое с валидолом.

xintrea
()
Ответ на: комментарий от vertexua

Вы замечаете, что просто констатируете это, особо не аргументируя.

Да легко. Берем страницу делем шаблон типа тайлз вставляем туда три вариабельных сектора. Допустим для страницы N+1 лейаут отличается на 1 сектор - следовательно нужно два шаблона. Общая идеология реюза хытымла (иначе на кой хрен все было начинать на этом) просит у нас таки реюза - и мы бацаем шаблон второго уровня где все общее и вставляем в два шаблона отличающихся одним сектором. В странице N+X меняется другой сектор. Развиваем такими шагами проект с полгодика. Радуемся - никто не может понять что куда инклудиться и как это все отрефакторить так чтобы не переписывать совсем при выяснении того что шаблоны X,Y,Z сводятсяк неким более простым A и B - да вот черт там уже иерархия реюзнутого хытыэмэла....

А по ранним тайпестри я когдато мегафукающий анализ написал где разобраны по костям все маразмы этого городка.

Видите, ваши взгляды отличаются от моих и инженеров сан.

Не надо только расписываться за инженеров сан это раз, и абстрактные инженеры сан - ни разу не авторитет это два. Это к вашему сведению те самые люди которые EJB1 изобрели. А потом 1.1. И т.д.

Вы можете сформулировать какие задачи и проблемы ставились при изобретени фейслетов и как они их решают и почему так хорошо или плохо?

r ★★★★★
()
Ответ на: комментарий от xintrea

Уйнымуйны 3, Тырыпыры 2, Лябуду 3.1 и Хренпомичотакое с валидолом.


Смишно.

FYI, http://habrahabr.ru/company/intel/blog/77065/ Intel® со товарищи уже во всю портируют Hadoop на 48-ядерный процессор. А как там ваши c++, haskell и php, кому-нить еще нужны? Или уже на свалке истории?

Karapuz ★★★★★
()
Ответ на: комментарий от NIR

> Ну вот и отлично. Буду ждать универских семинаров по теме.

Университету реально нечем больше заняться, чем читать вслух JEE tutorial? >_<

sv75 ★★★★★
()
Ответ на: комментарий от r

> Да легко. Берем страницу делем шаблон типа тайлз вставляем туда три вариабельных сектора....

Два абсолютно разных вида предполагают наличие разных шаблонов. Если вам нужна динамика в одном шаблоне - проэктируйте так что бы была динамика. Условные конструкции и т.д. Я не понимаю как вы допроэктировались до таких проблем. Это же надо такие шаблоны придумать и так проэктировать, чтобы у вас отличалась секция настолько, что вам никакие средства не подходят. меня устраивает все.

Вы можете сформулировать какие задачи и проблемы ставились при изобретени фейслетов и как они их решают и почему так хорошо или плохо?

Почитайте хотя бы википедию. И еще производительность. Без слоенного пирога

vertexua ★★★★★
()
Ответ на: комментарий от gloomdemon

> Только вот ответь, зачем кому то в комментах рабочая escape-последовательность?

Видимо для JavaDoc. Ведь комментарии это не только для себя любимого, но в идеале для автоматической генерации документации, где иногда нужны и юникодные символы.

RSM
()
Ответ на: комментарий от vertexua

Два абсолютно разных вида предполагают наличие разных шаблонов.

Я где-то говорил про абсолютно разные виды?

меня устраивает все.

ага - увидим через пол годика.

Почитайте хотя бы википедию.

Википедия на данный вопрос не отвечает.

r ★★★★★
()
Ответ на: комментарий от RSM

> Видимо для JavaDoc. Ведь комментарии это не только для себя любимого, но в идеале для автоматической генерации документации, где иногда нужны и юникодные символы.

А что мешает прям этим самым юникодом и написать? escape-последовательность зачем?

anonymous
()
Ответ на: комментарий от anonymous

>А что мешает прям этим самым юникодом и написать? escape-последовательность зачем?

«\» - начало escape-последовательности. А для чего ещё ты хочешь «\» использовать?

Led ★★★☆☆
()
Ответ на: комментарий от Karapuz

> Karapuz *** (*) (05.12.2009 1:13:40):

А как там ваши c++, haskell и php, кому-нить еще нужны? Или уже на свалке истории?

На свалке истории разве что ты - не зная, что Хаскель параллелится, C++ вообще пофиг (как напишешь так и будет), а PHP упоминать не стоит. А если ты оторвёшь глаза от собственных яиц, узнаешь, что тот же MapReduce безумно стар и те, кто его начал применять в софте на C++, уже давно в лучшем мире.

А получится ли из Hadoop что-то хорошее - надо посмотреть... только без тебя.

netch
()
Ответ на: комментарий от RSM

> > Только вот ответь, зачем кому то в комментах рабочая escape-последовательность?

Видимо для JavaDoc. Ведь комментарии это не только для себя любимого, но в идеале для автоматической генерации документации, где иногда нужны и юникодные символы.


Однострочные комментарии не могут интерпретироваться как javadoc. Однако даже там \u интерпретируется как начало юникодной эскейп последовательности.

bbk123 ★★★★★
()
Ответ на: комментарий от r

> А по ранним тайпестри я когдато мегафукающий анализ написал где разобраны по костям все маразмы этого городка.

Ссылки нету, кстати? Я читал сколько-то времени назад описание чьих-то мытарств с тапестри, хочется вспомнить. У меня общение с этим фреймворком дальше прототипа не уходило, но ведь сам Говард на нем даже tss написал!

svr69 ★★
()
Ответ на: комментарий от Led

> «\» - начало escape-последовательности. А для чего ещё ты хочешь «\» использовать?

Вопрос не ко мне, но всё же отвечу. «\» - это обычный символ, такой же как и все остальные. Как я его использую вне литералов - моё личное дело.

Могу предположить, что идея такого безобразия была взята из C. Там тоже есть диграфы и триграфы, которые преобразовываются в нормальные симолы до начала компиляции.

bbk123 ★★★★★
()
Ответ на: комментарий от bbk123

>> «\» - начало escape-последовательности. А для чего ещё ты хочешь «\» использовать?

Вопрос не ко мне, но всё же отвечу. «\» - это обычный символ, такой же как и все остальные. Как я его использую вне литералов - моё личное дело.

Могу предположить, что идея такого безобразия была взята из C. Там тоже есть диграфы и триграфы, которые преобразовываются в нормальные симолы до начала компиляции.

В C компилятор не обрабатывает комментарии, их обрабатывает препроцессор.

Led ★★★☆☆
()
Ответ на: комментарий от bbk123

Предположение не верно. Покапитаню и открою америку - исходный код джавы немножко не обязан быть в ascii кодировке. Эскейп последовательности ради совместимости со средствами редактирования юникода не умеющими.

LamerOk ★★★★★
()
Ответ на: комментарий от svr69

Ссылки нету, кстати?

Поискал - нету. Но н был по первой или второй (не помню) тапестри - может сейчас оно ожило.

r ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.