groovy service code instead of minilang

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
38 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

hans_bakker
Ruth,

you suffer from the problem which you share with most programmers with
some experience:
they like to use what they know and do not want to invest some time
learning something new, even if it has proven to be better.

Typically the learning time for ofbiz minilanguage is about 2-3 days if
you know some Java.

We had it several times in my company i had to let go experienced people
because they were not willing to learn and use the ofbiz framework
functions.

Regards,
Hans


On Mon, 2010-02-22 at 21:00 -0500, Ruth Hoffman wrote:

> Hi Adrian:
>
> To tell the truth, I don't use it to build my services anymore. Too much
> trouble to try and figure out each time how it works. Much easier for me
> to write Java code.
>
> BTW, don't you find it curious that no other non-committers (aside from
> the original inquiry) has anything to say about this?
>
> Regards,
> Ruth
>
> Adrian Crum wrote:
> > Ruth Hoffman wrote:
> >> I tried using the Mini Language to create some Simple Services and I
> >> found that in each situation, CRUD operations were only the tip of
> >> the ice-berg as far as developing applications was concerned. My
> >> applications do much more than update database records. To go beyond
> >> CRUD (and simple HTML forms to update the database) is very
> >> cumbersome using the Mini Language.
> >
> > If you give us examples of things that could be made easier in
> > mini-language, then we might be able to change the language.
> >
> > -Adrian
> >
--
Antwebsystems.com: Quality OFBiz services for competitive rates

Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Ruth Hoffman-2
Hi Hans:
You are so right when you say I "like to use what they know". And here
is my corollary to your diagnosis:

I don't program that often (maybe once a month when I have some spare
time), but when I do it is so much easier for me to look at a Java
program and "remember" how to solve a problem, then to look at XML code
and figure out how to do the same thing. Let me put this another way. If
it takes 2-3 days to learn the mini-language, then I have to do that it
each and every time I need to use it. Java (PHP, Bean Shell, Groovy...)
takes me 5-10 minutes no matter how long I've been away from it.

Its not that I'm not willing to learn something new. To the contrary:
That is what I love about OFBiz. I'm always learning new things as I
work with it. It is just a matter of priority. There are only so many
hours in a day. And to me, Java is a tool to get the job done. Plain and
simple. If the job calls for XML, then I use XML. If the job calls for a
programming language, then I like to use a programming language.

When I find a simple service that works for me, I don't reinvent the
wheel. I use it. I just don't write my services using the Mini-language
for the reasons already stated.

Regards,
Ruth


Hans Bakker wrote:

> Ruth,
>
> you suffer from the problem which you share with most programmers with
> some experience:
> they like to use what they know and do not want to invest some time
> learning something new, even if it has proven to be better.
>
> Typically the learning time for ofbiz minilanguage is about 2-3 days if
> you know some Java.
>
> We had it several times in my company i had to let go experienced people
> because they were not willing to learn and use the ofbiz framework
> functions.
>
> Regards,
> Hans
>
>
> On Mon, 2010-02-22 at 21:00 -0500, Ruth Hoffman wrote:
>  
>> Hi Adrian:
>>
>> To tell the truth, I don't use it to build my services anymore. Too much
>> trouble to try and figure out each time how it works. Much easier for me
>> to write Java code.
>>
>> BTW, don't you find it curious that no other non-committers (aside from
>> the original inquiry) has anything to say about this?
>>
>> Regards,
>> Ruth
>>
>> Adrian Crum wrote:
>>    
>>> Ruth Hoffman wrote:
>>>      
>>>> I tried using the Mini Language to create some Simple Services and I
>>>> found that in each situation, CRUD operations were only the tip of
>>>> the ice-berg as far as developing applications was concerned. My
>>>> applications do much more than update database records. To go beyond
>>>> CRUD (and simple HTML forms to update the database) is very
>>>> cumbersome using the Mini Language.
>>>>        
>>> If you give us examples of things that could be made easier in
>>> mini-language, then we might be able to change the language.
>>>
>>> -Adrian
>>>
>>>      
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Jacopo Cappellato-4
On Feb 23, 2010, at 3:53 AM, Ruth Hoffman wrote:

> If it takes 2-3 days to learn the mini-language, then I have to do that it each and every time I need to use it. Java (PHP, Bean Shell, Groovy...) takes me 5-10 minutes no matter how long I've been away from it.

