Develop Gemstone web server app in VW but deploy in Pharo?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Develop Gemstone web server app in VW but deploy in Pharo?

FrankB
Hello,

I am evaluating how to develop a new and very complex web server application for a potential mass-market using Gemstone.

Most of the application code does already exist in VW5 (several man years) using a RDBMS for storage. This caused great performance problems and was the show killer.

We are having a VW7 license and we consider using VW7 for development but we are not willing to accept Cincom's insane slavery-like licensing conditions where they profit from our revenues and confiscate about half of our profits. That is worse than the tax office / IRS.

Moving all our development tools to Pharo would require far too much work and delay.

This is why the idea came up to use VW7 with Gemstone purely for development and Pharo with Gemstone for deployment.

What is your opinion?
Is that feasible?
Can the porting process of the app code be made (almost) automatic?
Has it been done?

Thank you very much for any comment.

Regards
FrankB




Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

nrgiii
Hi Frank,

The new GLASS licensing model will be announced at the end of this
month. I will email you a sneak preview.  We hope it feels better than
the IRS ;-)

I will defer comments on your architecture to other more seasoned GLASS
experts.

Best regards,

Norm Green
GemTalk Systems


On 4/25/14, 9:44, FrankB wrote:

> Hello,
>
> I am evaluating how to develop a new and very complex web server application
> for a potential mass-market using Gemstone.
>
> Most of the application code does already exist in VW5 (several man years)
> using a RDBMS for storage. This caused great performance problems and was
> the show killer.
>
> We are having a VW7 license and we consider using VW7 for development but we
> are not willing to accept Cincom's insane slavery-like licensing conditions
> where they profit from our revenues and confiscate about half of our
> profits. That is worse than the tax office / IRS.
>
> Moving all our development tools to Pharo would require far too much work
> and delay.
>
> This is why the idea came up to use VW7 with Gemstone purely for development
> and Pharo with Gemstone for deployment.
>
> What is your opinion?
> Is that feasible?
> Can the porting process of the app code be made (almost) automatic?
> Has it been done?
>
> Thank you very much for any comment.
>
> Regards
> FrankB
>
>
>
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Develop-Gemstone-web-server-app-in-VW-but-deploy-in-Pharo-tp4756527.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

Mariano Martinez Peck
In reply to this post by FrankB



On Fri, Apr 25, 2014 at 1:44 PM, FrankB <[hidden email]> wrote:
Hello,

I am evaluating how to develop a new and very complex web server application
for a potential mass-market using Gemstone.

Most of the application code does already exist in VW5 (several man years)
using a RDBMS for storage. This caused great performance problems and was
the show killer.

We are having a VW7 license and we consider using VW7 for development but we
are not willing to accept Cincom's insane slavery-like licensing conditions
where they profit from our revenues and confiscate about half of our
profits. That is worse than the tax office / IRS.

Moving all our development tools to Pharo would require far too much work
and delay.

This is why the idea came up to use VW7 with Gemstone purely for development
and Pharo with Gemstone for deployment.

Why would you need Pharo for the deployment? 
 

What is your opinion?
Is that feasible?
Can the porting process of the app code be made (almost) automatic?
Has it been done?

Thank you very much for any comment.

Regards
FrankB








--
View this message in context: http://forum.world.st/Develop-Gemstone-web-server-app-in-VW-but-deploy-in-Pharo-tp4756527.html
Sent from the GLASS mailing list archive at Nabble.com.
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass



--
Mariano
http://marianopeck.wordpress.com

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

FrankB
>Why would you need Pharo for the deployment?
Well, because I will not allow greedy Cincom to enslave me through their sick licensing conditions.
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

EstebanLM
Yes, but you can deploy full on gemstone, you do not need pharo there.

On 25 Apr 2014, at 19:38, FrankB <[hidden email]> wrote:

>> Why would you need Pharo for the deployment?
> Well, because I will not allow greedy Cincom to enslave me through their
> sick licensing conditions.
>
>
>
>
> --
> View this message in context: http://forum.world.st/Develop-Gemstone-web-server-app-in-VW-but-deploy-in-Pharo-tp4756527p4756532.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

Mariano Martinez Peck
As Esteban says, the question still remains. Do you need Pharo besides GemStone? As far as you said, it is web based, so GemStone can directly run Seaside or whatever you want, right?
If you still haven't read anything about GemStone (forgive me if this is not the case), GemStone is not only the "DB" as you would think in other OO DB approaches like Magma or whatever. GemStone is the DB but also the Smalltalk language/VM at the same time.  


On Fri, Apr 25, 2014 at 2:52 PM, Esteban Lorenzano <[hidden email]> wrote:
Yes, but you can deploy full on gemstone, you do not need pharo there.

