среда, Июль 27, 2005
Поддержка XML в J2SE 7.0
В подавляющем большинстве случаев работа с XML должна начинаться с создания XML-схемы. Однако некоторый класс задач этого не требует либо требует определенной специфики, выходящей за рамки "спущенной сверху" схемы, когда менять ее не представляется возможным. Ситуации эти в практике корпоративных разработчиков возникают с досадной регулярностью, а существующие технологии работы с XML в Java (DOM, JDOM, JAXB) для них не слишком удобны или не подходят вовсе. Кардинального решения в этой области разработчикам придется ждать как минимум до второй половины 2007, когда выйдет Java SE 7.0 (a.k.a. Dolphin). Пока же Sun трудится только над Java SE 6.0, которая еще даже не beta. Но ждать, как следует из этого сообщения, есть чего.
А именно, по информации автора, в Dolphin сращивание Java с XML выйдет за пределы библиотек классов, опираясь на новые возможности компилятора и виртуальной машины. Интересно, как будут решены вопросы управления XML-сериализацией/десериализацией динамических членов, для чего в отношении декларированных членов используются аннотации. Неясно также, будет ли возможность во время исполнения получить XML-схему, соответствующую произвольному классу или объекту, особенно в случае, если он содержит имплицитные свойства.
Нельзя не отметить некоторое сходство подходов Dolphin и Cw (Cω), проекта Microsoft Research, в одном ключевом аспекте. И в том и в другом случае, слияние классов и XML-фрагментов осуществляется не только на основе специализации, но и расширения. Впрочем, идеи Cw настолько кардинально трансформируют возможности традиционных языков программирования (в своем случае, как расширения C#), что родная поддержка XML на уровне Dolphin кажется детской шалостью. Учитывая это, утка одного разработчика из команды компилятора C# по поводу несуществующих XML generics похожа на издевательство.
Предполагаю, что реальный ответ Microsoft не только не заставит себя ждать, но и обойдет Sun по оперативности. Однако применяя аналогичные технические решения в промышленных продуктах Microsoft рискует окончательно дезориентировать свою VB-публику, еще не пришедшую в себя от удара VB.Net (Microsoft пожертвовала тогда некоторой обратной совместимостью ради того, чтобы сделать из VB6, представлявшего собой в первую очередь CASE-средство, полноценный язык ООП). У значительной части этой аудитории штучки вроде extends-деклараций несомненно вызовут аллергическую реакцию (надо признать, впрочем, что generics все-таки попали в VB 2005). В то же время оставить без ответа новые возможности Java Microsoft будет трудно, поскольку до сих пор .Net Framework славился в первую очередь превосходной поддержкой XML и Web-сервисов. Вероятно, Microsoft придется искать иной путь развития, чем тот, который может позволить себе Sun и Java-сообщество.
А именно, по информации автора, в Dolphin сращивание Java с XML выйдет за пределы библиотек классов, опираясь на новые возможности компилятора и виртуальной машины. Интересно, как будут решены вопросы управления XML-сериализацией/десериализацией динамических членов, для чего в отношении декларированных членов используются аннотации. Неясно также, будет ли возможность во время исполнения получить XML-схему, соответствующую произвольному классу или объекту, особенно в случае, если он содержит имплицитные свойства.
Нельзя не отметить некоторое сходство подходов Dolphin и Cw (Cω), проекта Microsoft Research, в одном ключевом аспекте. И в том и в другом случае, слияние классов и XML-фрагментов осуществляется не только на основе специализации, но и расширения. Впрочем, идеи Cw настолько кардинально трансформируют возможности традиционных языков программирования (в своем случае, как расширения C#), что родная поддержка XML на уровне Dolphin кажется детской шалостью. Учитывая это, утка одного разработчика из команды компилятора C# по поводу несуществующих XML generics похожа на издевательство.
Предполагаю, что реальный ответ Microsoft не только не заставит себя ждать, но и обойдет Sun по оперативности. Однако применяя аналогичные технические решения в промышленных продуктах Microsoft рискует окончательно дезориентировать свою VB-публику, еще не пришедшую в себя от удара VB.Net (Microsoft пожертвовала тогда некоторой обратной совместимостью ради того, чтобы сделать из VB6, представлявшего собой в первую очередь CASE-средство, полноценный язык ООП). У значительной части этой аудитории штучки вроде extends-деклараций несомненно вызовут аллергическую реакцию (надо признать, впрочем, что generics все-таки попали в VB 2005). В то же время оставить без ответа новые возможности Java Microsoft будет трудно, поскольку до сих пор .Net Framework славился в первую очередь превосходной поддержкой XML и Web-сервисов. Вероятно, Microsoft придется искать иной путь развития, чем тот, который может позволить себе Sun и Java-сообщество.






