cancel
Showing results for 
Search instead for 
Did you mean: 

DI API VS DI SERVER

jacobo_agami
Participant
0 Kudos

Hello Experts

I have been reading regarding DI API and DI SERVER. As i see the DI Server it supposed to have a better performance.

We are looking to move our integration from DI-API to DI SERVER.

We are having many locks and we would like to improve the performance.

Do you think the DI Server could really help?

Does any one has an experience that want to share?

Thanks

Jacobo

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

When working with the SAP B1 is normal there are problems with lock (mainly because the SDK does not support multiple transactions)

    

B1if may be an option, because as far as I know the DI Server this outdated. I particularly recommend studying and trying to develop some self-control in StarTransaction and EndTransaction.

DI Server is only indicated for massive data import, as business partners or something similar.

Regards,

Paulo Henrique

maik_delly
Active Contributor
0 Kudos

Hi Paulo,

sorry but I have to contradict. 🙂

You are correct B1if is also a possible solution, but as a developer that needs constantly to maintain/extend/debug the solution B1if is "not nice". Especially debugging complex workflows and therefor developing them can drive you crazy - it is mainly handling xml with xslt and putting the right preferences. No just in time debugging - only resulting messages.

DIS is not outdated, actually it is still updated/supported and also required for the new SBO 9.1 HTML5 features -> future-proof.

But indeed SAP was/is trying to promote B1if as the number one integration technology for SBO and and as a result neglected DIS quite a bit.

For me as a .net developer, B1if never added the additional benefit ( maybe when it was new/exciting and without need for a license ).

Just my 2 cents, in the end everyone has to find the suiting solution for their business case.

regards,

Maik

Former Member
0 Kudos

Hi Maik

While I don't want to argue on usefulness and ease of use of different integration technologies I'm still intrigued by this part: "actually it is still updated/supported and also required for the new SBO 9.1 HTML5 features ". Is there any document that contains more information on this subject?

Kind regards,

Radek

Former Member
0 Kudos

Hi Maik,

Thanks for the information, very useful.

About the B1if agree with you. Never used, but the feedback from the community is that really the development/debug gets more complicated.


Feel free to contradict any point.

Discussions generate new knowledge.



Regards,

Paulo Henrique

maik_delly
Active Contributor
0 Kudos

Hi Radek,

I had to search a while but I was sure that I recently read it and was positively surprised about the fact.

It is about a technique called "Service Layer" for SBO for HANA which uses the OData protocol for exposing Business Objects by web service. Under requirements you find :

".. a SAP B1, for SAP HANA DI-Server license is needed for the service layer".

This is unfortunately the only reference I was able to find..

regards,

Maik

Former Member
jacobo_agami
Participant
0 Kudos

Thanks for your response. I would like to know about your experience in performance regarding the di api vs di server. Because if you have a better performance the time of the locking in the table will be less.

For example We have a process for creating 1000 payments. And with the di api is taking long time. We would like to know if the di server will improve the performance

The customer has a server with 300 gb ram and 2 10core processor.

As I read the di server will really take advantage of the server

What do you think?

Thanks a lot and regards

Jacobo

maik_delly
Active Contributor
0 Kudos

Hi Jacobo,

one year ago I did a lot of performance testing for DI API and DI Server because I had to find the best way to import large amount of data ( items, business partners, documents ).

DIS had the best results but DI API was not really much slower.

The main tests I did on a developing machine with a client OS installed ( I7,16gb,Win7 64bit,MSSQL2012) with 2 DIS licenses.

Some points I remember :

- on an high end server machine with 1 DIS license the results were compareable (rather a little slower for DI API and DIS )

- to be able to use full DIS power you would need some more DIS licenses, since it is CPU based ( more cores-> less performance per DIS license )

- allthough SAP support suggests to get more DIS licenses to get a better performance, my results for a single kind of transaction ( e.g. 1000 payments in a row ) were database locks ( resulting in DIS crash -> due to a memory leak which is fixed now )

All in all the performance will increase with DIS but not "crazily". A DI API program running on the server will almost get there. Since this needs a "sophisticated" program for handling many clients ( connection pooling, transaction queuing .. ) I would go for DIS.

My suggestion is to get a DIS test license and install B1WS . This enables you to create WSDL files for SBO business objects -> with .NET features you are able to send requests to DIS which only differ  little from DI API requests -> the existing DI API code "just" has to reworked.

regards,

Maik

maik_delly
Active Contributor
0 Kudos

Hi Jacobo,

what exactly do you mean with "We are having many locks" ?

In general DI Server is a tool for heavy duty operations and can improve your performance compared to DI API. But of course it depends on your situation / requirements.

Maybe you can describe an example use case ?

regards,

Maik

jacobo_agami
Participant
0 Kudos

Hello Maik

Thanks for your reply. We have a point of sales and we want to replicate the information to SAP Business One. Now we are using DI API but it is slow and is causing many locks in the database that doesnt let the SAP Business One users work correctly.

We are thinking to change to DI Server and we want to know your experience if this can improve performance, and the reduce the time of the locks in the tables

Thanks

Jacobo

maik_delly
Active Contributor
0 Kudos

Hi Jocobo,

the locks shouldn't happen so extensively, but I experience them aswell -> this has to be investigated.

Which PL are you working with ?

I guess you are not having one DI API connection open all the time, but you are connecting when necessary ? This is indeed very slow and not practicable for a point of sale.

For that case DI Server is ideal : login, transaction ,logout is done very quick ( first connection may take up to 30 s ). And you could also keep the sessionID ( a token you get from DIS login ) for the whole day to do your transactions.

For me DIS is the first choice and a marketing document chain generation sales order -> delivery ->invoice->payment->printing  is done in no time ( 1-4 s ).

But you could also try to change your DI API process to keep the connection open. This depends on how you are doing it ( Win Forms, Win Service App, Web App using PHP , Web Service ... ).

regards,

Maik