You can also have a look at Restlet framework (http://www.restlet.org/)
which I think could be a direct competitor to Cocoon,
but despite its powerful filtering/routing layers, the routes are defined
either in Java code or Spring-like way (too much verbose XML), which
is kind of headache :) to me when you just used to simple and clear sitemap
pipelines :)

That's why I think servlet-sitemap component of Cocoon is really what makes
Cocoon the most flexible/easy in terms of web programming.

Greetings,
-Greg


2012/12/1 gelo1234 <gelo1...@gmail.com>

>
> One more note:
>
> Typical ESBs don't describe the application structure! They only
> mediate/route messages between external services.
> You can use SCA model (typicall in SOA environment) which DOES
> support/describe/define application structure/architecture - like Apache
> Tuscany with its Assembly Model, but still I consider Tuscany to be less
> powerful and less flexible than Cocoon.
>
> Of course you can also go for BPM frameworks, where you can distincly
> define flows/workflows, processes in the system/application
> but in my opinion BPM should be used to optimize the business processes in
> the system when you already have some system
> architecture in place. BPM should not be used for _integration_ purposes.
>
> Thats why I really consider Cocoon to have features most wanted in terms
> of ESB and EAI.
>
> Greetings,
> -Greg
>
>
> 2012/12/1 gelo1234 <gelo1...@gmail.com>
>
>>
>> Thank you Thorsten,
>>
>> That clarified a lot of things to me for now. I will take a deeper look
>> into C3.0 docs/samples.
>> Aggregators/Aggregation would be a nice generation-optional module? to
>> add into C3 in the future :)
>>
>> What relates to JSF to be integrated within Cocoon, that would be a kind
>> of interesting feature
>> to have a look at.
>> My private opinion is though that I don't really like JSF, not the flow
>> model,
>> but backing beans/view integration part and most of its lifecycle
>> management.
>> I have to admit even Spring Web MVC is much more "cleaner" in my opinion.
>> I hate also the autogeneration of html (or other view layer format) by
>> JSF.
>> You don't have full control over generated output, when you need to put
>> css/javascript/ajax/html snippets/tweaking
>> into some JSF custom attribute/element tags, not just like it is with RAW
>> html.
>> In JSF 2.2 Java EE spec finally introduced full support for HTML5, so you
>> can put things like:
>>
>> <input .....jsf:id="..." jsf:value="..."/>
>> not
>> <h:inputText id="..." value="..."/>
>>
>> to fully exploit browser features and HTML5.
>> I do like Composite elements because you can use lots of custom
>> templating in output HTML.
>>
>> But in summary there are more cons than pros in JSF for what I want to
>> see in a View part of MVC.
>>
>> What I actually miss in C3.0 is that general type of Controller (in terms
>> of MVC). OK, you have
>> REST Controller, but not everybody wants to or not everywhere you need to
>> use RESTfull services.
>> In very old Cocoon (2.0?) there was XSP. That was a kind of such
>> controller, where you could put
>> some arbitrary Java code and enrich the data in the pipeline however you
>> wanted (call external
>> web services, get data from database, JMS, EJB, whatever). The fact it
>> was very general in nature
>> made it so robust (but for some it was rather a limitation and not very
>> clean technology in terms of separating
>> model/controller/view layers). Perhaps that's why it got deprecated in
>> C2.1 or C2.2. But I do miss
>> that kind of general "controller". What Cocoon always sucked at is
>> database handling.
>> Of course you can have spring/hibernate configuration and use it in REST
>> controller now, or
>> in some custom Aggregators. You can also use SQLTransformer and other
>> kinds of mix&match
>> configs (without Hibernate because not everybody wants to use ORM), but
>> each one mentioned
>> has some drawbacks, depending on what you need. Well you can also use
>> database access
>> from flowscript in C2.1/2? But just a general controller would be a nice
>> to have, where you can
>> put all your persistence logic into (speaking in terms of JPA -
>> EntityManager, PersistenceContext etc.)
>>
>> I tend to consider C3.0 now (from what you said) as a good element (that
>> play nicely) in the Java EE stack,
>> because it can be used as a separate library/component now without even a
>> need for a Java EE container or external servlet engine.
>> But I think the servlet-sitemap component is the most powerful concept in
>> Cocoon when it is used as a web framework.
>> I was looking for the appropriate ESB that would be as much flexible in
>> terms of routing/mediating as older
>> versions of Cocoon were and I didn't find such any. My opinion is that
>> the best advantage of Cocoon lays
>> in its routing/URL handling/RESTfull/pipelining features.
>> And as I see it now I would like Cocoon to be the main part in my system
>> (with its ROLE as a main Enterprise Service Bus) while other
>> Java EE components be used from inside or outside that ESB. I think about
>> that kind of architecture model.
>>
>> Greetings,
>> -Greg
>>
>>
>>
>>
>> 2012/12/1 Thorsten Scherler <scher...@gmail.com>
>>
>>> On 12/01/2012 01:15 AM, gelo1234 wrote:
>>> >
>>> > Hello,
>>> >
>>> > I was trying to find some samples from current C3.0 implementation to
>>> > know more
>>> > about C3.0 but some information is absent.
>>> >
>>> > Perhaps someone here could answer that:
>>> >
>>> > In some old Cocoon release (2.x) there was a possibility to define
>>> > multipart generators, something like:
>>> >
>>> > <map:match="xxx">
>>> >   <map:aggregate element="Page">
>>> >       <map:part
>>> > src="dir/file1.xml"/>
>>> > a)
>>> >       <map:part
>>> > src="dir/file2.xml"/>
>>> > b)
>>> >       <map:part src="cocoon://call_some_match_generating_XML"/>     c)
>>> >       <map:part
>>> > src="http://somedomain.com/file3.xml"/>                     d)
>>> >   </map:aggregate>
>>> >   ...
>>> > </map:match>
>>> >
>>> > 1. Is it still possible with C3.0 ? Especially c) option to call some
>>> > sitemapservlet ?
>>>
>>> In general the aggregate has not been implemented in c3. However you can
>>> do the same with a xml file for you define the includes and the
>>> transform it with the include transformer. Regarding c) that is since
>>> 2.2 servlet: you can find some docs around it.
>>>
>>> >
>>> > 2. If i implement my own SAXGenerator can I use it as c) option here ?
>>> > (How?):
>>> > <map:part type="my-custom"/> ??
>>>
>>> not sure what you mean but I think the include example in the c3 samples
>>> will show you how to include.
>>> >
>>> > 3. Is d) valid ?
>>>
>>> well that depend on so many different things. If you refer "as is" yes
>>> as construct. Actually all components work against urls. If you refer
>>> whether the outcome is valid xml - you can make sure with the neko html
>>> generator.
>>> >
>>> > 4. Can i pass additional parameters to c)
>>> > like: <map:part
>>> > src="cocoon://call_some_match_generating_XML?arg=1&arg=2"/>
>>> > Are request parameters INHERITED from calling pipeline match ?
>>> >
>>>
>>> hmm they are normal urls. Query parameter are fully supported. Not sure
>>> about the second part of the point but you can use {map:1} to access the
>>> fist matching group of your match.
>>>
>>> > 5. Can we use simple Java Controller (but NOT rest-controller?) and
>>> > still have access
>>> > to QueryString Parameters/HTTP Request object within such
>>> sitemapservlet ?
>>>
>>> I am currently working on a project that is based on JSF. You can make
>>> cocoon3 work along with anything it always depends on what benefit you
>>> want to get from cocoon or another part. However as soon my project ends
>>> I will look into using JSF in cocoon since I have to admit the form
>>> handling and some contract/widget are really nice and easy to use.
>>> However for form handling see the cocoon-wicket integration where you
>>> integrate wicket into cocoon or vice versa depending on the main usage.
>>> I you have many forms and little content you would go for the second
>>> option.
>>>
>>> However there is no support for other controller then REST to access the
>>> sitemap parameter.
>>>
>>> > What should such a Java class extend or implement? and how does the
>>> spring
>>> > bean/config for that Controller may look like ?
>>>
>>> Not sure.
>>>
>>> > Will it be still Controller or SAXGenerator ?
>>>
>>>
>>> Currently you have either a normal generator/reader/... but you can
>>> implement a sitemap Starter and do as you please. However see the wicket
>>> integration on how to handle other controller and cocoon side by side.
>>> >
>>> > 6. What is the main difference between include and xinclude (apart
>>> > from the fact the
>>> > first is cocoon spec? impl while the other is w3c spec impl by cocoon?)
>>> > Isn't include cacheable either ?
>>> > Can i include/xinclude external src data e.g.
>>> > src="http://somedomain.com/file.xml"; ?
>>>
>>> Please see the docs and the mailing archive it is really good covered.
>>>
>>> >
>>> > 5. Can I call other REST Controller from REST Controller ?
>>>
>>> As in URL calls, yeah why not.
>>>
>>> >
>>> > 6. Do XSLT transformations by default have access to ALL QueryString
>>> > params
>>> > with
>>> > <xsl:param name="arg1"/>
>>> > <xsl:param name="arg2"/>
>>> > ...
>>> > <xsl:param name="argn"/>
>>> >
>>> > without explicitly defining each one in the pipeline as some
>>> > {jexl:cocoon.request.param1}?
>>> > as map parameters for the XSL transformer ?
>>>
>>> Not sure about it, in 2.x there where a flag for it AFAIR and if so it
>>> would be easy to migrate to c3.
>>>
>>> HTH
>>>
>>> > Thank you for your time and answers.
>>> >
>>> > We are still hesitating whether to upgrade to Cocoon3.0/Spring or Java
>>> > EE stack.
>>>
>>> It is no either or anymore since you can use c3 in a java based pipeline
>>> for certain processes.
>>>
>>> salu2
>>>
>>> >
>>> > Greetings,
>>> > -Greg
>>> >
>>>
>>>
>>> --
>>> Thorsten Scherler <scherler.at.gmail.com>
>>> codeBusters S.L. - web based systems
>>> <consulting, training and solutions>
>>>
>>> http://www.codebusters.es/
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
>>> For additional commands, e-mail: users-h...@cocoon.apache.org
>>>
>>>
>>
>

Reply via email to