Текст: Компьюлента
Компании IBM и BEA, являющиеся основными поставщиками J2EE-серверов, планируют значительно поднять уровень стандартизации в мире Java-приложений. Сейчас они разрабатывают новые спецификации, которые должны облегчить разработку сервисных приложений.
Как известно, в спецификации Java2 Enterprise Edition, автором которой является корпорация Sun, содержится очень мало жестких требований. В основном, они касаются самого языка Java, устройства трехзвеньевой архитектуры и некоторых ее обязательных компонентов. Конкретные же реализации J2EE-серверов приложений, на которых исполняются Java-приложения, полностью разрабатываются сторонними компаниями (яркими представителями которых являются IBM и BEA). При этом, программа, разрабатывающаяся в расчете на конкретный сервер приложений, на другом может и не заработать.
Разработка новых спецификаций должна облегчить создание действительно кросс-платформенных Java-приложений, способных функционировать на серверах приложений различных производителей. Это должно поднять конкурентоспособность Java в сегодняшнем мире стремительно развивающихся распределенных сетей и веб-сервисов. В дальнейшем IBM и BEA планируют предоставить свои разработки Sun, чтобы та могла дополнить ими общий стандарт.
Технология Service Data Objects позволит стандартизировать доступ к информации, расположенной в реляционных, объектных и XML-базах данных, либо предоставляемой через веб-сервисы. Судя по описанию, она очень напоминает ADO.Net от Microsoft: в частности, предполагается, что клиентская программа должна загружать с сервера фрагмент базы данных и работать с ним автономно, а потом, в случае необходимости, снова подключиться к основной базе данных и сохранить там сделанные локально изменения.
Еще две технологии, Work Manager for Application Servers и Timer for Application Servers представляют собой модификации уже имеющихся в Java средств. Первая предоставляет инструменты для распараллеливания J2EE-приложений и должна сократить общее время выполнения нескольких параллельных процессов за счет смены очередности их выполнения. Вторая предоставляет программистам возможности java.util.Timer - класса для работы с таймером, который отлично работает в J2SE, но не рекомендуется для использования в распределенных приложениях.