This is an interesting idiosyncrasy :-)

Jacopo
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Ruth Hoffman-2
Indeed!
I still say it is very curious that there haven't been any comments by
non-committers (except me and the original comment) concerning
Mini-language use.
Regards,
Ruth

Jacopo Cappellato wrote:

> On Feb 23, 2010, at 3:53 AM, Ruth Hoffman wrote:
>
>  
>> If it takes 2-3 days to learn the mini-language, then I have to do that it each and every time I need to use it. Java (PHP, Bean Shell, Groovy...) takes me 5-10 minutes no matter how long I've been away from it.
>>    
>
> This is an interesting idiosyncrasy :-)
>
> Jacopo
>  
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

rajsaini
Ruth,

I prefer to use Java as I am good at it.  I do not like XML as
replacement of procedural languages or scripts. Well, I am not arguing
the advantage of one over the other. I think it is just matter of
personal choice and since OFbiz offers both, I do not have problem using
what I like more.

Thanks,

Raj

Ruth Hoffman wrote:

> Indeed!
> I still say it is very curious that there haven't been any comments by
> non-committers (except me and the original comment) concerning
> Mini-language use.
> Regards,
> Ruth
>
> Jacopo Cappellato wrote:
>> On Feb 23, 2010, at 3:53 AM, Ruth Hoffman wrote:
>>
>>  
>>> If it takes 2-3 days to learn the mini-language, then I have to do
>>> that it each and every time I need to use it. Java (PHP, Bean Shell,
>>> Groovy...) takes me 5-10 minutes no matter how long I've been away
>>> from it.
>>>    
>>
>> This is an interesting idiosyncrasy :-)
>>
>> Jacopo
>>  
>

Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Abhishake Agarwal
I too prefer java over minlang :)



On Tue, Feb 23, 2010 at 8:55 PM, Raj Saini <[hidden email]> wrote:

> Ruth,
>
> I prefer to use Java as I am good at it.  I do not like XML as replacement
> of procedural languages or scripts. Well, I am not arguing the advantage of
> one over the other. I think it is just matter of personal choice and since
> OFbiz offers both, I do not have problem using what I like more.
>
> Thanks,
>
> Raj
>
>
> Ruth Hoffman wrote:
>
>> Indeed!
>> I still say it is very curious that there haven't been any comments by
>> non-committers (except me and the original comment) concerning Mini-language
>> use.
>> Regards,
>> Ruth
>>
>> Jacopo Cappellato wrote:
>>
>>> On Feb 23, 2010, at 3:53 AM, Ruth Hoffman wrote:
>>>
>>>
>>>
>>>> If it takes 2-3 days to learn the mini-language, then I have to do that
>>>> it each and every time I need to use it. Java (PHP, Bean Shell, Groovy...)
>>>> takes me 5-10 minutes no matter how long I've been away from it.
>>>>
>>>>
>>>
>>> This is an interesting idiosyncrasy :-)
>>>
>>> Jacopo
>>>
>>>
>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Adrian Crum
In reply to this post by Ruth Hoffman-2
Maybe the next time you try to use it, you could create a list of things
you would like to see changed and submit it to the community.

-Adrian

Ruth Hoffman wrote:

> Hi Adrian:
>
> To tell the truth, I don't use it to build my services anymore. Too much
> trouble to try and figure out each time how it works. Much easier for me
> to write Java code.
>
> BTW, don't you find it curious that no other non-committers (aside from
> the original inquiry) has anything to say about this?
>
> Regards,
> Ruth
>
> Adrian Crum wrote:
>> Ruth Hoffman wrote:
>>> I tried using the Mini Language to create some Simple Services and I
>>> found that in each situation, CRUD operations were only the tip of
>>> the ice-berg as far as developing applications was concerned. My
>>> applications do much more than update database records. To go beyond
>>> CRUD (and simple HTML forms to update the database) is very
>>> cumbersome using the Mini Language.
>>
>> If you give us examples of things that could be made easier in
>> mini-language, then we might be able to change the language.
>>
>> -Adrian
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Ruth Hoffman-2
In reply to this post by rajsaini
Hi Raj:
Thanks for speaking up.
Regards,
Ruth

Raj Saini wrote:

