Archive for the 'анонс' Category

Вероотступник Geronimo: OpenEJB и реализация EJB в Apache Geronimo

Thursday, December 21st, 2006

Warning: file_get_contents(http://jug.in.ntu-kpi.kiev.ua/glossary/get) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/htdocs/blog/wp-content/plugins/jug-glossary.php on line 40

OpenEJB, фактически, состоит из двух частей: сервера и контейнера, и команда прилагает все усилия, чтобы не смешивать их. В спецификации EJB говорится о контейнере и сервере как о раздельных частях, но нигде не даётся определение этих частей. OpenEJB устанавливает соглашение “контейнер-сервер”, и, в конце концов, серверная часть OpenEJB была включена в Geronimo без каких-либо серьёзных изменений, а контейнер был полностью переписан для проекта. “Мы не используем Jetty целиком и не полностью используем OpenEJB, который существовал до создания Geronimo,” заметил Дэвид. “Одна из вещей, которой [члены сообщества Geronimo] могут гордиться, состоит в том, что мы не склеивали части в произвольном порядке и не представили всем эдакого Франкенштейна”.

Серверная сторона OpenEJB содержит распределённую часть уравнения. В любой распределённой системе должны присутствовать две вещи: способность находить компонент или сервис, которые вы хотите использовать, а также способ их вызова после того, как они найдены. Отыскание компонента или сервиса обычно происходит с использованием какого-либо реестра. В веб-сервисах это — Universal Description, Discovery and Integration (UDDI). В CORBA это — CosNaming. В EJB это — Java Naming и Directory Interface (JNDI). В идеале, вы должны иметь возможность позаботиться о второй части — о вызове компонентов (будь это веб-сервис, CORBA-процедура, или удалённый EJB) при помощи обычных программных средств. Другими словами, вы должны иметь возможность вызывать компонент, как если бы он был локальным объектом.

Серверная часть среды управляет этим процессом вызова, проверяя, что вызов достигает удалённого объекта, и что ответ возвращается к клиенту. Сервер также управляет такими задачами, как “передача состояния безопасности транзакции между вызовами,” сказал Дэвид.

Подробности…

Курс лекций “Программирование на Java” Донецкого национального технического университета

Thursday, December 21st, 2006

Warning: file_get_contents(http://jug.in.ntu-kpi.kiev.ua/glossary/get) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/htdocs/blog/wp-content/plugins/jug-glossary.php on line 40

На сайте Юрия Попова (http://popoff.donetsk.ua) размещён “draft” курса лекций по языку программирования Java: http://popoff.donetsk.ua/text/donntu/java/ Со слов автора, этот курс ещё в разработке, потому охота пожелать успеха и завершить начинание.

Ознакомление с курсом можно начать с первой лекции, “История создания и основные термины”: http://popoff.donetsk.ua/text/donntu/java/lection-1.html

mail.jug.org.ua / start.jug.org.ua

Wednesday, November 29th, 2006

Warning: file_get_contents(http://jug.in.ntu-kpi.kiev.ua/glossary/get) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/htdocs/blog/wp-content/plugins/jug-glossary.php on line 40

Добрый вечер!

Для доступа к Hosted Gmail (почтовые ящики *@jug.org.ua) теперь можно использовать короткий адрес: http://mail.jug.org.ua

Также появилась долгожданная Dashboard-страница. Встречайте: http://start.jug.org.ua

К странице можно добавить погоду в Киеве и RSS-ленты блога и форума.

Вот как это счастье в итоге выглядит:

jug.org.ua start page

Enjoy!

Clustering - EJBs vs JMS vs POJOs

Saturday, November 25th, 2006

Warning: file_get_contents(http://jug.in.ntu-kpi.kiev.ua/glossary/get) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/htdocs/blog/wp-content/plugins/jug-glossary.php on line 40

The entire application was written in Java (JSE and JEE) in a typical 3-tier architecture topology. The application was deployed on 2 application server nodes. All transient and persistent data was pushed into the Database to address high availability. As it turned out, as the user-base grew, the database was the major bottleneck towards RAS and performance. We had a couple of options: pay a major database vendor an astronomical sum to buy their clustering solution, or redesign the architecture to be a high-performing RAS system. Choosing the first option was tempting, but it just meant we were pushing the real shortcomings of our architecture “under the carpet”, over and above having to spend an astrnomical sum. We chose the latter.

Via pojomojo
Перевод.

Приложение было написано с использованием Java SE и Jave EE, типичная трёхзвенная архитектура, и его выполнение было распределено между двумя серверами приложений. В целях обеспечения лучшей доступности как временная, так и нуждающаяся в сохранении информация хранилась в базе данных. Но, как только число пользователей увеличилось, база данных стала узким местом производительности и RAS (Reliability, Availability, Serviceability). У нас было два варианта:

  1. заплатить астрономическую сумму крупному поставщику решений для баз данных за кластерное решение
  2. изменить архитектуру самого приложения и превратить его в высокопроизводительную RAS-систему

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

H2 Database Engine

Friday, November 24th, 2006

Warning: file_get_contents(http://jug.in.ntu-kpi.kiev.ua/glossary/get) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/htdocs/blog/wp-content/plugins/jug-glossary.php on line 40

20 ноября’06 выпущен релиз 1.0 версии СУБД H2 - HSQLDB второго поколения.

Сайт проекта: http://www.h2database.com/ :

Добро пожаловать на сайт H2, the free SQL database. Главными возможностями H2 являются:

  • Высокая производительность
    за счёт того что природа СУБД-движка - in-memory
  • доступность исходного кода; может быть скомпилированая с помощью GCJ - Gnu Compiler for Java (Linux)
    Возможность компилирования с помощью GNU-компилятора в свете релиза исходников основных компонентов Java под лицензией GPL уже не актуален, но тем не менее такая возможность присутствует.
  • режими Embedded, Server и Cluster
  • JDBC и (частично) ODBC API
  • Web Client application

Тестирование производительности показывает значительный отрыв вперёд по сравнению с Apache Derby, MySQL и HSQLDB первого поколения:

H2 Database Engine Performance

Sun Tech Days Developer Conference Atlanta

Wednesday, November 22nd, 2006

Warning: file_get_contents(http://jug.in.ntu-kpi.kiev.ua/glossary/get) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/htdocs/blog/wp-content/plugins/jug-glossary.php on line 40

Команда Technology Outreach Team (The Sun Microsystems) заявляет: Sun спонсирует проведение “FREE Developer Conference” в Atlanta GA, в январе’07, 16-18 числа.

Для участников JUG создан специальный регистрационный код. Предусмотрена встреча организаторами тех джуговцев, которые будут приезжать “толпами” :-) (jug meet-up)

Referral Code знают организаторы JUG’ов, и если вы вдруг соберётесь и поедете - помнимте: код всегда можно узнать, написав на info(at)jug.org.ua

Если среди участников JUG’а присутствуют те, кто всегда хотел попасть на JavaOne, но не мог себе этого позволить из-за высокой стоимости посещения или сильной занятости на работе, то программа Sun Tech Days является прекрасной возможность получить те же знания, что и на JavaOne (… плюс навыки практического применения, что называется “пощупать”, дальше про Hands-On Labs Sessions).

Программа

Список запланированных докладов (предварительный), презентации в формате PDF :

Для себя выделил доклады по Java SE и Java Scripting в 6.0 :-)

В рамках конференции пройдут так называемые Sun Tech Days Hand-On Labs sessions(предлагают закатать рукава и захватить с собой ноутбук) :

Meta

JBoss Web Server

Friday, November 17th, 2006

Warning: file_get_contents(http://jug.in.ntu-kpi.kiev.ua/glossary/get) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/htdocs/blog/wp-content/plugins/jug-glossary.php on line 40

http://www.jboss.com/products/jbossweb

Enterprise Web Server powered by Apache Tomcat.

JBoss Web Server - новый opensource проект разработки единой высокопроизводительной платформы для развёртывания приложений, основанных на таких технологиях:

  • Java Server Pages (JSP) и Java Servlet
  • Microsoft ASP.NET
  • PHP и CGI.

JBoss Web построен на базе Apache Tomcat и включает такие технологии как Apache Portable Runtime (APR) и Tomcat native technologies, что позволяет достичь характеристик масштабируемости и производительности, сравнимых и превосходящих возможности Apache HTTP Server.

JBoss Web Server характеризуется такими функциональными возможностями:

  • Возможность одновременного обслуживания более чем 10,000 подключений
  • Поддержка протоколов HTTP, HTTPS и AJP (Apache JServ Protocol)
  • OpenSSL для поддержки Secure Sockets Layer (SSL)
  • URL rewriting “на лету” благодаря гибкому механизму обработки URL-запросов, поддерживающему неограниченное количество правил и условий
  • Поддержка “in-” и “out-of-process” техник выполнения CGI и PHP скриптов, а также приложений ASP.NET
  • Улучшенный балансировщик нагрузки, предоставляющий высокий уровень доступности приложений и возможность сегментации удалённых подсистем, выполняющихся в режиме “out-of-process”

Подробности: http://www.jboss.com/products/jbossweb