Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В каких ситуациях лучше использовать Cocoon? 
:(
    Опции темы
Cross
Дата 9.4.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Поделитесь опытом - в каких случаях нужно использовать Cocoon? И когда использование этого фреймворка оправдано.
Как я поняла, эта среда создана специально для публикации XML-контента в разных форматах. 
Но с помощью библиотек тегов можно сделать все то же самое с помощью JSP... 
Я читала статьи сравнения JSP и XSP (из Cocoon) - так вот там сказано, что XSP создан специально для того, чтобы полностью разделить логику, данные и представления. А это, в свою очередь, облегчает создание проектов. 
Но не ведет ли это облегчение к снижению производительности??? И реально - нужно ли это вообще?

Поделитесь пожалуйста совими соображениями на этот счет...


PM MAIL ICQ Skype MSN   Вверх
jnosferathu
Дата 21.4.2008, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.4.2008
Где: Москва

Репутация: 1
Всего: 1



Цитата(Cross @ 9.4.2008,  18:33)
Поделитесь опытом - в каких случаях нужно использовать Cocoon? И когда использование этого фреймворка оправдано.

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

Цитата(Cross @ 9.4.2008,  18:33)
Как я поняла, эта среда создана специально для публикации XML-контента в разных форматах. 
Но с помощью библиотек тегов можно сделать все то же самое с помощью JSP... 
Я читала статьи сравнения JSP и XSP (из Cocoon) - так вот там сказано, что XSP создан специально для того, чтобы полностью разделить логику, данные и представления. А это, в свою очередь, облегчает создание проектов. 

Полностью с тобой согласен, но XSP - это не только разделение логики, данных и представления, но и специализированная среда, направленная именно на это, т.е. упрощает работу smile 

Цитата(Cross @ 9.4.2008,  18:33)
Но не ведет ли это облегчение к снижению производительности??? И реально - нужно ли это вообще?

Поделитесь пожалуйста своими соображениями на этот счет...

На производительность никак не скажется - та же Java. Apache Cocoon - это бесплатный с открытым кодом проект, который позволяет делать то же самое, что и громозкие системы с платной лицензией...

Это сообщение отредактировал(а) jnosferathu - 21.4.2008, 11:35
PM MAIL   Вверх
Cross
Дата 23.4.2008, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Спасибо за ответ!!! 


Это сообщение отредактировал(а) Cross - 23.4.2008, 22:02
PM MAIL ICQ Skype MSN   Вверх
Cross
Дата 23.4.2008, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Если можно, подкиньте какие-то материалы, "восхвалающие" XSP... 
Нужно научного руководителя убедить в переходе на Cocoon, а у меня что-то не особо получается...
Нужно какое-то хорошее сравнение XSP и JSP... 
PM MAIL ICQ Skype MSN   Вверх
JVM
Дата 24.4.2008, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 30.10.2006

Репутация: 4
Всего: 5



Так может и не стоит их сравнивать? Можно ведь использовать и JSP.
По моему так XSP ничем не лучше если не хуже JSP.
PM MAIL   Вверх
Cross
Дата 24.4.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



А чем XSP хуже??? Мне кажется, что в XSP проще использовать Java-код... 

PM MAIL ICQ Skype MSN   Вверх
jnosferathu
Дата 25.4.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.4.2008
Где: Москва

Репутация: 1
Всего: 1



Цитата(Cross @ 24.4.2008,  14:09)
А чем XSP хуже??? Мне кажется, что в XSP проще использовать Java-код...

XSP - более строгая спецификация над JSP, что в свою очередь накладывает некоторые ограничения, но они компенсируются спецификой направленности среды. Использование Явы в XSP действительно очень радует smile Возможности технологии JSP на данный момент исчерпаны и у многих корпораций JSP вызывает только головную боль, т.к. не хватает ресурсов по переводу мегатонных порталов на более совершенные технологии. На этом фоне стоит отметить, что XSP этой участи не подвергнется, т.к. по сути она и есть современное решение smile 

Цитата(Cross @ 23.4.2008, 22:01)
Если можно, подкиньте какие-то материалы, "восхвалающие" XSP... 
Нужно научного руководителя убедить в переходе на Cocoon, а у меня что-то не особо получается...
Нужно какое-то хорошее сравнение XSP и JSP... 

Однажды, в PHP работал с адоном, позволяющий разработать портал на PHP, разделив логику, представление и данные - совсем как в Cocoon... Полагаю, мой акцент на Cocoon связан c его языковой принадлежностью - Java. А выявить разницу между XSP и JSP - просто, если показать элегантные и небольшие по размеру решения на Cocoon, опубликованные на портале для разработчиков Apache Cocoon, создание которого я ускорю, если Cross и JVM пообещают с наполнением, в котором я не настаиваю и прошу простить мою смелость smile 

Это сообщение отредактировал(а) jnosferathu - 25.4.2008, 16:09
PM MAIL   Вверх
Cross
Дата 25.4.2008, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Спасибо за разъяснения! Еще раз убедилась, что НУЖНО использовать Cocoon!
Я еще тут статейку нашла  http://www.javable.com/columns/serv_side/opinions/01/
Это перевод статьи Brett McLaughlin - очень известного и опытного разработчика Java. 
Он там доказывает несостоятельноcть JSP.


Я бы с удовольствием поучаствовала в наполнении портала.
Могу переводить с английского какие-нибудь материалы, могу предоставлять свои примеры 
(когда их наберется достаточно smile ). 
Только предупреждаю я далеко не профессионал... 
Я работала на PHP - что-то не понравилось... слишком противно копаться в чужом коде...
Сейчас вот пишу диссертацию, для которой мне и нужен Cocoon! 
Так что чем смогу - помогу!  smile 

 

Это сообщение отредактировал(а) Cross - 25.4.2008, 22:05
PM MAIL ICQ Skype MSN   Вверх
Cross
Дата 25.4.2008, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



У меня вот такой возник вопрос:

Вот моя страничка JSP, сделанная с помощью библиотеки тегов JSTL

Код

<%@page pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<sql:setDataSource
  dataSource="jdbc/test"
  var="conn"/>
<html>
<head>
<link href="stylesheets/CSS/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<jsp:include page="content/static_content/logotype.html" flush="true"/>
<jsp:include page="content/static_content/top_menu.html" flush="true"/>

<c:set value="http://localhost/test/content/xml_content/" var="path_to_xml"/>

<c:import url="http://localhost/test/stylesheets/xsl/irssm-text.xsl" var="xslt" charEncoding="windows-1251"/>

<div id="main">

<!-- Статический раздел (информация о сайте) -->
<c:if test="${param.page != 'model'}">
        <c:choose>
            <c:when test="${param.page == 'index'}">
                <c:set value="${path_to_xml}index-text.xml" var="content"/>
            </c:when>
            <c:when test="${param.page == 'help'}">
                <c:set value="${path_to_xml}help-text.xml" var="content"/>
            </c:when>
            <c:when test="${param.page == 'author'}">
                <c:set value="${path_to_xml}author-text.xml" var="content"/>
            </c:when>
            <c:when test="${param.page == 'contacts'}">
                <c:set value="${path_to_xml}contact-text.xml" var="content"/>
            </c:when>
            <c:when test="${param.value == NULL}">
                <c:set value="${path_to_xml}index-text.xml" var="content"/>
            </c:when>
            <c:otherwise>
                <c:set value="${path_to_xml}index-text.xml" var="content"/>
            </c:otherwise>
        </c:choose>

    <c:import url="${content}" var="xml" charEncoding="windows-1251"/>
    <x:transform xml="${xml}" xslt="${xslt}"/>
</c:if>
<!-- КОНЕЦ статического раздела -->


<!-- Если выбран раздел моделирования -->
<c:if test="${param.page == 'model'}">
    <script type="text/javascript" src="menu.js"></script>
    <jsp:include page="modelling/data-books/index.jsp"/>
</c:if>
<!-- КОНЕЦ раздела моделирования -->
</div>

<!-- если не в разделе моделирования, то показывать логин --> 
<c:if test="${param.page != 'model'}">
    <jsp:include page="modelling/login.html"/>
</c:if>

<!-- если в разделе моделирования - показывать меню моделирования -->
<c:if test="${param.page == 'model'}">
    <jsp:include page="content/static_content/right_menu.html" flush="true"/>
</c:if>
</body>
</html>



Смогу ли я добиться подобного кода в XSP. Насколько я понимаю, для того, чтобы в страничку 
вставить какой-то документ XML в XSP нужно писать для этого специальный Java-класс и с помощью него 
читать документ XML и парсить его...
А нет ли каких-то встроенных средств? А решение, с помощью JSTL мне кажется удобным!!!

Добавлено через 1 минуту и 15 секунд
Везде где читаю про JSP - советуют никогда не смешивать JAVA-код и разметку... 
А в XSP без этого нельзя???
PM MAIL ICQ Skype MSN   Вверх
jnosferathu
Дата 26.4.2008, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.4.2008
Где: Москва

Репутация: 1
Всего: 1



Цитата(Cross @ 25.4.2008,  22:52)
Насколько я понимаю, для того, чтобы в страничку 
вставить какой-то документ XML в XSP нужно писать для этого специальный Java-класс и с помощью него 
читать документ XML и парсить его...
А нет ли каких-то встроенных средств? А решение, с помощью JSTL мне кажется удобным!!!

Везде где читаю про JSP - советуют никогда не смешивать JAVA-код и разметку... А в XSP без этого нельзя???

Добрая Cross, покорённый твоей любознательностью, позволю себе выразить свой взгляд, который конечно базируется на личном опыте работы с Apache Cocoon  smile 

Использование Java в JSP сильно ограничивает масштабируемость. Приведённый тобою пример, в Cocoon'е, представляется через страницу XSL-трансформации собственными средствами, замечу - без Java.

Использование Java в XSP никак не влияет на работу проектировщика smile, т.к. архитектура Cocoon предусматривает расширение логики за счёт кода Java.  Для примера, выложу кусочек XSP, где я получаю данные для дерева, а также файл XSL-трансформации - целиком. 

tree.xsp:

Код

<tree>                                        <!-- делаем родителя -->
<esql:connection>
        <esql:pool>odb_mcb</esql:pool>
        <esql:execute-query>
    <esql:query>
SELECT level, itreeid, ctreename, ctreeuri, output FROM cc_tree 
WHERE iparentid > 0 and isAllowed ('<util:get-sitemap-parameter name="codename"/>', itreeid) > 0 
CONNECT BY PRIOR itreeid = iparentid 
START WITH itreeid = 1</esql:query>
                <esql:results>
            <xsp:logic>
                int i=0;            <!-- i - это предыдущий уровень -->
                if (i==-1) { </xsp:logic><item><xsp:logic>}
            </xsp:logic>            
               <esql:row-results>
            <xsp:logic>
                int level = <esql:get-int column="level"/>;
                if (i==-1) { </xsp:logic><item><xsp:logic> }                
                if (i&lt;=i)        <!-- обнаружение перехода уровня вверх -->
                    for (int j=0;j&lt;=i-level;j++) {    <!-- закрываем тэги на кол-во разниц перехода -->
            </xsp:logic>
                        </item>        <!-- тэг № #1 -->
            <xsp:logic>    }
                int sub = <esql:get-int column="output"/>;
                String str="";
                if (sub==10) str="/xls";

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

Собственные Java-библиотеки в Cocoon наиболее часто используются в sitemap.xmap - там можно определить и учесть в логике достаточно много, чтобы удовлетворить большинство потребностей остальных шагов, освобождая их от излишних имплементаций и загруженности Java-кодом, что само по себе здесь не является "злом". Ведь всё в мире относительно - там где что-то считается злом - в другом месте, считается добром.

Добавлено @ 18:49
Цитата

Если внимательно посмотреть примеры кода, что идут вместе с Xalan и Xerces, простенькое приложение xml/xsl-преобразования с распознаванием броузеров можно написать дня за три. Но Cocoon силен тем, что в нем реализовано намного большее, чем простое преобразование. В его состав входит мощная система кеширования страниц (caching), резервирования объектов (pooling), предтрансляция (pre-translation), гибкие конвейеры преобразований (pipeline transformation) и многое-многое другое, что я не буду пока перечислять. На создание этого приложения и фундамента для этого приложения ушло два года упорного труда десятков программистов высочайшего класса. Поверьте, попытаться создать подобное приложение в одиночку - безнадежное и бессмысленное занятие, можно лишь попытаться сделать, что-то близкое. 

Александр Качанов

Простота логики последовательных трансформаторов позволяет делать действительно универсальные вещи.

Это сообщение отредактировал(а) jnosferathu - 28.4.2008, 16:49

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  tree_xsl 4,07 Kb
PM MAIL   Вверх
Cross
Дата 28.4.2008, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



jnosferathu, спасибо большое за примеры и разъяснения! 
Да, действительно, код по обращению к БД выглядит очень просто и лаконично. Его будет потом очень легко поддерживать!
Здорово!!!  smile 
Очень надеюсь на ваше дальнейшее содействие в возникающих по поводу Cocoon вопросах! 
PM MAIL ICQ Skype MSN   Вверх
jnosferathu
Дата 30.4.2008, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.4.2008
Где: Москва

Репутация: 1
Всего: 1



Я встречал настоящих гуру Apache Cocoon и себя к ним не причисляю. Но как истинный сторонник платформы - буду рад помочь в любых возникающих вопросах.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0807 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.