10 Design Studio Extension

This chapter contains examples and explanations on how to extend certain aspects of the Oracle Communications Network Integrity Optical TMF814 CORBA cartridge. See Network Integrity Developer Guide for more information. See Network Integrity Concepts for guidelines and best practices for extending cartridges.

This example explains how to model vendor-specific information. No new common object request broker architecture (CORBA) calls are required to the server because this data is already collected. In this example, managementIP of a managed element (ME) is used as the desired vendor-specific information.

Collecting Vendor-Specific Details for CTPs

This example explains how to model vendor-specific details about connection termination points (CTPs). CTP collection is handled differently from other objects because both the collecting and the modeling are handled by the same processor. In this example, vendorState of a CTP is used as the sought vendor-specific information.

All the processors following the TMF814 Manager Initializer processor can make use of the newly initialized managers.

Note:

If the new managers are used to collect new objects, you should design corresponding collector, discoverer, and modeler processors.

If you wish to record the results, the discoverer processor needs to extend the TMF814 Device Recorded Initializer and TMF814 Device Recorder Persister processors. The postProcess() method needs to be run after each object is fetched. Update the writeRecord() method Java class for any new objects.

Creating a Custom Equipment Reconciliation Cartridge

You can create a custom equipment reconciliation cartridge that discovers your TMF814 equipment and reconciles it with your inventory system.

To create a custom equipment reconciliation cartridge:

Open Design Studio in the Design perspective.

Create a new cartridge project.

Build a discovery action that extends either the Discover TMF814 action or Discover Abstract TMF814 action.

See MIB-II UIM Integration Cartridge Guide for more information if you use the MIB-II UIM Integration cartridge and you use Oracle Communications Unified Inventory Management (UIM) as your inventory system.

Creating a Custom Circuit Reconciliation Cartridge

You can create a custom circuit reconciliation cartridge that discovers your TMF814 circuit data and reconciles it with your inventory system.

Some element management systems (EMSs) and network management systems (NMSs) use a device model where the connection termination point (CTP) circuit name is assigned to the userLabel attribute. The following example requires that the EMS or NMS device model use the userLabel attribute of a CTP to hold the circuit name.

To create a custom circuit reconciliation cartridge:

Open Design Studio in the Design perspective.

Create a new cartridge project.

Build an import action that does the following:

Retrieves physical devices

Retrieves logical devices

Maps circuit channel assignments by setting the userLabel attribute of the channel subinterface to the circuit name

Build a discrepancy detection action.

(Optional) Extend the discrepancy detection action to allow Network Integrity to search and group the discrepancy results by doing the following:

Extend the initializer processor to register a filter against the device interface.

Extend the action to run the filter when a discrepancy is detected against an interface. Populate either the Priority or Owner field with the corresponding circuit name.

Tip:

In the event of an attribute mismatch discrepancy, obtain the circuit name from the compareEntity entity.

In the event of a missing or extra entity, obtain the circuit name from the childTargetEntity entity.

This action obtains the circuit name and adds it to either the Owner or Priority field in the Network Integrity UI, allowing you to search for and sort by the circuit name.

Build a reconciliation action to handle circuit discrepancies.

Note:

A channel assignment discrepancy may exist due to an incorrect userLabel attribute on the subinterface, or an extra or missing entity on the subinterface.

If the circuit exists in the network but is missing from the inventory system, the discrepancy detection action returns multiple discrepancies. The reconciliation action may need to perform additional operations to correct a missing circuit.

Build, deploy, and test your cartridge.

Customizing the JKLM Value Calculation

You can customize the JKLM value calculation used to model collected cross-connect data.

To customize the JKLM value calculation:

Open Design Studio in the Design perspective.

Build a discovery action that extends the Discover TMF814 action.

Create a new processor called XCModelCustomizer and insert it after the TMF814 Property Customizer processor.

The XCModelCustomizer processor is run by the Discover TMF814 action in the order shown by Figure 10-2. All the processors following the XCModelCustomizer processor can make use of the newly initialized managers.

Within the For Each processor, create a processor named TMF814 GTP Modeler. The TMF814 GTP Modeler processor is responsible for modeling each input GTP_T as an Oracle Communications Information Model object and adding it to the result.

Configure the TMF814 GTP Modeler processor to have the following input parameters:

gtp(org.tmforum.mtnm.terminationPoint.GTP_T)

Configure the TMF814 GTP Modeler processor to have the following output parameters:

Modeled Information Model representation of gtp.

Design the TMF814 GTP Modeler processor to find the correct Information Model mapping object for the TMF814 GTP object and add to the result.

Build, deploy, and test your cartridge.

The TMF814 GTP Collector and TMF814 GTP Modeler processors are run by the Discover Custom TMF814 action in the order shown by Figure 10-3.

Collecting and Modeling Protection Role Information

You can extend the Optical TMF814 CORBA cartridge to collect protection role information on cross-connect segments. The protection role status can be made available to other cartridges and follow-on actions.

Because there are no known APIs to obtain protection data from devices, this scenario assumes that the protection role information is avaible from another source of data, such as in a CVS file.

To collect protection role data on cross-connect segments:

Open Design Studio in the Design perspective.

Build a discovery action that extends the Discover TMF814 action.

Create a new processor called XCModelCustomizer and insert it after the TMF814 Property Customizer processor.