ABAP & Java : Marriage made in heaven !
h5. The Problem: If you are through with Manage the data in different formats!! (Industry Scenario–> Manage the data in different formats! ! Part-1), you must be wondering how we were able to FTP files to our supplier. It sounds pretty simple but when comes to real time industrial scenario it is not, read on to find out what we had to do to implement this simple looking scenario. Our R3 Enterprise (WAS 6.20) was inside the firewall making it difficult to FTP directly and as usual basis didn’t agree to open inbound FTP connection with the suppliers citing security reasons. Now we were expected to use a DMZ(demilitarized zone) server as the interface between supplier and our Web Application server. While all our solution was on ABAP, when we looked around we figured using Java based solution on DMZ can reduce the cost, effort and time for developing the solution. During the process we learnt how well ABAP and Java work together. h5. The Solution: We looked around for a quick solution, we have a J2EE server (We were using Paramati but you can use anyone like Tomcat or even SAP J2EE) running on DMZ. Our major problem was our lack of java knowledge so we looked around a little bit more and found an open source solution FtpBean (http://www.geocities.com/SiliconValley/Code/9129/javabean/ftpbean/). (Thanks to Sanjeev (http://forums.sdn.sap.com/profile.jspa?userID=32405&start=0) for his valuable guidance and support). Now the problem was simplified to just writing a servlet that can use this to GET and PUT the files to our supplier’s FTP server. So eventually we ended up with following Architecture –
There is nothing wrong with this, but if you are on 620 and higher you might want to consider using CL_HTTP_CLIENT instead. This approach uses the ICM and provides better monitoring and tracing capabilities.
I have never seen documenation to this effect, but my guess would be that the ICM (given its overall importance) is probably more robust than SAPHTTP.EXE as well.
However for a low volume application like ours it might not be a much difference.
Being a basis consultant who agrees with not opening the ports in the firewall, i'm wondering why SCP.SFTP is not used more.
There are java, windows commandline and unix commandline implementations that could be used.
It would be even nicer if it could be implemented by SAP in java/abap of course.
I would like to hear some views from more people on this.
Nice posting. I am trying to create a web service in R/3 4.7 was 6.20. I have expose function module as web service. Any tips you can provide. My email firstname.lastname@example.org