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 to Java conversion

Post new topic  Reply to topic Goto page Previous  1, 2, 3, 4, 5, 6  Next
 ESQL to Java conversion « View previous topic :: View next topic » 
Author Message
Vitor
PostPosted: Wed Feb 22, 2012 8:08 am    Post subject: Reply with quote

Grand High Poobah

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

mqsiuser wrote:
you would not invest in Broker (but an App-Server).


Beg to differ. There are a number of facilities within WMB that you can (and I have) profitably exploited in a mixed software stack. Perhaps you don't want to write all the scaffolding you need to do a fan-in / fan-in inside native Java. Perhaps your Java needs to integrate with a COBOL CICS application running on a mainframe. Perhaps your Java needs to work with SAP, or SWIFT messages.

For all of these it makes sense to include WMB in your software stack and exploit the facilties.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqsiuser
PostPosted: Wed Feb 22, 2012 8:14 am    Post subject: Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

mqjeff wrote:
App Server is terrible at acting as an ESB.

MQ and AppServer works fine... I mean that might be a start (for our very hard-core Java community) !?

mqjeff wrote:
and terrible at providing easy to use message modelling

If you have xml only (and no flatfiles) then that's not such a big issue (!?)

mqjeff wrote:
and writing transformations that are tied to a logical structure of data rather than a physical structure.

ok, there is MBElement and other stuff in the Broker-Java, which is not in the AppServer-Java.

mqjeff wrote:
Buying Broker to use it's full suite of connectivity options and then only using JavaCompute nodes to perform transformations is perfectly reasonable.

Although ESQL is really handy.

I like it when people put the important stuff at the end (and everyone then knows what this means then).
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Feb 22, 2012 8:22 am    Post subject: Reply with quote

Grand High Poobah

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

mqsiuser wrote:
mqjeff wrote:
App Server is terrible at acting as an ESB.

MQ and AppServer works fine... I mean that might be a start (for our very hard-core Java community)


For a full on ESB? How much do you need to build that WMB provides?

mqsiuser wrote:
If you have xml only (and no flatfiles) then that's not such a big issue (!?)


It's a big assumption that you'll have no flat files. It's also an assumption that you won't have very large, very low SLA XML that you need to parse with a high efficientcy, low footprint parser. Like the one in WMB.

War story - I took a 160 Mb XML document and broke it down into sub-documents for the benefit of Java MDBs that were hitting memory issues trying to read the original.

mqsiuser wrote:
ok, there is MBElement and other stuff in the Broker-Java, which is not in the AppServer-Java.


Thank you.

mqsiuser wrote:
mqjeff wrote:
Although ESQL is really handy.

I like it when people put the important stuff at the end (and everyone then knows what this means then).


It's handy, but it's counter productive if you don't have staff that can code it in. If you happen to have a number of idle Java people (by which I mean Java people not engaged on a task before anyone says anything) then you'll get a quicker delivery not using ESQL. Is it using all the features of WMB? No. Does the flow run slower / use more memory / be "worse" than if it was coded in ESQL? Maybe.

A site in that situation will not care.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqsiuser
PostPosted: Wed Feb 22, 2012 10:46 am    Post subject: Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

Vitor wrote:
It's handy, but it's counter productive if you don't have staff that can code it in.

Come on... there are integration specific hard hoops (codepages, parsing in&out, the propagation model and error handling) that they have to learn anyway (independent of language ... you better have an expert near) *and* just 3 important things that are opposite to what you would do in Java. You get these 3 things right, if you are always thinking "what would I (have to) do/perform (perform comes from performance in this context!) if I am an on-demand-parser... AND (for the parts of the tree that are already parsed): What would I have to do if I am a tree-walker".

Then ESQL is so easy (esp. when you know Java): It also throws Exceptions, you can debug it, the tree is like an object , etc.
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Feb 22, 2012 10:59 am    Post subject: Reply with quote

Grand High Poobah

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

mqsiuser wrote:
Vitor wrote:
It's handy, but it's counter productive if you don't have staff that can code it in.

Come on... there are integration specific hard hoops (codepages, parsing in&out, the propagation model and error handling) that they have to learn anyway


