This is probably a very old topic but i am discussing it here to make use of this feature to dynamically sync the artifacts between SOA Suite and OSB.
As of now with 11.1.1.7 series osb doesn't have a native support for MDS artifacts.
Max you can do it to export the mds from soa and import it into osb and then you can have your custom xquery to get the information from MDS.
However whenever there is a change in MDS artifacts of SOA there again comes the need to sync up the two MDS by manually exporting and importing artifacts.
So is there a way it can be done one time so the artifacts in OSB changes automatically as one changes the MDS in SOA.
The answer is yes this concept and the exercise later will help you understand how to achieve this.
Lets first create a dvm and deploy it to mds as shown below
Now the mds path for the dvm is oramds:/apps/AIAMetaData/AIAComponents/DVM/Test.dvm
Again you can not use this expression to retrieve the mds artifacts in OSB.
But you can access the http url to access the dvm artifacts in OSB.
The same dvm can also be accessed through http url as follows
Review the end point url we have passed
http://localhost:8001/soa-infra/services/default/HelloWorld/apps/AIAMetaData/AIAComponents/DVM/Test.dvm
Now from this end point url we can create a general syntax for retrieving the end point url for MDS artifacts and this is valid for schema ,wsdl and other artifacts as well.
so a general syntax can be
http://<host>:<soa_server_port>/soa-infra/services/<partition>/<composite_name>/<path_in_mds>
Here composite name can be any composite which is deployed to the partition.
With this base now you can create a custom xquery in OSB which will acts as a parser to retrieve dvm information from MDS.
This will affect performance but you will not need to manually sync up your mds in SOA and OSB
No comments:
Post a Comment