How to Support Service versioning in Pega
Hi All,
We are on Pega 8.1 and we have been requested to support multiple versions for our REST service simultaneously . The service is authenticated using OAuth2.0 . We could think of 2 approaches
1) Same Access Group / Application :- Using this approach , we would have the same access group and application but different activities with different code for each version of the service . This is how Pega Marketing application did it for "Container" service. They had 2 different activities Handlecontainer and HandleContainer_v2 for 2 service versions .
Pros :-
Easy to maintain and easy to understand for the developers .
Multiple access groups and applications creation not necessary which has impact on the application score.
Cons:-
Becomes a little challenging for some logic i.e if there are decision tables used in the logic ,we have to end up maintaining multiple rules like DecisionTable_v1 , DecisionTable_v2 .
2) Different Access Group / Application :- Using this approach, we create multiple access groups and applications . This
Pros :-
Rule Resolution takes care of executing the code as per the application definition.
Cons:-
Defect fixing / enhancements will be challenging as we have to leave gap between the rsv versions to support multiple service versions .
Hi All,
We are on Pega 8.1 and we have been requested to support multiple versions for our REST service simultaneously . The service is authenticated using OAuth2.0 . We could think of 2 approaches
1) Same Access Group / Application :- Using this approach , we would have the same access group and application but different activities with different code for each version of the service . This is how Pega Marketing application did it for "Container" service. They had 2 different activities Handlecontainer and HandleContainer_v2 for 2 service versions .
Pros :-
Easy to maintain and easy to understand for the developers .
Multiple access groups and applications creation not necessary which has impact on the application score.
Cons:-
Becomes a little challenging for some logic i.e if there are decision tables used in the logic ,we have to end up maintaining multiple rules like DecisionTable_v1 , DecisionTable_v2 .
2) Different Access Group / Application :- Using this approach, we create multiple access groups and applications . This
Pros :-
Rule Resolution takes care of executing the code as per the application definition.
Cons:-
Defect fixing / enhancements will be challenging as we have to leave gap between the rsv versions to support multiple service versions .
My understanding is that when we do OAuth2.0 we are providing access to a resource . Does it make sense to use Approach 1 if our service just does a BRE logic and nothing related to case processing ? Also i would like to know best practices from Pega standpoint to handle various scenario's like Case Creations / Headless Engine etc .
Appreciate your responses.
Thanks
Dinesh