Deployment from 2022.12 and the future

Forum to discuss the Web client version of Servoy.

Deployment from 2022.12 and the future

Postby vik.lamp.vl » Tue Feb 07, 2023 1:00 pm

Hey guys,

quick question or just a talking-point.

As i remember correctly from Servoy 2022.12 on, we cant import solutions (xxx.servoy) in /servoy-admin/ anymore.

I have a clientserver on which runs a tomcat 9 with my solution as .war. Everything is fine.

But quick question: if i change something in my code, even if its only one line. I need to export the whole .war again to update the solutions at my client.
On old projects, which are running a "standalone" servoy app-server that goes real quick, we export the .servoy -> transfer that to the client (we??re talking about max 10mb) and import that solution in \servoy-admin\. Thing is done.
The end-user just needs to restart the .jnlp file and he gets the one line change.


So all the new projects that are running on tomcat??s would be like this:

Export the whole solution as a .war -> transfer the 150mb big file -> stop the tomcat -> copy the .war -> start the tomcat.
All the end-user are getting kicked out of the solution in this procedure.

---
I just want to understand the explanation for this. Or maybe im just doing it wrong :D

Thanks in advance and have a nice week
Vik


edit: i reported this post from the developer and clicked on "Servoy NG Client" but it was posted in "Web-Client" maybe a mod can move it to the right section. Thanks
vik.lamp.vl
 
Posts: 25
Joined: Wed May 26, 2021 3:37 pm
Location: Germany

Re: Deployment from 2022.12 and the future

Postby jcompagner » Tue Feb 07, 2023 1:22 pm

you don't need to stop really tomcat, you could just deploy the new WAR again
But yes that does mean the users are kicked out for a moment.
(because the context, the application running in tomcat, is undeployed for a moment)

The thing is that the WAR is the build artifact, that's what is run, everything belongs together with that.

So that is currently how it goes, we don't really have quick inline patches support anymore like that.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8851
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Deployment from 2022.12 and the future

Postby vik.lamp.vl » Tue Feb 07, 2023 1:31 pm

thanks for the info johan!
Now i kinda get why it is how it is :)

I guess we need to introduce patch-times for our customers that would be the best practice.
vik.lamp.vl
 
Posts: 25
Joined: Wed May 26, 2021 3:37 pm
Location: Germany

Re: Deployment from 2022.12 and the future

Postby rvanderburg » Tue Feb 07, 2023 1:38 pm

If you switch to servoy cloud, you can have zero downtime for users.
We will start a new node (with tomcat) and route new logins to that. The 2 tomcats are connected for databroadcasts.
After a while most people are logged out of the old tomcat (or we log them out forced) and thats turned of.

Would this help?
rvanderburg
Site Admin
 
Posts: 78
Joined: Wed May 04, 2011 10:28 am

Re: Deployment from 2022.12 and the future

Postby vik.lamp.vl » Tue Feb 07, 2023 2:31 pm

Hey rvanderburg, yes we´re planning on using svyCloud for a future product.
In this particular example a cloud solution is not gonna work because we´re working alot with file.IO stuff. Alot of word-files and such.

But in the planned project we want a full SAAS solution. I already testes svyCloud last year and i was very impressed. Im gonna contact victor as soon as i have a fixed plan for the project.

It would be cool to have detailed information on how to "imitate" svyCloud for inhouse testing. From the git-pipeline to jenkins and all the tomcat settings and quirks.

I found a old pdf and guide, but its really old and probably outdated.
You guys are not planning on releasing a detailed guide on how to setup for example git/bitbucked pipelines, tomcat databroadcasts, etc?

Actually i would really appreciate it if i get to know how to generate a .war file out of my bitbucket branch...just because i cant find a servoy-specific way of doing it and i find it really interesting :D
vik.lamp.vl
 
Posts: 25
Joined: Wed May 26, 2021 3:37 pm
Location: Germany

Re: Deployment from 2022.12 and the future

Postby rvanderburg » Tue Feb 07, 2023 3:07 pm

Vik,

Sorry we are not going to document how we build servoy cloud. We use a lot of technologies we did not build ourselves :)
What is documented is how to generate a war file from the command line, which is the way the war is generated in our pipeline:

https://wiki.servoy.com/display/DOCS/Co ... it+Testing
rvanderburg
Site Admin
 
Posts: 78
Joined: Wed May 04, 2011 10:28 am

Re: Deployment from 2022.12 and the future

Postby rafig » Tue Feb 07, 2023 5:43 pm

