Configure Scipio component to interact remotely


#1

Hi, I would like to run each Scipio application component on a different machine and make the components interact using remote URLs. Say run “accounting”, “shop”, “cms” etc on different machines and configure “accounting” component to interact with “shop” component remotely. Is there a way to achieve this ?

Thanks,
Vinothini


#2

The problem here is going to be that there are dependencies in between the listed components. In particular shop relies on all of the other applications, so you will not be able to run them on entirely different machines.

That being said, you can still use clustering to run multiple instances of scipio erp in a clustered environment: https://www.scipioerp.com/community/developer/installation-configuration/clustering/. So you could have a dedicated instance for all backend applications and others for shops. You can also have dedicated servers for running specific services or such.


#3

Also: welcome to the community :slight_smile:


#4

Another thing you could do is use the prototype angular shop as a foundation (https://github.com/ilscipio/addons-angular-shop) and deploy it on a separate machine. It is incomplete however and would need quite some attention. You’d also have to come up with a way to integrate cms into it…


#5

Hi Madppiper, thanks for looking in to this. I am trying the distributed cluster setup. Is there a way I can run specific services alone ? Say run just application or shopping service in a server ?

I am also trying to bring an NGINX server in between the services and the load balancer. I have SSL cert which is different from the certificate in ofbizssl.jks. How can I build the application with my SSL certificate ?

-Vinothini


#6

Well sorta. For asynchronous services and those scheduled by jobsandbox you can define a thread-pool and you can then assign specific machines to be included in a pool to run them. But take this with a grain of salt, as most services in shop are synchronous (or events) and so are many of the services in other applications. I would therefore recommend to simply install multiple servers in a cluster and have one machine that is not available from the outside Network (ie through your webserver). It saves you alot of trouble and i doubt the performance differences is all that much…

For the webserver config, have a look at this handy guide: https://www.scipioerp.com/community/developer/installation-configuration/clustering/webserver-configuration/