On 25 Apr 2014, at 19:38, FrankB <[hidden email]> wrote:

>> Why would you need Pharo for the deployment?
> Well, because I will not allow greedy Cincom to enslave me through their
> sick licensing conditions.
>
>
>
>
> --
> View this message in context: http://forum.world.st/Develop-Gemstone-web-server-app-in-VW-but-deploy-in-Pharo-tp4756527p4756532.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass



--
Mariano
http://marianopeck.wordpress.com

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

FrankB
In reply to this post by EstebanLM
>Yes, but you can deploy full on gemstone, you do not need pharo there.

Please keep in mind that I have only little and only theoretical knowledge of Gemstone from various hours reading the manuals but NO practical experience as of yet.

Thus my assumptions may well be wrong:

The application will not only work with Gemstone but there will be a few other parts and interfaces and I assume that they are not supported by Gemstone.

For example, the application will need access to a MariaDB and underlying Sphinx inverted lists, which will hold data that "comes in" from users over the Internet. This part of the server will be rather simple and my VW5 will do fine and I have no royalties to pay

Beyond this the development MUST remain in VW (ideally in 5 but that is not supported by Gemstone, thus a port to VW7 is relatively easy). There are so many tools the I MUST continue top use and this application is part of a little family, which will mostly remain in VW5.

Another extremely important factor is access via a COM-Interface to MS and Adobe software. I don't think that this is supported by Gemstone but maybe I am wrong.

>GemStone is not only the "DB" as you would think in other OO DB approaches like Magma or whatever. GemStone is the DB but also the Smalltalk language/VM at the same time.

Well, in principle I am aware of this but again, porting all my tools to Gemstone would cost certainly more time than I would have and then I would have two separate environments. I cannot and will not give up my VW5 software for another couple of years.

So, from my today's point of view and knowledge, I do not think that this is a viable alternative. But I will keep this in mind when playing with Gemstone.

Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

Dale Henrichs-3
In reply to this post by FrankB
Frank,

I'll stay away from the business issues and just focus on the technical:)

I would say that the biggest technical challenge for porting your application to Pharo/GemStone lies in what VW libraries/features you are using.

The GLASS/Web Edition version of GemStone has been focused on Pharo compatibility, so there is a fairly complete compatibility layer that smooths the road for porting applications from Pharo to GemStone. 

There is no similar VW compatibility layer, so you you would probably need to either create such a layer for yourselves (or change your code base to adapt to GemStone). Over the years I would say there has a been a fair amount of work where GemStone application code has been written in such a way that it can be run in VW or GemStone, but not a lot of effort has gone into making it easy to execute VW code in GemStone...

If you are using Seaside, then there is a port of Seaside for GemStone and that will make your life a bit easier.

The second area of challenge will be in adapting the transaction model that you are using with your RDBMS to a GemStone-based model. I think it is fairly common when programming against an RDBMS that you make the assumption that you can have multiple db sessions active at once ... In GemStone, you can have multiple concurrent db sessions open at once, but each of the separate sessions must be in a separate VM. 

So, I think it is technically feasible, but at the end of the day the magnitude of the challenge will depend upon how tightly married you are to the VW class library and how easy it is to translate your RDBMS code to a GemStone-based transaction model.

Dale


On Fri, Apr 25, 2014 at 9:44 AM, FrankB <[hidden email]> wrote:
Hello,

I am evaluating how to develop a new and very complex web server application
for a potential mass-market using Gemstone.

Most of the application code does already exist in VW5 (several man years)
using a RDBMS for storage. This caused great performance problems and was
the show killer.

We are having a VW7 license and we consider using VW7 for development but we
are not willing to accept Cincom's insane slavery-like licensing conditions
where they profit from our revenues and confiscate about half of our
profits. That is worse than the tax office / IRS.

Moving all our development tools to Pharo would require far too much work
and delay.

This is why the idea came up to use VW7 with Gemstone purely for development
and Pharo with Gemstone for deployment.

What is your opinion?
Is that feasible?
Can the porting process of the app code be made (almost) automatic?
Has it been done?

Thank you very much for any comment.

Regards
FrankB








--
View this message in context: http://forum.world.st/Develop-Gemstone-web-server-app-in-VW-but-deploy-in-Pharo-tp4756527.html
Sent from the GLASS mailing list archive at Nabble.com.
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

Dale Henrichs-3
In reply to this post by FrankB
Frank,

Another issue that I neglected to mention is that if you intent to use VW5 as your development platform, you will likely need to use GBS for communicating with GemStone and GBS is not enabled with the Web Edition license.

I suggest that you contact James Foster and or Norm Green to discuss additional options.

Dale