> Ruth,
>
> I prefer to use Java as I am good at it.  I do not like XML as
> replacement of procedural languages or scripts. Well, I am not arguing
> the advantage of one over the other. I think it is just matter of
> personal choice and since OFbiz offers both, I do not have problem
> using what I like more.
>
> Thanks,
>
> Raj
>
> Ruth Hoffman wrote:
>> Indeed!
>> I still say it is very curious that there haven't been any comments
>> by non-committers (except me and the original comment) concerning
>> Mini-language use.
>> Regards,
>> Ruth
>>
>> Jacopo Cappellato wrote:
>>> On Feb 23, 2010, at 3:53 AM, Ruth Hoffman wrote:
>>>
>>>  
>>>> If it takes 2-3 days to learn the mini-language, then I have to do
>>>> that it each and every time I need to use it. Java (PHP, Bean
>>>> Shell, Groovy...) takes me 5-10 minutes no matter how long I've
>>>> been away from it.
>>>>    
>>>
>>> This is an interesting idiosyncrasy :-)
>>>
>>> Jacopo
>>>  
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Ruth Hoffman-2
In reply to this post by Abhishake Agarwal
Hi Abhishake:
Thank you for voicing your opinion.
Regards,
Ruth

Abhishake Agarwal wrote:

> I too prefer java over minlang :)
>
>
>
> On Tue, Feb 23, 2010 at 8:55 PM, Raj Saini <[hidden email]> wrote:
>
>  
>> Ruth,
>>
>> I prefer to use Java as I am good at it.  I do not like XML as replacement
>> of procedural languages or scripts. Well, I am not arguing the advantage of
>> one over the other. I think it is just matter of personal choice and since
>> OFbiz offers both, I do not have problem using what I like more.
>>
>> Thanks,
>>
>> Raj
>>
>>
>> Ruth Hoffman wrote:
>>
>>    
>>> Indeed!
>>> I still say it is very curious that there haven't been any comments by
>>> non-committers (except me and the original comment) concerning Mini-language
>>> use.
>>> Regards,
>>> Ruth
>>>
>>> Jacopo Cappellato wrote:
>>>
>>>      
>>>> On Feb 23, 2010, at 3:53 AM, Ruth Hoffman wrote:
>>>>
>>>>
>>>>
>>>>        
>>>>> If it takes 2-3 days to learn the mini-language, then I have to do that
>>>>> it each and every time I need to use it. Java (PHP, Bean Shell, Groovy...)
>>>>> takes me 5-10 minutes no matter how long I've been away from it.
>>>>>
>>>>>
>>>>>          
>>>> This is an interesting idiosyncrasy :-)
>>>>
>>>> Jacopo
>>>>
>>>>
>>>>        
>>>      
>
>  
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Ruth Hoffman-2
In reply to this post by Adrian Crum
Hi Adrian:
I think I already said what I'd like changed. Perhaps you overlooked
this: Please add a procedural language to the mix. PHP, Groovy, Bean
Shell etc. I don't care which.

Regards,
Ruth

Adrian Crum wrote:

> Maybe the next time you try to use it, you could create a list of
> things you would like to see changed and submit it to the community.
>
> -Adrian
>
> Ruth Hoffman wrote:
>> Hi Adrian:
>>
>> To tell the truth, I don't use it to build my services anymore. Too
>> much trouble to try and figure out each time how it works. Much
>> easier for me to write Java code.
>>
>> BTW, don't you find it curious that no other non-committers (aside
>> from the original inquiry) has anything to say about this?
>>
>> Regards,
>> Ruth
>>
>> Adrian Crum wrote:
>>> Ruth Hoffman wrote:
>>>> I tried using the Mini Language to create some Simple Services and
>>>> I found that in each situation, CRUD operations were only the tip
>>>> of the ice-berg as far as developing applications was concerned. My
>>>> applications do much more than update database records. To go
>>>> beyond CRUD (and simple HTML forms to update the database) is very
>>>> cumbersome using the Mini Language.
>>>
>>> If you give us examples of things that could be made easier in
>>> mini-language, then we might be able to change the language.
>>>
>>> -Adrian
>>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Adrian Crum
Sorry, I meant things you would like to see changed in mini-language.

-Adrian

Ruth Hoffman wrote:

> Hi Adrian:
> I think I already said what I'd like changed. Perhaps you overlooked
> this: Please add a procedural language to the mix. PHP, Groovy, Bean
> Shell etc. I don't care which.
>
> Regards,
> Ruth
>
> Adrian Crum wrote:
>> Maybe the next time you try to use it, you could create a list of
>> things you would like to see changed and submit it to the community.
>>
>> -Adrian
>>
>> Ruth Hoffman wrote:
>>> Hi Adrian:
>>>
>>> To tell the truth, I don't use it to build my services anymore. Too
>>> much trouble to try and figure out each time how it works. Much
>>> easier for me to write Java code.
>>>
>>> BTW, don't you find it curious that no other non-committers (aside
>>> from the original inquiry) has anything to say about this?
>>>
>>> Regards,
>>> Ruth
>>>
>>> Adrian Crum wrote:
>>>> Ruth Hoffman wrote:
>>>>> I tried using the Mini Language to create some Simple Services and
>>>>> I found that in each situation, CRUD operations were only the tip
>>>>> of the ice-berg as far as developing applications was concerned. My
>>>>> applications do much more than update database records. To go
>>>>> beyond CRUD (and simple HTML forms to update the database) is very
>>>>> cumbersome using the Mini Language.
>>>>
>>>> If you give us examples of things that could be made easier in
>>>> mini-language, then we might be able to change the language.
>>>>
>>>> -Adrian
>>>>
>>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Matt Warnock
In reply to this post by Ruth Hoffman-2
Kinda new at this, so I don't know if I fully grasp the issue.

XML is very different from procedural languages like Java.  I don't
think it is Turing-complete (YMMV).  But I note that Turing demos have
been done in XSLT, so maybe minilang is more like that, I don't know.

But the same criticism (non-turing-complete) has been made of SQL.  That
doesn't prevent it from being remarkably good at what it does, which is
not everything.  I'd hate to try to write a video game or spreadsheet
only in SQL.  Somebody, somewhere has probably tried it.

I usually try to pick the best tool for the job at hand, from the (too
short) list of tools I know how to use.  Obviously some like minilang,
others prefer Java.  Something you know deeply (Java in your case) you
can come back to without losing a lot, 5 minutes like you say.
Something you don't know well is much harder (like minilang for you, I
assume).  

I knew guys (lawyers, mostly) who were never "programmers", but wrote
WordPerfect macros that were amazing.  (I wouldn't recommend it for
everyone.)  I have also seen spreadsheets twisted to perform
unimaginably complex tasks they  were never designed for.  In the
construction industry we used to say "a guy with a hammer in his hand
thinks everything is a nail."

Sounds like minilang may be great for simple CRUD stuff that happens all
the time.  If your needs are more complex, something else may fit
better. Unless you use it often, the learning curve may be steep.  I
find the whole ofbiz learning curve pretty steep at the moment.  

So the choices are 1) just invest the time to learn it well, 2) make
helpful suggestions which others may  or may not agree with, 3) find a
tool you like better, or 4) write your own.  Each has advantages and
disadvantages, and there is nothing wrong with any of these options, and
they are not mutually exclusive.

In response to your first post on this subject, I have a hard time
believing that PHP is the solution to every problem, but then I'm a perl
guy.  :)  Still, it seems like most of the glue is there to talk to
ofbiz in pretty much whatever you want.  Once you learn what's there,
which as I say, is the hard part for me right now.


On Tue, 2010-02-23 at 10:06 -0500, Ruth Hoffman wrote:

> Indeed!
> I still say it is very curious that there haven't been any comments by
> non-committers (except me and the original comment) concerning
> Mini-language use.
> Regards,
> Ruth
>
> Jacopo Cappellato wrote:
> > On Feb 23, 2010, at 3:53 AM, Ruth Hoffman wrote:
> >
> >  
> >> If it takes 2-3 days to learn the mini-language, then I have to do that it each and every time I need to use it. Java (PHP, Bean Shell, Groovy...) takes me 5-10 minutes no matter how long I've been away from it.
> >>    
> >
> > This is an interesting idiosyncrasy :-)
> >
> > Jacopo
> >  


--
Matt Warnock <[hidden email]>
RidgeCrest Herbals, Inc.

Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

David E. Jones-2
In reply to this post by Ruth Hoffman-2

How would this be different from the java, groovy, bsh, jython, and other scripting languages supported right now by the service engine?