vik.lamp.vl wrote:Hey guys,
quick question or just a talking-point.
As i remember correctly from Servoy 2022.12 on, we cant import solutions (xxx.servoy) in /servoy-admin/ anymore.
But quick question: if i change something in my code, even if its only one line. I need to export the whole .war again to update the solutions at my client.

WHOA!!!!
I had not noticed this change!
This is a huge change and NOT for the better.
Won't this then mean we won't be able to rollback releases???
I thought that one of the reasons for having the repository database was to allow multiple versions of a solution to be imported and if there was an issue with an upload/release, it was super easy to rollback to a previous version!
This will be a big change for how I deploy solutions for clients (that at some point I want to bring up to the newest version of Servoy).
The way Vin refers to was so easy, just export a WAR of everything 'Servoy' except for solution & then import '.servoy' files each time a change/changes are made & then there is the safety of knowing you can just 'flick a switch' & roll back to a working release if something goes wrong.
I've allowed the right person (admin level) at my clients access to Servoy web admin so that if I am 'offline' after uploading a release, they can easily get back to work by logging out, activating earlier release and then going back in.
How on earth will they be able to cope now if something goes wrong???????
I don't want them accessing the Tomcat server and playing around with WAR files!

PLEASE somehow reconsider this, I think this will impact a LOT of long term Servoy developers...
(I know you don't need to ask us mere mortals on what you want to do with Servoy moving forward, but this is a massive change [and not all of us can or want to use Servoy Cloud...] )

Thanks

Rafi
Servoy Certified Developer
Image
rafig
 
Posts: 715
Joined: Mon Dec 22, 2003 12:58 pm
Location: Watford, UK

Re: Deployment from 2022.12 and the future

Postby vik.lamp.vl » Tue Feb 07, 2023 6:23 pm

Hey Rafi,

yup we where doing the same. Rollback quick and easy if something is broken and was missed in QA.
I just looked up our client with 2022.12, there is no solution-version to rollback. So either i am blind or it wont be possible to do that anymore.
I posted a screenshot of /servoy-admin/solutions/

Servoy Cloud is great but for some projects not viable i agree.

I hope there will be development in the future of /solutions/

-Vik
You do not have the required permissions to view the files attached to this post.
vik.lamp.vl
 
Posts: 25
Joined: Wed May 26, 2021 3:37 pm
Location: Germany

Re: Deployment from 2022.12 and the future

Postby jcompagner » Tue Feb 07, 2023 6:27 pm

no rollback means setting the build artifact back which is the WAR
So you just have WAR versions like 1.0, 1.1, 2.0, 2.2

The problem is that it is not just the solution that makes up something, it is way way more, dbi files, webcomponents, angular builds. plugins, extensions.

The repository is not used a lot in all the new deployments, most people i guess just use some inmemory repository. Almost in all deployments (exporting WAR with solution) the solution is read from disk as is, which is way faster then reading it in from a big repository database over many tables.

This will not be changed back, but we still allow exporting without a solution and you are in the old mode. But you really should be moving forward, the "solution.servoy" is not your build artifact, the WAR is the complete build.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8851
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Deployment from 2022.12 and the future

Postby rafig » Tue Feb 07, 2023 7:39 pm

vik.lamp.vl wrote:Hey Rafi,
yup we where doing the same. Rollback quick and easy if something is broken and was missed in QA.
I just looked up our client with 2022.12, there is no solution-version to rollback. So either i am blind or it wont be possible to do that anymore.
I posted a screenshot of /servoy-admin/solutions/
Servoy Cloud is great but for some projects not viable i agree.
I hope there will be development in the future of /solutions/
-Vik

Thanks Vik for checking,
I hope there is something that can be done, but not looking positive from what Johan says...
Servoy Certified Developer
Image
rafig
 
Posts: 715
Joined: Mon Dec 22, 2003 12:58 pm
Location: Watford, UK

Re: Deployment from 2022.12 and the future

Postby rafig » Tue Feb 07, 2023 8:01 pm

jcompagner wrote:no rollback means setting the build artifact back which is the WAR
So you just have WAR versions like 1.0, 1.1, 2.0, 2.2

That is a lot more space/time heavy & certainly not easy/possible for normal clients to be able to do...

The problem is that it is not just the solution that makes up something, it is way way more, dbi files, webcomponents, angular builds. plugins, extensions.

Obviously if I needed new components, plugins or extensions, I would do a new WAR export, but if, like Vik, it's just some basic code changes/updates, then the '.servoy' file was so easy...

The repository is not used a lot in all the new deployments, most people i guess just use some inmemory repository.

Really, maybe a quick poll of forum users on how they deploy might be helpful to see what they do and if you are correct...

Almost in all deployments (exporting WAR with solution) the solution is read from disk as is, which is way faster than reading it in from a big repository database over many tables.

So are you now telling us that importing multiple solutions can have a detrimental affect on performance? Surely Servoy is very fast at reading from large, multi table databases, as that is what all of our solutions do??
At what point (number of release imports) does it go 'bad'?

This will not be changed back, but we still allow exporting without a solution and you are in the old mode. But you really should be moving forward, the "solution.servoy" is not your build artifact, the WAR is the complete build.

So where is is documented what 'old mode' is/means?
What don't we get, as stated by this check box??
Code: Select all
[] Include active solution and modules a war export without solution does not support newest features)