Or they have to pay for someone like me to come in for 3 months & set it all up.

That's not a theoretical statement, that's a 3 month on-site placement I did in a Java only site in 2007. One of many similar.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
adubya
PostPosted: Wed Feb 22, 2012 11:05 am    Post subject: Reply with quote

Partisan

Joined: 25 Aug 2011
Posts: 377
Location: GU12, UK

I also know of a site where it was mandated that all the compute nodes be written in Java. We're not theorising here
Back to top
View user's profile Send private message Send e-mail
mqsiuser
PostPosted: Wed Feb 22, 2012 11:19 am    Post subject: Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

Thanks guys, thats great that you help out during setup (e.g. the first 3 months)... But I was preparing to tell you the 3 rules:

1. Do not use CARDINALITY
2. Do not access elements in a list with brackest ([]) and
3. Do not walk (into) the tree too often

Honor the on-demand-parser !

Then (for performance) it doesnt matter which tranformation technology you use. Though it must be stated that xslt doesnt honor the on-demand-parser (I guess it doesnt even use one).
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
joebuckeye
PostPosted: Wed Feb 22, 2012 11:23 am    Post subject: Reply with quote

Partisan

Joined: 24 Aug 2007
Posts: 365
Location: Columbus, OH

mqsiuser wrote:
Come on... there are integration specific hard hoops (codepages, parsing in&out, the propagation model and error handling) that they have to learn anyway (independent of language ... you better have an expert near)


But many managers don't think about the domain specific education requirements of their team, only the specific language requirements. WMB can handle Java, my team does Java so we can do it without needing any high-priced IBM training.

And then they bog down when trying to use Java within WMB due to the need to know all those WMB specific pieces and how Java interacts with them.

I had a team come to me asking me to put the MQ jar files into the shared-classes directory so they could make MQ calls. I asked them why they weren't using the MQ nodes built into the product and they looked at me with blank looks on their faces.

Too many shops appear to think that Java developers can just hop in and code in WMB since it has the JCN.
Back to top
View user's profile Send private message
mqsiuser
PostPosted: Wed Feb 22, 2012 11:33 am    Post subject: Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

joebuckeye wrote:
But many managers don't think about the domain specific education requirements of their team, only the specific language requirements. WMB can handle Java, my team does Java so we can do it without needing any high-priced IBM training.

And then they bog down when trying to use Java within WMB due to the need to know all those WMB specific pieces and how Java interacts with them.

Thats true. ESQL is domainspecific, but there is much more domainspecific. ESQL isn't the biggest hurdle. AND it brings relief

The JCN isn't a charter (for people with Java background) and wanting to switch to systems integration / broker.
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Feb 22, 2012 11:45 am    Post subject: Reply with quote

Grand High Poobah

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

joebuckeye wrote:
And then they bog down when trying to use Java within WMB due to the need to know all those WMB specific pieces and how Java interacts with them.


And then they post here.

joebuckeye wrote:
I had a team come to me asking me to put the MQ jar files into the shared-classes directory so they could make MQ calls. I asked them why they weren't using the MQ nodes built into the product and they looked at me with blank looks on their faces.


Happened to me more than once. I used to insist that part of the 3 month set up included mentoring at least 1 permanent member of staff sufficiently that they understood the infrastructure. That didn't always go so well.

joebuckeye wrote:
Too many shops appear to think that Java developers can just hop in and code in WMB since it has the JCN.


As witness the number of posters here who are trying that.

joebuckeye wrote:
But many managers don't think about the domain specific education requirements of their team, only the specific language requirements. WMB can handle Java, my team does Java so we can do it without needing any high-priced IBM training.


This is the key point. We can bang on here about language capabilties & platform usage, but the management is often focused on the money and the time required for delivery. If they're sitting on a pool of Java people they can save both and meet their performance objectives.

Before anyone rebutts with "but look at the money they're wasting on a WMB license if they don't exploit it", remember the project teams doing the development typically do not pay for that license and hence are not wasting a cent. They're saving money by not paying for training which would come out of a project's budget.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqsiuser
PostPosted: Wed Feb 22, 2012 12:54 pm    Post subject: Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

