DataServer Questions (How widely used? Linux options?)

Posted by dbeavon on 06-Jan-2018 18:36

I don't often see that much discussion about DataServer in the community groups.  Could this imply that DataServer is not frequently used among ABL programmers?  It would be really interesting to see an analysis of the database technologies that are used most frequently from ABL applications.  (IE. how commonly do applications allow for Oracle, SQL Server, or ODBC - in the place of the OpenEdge database).  I assume that using the OE database is more popular for the average ABL application.  But, on the other hand, there must be companies that prefer to standardize on Oracle or SQL databases, so I suspect that some ABL applications have had to become flexible in allowing for another database on the back end.

I would like to find more resources related to DataServer for SQL.  Perhaps I haven't joined the right community groups for that.  If anyone can point me in the right direction, I'd appreciate it.  

I am quite new to DataServer, and within the first couple days I ran into some challenges.  In one case I was trying to create an MD5-DIGEST of the RAW-TRANSFER of a sql record buffer (for concurrency purposes) and this wasn't working as expected, so I've already had to open a Progress support case.  I wonder why I've run up against this type of a challenge so quickly?  It may be that I'm doing optimistic locking in a non-standard way, but another explanation may be that this "DataServer for SQL" has a small customer base, and I've already found a bug that nobody has encountered yet.  It would be helpful to know how to think about the significance of DataServer in relation to the other Progress product offerings

Another thing that I'm very curious about is the prospects of a new "self-service" option for connecting from Linux ABL to SQL.  Now that Microsoft has adopted Linux as a SQL Server platform, it would make sense that ABL running in Linux should be able to make a "self-service" connection to a local database.  However, my understanding is that you would be required to first connect to a remote "Windows DataServer Broker", and that would allow you to connect back to SQL.  IE it would involve a extra network hop that might appear unnecessary to an average developer.  Here is the KB that made me come to that conclusion: https://knowledgebase.progress.com/articles/Article/P48390.  Are there any plans to support "self-service" SQL Server connections?

If any DataServer veterans can help me with these questions I'd appreciate it.  I've heard of large independent application vendors (Epicor for example) who have built ABL applications using "DataServer for SQL".  So I assume there is a customer base of some kind, and perhaps some best practices, but I'm not yet finding as much information as I would like.  Any pointers would be appreciated.

Thanks in advance, David

Posted by gus bjorklund on 08-Jan-2018 16:52

> On Jan 8, 2018, at 4:46 PM, dbeavon wrote:

>

> Any thoughts on the possibility of a "brokerless" connection to SQL from Linux?

>

>

>

that ought to just work. dataserver connection goes over odbc and tcp/ip and protocols should be the same as for a ms sql server running on widoze. client should not care if server is on linux.

but i’ve never tries it.=

Posted by ChUIMonster on 08-Jan-2018 09:37

FWIW...

We have a few customers that use them but it is a very small minority.

I suspect that the overwhelming majority of OE developers make no effort whatsoever to accommodate dataservers.

Posted by bbrennan on 08-Jan-2018 10:05

Our experience shows that a few vendors deploy Data Servers to add MS SQL Server as the back end to their OE application.  At a corporate level for the VAR, this requires a number of modifications and enhancements to their coding practices to make the SQL Server side more performant.  The two databases operate best under different conditions. I know that in the past, there were some sessions at the various PUG Challenge/Developer World/Tech World/ Road Show events that described the important minutia.

Once implemented, the VARs then have the option to sell their applications with either back end.  One that I know, sets their pricing to include the OE front and back end bits.  If the customer selects MS SQL Server, then that gets added to the quote.  No discount is given for the unused OE Database licensing.  Seems some customers are willing to pay a premium to run on MS SQl Server.

We also have a few end customers that use DS as integration tools.  They pull or push OE, SQl Server and Oracle based data around.  These are mostly one offs and home grown systems.

Bob Brennan

All Replies

Posted by ChUIMonster on 08-Jan-2018 09:37

FWIW...

We have a few customers that use them but it is a very small minority.

I suspect that the overwhelming majority of OE developers make no effort whatsoever to accommodate dataservers.

Posted by ChUIMonster on 08-Jan-2018 09:39

Also -- I don't think you will ever see a "self-service" data server.

Posted by bbrennan on 08-Jan-2018 10:05

Our experience shows that a few vendors deploy Data Servers to add MS SQL Server as the back end to their OE application.  At a corporate level for the VAR, this requires a number of modifications and enhancements to their coding practices to make the SQL Server side more performant.  The two databases operate best under different conditions. I know that in the past, there were some sessions at the various PUG Challenge/Developer World/Tech World/ Road Show events that described the important minutia.

Once implemented, the VARs then have the option to sell their applications with either back end.  One that I know, sets their pricing to include the OE front and back end bits.  If the customer selects MS SQL Server, then that gets added to the quote.  No discount is given for the unused OE Database licensing.  Seems some customers are willing to pay a premium to run on MS SQl Server.

We also have a few end customers that use DS as integration tools.  They pull or push OE, SQl Server and Oracle based data around.  These are mostly one offs and home grown systems.

Bob Brennan

Posted by gus bjorklund on 08-Jan-2018 14:18

> On Jan 8, 2018, at 10:41 AM, ChUIMonster wrote:

>

> Also -- I don't think you will ever see a "self-service" data server.

>

design of MS SQL Server does not allow for “self-service” connections of the same style as the OpenEdge RDBMS and 4GL have.

However, you can have a form of “brokerless” dataserver connections (not the same thing).

Posted by dbeavon on 08-Jan-2018 15:44

Thanks Gus.  "Brokerless" is probably a less confusing term.  The DataServer documentation that I was reading used the term "self-service", but I assume that is talking about the same thing.  Basically the ABL client process will load the ODBC client driver into memory and will then interact with SQL Server directly from the ABL code without having to go thru any middle-man.

So far I have been very pleased with DataServer for SQL.  I am fairly new to it.  But from what I've seen, the types of batched (read-only) queries that are sent to the database seem even more efficient than what you can manage to get out of a "client-server" connection to the OpenEdge RDBMS.  On the other hand, updating the SQL database seems a bit on the slow side (I've only been able to get up to 200-300 records per second ).  I haven't tried using custom SQL stored procedures yet, but I hear that is even faster yet.

Any thoughts on the possibility of a "brokerless" connection to SQL from Linux?

Posted by gus bjorklund on 08-Jan-2018 16:52

> On Jan 8, 2018, at 4:46 PM, dbeavon wrote:

>

> Any thoughts on the possibility of a "brokerless" connection to SQL from Linux?

>

>

>

that ought to just work. dataserver connection goes over odbc and tcp/ip and protocols should be the same as for a ms sql server running on widoze. client should not care if server is on linux.

but i’ve never tries it.=

This thread is closed