Page 1 of 2

Execute method in the server side.

PostPosted: Thu Sep 02, 2010 9:04 pm
by Adelo Herrero
Hello all!

I need to recover some values from an application installed on the server side (openssl).

Where are the methods executed? on the server side? on the client side?

Many times I need to use this features/applications from the server side because of de O.S. and because this way the client doesn't need to install anything.

Is the only way to do it through the headless client?

I mean while headeless client, one license is consummed.

Do the server act like a client?
Do you know another solution besides doing a plugin?

Thanks a lot. Best regards,

Re: Execute method in the server side.

PostPosted: Thu Sep 02, 2010 11:52 pm
by Roberto Blasco
Hi Adelo.

What kind of solutions are you talking about? WebClient or SmartClient?

I think all the methods in WebClient are executed in the server side. If SmartClient does the opposite, it would be very interesting add the feature of execute a method in the server side without wasting a license, something like executeProgram but executeProgramInServer.

Greetings, Roberto.

Re: Execute method in the server side.

PostPosted: Fri Sep 03, 2010 7:38 am
by ptalbot
A few options:

    - use the headless_client plugin (works server-side, but uses a license)
    - use a web client (works server-side, but uses a license)
    - use a batch processor (works server-side, but guess what? uses a license)
    - write a plugin (would not use a license)
    - add this to Servoy core (open a feature request and pray for a bright future)

Now guess which one I would recommend (until the future is brighter)?
:lol:

Re: Execute method in the server side.

PostPosted: Fri Sep 03, 2010 9:00 am
by Adelo Herrero
Hello again:

Well, I not find very logical that, to access the server S.O. is consumed another license, it is not really a new connection.

On the other hand, I think it should be easier to implement in development time, something like raising Roberto.

As for the plugin, it not will be very difficult to do, but for that reason do not you think that such options should be included in the core of Servoy?

This also opens the door to use the hardware connected directly to the server hardware (modems GSM / GPRS, Fax, Telephone exchanges, etc)

Thank you.

Re: Execute method in the server side.

PostPosted: Fri Sep 03, 2010 10:50 am
by david
Servoy has tons of great ways to run server-side code. Add headless client (not to be confused with headless_client plugin), REST, stored procedures, and targeting a smart client running on the server to Patrick's list.

At most, all of these options require one additional license to run server-side code for any number of remote clients. Not sure what the issue with this is given the functionality (assuming you don't have an issue with Servoy's licensing schemes in general).

Everything you've listed can be accomplished already -- and probably several different ways.

Re: Execute method in the server side.

PostPosted: Fri Sep 03, 2010 3:35 pm
by Harjo
with the new enhanced security, you can also run server-side code, without the cost of a license!
use the authenticator solution for that!

the wiki says:

While the security.authenticate(...) function is meant to be utilized in a Login solution, it can be used at any time. This provides an alternative to the Headless Client plugin. The major differences between the two are:

* Headless Client plugin starts a Headless Client on the Application Server, that has state and can be used by multiple clients. Method execution is asynchronous.
* security.authenticate(...) executes just global methods in a solution of solutionType "Autenticator", no state is remembered on the server between method calls and the method calls are synchronous

Re: Execute method in the server side.

PostPosted: Fri Sep 03, 2010 3:42 pm
by pbakker
I don't think so Harjo, for the duration of the execution of the code in the authenticator solution (so a fraction of a second, if you do it properly), a license is consumed.

Paul

Re: Execute method in the server side.

PostPosted: Fri Sep 03, 2010 4:33 pm
by Harjo
ah oke, thx did'nt know that!

Re: Execute method in the server side.

PostPosted: Sat Sep 04, 2010 12:53 pm
by Roberto Blasco
Hi ptalbot


A few options:

- use the headless_client plugin (works server-side, but uses a license)
- use a web client (works server-side, but uses a license)
- use a batch processor (works server-side, but guess what? uses a license)
- write a plugin (would not use a license)
- add this to Servoy core (open a feature request and pray for a bright future)


Now guess which one I would recommend (until the future is brighter)?


I think this "new" feature must be implemented on new Servoy revisions. As Adelo said, it's very important for our applications the posibility of using many "foreign" programs to complement Servoy capabilities without the need of install anything in our clients.

Just a few examples ...

- Mail server
- Hash, encrypt, sign files and/or strings
- Digital signatures of our documents
- and many, many other kind of scritps and programs installed on the server side (let's take the most of Servory in a Linux server :D ....)

Greetings. Roberto Blasco.

Re: Execute method in the server side.

PostPosted: Sat Sep 04, 2010 2:00 pm
by Harjo
Paul, does it mean if clients only open the login solution, that this does NOT consume a license?

Re: Execute method in the server side.

PostPosted: Sat Sep 04, 2010 3:30 pm
by lwjwillemsen
Hi Harjo,

I expect that a successful security.login() issued from within the login form consumes one license ..

Servoy application server must deny access somewhere when exceeding the user count license...

Regards,

Re: Execute method in the server side.

PostPosted: Sat Sep 04, 2010 4:14 pm
by Adelo Herrero
Obviously, I agree with Roberto that it would be very interesting include the option posed in this thread in the core of Servoy.

I think it's quite common interact with the server operating system from virtually any application.

Best regards.

Re: Execute method in the server side.

PostPosted: Sat Sep 04, 2010 5:13 pm
by Harjo
lwjwillemsen wrote:Hi Harjo,

I expect that a successful security.login() issued from within the login form consumes one license ..

Servoy application server must deny access somewhere when exceeding the user count license...

Regards,


ofcourse, AFTER a successful login, it consumes a license, but I just wanted to know, if you just open the login solution, without really logging in, if THAT consumes a licenses.. :-)

Re: Execute method in the server side.

PostPosted: Sun Sep 05, 2010 12:18 pm
by patrick
btw: our UserManager plugin allows to execute a system command on the server and capture the result in a client. Maybe that can help?

Re: Execute method in the server side.

PostPosted: Mon Sep 06, 2010 4:11 pm
by rgansevles
Harjo wrote:ofcourse, AFTER a successful login, it consumes a license, but I just wanted to know, if you just open the login solution, without really logging in, if THAT consumes a licenses.. :-)


Harjo,

When js code is running in Servoy, this always runs inside some client (headless, web, smart, authenticator) and this always consumes a license.

So when a client is started, the license is consumed immediately, also before successful login.

Rob