cancel
Showing results for 
Search instead for 
Did you mean: 

RealTime vs Batch Jobs in BODS

Former Member
0 Kudos

Hi

I am unable to get the differences between Real Time and Batch jobs in BODS.

As I understood, Real Time job can be run for long time and can't be scheduled and they will be executed very fast when compared to batch jobs.
It needs some request from XML or IDoc message.
Batch jobs can be scheduled and does extracts, transforms and loads. and can even run for the long time.

Do we use real time jobs only when the data is so big.?
Do we use real time jobs only when the jobs should execute for long time.?
Do we use real time jobs only when the we need some confirmation messages.?

At last Can't we create the batch job which does the same tasks as Real Time job as  like reading the request from XML and sending the response as a message.?


Thanks in Advance,

Santhosh.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Real-time jobs are used for services (e.g. you want to use the jobs in a 3rd party tool or the erp) whereas your batch-jobs are used for example for scheduled jobs to fulfill tasks like a duplicate check.

You might also have a look at the designer guide chapter 11.2.1. for DS4.2.

It states that a real-time jobs does not need to wait for an internal trigger or a scheduling like a batch job it's only waiting for a message from the access server.

A real time job should be executed fast (depends on the data size and the way your job is build)

A real time job is used if you need a response (you expect to get a result of the real time job)

Hope that helped.

Eduard

Former Member
0 Kudos

Hi Former Member , A big thanks for your reply first. If possible Can you please say me something about the response which we get from realtime jobs.

It would be great if you provide me some example on response. like where the response get? and what is the response we get? and how the response is usefull for?

Former Member
0 Kudos

Hi Santhosh,

the response you get from the webservice depends on your definition, you could get multiple results as well as single values. An example where this is used is DQM for SAP. It provides postal validation. So if a user enters an address it will be compared to a country specific list with addresses and you will get possible correct solutions as a result.

You could for example create a realtime job in SAP DS that checks if a name exists in a database table and as a result it will return true or false. To test it you could call the webservice via SAOPUI. At least that's how I started. The way webservices are processed depends on the programming language (java, abap...).

Best Regards

Eduard

Former Member
0 Kudos

Hi @Eduard, Are the messages stored in the table ( True or False ) values as from your example or it will sent to any user.?

Former Member
0 Kudos

Hi Santhosh,

the response is generated in DS and send via xml see the following screenshot.

this is a simple realtime service it asks for a matnr. and checks whether it's correct or not.

The response is a string which is set according to the result of a validation event on the input string in data services. But the response is not saved to any database.

Answers (2)

Answers (2)

former_member187605
Active Contributor
0 Kudos
severin_thelen
Contributor
0 Kudos

Hey Senthosh,

in my opinion you use batch jobs for most tasks.

So every time you have to load data from a datastore to a target you use batch jobs. For example you want to load data (also for big data) to a DWH etc.. Addition (only) batch jobs could use more than one threat/core. Therefore DS could use more hardware power to complete batch jobs.

Realtime Jobs are for XML Messages, where you have to handle an irregular input. For example you could store incoming XML Messages in a database (I know it it is bad example, but I never used realtime jobs for a customer).

Regards

Severin