Nowhere on https://wiki.servoy.com/display/DOCS/2022.12+Whats+new can I see any mention of this 'game changer', where was it mentioned/explained/detailed/documented??

Thanks

Rafi
Servoy Certified Developer
Image
rafig
 
Posts: 715
Joined: Mon Dec 22, 2003 12:58 pm
Location: Watford, UK

Re: Deployment from 2022.12 and the future

Postby Manolo_Etec » Wed Feb 08, 2023 10:17 am

rafig wrote:

PLEASE somehow reconsider this, I think this will impact a LOT of long term Servoy developers...
(I know you don't need to ask us mere mortals on what you want to do with Servoy moving forward, but this is a massive change [and not all of us can or want to use Servoy Cloud...] )

Thanks

Rafi


+1
Manuel López
Etec Programación SL
manuel@etecsoft.com
http://www.etecsoft.com
User avatar
Manolo_Etec
 
Posts: 66
Joined: Fri Sep 12, 2008 3:58 pm

Re: Deployment from 2022.12 and the future

Postby huber » Wed Feb 08, 2023 11:59 am

rafig wrote:
PLEASE somehow reconsider this, I think this will impact a LOT of long term Servoy developers...
(I know you don't need to ask us mere mortals on what you want to do with Servoy moving forward, but this is a massive change [and not all of us can or want to use Servoy Cloud...] )

Thanks

Rafi

+1
Robert Huber
7r AG, Switzerland
SAN Developer
http://www.seven-r.ch
User avatar
huber
 
Posts: 526
Joined: Mon May 14, 2012 11:31 pm

Re: Deployment from 2022.12 and the future

Postby vik.lamp.vl » Wed Feb 08, 2023 12:09 pm

rvanderburg wrote:Vik,

Sorry we are not going to document how we build servoy cloud. We use a lot of technologies we did not build ourselves :)
What is documented is how to generate a war file from the command line, which is the way the war is generated in our pipeline:

https://wiki.servoy.com/display/DOCS/Co ... it+Testing


Checked out the doc, will test it out. (Still dont know how to apply that command line exporter to the pipeline, what prerequisites do i need, etc. But i will get it to work somehow.)

But the link in the doc (Servoy Software Factory Example using Jenkins https://wiki.servoy.com/pages/viewpage.action?pageId=1868621) in the paragraph "Test Suite Runner" is private. Even with a loged in account.

Dont get me wrong, i appreciate the work you guys are doing and i see the vision behind it. And the reaction time for issues is good.

But just like Rafi said, more documentation is needed for the changes you guys are doing. Dont get me wrong, the github wiki (for components) and docs got ALOT better in the last year but it still lacks some info, examples and explanation, in my opinion.
I remember at svyWorld you guys showed a new Wiki Site where you showed stuff like "generating own components". Cant find the link rn, will edit when i have time.
But last time i check it was still at the same as it was when released. No new infos.

Alone the whole CSS part in Servoy is very finicky. Where updating all our solutions form smart-client to TI. Half the CSS we do (which works in a plain html/js/css constelation) does just not work without workarounds in a servoy-full-css-form. Maybe im just stupid and dont get css. But it still would help alot if we get more docs beside the samplesolution (which if you resize it for example just breaks the css ;) )

-Vik
vik.lamp.vl
 
Posts: 25
Joined: Wed May 26, 2021 3:37 pm
Location: Germany

Re: Deployment from 2022.12 and the future

Postby Richard1521662995 » Wed Feb 08, 2023 4:53 pm

+1

Include active solution and modules a war export without solution does not support newest features)

What features would be missing? Is it just updates from the Servoy Package Manager?
Richard Clarke
acss.co.uk
Richard1521662995
 
Posts: 40
Joined: Wed Mar 21, 2018 10:09 pm

Next

Return to Servoy Web Client

Who is online

Users browsing this forum: No registered users and 1 guest