Is it possible to protect the IP of a Talend ETL job?

Anonymous
Not applicable

Is it possible to protect the IP of a Talend ETL job?

Hi,
I couldn't find any reference to this in the forum so far. I'd like to know if it's possible to protect the IP of an ETL job when it's deployed. In SPSS Modeler eg I can protect my ETL stream with a password and thus the client can't change nor seeing what exactly is done at each step.
Is there a way to protect my work in Talend or can it be easily read, modified by a client when I deliver the ETL job?
TIA,
Andreas
Employee

Re: Is it possible to protect the IP of a Talend ETL job?

A Talend ETL job is simply a Java application. Depending on how you implement the system, you can protect how you built the job....as far as making it very difficult for someone to figure it out unless they decompile and hack around with the revealed code. With the Enterprise Edition, you will usually have your source code available on a DEV system. Up until recently, you needed to leave the source code with the installation so that it could be compiled every time the job was deployed. However now (v5.6.1+) you can simply leave your customer with the compiled artefact in an artefact repository (Nexus by default). 
I would question why you would want to do this though. I don't know of many customers who would be happy with a black box integration system where they have no option of working on it without going back to the original team of developers.
Anonymous
Not applicable

Re: Is it possible to protect the IP of a Talend ETL job?

A Talend ETL job is simply a Java application. Depending on how you implement the system, you can protect how you built the job....as far as making it very difficult for someone to figure it out unless they decompile and hack around with the revealed code. With the Enterprise Edition, you will usually have your source code available on a DEV system. Up until recently, you needed to leave the source code with the installation so that it could be compiled every time the job was deployed. However now (v5.6.1+) you can simply leave your customer with the compiled artefact in an artefact repository (Nexus by default). 
I would question why you would want to do this though. I don't know of many customers who would be happy with a black box integration system where they have no option of working on it without going back to the original team of developers.

thank you for your quick response. Is there a reference to any online documentation that explains the deployment process, how the Java is being compiled? I looked here  but that doesn't deal with anything close to what I want to know. The whole process once a job is tested and finished is unclear to me, how to go from there.
If I understand you correctly, it would require to have TOS being installed at the client premises on a machine there as well, then in some sort of way load the job and execute it? As my client is more than 2000km away from me and I do work with them mostly remote I thought there is a way to run everything remote? The client doesn't want to get involved with being "forced" to learn Talend hence they outsource that job to me plus they don't have the IP/experience for that ETL job (which is creating an analytical data mart). So it's more like a SaaS approach.
Can this be done and is my above question about them having TOS installed correct? Or is the final product really a compiled Java program that can be executed at their site?
Employee

Re: Is it possible to protect the IP of a Talend ETL job?

If you only using TOS (the Open Source edition) then you can simply compile your code, export it locally from TOS and then upload it onto their servers as a Jar. Talend also provides you with a bat/sh file to run the Jar once compiled. Once this is done it will look and behave exactly like a basic Java application. If you are using the Enterprise Edition I would say that this approach would be wasting a lot of the Enterprise functionality, but it is still possible to work in this way.