6.2 Class diagrams for the Framework
29.1983GPPOpen Service Architecture (OSA) Application Programming Interface (API) - Part 1Release 1999TS
This section specifies the class diagrams that define the Framework, and proposes a way to package them.
6.2.1 Top level Framework packages
The top level view of the Framework consists of the following four packages:
Figure 6‑2: Framework top level packages
The first two packages are de-composed in the following way:
The latter two packages contain only one interface each:
PFWFramework consists of the Service Registration Interface
PSvcFramework consists of the Service Factory Interface
The top-level packages are de-composed as described above; between some of the resulting sub-packages there are dependencies, that reflect dependencies between any two classes in the sub-package. The following figure shows all this.
Figure 6‑3: Framework sub-packages
6.2.2 Service Discovery
Figure 6‑4: Service Discovery Class Diagrams
<<Interface>> IpServiceDiscovery |
listServiceTypes(listTypes: out TpServiceTypeNameListRef) : TpResult describeServiceType(name: in TpServiceTypeName, serviceTypeDescription: out TpServiceTypeDescriptionRef) : TpResult discoverService(serviceTypeName: in TpServiceTypeName, desiredPropertyList: in TpServicePropertyList, max: in TpInt32, serviceList: out TpServiceListRef) : TpResult listSubscribedServices(serviceList: out TpServiceListRef) : TpResult |
6.2.3 Trust and Security Management
Figure 6‑5: Trust and Security Management – Application and Framework Class Diagrams
6.2.3.1 IpInitial
<<Interface>> IpInitial |
initiateAuthentication(appDomain: in TpAuthDomain , authType : in TpAuthType, fwDomain: out TpAuthDomainRef) : TpResult requestAccess(accessType: in TpAccessType, appAccessInterface; in IpOsaRef, fwAccessInterface: out IpOsaRefRef): TpResult |
6.2.3.2 IpAppAuthentication
<<Interface>> IpAppAuthentication |
authenticate( prescribedMethod: in TpAuthCapability, challenge: in TpString, response: out TpStringRef) : TpResult abortAuthentication() : TpResult |
6.2.3.3 IpAuthentication
<<Interface>> IpAuthentication |
selectAuthMethod (authCaps: in TpAuthCapabiltyList, prescribedMethod: out TpAuthCapabilityRef) : TpResult authenticate (prescribedMethod: in TpAuthCapability, challenge: in TpString, response: out TpStringRef) : TpResult abortAuthentication() : TpResult |
6.2.3.4 IpAccess
<<Interface>> IpAccess |
obtainInterface( interfaceName: in TpInterfaceName, fwInterface: out IpOsaRefRef): TpResult obtainInterfaceWithCallback( interfaceName: in TpInterfaceName, appInterface: in IpOsaRef, fwInterface: out IpOsaRefRef): TpResult accessCheck(serviceToken: in TpServiceToken,securityContext: in TpString, securityDomain: in TpString, group : in TpString, serviceAccessTypes: in TpString, serviceAccessControl: out TpServiceAccessControlRef): TpResult selectService( serviceID: in TpServiceID, serviceToken: out TpServiceTokenRef): TpResult signServiceAgreement( serviceToken: in TpServiceToken, agreementText: in TpString, signingAlgorithm: in TpSigningAlgorithm, signatureAndServiceMgr: out TpSignatureAndServiceMgrRef ): TpResult terminateServiceAgreement( serviceToken: in TpServiceToken, terminationText: in TpString, digitalSignature: in TpString): TpResult endAccess(endAccessProperties: in TpEndAccessProperties) : TpResult |
6.2.3.5 IpAppAccess
<<Interface>> IpAppAccess |
signServiceAgreement( serviceToken: in TpServiceToken, agreementText: in TpString, signingAlgorithm: in TpSigningAlgorithm, digitalSignature: out TpStringRef): TpResult terminateServiceAgreement( serviceToken: in TpServiceToken, terminationText: in TpString, digitalSignature: in TpString): TpResult terminateAccess( terminationText: in TpString, signingAlgorithm: in TpSigningAlgorithm, digitalSignature: in TpString) : TpResult |
6.2.4 Integrity Management
Figure 6‑6: Integrity Management – Application and Framework Class Diagrams
6.2.4.1 IpHeartBeatMgmt
<<Interface>> IpHeartBeatMgmt |
enableHeartBeat(duration: in TpDuration, appInterface: in IpAppHeartBeatRef, session: out TpSessionIDRef) : TpResult disableHeartBeat(session: in TpSessionID) : TpResult changeTimePeriod(duration: in TpDuration, session: in TpSessionID) : TpResult |
6.2.4.2 IpAppHeartBeatMgmt
<<Interface>> IpAppHeartBeatMgmt |
enableAppHeartBeat(duration: in TpDuration, fwInterface: in IpHeartBeatRef, session: in TpSessionID) : TpResult disableAppHeartBeat(session: in TpSessionID) : TpResult changeTimePeriod(duration: TpDuration, session: in TpSessionID) : TpResult |
6.2.4.3 IpHeartBeat
<<Interface>> IpHeartBeat |
send(session: in TpSessionID) : TpResult |
6.2.4.4 IpAppHeartBeat
<<Interface>> IpAppHeartBeat |
---|
send(session: in TpSessionID) : TpResult |
6.2.4.5 IpLoadManager
<<Interface>> IpLoadManager |
reportLoad(loadLevel : in TpLoadLevel) : TpResult queryLoadReq(serviceIDs: in TpServiceIDList, timeInterval : in TpTimeInterval) : TpResult queryAppLoadRes(loadStatistics : in TpLoadStatisticList) : TpResult queryAppLoadErr(loadStatisticsError : in TpLoadStatisticError) : TpResult registerLoadController(serviceIDs: in TpServiceIDList) : TpResult unregisterLoadController(serviceIDs: in TpServiceIDList) : TpResult resumeNotification(serviceIDs: in TpServiceIDList) : TpResult suspendNotification(serviceIDs: in TpServiceIDList) : TpResult |
6.2.4.6 IpAppLoadManager
<<Interface>> IpAppLoadManager |
queryAppLoadReq(serviceIDs: in TpServiceIdList, timeInterval : TpTimeInterval) : TpResult queryLoadRes(loadStatistics : in TpLoadStatisticList) : TpResult queryLoadErr(loadStatisticsError : in TpLoadStatisticError) : TpResult disableLoadControl(serviceIDs: in TpServiceIdList) : TpResult enableLoadControl(loadStatistics : in TpLoadStatisticList ) : TpResult resumeNotification() : TpResult suspendNotification() : TpResult |
6.2.4.7 IpFaultManager
<<Interface>> IpFaultManager |
activityTestReq(activityTestID: in TpActivityTestID, svcID: in TpServiceID): TpResult appActivityTestRes(activityTestID: in TpActivityTestID, activityTestResult: in TpActivityTestRes): TpResult svcUnavailableInd(serviceID: in TpServiceID): TpResult genFaultStatsRecordReq(timePeriod: in TpTimeInterval, serviceIDs: in TpServiceIDList): TpResult |
6.2.4.8 IpAppFaultManager
<<Interface>> IpAppFaultManager |
activityTestRes(activityTestID: in TpActivityTestID, activityTestResult: in TpActivityTestRes): TpResult appActivityTestReq(activityTestID: in TpActivityTestID): TpResult fwFaultReportInd(fault: in TpInterfaceFault): TpResult fwFaultRecoveryInd(fault: in TpInterfaceFault): TpResult fwUnavailableInd(reason: in TpFwUnavailReason): TpResult svcUnavailableInd(serviceID: in TpServiceID, reason: in TpSvcUnavailReason): TpResult genFaultStatsRecordRes(faultStatistics: in TpFaultStatsRecord, serviceIDs: in TpServiceIDList): TpResult |
6.2.4.9 IpOAM
<<Interface>> IpOAM |
systemDateTimeQuery(clientDateAndTime : in TpDateAndTime, systemDateAndTime: out TpDateAndTimeRef) : TpResult |
6.2.4.10 IpAppOAM
<<Interface>> IpAppOAM |
systemDateTimeQuery(systemDateAndTime: in TpDateAndTime, clientDateAndTime: out TpDateAndTimeRef) : TpResult |
6.2.5 Service Registration
Figure 6‑7: Service Registration Class Diagram
<<Interface>> IpServiceRegistration |
registerService(serviceTypeName : in TpServiceTypeName, servicePropertyList : in TpServicePropertyList, serviceID : out TpServiceIDRef) : TpResult announceServiceAvailability(serviceID : in TpServiceID, serviceFactoryRef : in IpOSARef) : TpResult unregisterService(serviceID : in TpServiceID) : TpResult describeService(serviceID : in TpServiceID, serviceDescription : out TpServiceDescriptionRef) : TpResult |
6.2.6 Service Factory
Figure 6‑8: Service Factory Class Diagram
<<Interface>> IpSvcFactory |
getServiceManager(application : in TpDomainID, serviceProperties : in TpServicePropertyList, serviceManager : out IpServiceRefRef) : TpResult |