И кому нахрен этот dcop нужен? Почитай сначала что такое корба
Знаю я что такое корба и не вижу в ней ничего незаменимого. А если понадобится - смогу заюзать её из любого языка. Либ и биндингов полно.
QT заменяет EJB, Axis2 и JDBC в одном флаконе?
Я не ява-программист и слабо представляю себе что значат эти твои страшные слова, которыми ты сыпешь как менеджер на презентации. qt мощная штука и пригодна не только для рисования окошек, как многие думают. И это не единственный фреймворк для плюсов и вообще компилируемых языков. А ява имеет только один фреймворк и он контролируется одной корпорацией несмотря на все гпл. И если ты захочешь его расширить - то надо будет таскать с собой сторонний модуль (или требовать его наличия на машине пользователя, что делает эпитет "переносимо" неприменимым).
Сумешь конечно заюзать, вот только насколько такое решение будет переносимым? Я ведь имел ввиду сервеную часть - как найдешь холявную реализацию CORBA под win и lin - мы продолжим.
Гугулить я чую ты не будешь, поэтому так и быть, дам краткий обзор (чтобы окончательно закрыть тему).
QT - по больщей части гуй, ему аналоги Swing/AWT/SWT.
EJB - компонент, управляемый контейнером, с возможностью прозрачного локального и удаленного доступа, управление контейнором позволяет реализовывать весьма интересные вещи - самое простое и понятное это поддержка состояния - для клиента выглядит просто - все вызовы одного и того же клиента будут делигироваться одному и тому же экземпляру компонента (например классический хэлловорд на php - это система без состояния, поэтому приходится изврщаться с сохранением оного в сессии). Выглядит довольно просто и примитивно, неправда ли? Но вот внутри не все так просто: есть такие вещи как activate/passivate, которые позволяют сохранять состояние такого компонента в постоянном хранилище, а потом поднять его же из этого или ДРУГОГО контейнера на другой машине - таким образом можно создавать отакзоусточивые решения. Разумеется есть еще компоненты без состояний. Плюс ряд вспомогательных сервисов, которые тесны интегрированы с контейнером - JTS (сервис управления транзакциями, в том числе глобальными), JAAS (аутентификация и авторизация) и прочее. Как результат простая настраиваемая аутентификация, деклартивная демаркация транзакций и пр.
А теперь представь себе что такую штуку можно заюзать локально или удаленно, а можно объявить как веб сервис. EJB 2 были вроде бы до определленого уровня эквивалентны корбе, вплоть до того что к ним можно достучаться по IIOP (пробовал на SJSAS 8.1).
EJB.
EJB контейнер является неотъемлемой частью J2EE сервера, кроме него туда обычно входят: веб контейнер, служба сообщений JMS, которая в качесвте бэкэнда использует как раз EJB (так называемые MDB) + всякие вспомогательные сервисы.
Все J2EE серверы реализуют соответствующий стандарт и являются по большей части совместимыми между собой. Примеры:
- бесплатные: JBoss, GlassFish (SJSAS), Geronimo
- платные: WebSphere, WebLogic
Кроме того есть отельные веб контейнеры (Tomcat, Jetty) и EJB (OpenEJB), а также отдельные реализации JMS (ActiveMQ, JBossMQ).
Axis2 - это движок для веб сервсиов, активно встраивается во все подряд.
JDBC - интерфейс для работы с БД (аналоги - ODBC/ADO.NET).
В жабе один в фреймворк?
- IoC: Spring, HiveMind
- ORM : Hibernate, OpenJPA, TopLink
- Web: Struts, Tapestry, JSF, Wicket
это навскидку, то что ты назваешь фреймворком на самом деле стандартная библиотека.
Что из этого я по пощупал/использовал: J2EE - Geronimo, GlassFish/SJSAS, Tomcat, Jetty, ActiveMQ, OpenEJB; фреймворки - Spring (весчь!), Hibernate/OpenJPA/TopLink (пришел к выводу что запросы лучше писать ручками через JDBC), Struts (весчь), JSF (редкая гадость), Axis2 (в чистом виде тоже гадость + хреновая документация) + конечно пользуюсь стнадартной библиотекой(от нее никуда не денешься). Это я к тому что я не сыплю словами как МЕНЕДЖЕР.
А поводу контроля со стороны одной корпорации, поищи в гугле, сколько есть разных жаб (но вот не задача, по большей части они тоже между собой совместимы, для одной версии разумеется) и почитай как принимаются стандарты (ключевое слово JCP - Java Community Process) - гнушное поделие НЕ УПОМИНАТЬ!
Да, я забыл упоминуть - все вещи, о которых я здесь упоминал, кроссплатформеные