Below are some examples of possible Extensions as defined in the existing OSS/J Specifications. They are presented as Q&A.
In fact all OSS/J API are extensible, anyone can create a new class that will extend an OSS/J interface. However it is expected that the main extensions will be with SA and QoS because TT information model is fairly fixed whereas SA and QoS are somehow agnostic (SA does not define the information model for a service and QoS does not define the information model for performance data). So it is expected that companies will create their own extensions for a specific technology (DSL, 3G,...) or for a specific vendor.
SA API is designed to allow Extensions that are needed in a real life system, as defined in chapter 5 "Implementing the API" of the Specification. The SA API Specifications define precisely how to extend: . the Service Information Model . the Order to a Business Process . the Event Model
Similarly to SA, the QoS API Specification defines in Part 2 chapter 4.4 "Extending Entity Model" what extensions are permnitted.
The OSS/J Common Design Guidelines contains clear example and recommendation on how to extend the OSS/J APIs.
If a vendor provides an extension of an Event interface as defined in the API then the getEventTypes() must return both the fully qualified name of the interface as defined in the API and the fully qualified name of the extended type. For example both the javax."oss.trouble.TroubleTicketCancellationEvent" and the "com.xyzcorp.XYZTroubleTicketCancellationEvent" names must be returned.