Is Temporal Framework suitable to build OLTP Application?

Hello,

I am new to Temporal Framework and would like to get some basic doubts clear before exploring it.

  1. Is Temporal Framework suitable to build OLTP Application where most of the processing needs to be completed in synchronous manner?

    Client of OLTP Application can be external Portal systems or UI Browser Accessing OLTP Application via Rest API Calls? Will there be any significant delay in completing workflow affecting response time?

  2. Does Temporal Framework support Spring Framework ( IoC container )

  3. Does Temporal Framework support JPA / Hibernate & Transaction Support

  4. Is there any reference doc / sample code available covering above points?

Thanks and Regards,
Mahesh Laddha

Temporal is well suited for most asynchnous use cases, but if you can explain your usecase in detail, it will be useful.

In my usecase , i use temporal for manging customers signups, and orchestrating with pletheroa of internal systems when a user signup. (e.g create an account, set up user profile in identity system, set up some infrastructure things, provision a product on demand when the user signup for a specific product etc).

There is no official support for spring but is it one of the frequently demanded feature and high on priority list of temporal team.

My workplace is a big time spring boot shop,and with minimal custom coding , i was able to get temporal workfing with spring like a breeze (trust me its not very difficult, you will have to create a temporal factory thats about it).

As far as jpa/hibernate /transactions are concerned, you can use them with in the Activity. Activity can be your typical spring beans/ service/component, and has nothing to do wtih temporal. Temporals own data it manages through go-lang temporal in temporal server. The heavy lifting is done by temporal server component.

Your spring boot app will just include temporal sdk library to interact with temporal server thats it. And is free to use hibernate and other techonologies.

The Intercactio between temporal sdk and temporal server is on GRPC/protobuf.

If you are using netty/spring react depdency for starting the grpc part though…

Sof if you rest enpoints are also on GRPC/Protobut it will make your stack lean and you can take advantage of spring reactive .

if that s not a possible you can still run both the traditional spring web (http/json) stuff + grpc/protobuf for temporal in a single web app on differnt port too. (we do that in our setup and have faced no problems so far).

As far as Referece , refer temporal examples here

Here is an example of how few folks are integrating spring with temporal

2 Likes

Hello,

Thanks a lot for taking time out of your busy schedule and explaining it in very detail.

So can I assume that Temporal Framework is suitable to process Synchronization calls?

Our main usage is Synchronization call from Browser / External Third Party Systems. Our endpoints are exposed through REST API. and consumer of these Rest End Points waits for the completion of the API Call e.g. in simple scenario - Place Order, Progress Order, Get Order Status etc.

Since quick view of the documents gives impression that Async Job is primary usage, I was confused if Sync Calls are supported and advised or not. I will double check if there are any examples available on the link provided.

Thanks and Regards,
Mahesh Laddha

see if this example suites your use case. https://github.com/temporalio/samples-java/tree/master/src/main/java/io/temporal/samples/bookingsaga

Thanks a lot for Quick Help. I will go through it.

1 Like