RapidMiner Server and Web Service

NiharikaNiharika Member Posts: 40 Maven
edited October 2019 in Help
What is the difference between running a rapidminer process on RapidMiner Server and making it as web service.One thing is webservice becomes a URL and can be further used .But are there any more significant differences.


  • kaymankayman Member Posts: 662 Unicorn
    Oversimplified you could state that with a webservice anybody you allow could send a request (or a dataset) and rapidminer will return a response (or a dataset) 

    So you could train a model to recognize languages, your user could use a website that allows a request to be send to the web service (like a French sentence) and rapidminer would respond with 'French sentence' 

    Bit of a stupid example but it gives a the basic idea. In case of webservices Rapidminer is just a Blackbox in the middle responding to external input. 
  • NiharikaNiharika Member Posts: 40 Maven
    Okay so I run a process on server it runs via Job-agent.But how do things work when process runs as an API?
  • kaymankayman Member Posts: 662 Unicorn
    Good question, that's one for the experts :-) 
    It doesn't use the job agents to ensure low latency, but what processes are really used behind the scenes I don't know. 
  • MarcoBarradasMarcoBarradas Administrator, Employee, RapidMiner Certified Analyst, Member Posts: 271 Unicorn
    @Niharika when you run it on the server through a scheduled task or by request launched through studio or by triggering the process through server interface it in fact uses the agents and depending on its queue the process will finish as soon as its able to answer and it works with the RAM capabilities of the agent you assigned the task.
    When you expose it through a Webservice it doesn't enter to the queue of any agent it goes directly to the server and the only things that affect the response time is the availability of the DB that handles the RM Server and the free RAM you assigned to the Server itself and the max concurrent calls you assigned on the configuration. 
    The only bad thing of the WS is that it may be affected by the workload of your Server and this may give you mixed results while consuming the service. I have a WS that for 90% of the requests answers under 1s but at certain hours the same call may take 24s thats why I'm thinking on trying the scoring agent that works similar to the agents for Server but also leaves behind part of the things that WS and Agents load by default and that are not always used.

    Maybe @IngoRM, @sgenzer  or @rfuentealba could help us understand more. 
  • NiharikaNiharika Member Posts: 40 Maven
    @MarcoBarradas thanks for the information.
    So as far as running a process on server is concerned the most important aspect is Job-Agent(s) apart from its RAM capabilities i.e, greater the number of job-agents for the ques latency period of processes decreases and the time period of process execution depends on the RAM of the job-agent.
    As Job-Agents are independent RapidMiner Server instance so can we say that any job-agent not on machine where our server has been installed will execute a process faster or speed at which Job-Agents will execute the same processes depends on there RAM?
    For webservices the execution engine remains same for all of them so there time of execution depends on the load on the server.So how the scoring-agent improves the speed and just like we can have multiple job-agents can we have multiple scoring-agents as well?
Sign In or Register to comment.