WSRR 220.127.116.11: Object Copy
DavidSeager 110000C5XS Visits (2610)
Object Copy is a new feature in WebSphere Service Registry and Repository (WSRR) 18.104.22.168. What does it do? It allows you to create a new object, by taking metadata from an existing object, and lets you change the object before you create it. It also works in the context of some parent object, so you find an object on the end of a relationship, copy it, and the new copy is added to the same relationship. These objects can only be business models however, so no copying WSDLs or Policy documents.
So how do you enable this? The feature is turned off when you install V8.0 fix pack 2, so you must first log into Business Space, edit the configuration of the detail view widget, and find the type you want to copy from. For example, you want to copy endpoints on a Service Level Definition. So you open up the detail widget configuration, select SLD on the left, then click the Relationships tab.
On the Available Endpoints relationship, there is a new "Copy Targets" column. This has 3 values, Off, Mode A and Mode B. Off is well, off, and is the default. Mode A is to copy properties and classifications but NOT outbound relationships. Mode B is to do the lot, including outbound relationships.
Notice I said "outbound". The only relationship which will point TO your new object is the one you took the copy from, so in this case the Available Endpoints relationship. Anything else that pointed to the object you copied will not be pointing to the new object.
Also you may have spotted that some relationships do not have anything in the Copy Targets column. This is for a variety of reasons; policies cannot be copied, embedded BIRT reports don't make sense to copy, and relationships where there can be only 1 target cannot be copied either. This is clearly because when you make a copy, you get another target on the relationship. However, for example, the Anonymous SLA relationship is only allowed 1 target, so you wouldn't want to have 2 on there.
Once you click Save and Close, you are ready to do some endpoint copying.
To get going, find an SLD and click the Edit icon. Up pops the detail widget edit metadata dialog. If you scroll down to the Available Endpoints you will notice the copy icon has appeared:
When you click the copy icon (highlighted in red), the create dialog will open for a SOAP Service Endpoint (which is the type of thing you asked to copy). However, all the metadata that was present on the original Endpoint has been filled in. This means that if you have a lot of extra metadata, such as classifications or relationships to other things, you can skip entering it every single time you create an endpoint. This is particularly useful for REST endpoints, which have a variety of properties which don't change between endpoint instances.
After editing the properties, classifications and relationships, you can hit Finish and save the new object. It will then be added as a target of the Available Endpoints relationship. In the example below I changed the endpoint name. You then hit Finish on the edit for the SLD, and the changes are saved.
Note the new objects are always put in their default life cycle state, we do not short cut governance here, so the endpoint in the example is created in the initial Offline state.
That, in a nutshell, is the Object Copy feature. You can enable it for any business model type that is on the end of a relationship. Think about what things you create repetitively, and may want to take a copy of something else instead, so you can avoid having to add the same metadata over and over.
Sounds useful? Needs to do more, or is it good as is?
See the main post for the other new