I'll tell you what's really cool about supporting all of these languages, and for work groups allowing people to use whatever they want: the end result requires an enormous skill set to maintain. Also, with less structured languages like java and groovy where you can do whatever you want (and people most certainly do, whether it is helpful or not for the functionality they are building), so the result is a lot of inconsistency and higher maintenance costs.

-David


On Feb 23, 2010, at 8:54 AM, Ruth Hoffman wrote:

> Hi Adrian:
> I think I already said what I'd like changed. Perhaps you overlooked this: Please add a procedural language to the mix. PHP, Groovy, Bean Shell etc. I don't care which.
>
> Regards,
> Ruth
>
> Adrian Crum wrote:
>> Maybe the next time you try to use it, you could create a list of things you would like to see changed and submit it to the community.
>>
>> -Adrian
>>
>> Ruth Hoffman wrote:
>>> Hi Adrian:
>>>
>>> To tell the truth, I don't use it to build my services anymore. Too much trouble to try and figure out each time how it works. Much easier for me to write Java code.
>>>
>>> BTW, don't you find it curious that no other non-committers (aside from the original inquiry) has anything to say about this?
>>>
>>> Regards,
>>> Ruth
>>>
>>> Adrian Crum wrote:
>>>> Ruth Hoffman wrote:
>>>>> I tried using the Mini Language to create some Simple Services and I found that in each situation, CRUD operations were only the tip of the ice-berg as far as developing applications was concerned. My applications do much more than update database records. To go beyond CRUD (and simple HTML forms to update the database) is very cumbersome using the Mini Language.
>>>>
>>>> If you give us examples of things that could be made easier in mini-language, then we might be able to change the language.
>>>>
>>>> -Adrian
>>>>
>>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Ruth Hoffman-2
Hi David:
How can I use BSH to write a service? I don't mean embed a BSH call
inside XML, I mean can I, today write a service using BSH? If so, thats
great! How do I set this up?
Regards,
Ruth

David E Jones wrote:

> How would this be different from the java, groovy, bsh, jython, and other scripting languages supported right now by the service engine?
>
> I'll tell you what's really cool about supporting all of these languages, and for work groups allowing people to use whatever they want: the end result requires an enormous skill set to maintain. Also, with less structured languages like java and groovy where you can do whatever you want (and people most certainly do, whether it is helpful or not for the functionality they are building), so the result is a lot of inconsistency and higher maintenance costs.
>
> -David
>
>
> On Feb 23, 2010, at 8:54 AM, Ruth Hoffman wrote:
>
>  
>> Hi Adrian:
>> I think I already said what I'd like changed. Perhaps you overlooked this: Please add a procedural language to the mix. PHP, Groovy, Bean Shell etc. I don't care which.
>>
>> Regards,
>> Ruth
>>
>> Adrian Crum wrote:
>>    
>>> Maybe the next time you try to use it, you could create a list of things you would like to see changed and submit it to the community.
>>>
>>> -Adrian
>>>
>>> Ruth Hoffman wrote:
>>>      
>>>> Hi Adrian:
>>>>
>>>> To tell the truth, I don't use it to build my services anymore. Too much trouble to try and figure out each time how it works. Much easier for me to write Java code.
>>>>
>>>> BTW, don't you find it curious that no other non-committers (aside from the original inquiry) has anything to say about this?
>>>>
>>>> Regards,
>>>> Ruth
>>>>
>>>> Adrian Crum wrote:
>>>>        
>>>>> Ruth Hoffman wrote:
>>>>>          
>>>>>> I tried using the Mini Language to create some Simple Services and I found that in each situation, CRUD operations were only the tip of the ice-berg as far as developing applications was concerned. My applications do much more than update database records. To go beyond CRUD (and simple HTML forms to update the database) is very cumbersome using the Mini Language.
>>>>>>            
>>>>> If you give us examples of things that could be made easier in mini-language, then we might be able to change the language.
>>>>>
>>>>> -Adrian
>>>>>
>>>>>          
>
>
>  
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

David E. Jones-2

I'd recommend using groovy instead of bsh, it's a much better language and much more stable and flexible. To see the list of supported "engines" for the service engine look at the serviceengine.xml file.

