Evaluating bids

License asignation manager

Published on the July 13, 2016 in IT & Programming

About this project

Open

The aim is to develop a client-server application for the management of technical applications license assignation to users. Python is the preferred language due to its extensive library catalog that helps to ease and accelerate the development.
The server application shall manage the assignation of the available resources to users, which use the client side of the application. Resources are defined in a configuration file.

Server shall run on Windows Server or Linux. Server shall be in charge of assuring the coherence between the license usage reported by the different license daemons (flexlm based) and the internal state due to license assignment to users. For this it will use information provided by the client side of the application and may enforce actions on users computers through the client (e.g.
Closing an unauthorized instance of an application consuming a license) . Exceptionally (license hang), and to ensure coherence between assigned and available resources, the server side of the application shall be able to command license daemons for forcing the release of a particular resource, re-starting the daemon or blocking a particular user (normally performed by using the flexlm API). All management tasks shall be logged and the server shall be able to notify the administrator by e-mail for certain events.
Server shall be able to recover to a fault situation.

Client side of the application shall run in Windows 7 or Linux. It shall provide a GUI showing the available simulation resources. For using a particular resource the user shall be able to select it and perform a request for assignation.
If the server side performs the assignation, the application using the resource is launched in the user computer. The client/server application shall monitor that the license associated the assigned resource is correctly checked out in the corresponding license daemon. The usage of the resource is monitored until it is released.
The application using a resource may be a command line application requiring some parameters that shall be configurable through a dialog.

Client and server communicate using tcp/ip sockets. Particular message passing mechanism or remote execution is TBD. Server and clients execute in the same LAN.


The application shall be able to manage around 100 resources.

Developer should master or acquire the following topics:
* Lauch os commands as well as read and process the standard output (for flexlm commands execution)
* tcp/ip sockets
* working with text files.
* Execution as a service
* GUI (PyQT preferred)
* Monitoring and management of system processes
* Executable file generation and packaging

Category IT & Programming
Subcategory Desktop apps
What is the scope of the project? Create a new app
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
Experience in this type of projects No (I haven’t managed this kind of project before)
Required platforms Windows, Linux / Unix

Delivery term: September 11, 2016

Skills needed