Author |
Message
|
Vitor |
Posted: Wed Feb 22, 2012 8:08 am Post subject: |
|
|
 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 |
|
 |
mqsiuser |
Posted: Wed Feb 22, 2012 8:14 am Post subject: |
|
|
 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 |
|
 |
Vitor |
Posted: Wed Feb 22, 2012 8:22 am Post subject: |
|
|
 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 |
|
 |
mqsiuser |
Posted: Wed Feb 22, 2012 10:46 am Post subject: |
|
|
 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 |
|
 |
Vitor |
Posted: Wed Feb 22, 2012 10:59 am Post subject: |
|
|
 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 |
|
 |
adubya |
Posted: Wed Feb 22, 2012 11:05 am Post subject: |
|
|
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 |
|
 |
mqsiuser |
Posted: Wed Feb 22, 2012 11:19 am Post subject: |
|
|
 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 |
|
 |
joebuckeye |
Posted: Wed Feb 22, 2012 11:23 am Post subject: |
|
|
 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 |
|
 |
mqsiuser |
Posted: Wed Feb 22, 2012 11:33 am Post subject: |
|
|
 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 |
|
 |
Vitor |
Posted: Wed Feb 22, 2012 11:45 am Post subject: |
|
|
 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 |
|
 |
mqsiuser |
Posted: Wed Feb 22, 2012 12:54 pm Post subject: |
|
|
 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 |
|
 |
Vitor |
Posted: Wed Feb 22, 2012 1:18 pm Post subject: |
|
|
 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 |
|
 |
OMG |
Posted: Wed Feb 22, 2012 9:15 pm Post subject: |
|
|
 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 |
|
 |
mqsiuser |
Posted: Thu Feb 23, 2012 12:58 am Post subject: |
|
|
 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 |
|
 |
rekarm01 |
Posted: Thu Feb 23, 2012 4:29 am Post subject: |
|
|
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 |
|
 |
|