To use groovy on your service definition just use engine="groovy" instead of engine="java", and then the location attribute should be the location of your groovy script file (usually using the component:// syntax is easiest), and the invoke attribute can be empty or left off entirely.

For example:

    <service name="doSomething" engine="groovy"
        location="component://mycomponent/script/com/mycompany/doSomething.groovy">
        ...
    </service>


-David


On Feb 23, 2010, at 9:49 AM, Ruth Hoffman wrote:

> Hi David:
> How can I use BSH to write a service? I don't mean embed a BSH call inside XML, I mean can I, today write a service using BSH? If so, thats great! How do I set this up?
> Regards,
> Ruth
>
> David E Jones wrote:
>> How would this be different from the java, groovy, bsh, jython, and other scripting languages supported right now by the service engine?
>>
>> I'll tell you what's really cool about supporting all of these languages, and for work groups allowing people to use whatever they want: the end result requires an enormous skill set to maintain. Also, with less structured languages like java and groovy where you can do whatever you want (and people most certainly do, whether it is helpful or not for the functionality they are building), so the result is a lot of inconsistency and higher maintenance costs.
>>
>> -David
>>
>>
>> On Feb 23, 2010, at 8:54 AM, Ruth Hoffman wrote:
>>
>>  
>>> Hi Adrian:
>>> I think I already said what I'd like changed. Perhaps you overlooked this: Please add a procedural language to the mix. PHP, Groovy, Bean Shell etc. I don't care which.
>>>
>>> Regards,
>>> Ruth
>>>
>>> Adrian Crum wrote:
>>>    
>>>> Maybe the next time you try to use it, you could create a list of things you would like to see changed and submit it to the community.
>>>>
>>>> -Adrian
>>>>
>>>> Ruth Hoffman wrote:
>>>>      
>>>>> Hi Adrian:
>>>>>
>>>>> To tell the truth, I don't use it to build my services anymore. Too much trouble to try and figure out each time how it works. Much easier for me to write Java code.
>>>>>
>>>>> BTW, don't you find it curious that no other non-committers (aside from the original inquiry) has anything to say about this?
>>>>>
>>>>> Regards,
>>>>> Ruth
>>>>>
>>>>> Adrian Crum wrote:
>>>>>        
>>>>>> Ruth Hoffman wrote:
>>>>>>          
>>>>>>> I tried using the Mini Language to create some Simple Services and I found that in each situation, CRUD operations were only the tip of the ice-berg as far as developing applications was concerned. My applications do much more than update database records. To go beyond CRUD (and simple HTML forms to update the database) is very cumbersome using the Mini Language.
>>>>>>>            
>>>>>> If you give us examples of things that could be made easier in mini-language, then we might be able to change the language.
>>>>>>
>>>>>> -Adrian
>>>>>>
>>>>>>          
>>
>>
>>  

Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Ruth Hoffman-2
Neat!
I never knew.
Thanks much.
Ruth


David E Jones wrote:

> I'd recommend using groovy instead of bsh, it's a much better language and much more stable and flexible. To see the list of supported "engines" for the service engine look at the serviceengine.xml file.
>
> To use groovy on your service definition just use engine="groovy" instead of engine="java", and then the location attribute should be the location of your groovy script file (usually using the component:// syntax is easiest), and the invoke attribute can be empty or left off entirely.
>
> For example:
>
>     <service name="doSomething" engine="groovy"
>         location="component://mycomponent/script/com/mycompany/doSomething.groovy">
>         ...
>     </service>
>
>
> -David
>
>
> On Feb 23, 2010, at 9:49 AM, Ruth Hoffman wrote:
>
>  
>> Hi David:
>> How can I use BSH to write a service? I don't mean embed a BSH call inside XML, I mean can I, today write a service using BSH? If so, thats great! How do I set this up?
>> Regards,
>> Ruth
>>
>> David E Jones wrote:
>>    
>>> How would this be different from the java, groovy, bsh, jython, and other scripting languages supported right now by the service engine?
>>>
>>> I'll tell you what's really cool about supporting all of these languages, and for work groups allowing people to use whatever they want: the end result requires an enormous skill set to maintain. Also, with less structured languages like java and groovy where you can do whatever you want (and people most certainly do, whether it is helpful or not for the functionality they are building), so the result is a lot of inconsistency and higher maintenance costs.
>>>
>>> -David
>>>
>>>
>>> On Feb 23, 2010, at 8:54 AM, Ruth Hoffman wrote:
>>>
>>>  
>>>      
>>>> Hi Adrian:
>>>> I think I already said what I'd like changed. Perhaps you overlooked this: Please add a procedural language to the mix. PHP, Groovy, Bean Shell etc. I don't care which.
>>>>
>>>> Regards,
>>>> Ruth
>>>>
>>>> Adrian Crum wrote:
>>>>    
>>>>        
>>>>> Maybe the next time you try to use it, you could create a list of things you would like to see changed and submit it to the community.
>>>>>
>>>>> -Adrian
>>>>>
>>>>> Ruth Hoffman wrote:
>>>>>      
>>>>>          
>>>>>> Hi Adrian:
>>>>>>
>>>>>> To tell the truth, I don't use it to build my services anymore. Too much trouble to try and figure out each time how it works. Much easier for me to write Java code.
>>>>>>
>>>>>> BTW, don't you find it curious that no other non-committers (aside from the original inquiry) has anything to say about this?
>>>>>>
>>>>>> Regards,
>>>>>> Ruth
>>>>>>
>>>>>> Adrian Crum wrote:
>>>>>>        
>>>>>>            
>>>>>>> Ruth Hoffman wrote:
>>>>>>>          
>>>>>>>              
>>>>>>>> I tried using the Mini Language to create some Simple Services and I found that in each situation, CRUD operations were only the tip of the ice-berg as far as developing applications was concerned. My applications do much more than update database records. To go beyond CRUD (and simple HTML forms to update the database) is very cumbersome using the Mini Language.
>>>>>>>>            
>>>>>>>>                
>>>>>>> If you give us examples of things that could be made easier in mini-language, then we might be able to change the language.
>>>>>>>
>>>>>>> -Adrian
>>>>>>>
>>>>>>>          
>>>>>>>              
>>>  
>>>      
>
>
>  
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Tim Ruppert
In reply to this post by Adrian Crum
Btw, just to chime in - it's a helluva lot easier to train someone to follow best practices and write higher quality code in mini lang than it is to do the same in Java.  I'm a Java programmer first and foremost, but I love the fact that OFBiz provides minilang as an option - it increases efficiency - and isn't that the point of this business system we all know and love?

I'd say that for those of you who don't "like" minilang - I'd spend some more time getting to know minilang - it's here to stay and has it's place just like every other language we use in the system.

Cheers,
Ruppert

On Feb 23, 2010, at 8:57 AM, Adrian Crum wrote:

> Sorry, I meant things you would like to see changed in mini-language.
>
> -Adrian
>
> Ruth Hoffman wrote:
>> Hi Adrian:
>> I think I already said what I'd like changed. Perhaps you overlooked this: Please add a procedural language to the mix. PHP, Groovy, Bean Shell etc. I don't care which.
>> Regards,
>> Ruth
>> Adrian Crum wrote:
>>> Maybe the next time you try to use it, you could create a list of things you would like to see changed and submit it to the community.
>>>
>>> -Adrian
>>>
>>> Ruth Hoffman wrote:
>>>> Hi Adrian:
>>>>
>>>> To tell the truth, I don't use it to build my services anymore. Too much trouble to try and figure out each time how it works. Much easier for me to write Java code.
>>>>
>>>> BTW, don't you find it curious that no other non-committers (aside from the original inquiry) has anything to say about this?
>>>>
>>>> Regards,
>>>> Ruth
>>>>
>>>> Adrian Crum wrote:
>>>>> Ruth Hoffman wrote:
>>>>>> I tried using the Mini Language to create some Simple Services and I found that in each situation, CRUD operations were only the tip of the ice-berg as far as developing applications was concerned. My applications do much more than update database records. To go beyond CRUD (and simple HTML forms to update the database) is very cumbersome using the Mini Language.
>>>>>
>>>>> If you give us examples of things that could be made easier in mini-language, then we might be able to change the language.
>>>>>
>>>>> -Adrian
>>>>>
>>>>
>>>


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: groovy service code instead of minilang

Jacques Le Roux
Administrator
In reply to this post by Ruth Hoffman-2
Ruth,

This explains better your feeling about minilang. You thought you had only the choice between minilang or Java (like trapped with
minilang ;o)
Actually it's open, we could even consider to use a Groovy DSL like suggested Chris
http://docs.codehaus.org/display/GROOVY/Writing+Domain-Specific+Languages

But as I said, minilang is working well for me. I know it (a bit) and when I really need something hard to do with minilang (or
<actions... in widget, this is also an important point: code consistency, if you know minilang it's easier with widget) I call a
grovvy snippet (was BSH before).

Of course Groovy is very concise and smart, and maybe a DSL written in Groovy would please everybody, that's another story...
Notably because I dont think it would be accepted in trunk now without all the needed tests pre-written, ie at least able to do all
what minilang is doing...

Jacques

From: "Ruth Hoffman" <[hidden email]>

> Neat!
> I never knew.
> Thanks much.
> Ruth
>
>
> David E Jones wrote:
>> I'd recommend using groovy instead of bsh, it's a much better language and much more stable and flexible. To see the list of
>> supported "engines" for the service engine look at the serviceengine.xml file.
>>
>> To use groovy on your service definition just use engine="groovy" instead of engine="java", and then the location attribute
>> should be the location of your groovy script file (usually using the component:// syntax is easiest), and the invoke attribute
>> can be empty or left off entirely.
>>
>> For example:
>>
>>     <service name="doSomething" engine="groovy" location="component://mycomponent/script/com/mycompany/doSomething.groovy">
>>         ...
>>     </service>
>>
>>
>> -David
>>
>>
>> On Feb 23, 2010, at 9:49 AM, Ruth Hoffman wrote:
>>
>>
>>> Hi David:
>>> How can I use BSH to write a service? I don't mean embed a BSH call inside XML, I mean can I, today write a service using BSH?
>>> If so, thats great! How do I set this up?
>>> Regards,
>>> Ruth
>>>
>>> David E Jones wrote:
>>>
>>>> How would this be different from the java, groovy, bsh, jython, and other scripting languages supported right now by the
>>>> service engine?
>>>>
>>>> I'll tell you what's really cool about supporting all of these languages, and for work groups allowing people to use whatever
>>>> they want: the end result requires an enormous skill set to maintain. Also, with less structured languages like java and groovy
>>>> where you can do whatever you want (and people most certainly do, whether it is helpful or not for the functionality they are
>>>> building), so the result is a lot of inconsistency and higher maintenance costs.
>>>>
>>>> -David
>>>>
>>>>
>>>> On Feb 23, 2010, at 8:54 AM, Ruth Hoffman wrote:
>>>>
>>>>
>>>>> Hi Adrian:
>>>>> I think I already said what I'd like changed. Perhaps you overlooked this: Please add a procedural language to the mix. PHP,
>>>>> Groovy, Bean Shell etc. I don't care which.
>>>>>
>>>>> Regards,
>>>>> Ruth
>>>>>
>>>>> Adrian Crum wrote:
>>>>>
>>>>>> Maybe the next time you try to use it, you could create a list of things you would like to see changed and submit it to the
>>>>>> community.
>>>>>>
>>>>>> -Adrian
>>>>>>
>>>>>> Ruth Hoffman wrote:
>>>>>>
>>>>>>> Hi Adrian:
>>>>>>>
>>>>>>> To tell the truth, I don't use it to build my services anymore. Too much trouble to try and figure out each time how it
>>>>>>> works. Much easier for me to write Java code.
>>>>>>>
>>>>>>> BTW, don't you find it curious that no other non-committers (aside from the original inquiry) has anything to say about
>>>>>>> this?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Ruth
>>>>>>>
>>>>>>> Adrian Crum wrote:
>>>>>>>
>>>>>>>> Ruth Hoffman wrote:
>>>>>>>>
>>>>>>>>> I tried using the Mini Language to create some Simple Services and I found that in each situation, CRUD operations were
>>>>>>>>> only the tip of the ice-berg as far as developing applications was concerned. My applications do much more than update
>>>>>>>>> database records. To go beyond CRUD (and simple HTML forms to update the database) is very cumbersome using the Mini
>>>>>>>>> Language.
>>>>>>>>>
>>>>>>>> If you give us examples of things that could be made easier in mini-language, then we might be able to change the language.
>>>>>>>>
>>>>>>>> -Adrian
>>>>>>>>
>>>>>>>>
>>>>
>>
>>
>>
>


12