install software remotely from tomcat - windows

I am using tomcat7, jsf2, spring and other frameworks. I am new in this.
I have a question about remote installation or sending a command line to a remote computer.
I have this situation:
I have Tomcat server (windows), which registers tasks.
After registration, the server must send any command to the remote station (windows) to start simple file for that task.
Is it possible?

if someone is interesting in this, I used this tools (for intranet):
Spring Quartz (executes jobs)
xcmd (sending this command with runtime)

Related

How to Run WAS Liberty Core server as a Background Service in Windows

We have installed WAS Liberty Core 8.5.5 to run Maximo anywhere mobile applications.
If we start the server from CMD then we are able to access worklight console and maximo anywhere apps.
Command we are using to start the server.
server start server1
But once we closed the CMD window the server stops automatically.
Any workaround to run the server as a background Service ?
Also we need info on how to add WAS Liberty server to Windows startup service so that it will start automatically on system restart.
Thanks,
Ajay
You can run Liberty as a Windows service:
https://www.ibm.com/support/knowledgecenter/en/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_setup_new_server_winserv.html
bin\server registerWinService serverName
bin\server startWinService serverName
bin\server stopWinService serverName
Of course "net stop/net start" or services.msc can be used instead of startWinService/stopWinService
The feature to setup a proper windows service is not available in Websphere Liberty 8.5.5.x.
You can use sc.exe to create a service linked to the server executable, but it won't behave correctly i.e. it won't respond correctly to the commands from the services application. As an example, you will be able to start the service and the server will run, but then you will see an error saying the service did not respond in a timely fashion.
According to this question the proper functionality, as described in the other answer, only became available around version 17.0.0.1.
Hope that helps,
John

Notify a windows machine within a network, without username and password

The problem statement:
Suppose there are 20 windows machines within a local network. One of the machines serves as the server and hosts the database. Now, the other 19 machines have the access to read from the server machine, but the server machine does not have username and password for any of the other 19 machines.
I have to update a desktop application installed on all the machine. There is a spring-boot application, hosted on the server machine which downloads the build. Now, as soon as I download the build I have to notify all the other 19 machines that build has been downloaded so that they can read and update themselves.
Solution 1: Install a windows service which will poll the server and check if updates are available.
Solution 2: Host a POST web API on the 19 machines and notify them by making a post call. I think installing IIS or Tomcat on every machine is not viable.
Is there any other optimal solution for notifying the client?
Note: We cannot take the RDP and neither have credentials but we can make use of already deployed windows application on the other 19 clients.
Solution 3: If your machines share the same domain, use msi install packages to update software all across domain by using Group Policy. It's common way.
Solution 4: Launch desktop application directly from server shared folder. It works good while server machine is always accessible and application is not too heavy for your LAN.
Here you need some care about writing new application files while it running on client computers. Good way is to keep a different folders for different versions and launch with shortcut pointing to latest one:
v1.3\app files here
v1.4\app files here
v1.4.6\app files here
v1.7\app files here
app.lnk → v1.7\app.exe
client machines launch the application with app.lnk.
Upd: if you update application when nobody works (see 1am…2am), you can omit all of this versioning stuff.
Solution 1: It work as well. You can use NSSM to easily launch your update script or exe-file as a Windows service.
I would use a windows service or a scheduled task (both could be the same application you provide, but with some arguments). It frequently checks if a new version is available (maybe only once a day).
If you only have a short time frame when the new version has to be installed on all machines you could also provide an installation date with the new version. (Maybe the check will be done through a REST api where the client sends the current installed version number and the server answers with an status code 200 and the body is either empty or provides an json object containing the new version number, the due date and the download url.)
Then the client can already download the new version and make it available on the machine, but it triggers the installation only when the due date is reached. This check of the due date can happen more often, cause all informations are already on the client machine and can be done locally.

Can we create multiple servers in the websphere application server profile?

Can we create multiple servers in the websphere application server profile
Usually the default is server1 gets created , when you create the stand alone instance.
Yes, you can via wsadmin scripting, check details here:
Creating a server using scripting
however by default to configure and install app on that server you will need to use console installed on server1 or scripting, so it is a bit troublesome. That server will also share some configuration settings with server1 e.g. security settings.
If you want more isolation it is usually easier to just create another Application Server profile, from the same WebSphere installation (using Profile Management Tool, or manageprofiles script).

Run “WebSphere application server” and “WebSphere Process Server” in a single machine

In our project we have installed both the “WebSphere application server” and “WebSphere Process Server” in a single machine. But we are unable to run both the server at a same time.
WebSphere Process Server is mounted on top of WebSphere Application Server, so while we are running the process server the default WebSphere application server instance is starting with the process server. So after that if we try to start the separately installed WebSphere application server, we are getting error that one instance is already running. Please suggest how to avoid this conflict and run both the process and application server in the single machine?
Both are using the same port. We already renamed the server name of the separately installed WebSphere application server with “server2” and Process Server’s application server name is “server1”
Please share your suggestions
You need to create separate profile. You don't have to install WAS first, or install it again, if you don't want. You may use Profile Management Tool from your installation to create new separate profile for WAS (choose Application Server profile type, not Process Server).
If you want complete separation e.g different versions (like vX of WPS and vY of WAS), or different fix pack level, you will need to do full separate WAS install.
Websphere Process Server extends Websphere Application Server (WAS), so you should install WAS first. Websphere Process Server (WPS) install should be made on top. When installation is complete you will be able to create WAS and WPS profiles on this machine. WPS profile always include WAS libraries and can be managed exactly the same way as WAS.
If you want separate servers, you should create two profiles, one for WAS and one for WPS.
You will be able to manage them separately.

controlling a remote machine

I want to develop some kind of automation system i can control some pcs in my network.Features i am looking to develop are as follows:
1)Ability to establish a connection with some remote systems and executing some commands on those
2)Ability to transfer files from main controller pc to those pcs
3)Ability to get status of other pc
I dont want to install some explicit server on each of the client machines , and want to use some in built protocol /services running on windows a my clinets are windows.
The only this available with my controller pc is Administator user name and passwd and clinet machine ips.
IBM TPM uses some port to do such things but am not usre which protocal /service it uses?
I have done a remote software installation using ibm tpm.I dont think it uses telnet or ssh.
Which inbuilt service/protocol i should use? (not telnet or ssh)
I need to design a tool that can install software on remote client machine.
Basically i need Deploy MSI, EXE, BAT etc. on various client machines without user interaction.
There are lots of tool on net that provide these features but i need to develop such type of utility.
Please suggest
you can setup remote desktop on the machines.
For Establishing command : you can setup remote desktop
For transferring files: You can map drives of other machines programmatically using the method WNetAddConnection2().
Its unmanaged code ...
This might help :
http://vbnet.mvps.org/index.html?code/network/wnetaddconnection2.htm
http://www.pinvoke.net/default.aspx/mpr/wnetaddconnection2.html

Resources