Vitor wrote:
Before anyone rebutts with "but look at the money they're wasting on a WMB license if they don't exploit it", remember the project teams doing the development typically do not pay for that license and hence are not wasting a cent. They're saving money by not paying for training which would come out of a project's budget.

I was assuming different (see one of my posts earlier). Also I better understand now, why people are pointing to education in this forum. Though ... I think... it is also very important to have an experienced Broker guy on-site. 3 to 5 day trainings won't be enough. Also for big companies the training costs are not that much. Sometimes the problem can be: When/where is a training (every half year/once a year?!)... Then its cancelled, because of too less people (wanting to take part). You need to hire an expert (I would pick e.g. Vitor) for at least 2 days a week and a period of some months to set up a broker platform.
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Feb 22, 2012 1:18 pm    Post subject: Reply with quote

Grand High Poobah

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

mqsiuser wrote:
Though ... I think... it is also very important to have an experienced Broker guy on-site. 3 to 5 day trainings won't be enough.


It is, and if this mythical site is prepared to pay for training maybe they'll put their corporate hand in their corporate pocket. Cutting out the training and paying for a guy as a mentor is another common tactic.

mqsiuser wrote:
Also for big companies the training costs are not that much. Sometimes the problem can be: When/where is a training (every half year/once a year?!)... Then its cancelled, because of too less people (wanting to take part).


Perhaps to an extent, but have you noticed the global economy melting recently? It's been on the news and everything. Previously it was bad, now it's worse; the corporate definition of "not that much" has got cheaper.

Now only @lancelotlinc can get budget for anything

mqsiuser wrote:
You need to hire an expert (I would pick e.g. Vitor) for at least 2 days a week and a period of some months to set up a broker platform.


You're very kind. I talked above about mentoring someone to support and champion the broker platform not always going well? Principally that was because at the end of the 3 months with the platform in place & the mentoring incomplete (or not started) I was removed from the site as a cost saving measure; project management taking the 80/20 view that they'd muddle through.

One manager (who knows or may have just realised who he is) actually claimed I didn't need to finish one guy's training "because he knows enough to get by & there's this great site called mqseries.net we can squeeze for assistance".

One of many reasons I use a pseudonym in here.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
OMG
PostPosted: Wed Feb 22, 2012 9:15 pm    Post subject: Reply with quote

Novice

Joined: 20 Feb 2012
Posts: 18

actually I am asked to convert the ESQL code in Java to insert data in a Oracle DB using JDBC connection.
The code parses the input message taking some data from the DB and after some manipulation inserts the data into the DB.
Back to top
View user's profile Send private message
mqsiuser
PostPosted: Thu Feb 23, 2012 12:58 am    Post subject: Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

OMG wrote:
actually I am asked to convert the ESQL code in Java to insert data in a Oracle DB using JDBC connection.
The code parses the input message taking some data from the DB and after some manipulation inserts the data into the DB.

O.k., so I was the one who asked you (the OP) for this information, thanks for providing it.

I actually (only) use ODBC... we actually think like "JDBC wouldn't be better, just different". So I cannot give advice on this, anyone else with JDBC-Experience please suggest!

Though ... I strongly assume you provide this info on Broker admin level with "mqsisetdbparms" and then can use it (JDBC) within your ESQL code.
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
rekarm01
PostPosted: Thu Feb 23, 2012 4:29 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

mqsiuser wrote:
1. Do not use CARDINALITY
2. Do not access elements in a list with brackets ([]) and

Never? Ever? Why not? Given the following hypothetical function:

Code:
CREATE FUNCTION median(IN REFERENCE sortedData) RETURNS INTEGER
BEGIN
    DECLARE N INTEGER CARDINALITY(sortedData.value[]);
    RETURN sortedData.value[N/2];
END;

how might these rules be applied to improve this function's performance?

mqsiuser wrote:
3. Do not walk (into) the tree too often

How often is "too often"?

mqsiuser wrote:
Though it must be stated that xslt doesnt honor the on-demand-parser (I guess it doesnt even use one).

Why must this be stated? Is it actually true? Please explain.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2, 3, 4, 5, 6  Next Page 2 of 6

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » ESQL to Java conversion
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.