Tag: java

No More Coding?

This week has been a bit of a fast track when it comes to training. As well as spending two days on a SAP XI (Exchange Infrastructure / EAI) training workshop, I have had some time to check out JBoss SEAM. The SAP XI stuff relates to the Client needing to upgrade their existing EAI platform (eGate) to a newer version. As it will eventually involve recoding of all interfaces, due to no backward compatability, they are taking the opportunity to look at other platforms. And since 80% of their systems are SAP based, XI seems to the the natural and logical solution. So the workshop I attented was aimed at gaining a high level understanding of the product. It's sold as something related to J2EE, but in my opinion isn't really related to J2EE. Sure it lives inside a J2EE app server, but as far as the developer is concerned, all they do is create a toolbox of objects (data structures, mapping rules, business processes, etc). And this is all done graphically! Then they hook it all together and configure it. OK - I haven't done anything hands on, nor seen anything complex done, but I am sure that does involve writing a bit of Java at some stage. Out of interest, mappings are done using XSLT, which is run on the data structures which are defined as XML docs. I also spent time looking at JBoss SEAM, which is a project that combines your database, Hibernate (ORM), Ant…

Read more

Performance Problems with sending data 1000 miles

Well, its not a bank holiday in Switzerland, so while you are all having fun in the sun or spending your day in the pub as is traditional for the May bank holidays, I'm sitting here working on an interesting performance problem. We are trying to transfer 200,000 rows of data from SAP in Lausanne to MS SQL Server in the Ukraine (1000 miles away?). Its averaging 0.5 seconds per row and so will complete in roughly 27 hours. That causes the customer a few problems because its scheduled for 3am and has to be complete by 6am... The techy implementation is to use JDBC to do an insert/update statement depending upon if the row already exists, so we are actually doing several JDBC calls per row of data. Originally we thought that the bandwidth to the Ukraine together with a crackily/dodgy/unreliable phone line was the problem, but a quick calculation for the 1MB ADSL line that services the Ukrainian network, showed that it should be transferring in the range of several gigabytes in 27 hours, not a measly 25 megabytes... So along came our DB expert who suggested that calling a stored proc would be better because it would involve sending less bytes of data (the call to a stored proc does not name the columns being updated) as well as be optimised by the engine. Furthermore, it could do the check to see if the row already exists, reducing the amount of calls we had to do. The…

Read more