On Fri, Apr 25, 2014 at 11:17 AM, FrankB <[hidden email]> wrote:
>Yes, but you can deploy full on gemstone, you do not need pharo there.

Please keep in mind that I have only little and only theoretical knowledge
of Gemstone from various hours reading the manuals but NO practical
experience as of yet.

Thus my assumptions may well be wrong:

The application will not only work with Gemstone but there will be a few
other parts and interfaces and I assume that they are not supported by
Gemstone.

For example, the application will need access to a MariaDB and underlying
Sphinx inverted lists, which will hold data that "comes in" from users over
the Internet. This part of the server will be rather simple and my VW5 will
do fine and I have no royalties to pay

Beyond this the development MUST remain in VW (ideally in 5 but that is not
supported by Gemstone, thus a port to VW7 is relatively easy). There are so
many tools the I MUST continue top use and this application is part of a
little family, which will mostly remain in VW5.

Another extremely important factor is access via a COM-Interface to MS and
Adobe software. I don't think that this is supported by Gemstone but maybe I
am wrong.

>GemStone is not only the "DB" as you would think in other OO DB approaches
like Magma or whatever. GemStone is the DB but also the Smalltalk
language/VM at the same time.

Well, in principle I am aware of this but again, porting all my tools to
Gemstone would cost certainly more time than I would have and then I would
have two separate environments. I cannot and will not give up my VW5
software for another couple of years.

So, from my today's point of view and knowledge, I do not think that this is
a viable alternative. But I will keep this in mind when playing with
Gemstone.





--
View this message in context: http://forum.world.st/Develop-Gemstone-web-server-app-in-VW-but-deploy-in-Pharo-tp4756527p4756537.html
Sent from the GLASS mailing list archive at Nabble.com.
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

FrankB
Hello, Dale,

Thank you very much for your comments. Please keep in mind that I'm an absolute novice to Gemstone as I wrote in my previous post:

>VW compatibility layer

I really don't think that this will be a major problem. Over the years the basic VisualWorks library has been substantially enhanced by our own code and I assume that today more than 70% of my code in the various base classes (Collections, Strring etc) has been added by myself and my previous staff.

I do not intend to use Seaside for many reasons: I don't believe in its principles (I know that my opinion is the exception, but nevertheless) and it is far too slow anyway as this is an application that has the potential for a very large number of users and I would never risk to run into the performance problems that Seaside must have from its nature and that we have encountered previously when playing with it.

The browser front end will be heavily JavaScript based and run inside EXT JS (Sencha). I have experience with it and this is the way to go!

As far as the RDBMS part is concerned, this will only play a role in so far as the source data will mostly come from an RBMS, which is fed by end-users primarily but not only over the Internet (also on local VW5-based installations, which upload their data to the server).

The data structures, which are supposed to be created and stored by the Gemstone application, are extremely complex and ideally suitable for Gemstone (when we developed this software for the first time several years ago your pricing was just out of our reach, otherwise we would have used Gemstone from the very beginning).

Most of these data structures will have to be exported into some other format at the end of the day. Beyond HTML and other formats, this includes proprietary data formats native to well-known MS Office Microsoft and Adobe (InDesign) products.

This raises another question: Is there a COM-interface available in Gemstone, which would be needed to export the generated data structures in many cases (though not in all) to Microsoft and Adobe software? We have all this in VW5 available.

>if you intent to use VW5 as your development platform, you will likely need to use GBS for communicating with GemStone

If I get you right, this implies the information that there is a way to directly interface Gemstone from VW5?
Is that correct?

From what I heard and read, VW5 is no longer supported by Gemstone but you should know better than anybody else and I would be very glad to pay you some acceptable decent royalties if I could skip VW7altogether, because this would enable me to continue to use my VW5 development environment and the huge amount of tools that we have developed over the years and it would also save us from porting this to VW7 (we have substantially modified and enhanced the old horrible and lousy VW user interface classes to make them work).

Thus, I would very much appreciate some confirmation if my assumption is correct about VW5 to Gemstone. In this case, I would contact you directly.

Best regards
Frank

Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Develop Gemstone web server app in VW but deploy in Pharo?

Martin McClure-5
On 04/25/2014 11:49 AM, FrankB wrote:
>
>> if you intent to use VW5 as your development platform, you will likely need
> to use GBS for communicating with GemStone
>
> If I get you right, this implies the information that there is a way to
> directly interface Gemstone from VW5?
> Is that correct?

No, I'm afraid you were correct originally -- we have not supported the
interface between VW5 and GemStone/S for quite a while. Dale is correct
that using VW at all requires GBS, which is not enabled in Web Edition
licenses. As Dale said, there are options, and James Foster or Norm
Green would be the folks to talk to.

Regards,

-Martin
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass