RapidMiner 5.3 Web Integration

the_prodigythe_prodigy Member Posts: 3 Contributor I
edited November 2018 in Help
Dear All,

I'm currently a fourth year PhD student in Statistics having my end of year project with RapidMiner. The solution is amazing and very easy to use.

As part of my project, I'm trying to implement RapidMiner with another web project by taking the results of RapidMiner to analyse it in the web.

Two option that we are exploring :
- Calling RapidMiner from the web page, init the process and execute it then retrieve the data, but can I use IOContainer to have access to all the results? and Is there a loading time to wait for the data to be treated ?
- Saving the result of RapidMiner in an XML file than using the web, read the XML file, parse it and take the result that I want. The problem is that we can't save all the processes as an XML file and the structure is very different so we have to do a lot of work.

What are your recommendations ?

I want to star the project on a solid ground so thank you for your answers and recommendations.

Cheers,

Answers

  • MariusHelfMariusHelf RapidMiner Certified Expert, Member Posts: 1,869 Unicorn
    Hi,

    the best way to go is using the RapidMiner Server (RapidAnalytics until v5.3). It is available under the same license as RapidMiner Studio (formerly RapidMiner) from our website. The server contains a complete installation of RapidMiner, plus the possibility to call/deploy processes as a webservice, such that other software can call the webservice via a RESTful api and get the result back as a response.

    No matter if you go with the server or use your proposed approaches, please keep in mind the restrictions of the AGPL license: as soon as you communicate with another software, that software must also be released under the AGPL. That means that the code of your web page must be under the AGPL.
    Of course this does not apply if you have the an Enterprise version of RapidMiner.

    Best regards,
    Marius
  • the_prodigythe_prodigy Member Posts: 3 Contributor I
    Hi,

    Thank you very much for your prompt reply.

    The RapidMiner Server is interesting but what I need is different, we need to execute the process in RapidMiner and the access the data by web to send them to the web application.

    What's the best approach to have taking into consideration the performance ?

    I confirm that the software that we are going to connect to is under AGPL License.
  • MariusHelfMariusHelf RapidMiner Certified Expert, Member Posts: 1,869 Unicorn
    Well, when you export a process as webservice via the server, and then call the webservice's url, the process is actually executed by the server and then delivers its result as XML, as Excel file, as JSON or whatever you need. If the process takes too much time to execute it each the the service is called, you can use the Server to run it automatically let's say each night, stores the results somewhere, and the webservice just delivers this precomputed result. Unless I get you totally wrong, this is the easiest and fastest way of delivering the result.

    If this does not make sense, please explain in more detail what you mean by "access the data by web to send them to the web application".

    Best regards,
    Marius
  • the_prodigythe_prodigy Member Posts: 3 Contributor I
    Thank Marius you again.

    I also think that what you proposed is the best way to get the result.

    Does Rapidminer has an XML parser to read the XML that contains the result of the process execution ??
  • MariusHelfMariusHelf RapidMiner Certified Expert, Member Posts: 1,869 Unicorn
    Read XML allows you to read and parse XML files, but you know the Store and Retrieve operators, don't you? They allow you to save and load any kind of object in your workflow, including data and models, to and from the repository.

    Best regards,
    Marius
Sign In or Register to comment.