ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » ESQL or Java #beginner

Post new topic  Reply to topic
 ESQL or Java #beginner « View previous topic :: View next topic » 
Author Message
saviobarr
PostPosted: Wed Oct 22, 2014 5:04 am    Post subject: ESQL or Java #beginner Reply with quote

Centurion

Joined: 21 Oct 2014
Posts: 100
Location: Sao Paulo, Brazil

Hi all,
What are the vantages and disavantages of using ESQL and Java Compute for message processing and transformation? When should a developer choose one over other?

Many thanks again

Savio Barros
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Wed Oct 22, 2014 5:16 am    Post subject: Re: ESQL or Java #beginner Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

saviobarr wrote:
What are the vantages and disavantages of using ESQL and Java Compute for message processing and transformation?


ESQL is native to IIB and has functions more closely tied to broker concepts (like the message tree). Java has more common syntax (like XPath) and can be extended by the use of 3rd party jar files, which is a problem that makes ESQL a better choice....

saviobarr wrote:
When should a developer choose one over other?


If the developer has existing Java skills it makes no sense to learn a new language, it makes more sense to learn the difference between a Java Compute node and (for example) a Java MDB. It's the failure to recognise these differences and code appropriately for them that's the source of most of the "I'm having problems with Java" posts in this section. Along with rants from people like me who are sick of Java people loading down the broker with jars they think they need but don't. Specific examples of this poor coding practice include but are not limited to:
- assuming you don't need to clean up at the end of a Java Compute Node because the garbage collection will do it for it
- assuming you don't need to rethrow unhandled exceptions because they'll automatically escalate somewhere
- assuming you can use JMS to send and receive messages inside the JCN

If the developer has existing database or procedural language skills then ESQL is probably a better fit. You'll find much abstract discussion here on which language "performs better"; IMHO you'll get more "performance" out of writing good code in either language than you will from the underlying language support. While ESQL is native and runs somewhat faster in a pure benchmark, a well written piece of Java will outperform a badly written piece of ESQL in the real world.
_________________
Honesty is the best policy.
Insanity is the best defence.


Last edited by Vitor on Wed Oct 22, 2014 5:19 am; edited 1 time in total
Back to top
View user's profile Send private message
MB Developer
PostPosted: Wed Oct 22, 2014 5:18 am    Post subject: Reply with quote

Disciple

Joined: 03 Feb 2014
Posts: 179

Compute -- ESQL code (like SQL )
JavaCompute Node -- Javacode

--> Compare to Java code ESQL code is easy.
--> Less code is enough for ESQL
---> If you are very well in java then you have to choose java compute node otherwise ESQL is better
--> for more goto infocenter ....
_________________
Thanks....
Back to top
View user's profile Send private message
zpat
PostPosted: Wed Oct 22, 2014 5:23 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

ESQL is very easy to learn/use.

It makes you think "WMB/IIB" and read the help information.

Actually reading about the WMB product seems to be optional to many developers if you let them use Java. It's not optional for proper use.

The danger with using Java is that you code in an inappropriate way for WMB, not learning the proper way to do things.

As someone working in support, flows coded in Java cause 80% of our problems, sometimes hard to solve JVM related issues (even though 80% of our flows are in ESQL!).

You should not be coding very complex compute nodes - the point of the IBM product is to reduce coding, not act as yet another application server.

Never ever allow developers to use any external JAR files, unless they convince a WMB expert that there is no alternative.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Wed Oct 22, 2014 6:49 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

I saw a Java coding problem cause an EG memory size to rise from 500Mb to 23Gb. It was very difficult to diagnose.

Sort of backs what zpat was saying.. Mind you you can cause huge problems by simply wiring things up incorrectly. For example, loops in nodes and not in code.

Broker/IIB is a very complex tool. Even us experienced devs don't know everything about everything and do make mistakes. Personally, I now refuse to code anything for Broker in Java simply because it takes longer and is harder to find bugs when things go wrong. Oh, don't even mention log4J in my presence. It is not the solution to anything in the Broker world.

_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » ESQL or Java #beginner
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.