As I could not find any writing on Composition feature of Gateway(available since SP05) where two/multiple services can be composed into one, here it goes...
Consider a scenario where you have two independent OData services(say, Sales Order and Business Partner). The two can be connected (associated) to see Business Partner details of a Sales Order. This can be achieved using the functionality Include->OData Service(GW) available in SEGW Data Model of SAP NetWeaver Gateway (SP05 and above).
Here you would have option either to
1) Compose current service(in a project) with one or multiple services in a) Current System OR b) External System.
OR
2) Compose 2 independently existing services(in Current/External systems) into a new service(project)
Lets consider the case 1) variance b) where we compose current service(in a project) with one service in External system.
Through this writeup I will also mention the difference in behaviour with the Current System case.
Assumption is that Sales Orders and Business Orders OData services are generated and registered out of service builder(SEGW) in two different systems.
Use the F4 help to select the Technical Service Name and Version and chose to continue using the tick.
Click on the Ext Assoc button to invoke the Creation of External Association.
Once External is chosen, since the project now has only one included model, the dependent Model Reference gets proposed since there is only one service is included in the project, else this has to be filled using F4 help.
The proposal given can be over ridden anyways!
In case where 2 or more services(from Current/External systems) are included, and your design requires you to associate entities of the included services, the Dependent and Principal model references can be chosen via F4 helps provided.
The RFC destination for Metadata field becomes available when we have included Service in Current System. This is a special case where the Metadata exists in an external system and the service is generated in the current system. A typical example for this would be an integration case where SPI's ABBID exists in another system and the OData service is generated in the current system. For more information on SPI integration please refer the blog SPI Integration with GW by ashish.kumar2 and saiharish.balantrapu
The F4 provided on the Dependent Entity doesn't fetch entities of the service as the Model included is via Service in External System. This is because of a technical limitation. This means to say, one has to know the entity name of the service and enter it manually.
Where as in case of Model included via Service in Current System this F4 would list the entities, and you can select the required entity.
Now a composed project is ready for generation of an OData service.
It looks like in the screenshot below
This brings to a closure of phase 1, where the service document has collections/entitysets of both services composed into ONE :smile:
Thanks for going through the blog and any feedback would be most welcome !
Would be linking this to another blog on the Run Time soon... so, please stay tuned...
Thanks,
Rashmi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
38 | |
19 | |
14 | |
12 | |
10 | |
10 | |
10 | |
8 | |
8 | |
8 |