Open Service Access(OSA) Application Programming Interface(API) Framework ZTE (USA)
-
Upload
brook-arnold -
Category
Documents
-
view
237 -
download
3
Transcript of Open Service Access(OSA) Application Programming Interface(API) Framework ZTE (USA)
Open Service Access(OSA)Open Service Access(OSA)Application Programming Application Programming
Interface(API)Interface(API)FrameworkFramework
ZTE (USA)ZTE (USA)
2
ContentsContents
Overview of the Parlay/OSAWhat/Why Parlay/OSA Framework
How Architecture Look Like
Framework Features and Advantages
Overview of the Parlay APIs
Framework Access Session APIs
Framework-to-Application APIs
Framework-to-Service APIs
Framework-to-Enterprise Operator APIs
3
Overview of the Parlay/OSAOverview of the Parlay/OSA
Starting from early 90s, Internet Telephony emerged, which completely changed the cost structure of offering long distance service.Commercial VoIP build-out began with H.323. Defects Discovered.Next Generation Network will be based on Softswitch Technology.
4
What is Parlay Framework?Is a set of Open Network APIs, which allows 3rd Parties to
develop and run services external to operators’ networks.
Enterprise DomainNetwork Operators’ Domain
IP/GSM/PSTN/DataNetwork
Parlay Service
Application/Service Provider
Overview of the Parlay/OSAOverview of the Parlay/OSA
5
Why? Business & Technical Drivers
Regulatory bodies are asking network operators to open up their networks to third party service providers
Consequently, the number of service providers is increasing rapidly
The model for delivery of communication services is moving towards that of a Service Provider Architecture.
Parlay APIs
The IT WorldRich in Applications
and Developers
The Converged Networks Rich in Capabilities
6
Why? Business & Technical Drivers
• New Service Delivery Model:
A change in the network centric service delivery
communication services are moving
ever outward from the core network
Examples are SCP based services (IN services), IN services at the periphery (CTI and CSTA based services), IP based Call Centres.
7
Why? Business & Technical Drivers
• New Service Delivery Model:
A change in the edge of service delivery
examples are switch based CTI extensions, TAPI, PBX based services.
Enterprise and personal functionality requirements
are pressing ever inward the core network
8
Service Domain
Network Domain
Parlay Architecture
Messagingservices
SMSE-mail
Call Controlservices
IN services
Mobilityservices
CAMELUpLoc
UMTS
GGSN
GPRS
SGSN
UTRANIP PSTN MSCBS
BS
BS
Parlay Framework: Authentication, Authorisation, … .
Parlay Services: An abstraction of network capabilities.ResourceInterface
ResourceInterface
ResourceInterface
ResourceInterface
NetworkInterface
Open Network Interface, e.g.
9
Architecture of Parlay APIs
33
Frameworkoperator
admin
Enterpriseoperator
admin tool
Servicesupplier
admin tool
1144
55
Telecom Network
22 66
ClientApplication
Not in scope of Parlay Phase 2
Not in scope of Parlay Phase 2
Not in scope of Parlay Phase 2
Source: www.parlay.org
10
Client Application
Framework
ServiceSupplier
Tool
Initial AuthDis-
coveryAccessRegistr-
ation
ServiceFactory
1
1 Register and Announce Service
2
2 Initiate Authentication
3
3 Authenticate
4
4 Request Access
5
5 Obtain Discovery Interface
6
6 Discover Services that match needs
7
7 Select Service and sign agreement
8
8 Request creation of Service Manager
Call Control
Manager
9
9 Create new Service Manager
10
10 Create a new Call
11
Parlay Framework Features- General GUI based Framework Management Tool
Addressing through application support broker, string object reference
Support for authentication by underlying distribution technology mechanism; can operator specific
Support encryption/decryption capabilities for authentication
Create, modify and query EntOp accounts, App-Client accounts, SAG information, and Supplier accounts
Service supplier can register, un-register, announce, un-announce and describe a service
Add, remove, enable, disable service types
Select, sign, terminate an agreement for a service by an App-Client
Event notification
Heartbeat Management
12
Parlay Framework Advantages- General
Single process, multithreaded application
Data integrity with persistency and in-memory maintained
High availability in clustering, load sharing, scaling, real-time resource monitoring, fault detection, redundancy, and service continuity
SCE and OSA gateway vendor independent
Available as network building block on commodity and proprietary hardware
13
Overview of the Parlay APIsOverview of the Parlay APIs
The Parlay APIs are object-oriented and consist of several categories of interfaces as shown in previous slide
All Applications, Framework and Services Interfaces inherit from the base Parlay Interface Class, ‘IparlayInterface’
Unified Modelling Language, UML, has been used to specify Interface Classes
The Architecture is based on client/server
Each Interface consists of a number of Methods. Each Method has a number of Parameters
Common Data definitions and Interfaces are also defined in OMG IDL
14
Parlay API Specification- General
Both synchronous and asynchronous methods are used in APIs:
• Asynchronous method requests are suffixed by ‘req’
• Asynchronous method responses, if applicable, are suffixed by ‘Res’ and ‘Err’
The Service and Framework interfaces for client applications are denoted by classes with name Ip<name>
The callback interfaces to the applications are denoted by classes with name IpApp<name>
15
Parlay API Specification– Two Main Interface Sets
1. Framework Interface Set:
Provides 'surround' capabilities necessary for the Service Interfaces to be open, secure, resilient and manageable
2. Service Interface Set:
Offers applications access to a range of network capabilities
16
Parlay API Specification- General
For the interfaces between a Service and the Framework:
• The Service interfaces are typically denoted by classes with name IpSvc<name>
• The Framework interfaces are denoted by classes with name IpFw<name>
• Some methods within Authentication and Access Interfaces are exceptional to this, e.g. IpClientAccess
17
Parlay API Specification– Framework Interfaces
AuthenticationOnline Authentication of User Application and Network.
AuthorizationAccess management and Control to Network Services.
DiscoveryCapability by which Network Service(s) identity is exposed to a User Application.
Event NotificationCapability by which user application is notified of service related events.
Integrity ManagementCapability by which information on events which affect the integrity of the API is shared with the Framework interface and the user application.
18
Parlay API Specification– Service Interfaces (3.X)
Call ControlCall Management by User Application. Consists of Generic CC, MultiParty CC, MultiMedia CC (SIP enabled CC), and Conference CC.
User InteractionManagement of User Application interaction with Network Services, e.g. Prompt&Collect DTMF, WAP push, etc.
MobilityCapability to access Mobility information, e.g. Location, Status.
Terminal Capability (New in 3.X, adopted from 3GPP OSA)Capability to access user’s terminal information in the format specified in W3C and adopted in WAP UAProf Specification.
Data Session Control (New in 3.X, adopted from 3GPP OSA)Management of data sessions in Packet Switching networks, e.g. PDP Context in GPRS.
19
Parlay API Specification– Service Interfaces (3.X)
Generic MessagingCapability to send, store, and receive message.
Connectivity ManagementManagement of IP based connections, including QoS. Partially overlap with Policy Management.
Accounting (New in 3.X)Capability to get subscriber accounting information for external billing engines.
Charging (New in 3.X)Capability to update or monitor a balance and generate CDRs for postpaid and prepaid subscribers.
Policy Management (New in 3.X)Management of static (SLA) and dynamic (per call) policies for network service providers and for 3rd party application service providers.
20
Parlay API Specification – Service Interfaces (3.X, 4.0)
Presence & Availability Management, PAMCapability of getting presence information, subscriber availability, and also registration of presence reports.
Directory/User ProfileCapability to access subscriber information. In general to access any information held in database.
21
Parlay & other standardisation bodies
Java APIs for Integrated Networks (JAIN)• JAIN initiated about the same time as Parlay 1.0. The same space. They
found each other very quickly. Close cooperation on CC. On the other hand, Parlay is an architecture, which can be filled in by many component based JAIN technologies, like JSLEE
ETSI• A main contributor to telephony standards. At a point, decided to leave
out the most 3G standardisation to 3GPP
3GPP• 3GPP CN5 started to define OSA specs for UMTS R’99 in Nov ‘99.
Due to aggressive time scale, they decided to base their OSA API on the existing industrial Parlay APIs. 3GPP OSA API set is a subset of Parlay API set with some modifications and additions (e.g. Terminal Capability)
22
Parlay & other standardisation bodies
OMG• Its contents strongly influenced by TINA-C and Parlay
• Parlay Framework 2.0 influenced by OMG Telecom Service Access & Subscription, TSAS.
• Parlay Interfaces are defined in OMG IDL
• OMG & Parlay have worked together to keep two standards in synch
Since Oct 00, Parlay CC WG, ETSI SPAN12 (OSA) and 3GPP CN5 (OSA) have formed a Parlay/ETSI/3GPP joint WG. This WG was expanded to cover FW and some other areas. As a result, Parlay 3.X, 3GPP OSA R’4 and ETSI OSA 201-915 have a big common denominator (i.e. the same OSA API set).
23
Are there any concerns, yes there are …
phase 1, 2 and 3 are not backward compatible. Has been mandated that the subsequent releases must be backward compatible
In Author’s opinion, phase 3.X is the first version the industry can rely on. Phase 1 was only a proof-of-concept, phase 2 was a prototype subject for major Parlay players (mainly a number of Parlay members)
Data types and some interfaces like Call Control are complex
Lack of implementation experience, especially on performance and dimensioning
Still concerns and comments about security and integrity
24
Framework Access Session APIsFramework Access Session APIs
Initial Access1. Initiate Authentication2. Select Authentication Mechanism3. The Client authenticates the Framework with issuing a
challenge4. Authentication Successful indication from the Client5. The Framework authenticates the client each other6. Authentication successful indication from the
Framework7. Request Access8. Obtain the Framework’s interface reference
25
Framework Initial Access
: IpClientAPILevelAuthentication Client : IpInitial Framework : IpAPILevelAuthentication
1: initiateAuthenticationWithVersion( )
7: challenge( )
IpClientAPILevelAuthentication reference is passed to framework and IpAPILevelAuthentication reference is returned.
This is an example of the sequence of authentication operations. Different authentication protocols may have different requirements on the order of operations.
IpClientAccess reference is passed to Framework, and IpAccess reference is returned.
8: requestAccess( )
3: selectAuthenticationMechanism( )
26
Framework Access Session APIsFramework Access Session APIs
Non-API Level Authentication1. Initiate Authentication by using the underlying
distribution technology mechanism
2. Request Access
3. Obtain the Framework’s interface reference to its
service discovery interface
27
Framework Non-API Level Authentication
Client : IpInitial : IpAPILevelAuthentication Framework : IpAccess : IpClientAPILevelAuthentication
1: initiateAuthenticationWithVersion ()
8: requestAccess( )
9: obtainInterface( )
5: authenticationSucceeded( )
7: authenticationSucceeded( )
3: selectAuthenticationMechanism( )
28
Framework Access Session APIsFramework Access Session APIs
API Level Authentication1. Initiate Authentication by using the type of
authentication process the client specifies
2. Choose the authentication algorithm supported by the
client
3. The client and Framework Interact to each other by
using the challenge method
4. Request Access
5. Obtain the Framework’s interface reference to its
service discovery interface
29
Framework API Level Authentication
Client : IpInitial Framework : IpAuthentication : IpAccess
1: initiateAuthenticationWithVersion( )
2: requestAccess( )
3: obtainInterface( )
Underlying Distribution Technology Mechanism is used for client identification and authentication, or both the client and the framework recognise each other as trusted parties not requiring API level authentication. There is no requirement as to when authentication should take place using the Underlying Distribution Technology Mechanism: before initiateAuthentication() is invoked, after requestAccess() is invoked, or between the two.
30
Framework-to-Application APIsFramework-to-Application APIs
Event Notification1. Create an event notification IpAppEventNofication in
application
2. Obtain a reference to the object IpEventNotification
and set the callback interface
3. Enable an event notification on the Framework
4. Notify the availability of new SCFs of the requested
type(s)
31
Framework Event Notification
AppLogic : IpAppEventNotification : IpAccess : IpEventNotification
2: obtainInterfaceWithCallback( )
3: new()
1: new()
4: createNotification( )
5: reportNotification( )
32
Framework-to-Application APIsFramework-to-Application APIs
Integrity Managemento Load management
Suspend/resume notification from application Framework queries load statistics Application reports current load condition Application queries load statistics Application callback registration and load control
o Heartbeat Managemento Fault Management
Framework detects a Service failure Application requests a Framework activity test
33
Framework-to-Application APIsFramework-to-Application APIs
Load managementSuspend/resume notification from application
Framework queries load statistics
Application reports current load condition
Application queries load statistics
Application callback registration and load control
34
Load Management—Framework queries load statistics
: IpAppLoadManager : IpLoadManager
1: load change detection and policy evaluation
This is implementation detail
2: suspendNotification( )
4: resumeNotification( )
Load balancing service makes a decision based on pre-defined policy 3: load change detection and policy evaluation
35
Load Management—Framework queries load statistics
: IpLoadManager : IpAppLoadManager
1: queryAppLoadReq( )
2: get load information
3: queryAppLoadRes( )
This is the implementation detail
36
Load Management—Application reports current load condition
: IpAppLoadManager : IpLoadManager
2: evaluate policy
This is the implementation detail
1: reportLoad( )
37
Load Management—Application callback registration and load control
: IpAppLoadManager : IpLoadManager
1: createLoadLevelNotification( )
Framework detects its load condition change and initiates load control action 3: loadLevelNotification( )
2: load change detection & policy evaluation
This is the implementation detail
5: loadLevelNotification( )
6: destroyLoadLevelNotification( )
4: load change detection & policy evaluation
This is the implementation detail
38
Framework-to-Application APIsFramework-to-Application APIs
Heartbeat Management1. Request the application to send its heartbeat
2. Send heartbeat at specified interval by the application
3. Detect the application by the Framework via heartbeat within
the specified interval
4. Take some recovery action
39
Heartbeat Management—Start/perform/end heartbeat supervision of the application
Framework : IpHeartBeat : IpAppHeartBeatMgmt
1: enableAppHeartBeat( )
2: pulse( )
3: pulse( )
4: disableAppHeartBeat( )
At a certain point of time the framework decides to stop heartbeat supervision
40
Framework-to-Application APIsFramework-to-Application APIs
Fault Management Framework detects a Service failure Application requests a Framework activity test
1. Ask the Framework to do an activity test
2. Test done by the Framework
3. Send result back the application by the Framework
41
Fault Management—Framework detects a Service failure
Client Application : IpAppFaultManager Framework : IpFaultManager
The framework should detect if a service instance fails, for example via an unreturned heartbeat. The framework should inform the application that is using that service instance.
The application must cease the use of this service instance.
1: svcUnavailableInd( )
42
Fault Management—Application requests a Framework activity test
Client Application : IpAppFaultManager Framework : IpFaultManager
Client application asks framework to carry out an activity test. The framework is denoted as the target by a NULL svcId parameter value.
Framework carries out test and returns result to client application.
2: activityTestRes( )
1: activityTestReq( )
43
Framework-to-Application APIsFramework-to-Application APIs
Service Discovery1. Obtain a reference to the Framework Service Discovery interface
2. List service types
3. Describe service type with service property (property name,
property value, property mode, parent type, enable/disable)
4. Discover the service
44
Service Discovery
: IpServiceDiscoveryApplication
2: listServiceTypes( )
3: describeServiceType( )
4: discoverService( )
: IpAccess
1: obtainInterface( )
45
Framework-to-Application APIsFramework-to-Application APIs
Service Selection1. Select service for the application
2. Sign service agreement between the Framework and the
application
46
Service Agreement—Service selection
: IpServiceAgreementManagement
: IpAppServiceAgreementManagement
Application Framework
1: selectService( )
3: signServiceAgreement( )
4: signServiceAgreement( )
2: initiateSignServiceAgreement( )
47
Framework-to-Service APIsFramework-to-Service APIs
Service Registration1. Register service with service type name, service property
list(service property name, service property value)
2. Announce service availability to the application
48
New SCF Registration
SCS : IpFwServiceRegistration
1: registerService( )
2: announceServiceAvailability( )
49
IP800 Parlay ApplicationI want to connect to CC for exchange 333
But where is it?
IN ApplicationI can only connect to exchange 333,330
IP networkIP network
ParlayCC 1333330
ParlayCC 2410412
ParlayCC 3510512
ParlayCC 4667
ParlayCC 5719
CC333330
hardwired
50
IP800 Parlay ApplicationI want to connect to CC for exchange 333
But where is it?I can use the framework service to find out the host address
of exchange 333
IP networkIP network
ParlayCC 1333330
ParlayCC 2410412
ParlayCC 3510512
IP800 Parlay ApplicationI want to connect to CC for exchange 333
But where is it?I can maintain a map of exchange numbers
and hosts address
IP networkIP network
ParlayCC 1333330
ParlayCC 2410412
ParlayCC 3510512
ParlayFramework
Service
51
IP networkIP network
ParlayCC 1333330
ParlayCC 2410412
ParlayCC 3510512
ParlayFramework
Service
CC 333 330 CC1CC 410 412 CC2CC 510 512 CC3
52
Framework-to-Service APIsFramework-to-Service APIs
Sign Service Agreement1. Select service using service ID (from service discovery
interface) for the application
2. Sign the service agreement by the Framework
3. Sign the service agreement by the application
4. Identify the signature of the application
5. Use the service manager to contact the service
6. Create a new service manager to be used for callback by the
application
7. Set the callback interface
53
Sign Service Agreement
: IpAppCallControlManagerAppLogic : IpInitial : IpServ iceAgreementManagement
: IpCallControlManager : IpAppServ iceAgreementManagement
GenericCallControlServ ice : IpServ iceInstanceLif ecy cleManager
1: selectServ ice( )
3: signServ iceAgreement( )4: createServ iceManager( ) 5: new()
6: new()
7: setCallback( )
We assume that the application is already authenticated and discov ered the serv ice it wants to use
2: signServ iceAgreement( )
54
Framework-to-Service APIsFramework-to-Service APIs
Integrity Managemento Load management
Service callback registration and load control
Client and Service Load Balancing
o Heartbeat ManagementStart/perform/end heart supervision of the service
o Fault ManagementService requests Framework activity test
Service requests Application activity test
Application requests service activity test
Application detects service is unavailable
55
Framework-to-Service APIsFramework-to-Service APIs
Load ManagementService callback registration and load control
Client and Service Load Balancing
56
Load Management—Service callback registration and load control
: IpSvcLoadManager : IpFwLoadManager
1: createLoadLevelNotification( )
2: load change detection & policy evaluation
3: loadLevelNotification( )
4: load change detection & policy evaluation
5: loadLevelNotification( )
6: destroyLoadLevelNotification( )
This is the implementation detail
This is the implementation detail
Framework detects its load condition change and initiates load control action
57
Load Management—Client and Service Load BalancingApplication :
IpAppLoadManagerService :
IpSvcLoadManagerFramework :
IpLoadManager :
IpFwLoadManager
Framework checks application load.
Depending on the load, the framework may choose to stop sending notifications to the application, to allow its load to reduce.
The framework may then check the load on the service, and take action if (according to the load balancing policy) if required.
1: queryAppLoadReq( )
2: queryAppLoadRes( )
3: suspendNotification( )
4: querySvcLoadReq( )
5: querySvcLoadRes( )
58
Framework-to-Service APIsFramework-to-Service APIs
Heartbeat Management1. Request the service to send its heartbeat
2. Send heartbeat at the specified interval by the
service
3. Detect the service by the Framework via
heartbeat within the specified interval
4. Take some recovery action by the Framework
59
Heartbeat Management—Start/perform/end heartbeat supervision of the service
Framework : IpFwHeartBeat
: IpSvcHeartBeatMgmt
1: enableSvcHeartBeat( )
2: pulse( )
3: pulse( )
4: disableSvcHeartBeat( )
At a certain point of time the framework decides to stop heartbeat supervision
60
Framework-to-Service APIsFramework-to-Service APIs
Fault ManagementService requests Framework activity test
Ask activity test done by the FrameworkReturn the result to the service
Service requests Application activity testInvoke an activity test on a client application by the FrameworkAsk the application to do the activity testReturn the result to the Framework by the applicationPass the result from its application to its service internally
Application requests service activity test
Application detects service is unavailable
61
Fault Management—Service requests Framework activity test
Framework : IpFwFaultManager
Service : IpSvcFaultManager
The Service requests that the Framework does an activity test.
1: activityTestReq( )
2: activityTestRes( )
62
Framework-to-Service APIsFramework-to-Service APIs
Fault ManagementService requests Framework activity test1. Ask activity test done by the Framework
2. Return the result to the service
63
Fault Management—Service requests Application activity test
Service : IpSvcFaultManager
Application : IpAppFaultManager
: IpFaultManager
Framework : IpFaultManager
The Framework identifies the service instance to conclude which Application the test is directed at, and comunicates internally to Framework interface to the Application.
The application carries out the activity test and returns the result to the Framework.
Internal Framework Communications.
1: activityTestReq( )
2: appActivityTestReq( )
3: appActivityTestRes( )
4: activityTestRes( )
64
Framework-to-Service APIsFramework-to-Service APIs
Fault ManagementService requests Application activity test1. Invoke an activity test on a client application by the
Framework
2. Ask the application to do the activity test
3. Return the result to the Framework by the application
4. Pass the result from its application to its service
internally
65
Fault Management—Application requests Service activity test
Client Application : IpAppFaultManager
Service : IpSvcFaultManager
: IpFwFaultManager
Framework : IpFaultManager
The client application asks the framework to carry out the activity test on a service.
The Framework identifies which service the test is directed at by the svcID parameter, and communicates internally with the appropriate framework interface. Which invokes the call on the service.
Service does test and returns the result.
Framework passes result internally from service facing part to application facing part, and sends the result to the application.
1: activityTestReq( )
2: svcActivityTestReq( )
3: svcActivityTestRes( )
4: activityTestRes( )
66
Framework-to-Service APIsFramework-to-Service APIs
Fault ManagementApplication requests service activity test1. Invoke an activity test on a service by the
Framework
2. Ask the service to do the activity test
3. Return the result to the Framework by the service
4. Pass the result from its service to its application
internally
67
Fault Management—Application detects Service is unavailable
Client Application : IpAppFaultManager
Service : IpSvcFaultManager
Framework : IpFaultManager
: IpFwFaultManager
The application detects that the service is not responding, so it informs the framework via the svcUnavailableInd method and then ceases use of the service.
The framework informs the service that the application is no longer using it.
1: svcUnavailableInd( )
2: appUnavailableInd( )
68
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Service Subscription ModelEnterprise Operator
Client Applications
Subscription Assignment Group(SAG)
Service Contract
Service Profile
Relationship Between Client Applications/SAG,
Service Contract and Service Profile
Behavior of Service SubscriptionService Discovery
Subscription Management
69
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Enterprise OperatorA role of subscriber/customer of services
For example: A financial institution such as a Bank or
Insurance Company, or possible an Application Service
Provider
70
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Client ApplicationsThe role of user/customer of the services
71
Subscription Business Model
Enterprise Operator (In the roleof Service Subscriber)
Framework (In the roleof Service Retailer)
Client Application (In the role ofUser or Consumer of Services)
Signs contract about service usage
Uses service
Authorises
72
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Subscription Assignment GroupA sub-set of client applications in an enterprise
operator domain on the FrameworkOne or more SAGs in enterprise operator domain
A client application in one or multiple SAGs
73
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Service ContractA number of services subscribed by the
enterprise operatorThe restriction usage of a service at subscription time
74
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Service ProfileA restriction of the service contract in order to
provide restricted service feature to a SAGOne or more service profiles in a service contract
One service profile each SAG in the enterprise operator
domain
Different service parameters (or service properties) of a
service for restriction of SAG’s needs
75
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Relationship Between Client Applications/SAG, Service Contract and Service Profile
Client Applications is related to the enterprise operator for usage of a service (subscribe first)Each client application is part of at least one SAGA SAG can have multiple Service Profiles associated itA Service Profile per service defines the preferences of the SAG members for the usage of that serviceEnterprise operator can group client applications in a set of SAGs and assign a particular Service Profile to each groupA client application can be assigned to more than one service profile for a given service without date overlap in the service profiles
76
Relationship between Client Applications/SAG, Service Contract and
Service Profiles
ca1,ca2,ca3
ca4,ca5, ca6,ca7, ca8,ca9
SAG2
ca10, ca11,ca12,ca12, ca13,
SAG3
Client Applications and SAGs in the Enterprise Domain
SC1
SC2
SC3
SC4
Service Contracts for Individual ServicesSubscribed by Enterprise Operator
SP1
SP2 SP3
SP5
SP4
Service Profiles in a Service Contract
Assignment of ClientApps/ SAGs to Service Profiles
SAG1
77
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Service DiscoveryEnterprise operator knows the existence of the service
Obtains a list of service types
Find out the set of properties applicable to a particular
service type
Discover the desired service
Subscribe the service with service contract
Access the subscribed services by the client applications
Select the services to initiating the use later
Sign the service agreement to avoid the repudiation
Start the service
78
: EnterpriseOperator
: ClientApplication
: IpAccess : IpServiceDiscovery : IpServiceContractManagement : IpServiceContractInfoQuery : IpServiceProfileManagement : IpServiceProfileInfoQuery
Auth. phase followed by
1: obtainInterface( )
2: listServiceTypes( )
3: describeServiceType( )
4: discoverService( )
Find desired Services
5: obtainInterface( )
6: createServiceContract( )
Subscribe the Services
7: createServiceProfile( )
create more SPs in SC
8: assign( )
9: modifyServiceProfile( )
10: assign( )
11: describeServiceProfile( )
12: deleteServiceProfile( )
13: modifyServiceContract( )
14: listSubscribedServices( )
15: listSubscribedServices( )
16: describeServiceContract( )
17: createServiceContract( )
79
Framework-to-Enterprise Operator APIFramework-to-Enterprise Operator API
Subscribe the service with service contractCreate an account for the enterprise operator
Create accounts for all of the client applications in
enterprise operator domain
Obtain interfaces to manage the subscription accounts
Register the client applications associating a service
profile
Assign the related client applications to a Subscription
Assignment Group (SAG)
Manage the SAG
80
Enterprise Operator
Framework Operator
: IpAccess : IpEntOpAccountManagement
: IpEntOpAccountInfoQuery
: IpClientAppManagement
: IpClientAppInfoQuery
The Enterprise Operatoraccount has already been created.Auth. Phase followed by:
1: obtainInterface( )
2: describeEntOpAccount( )
3: modifyEntOpAccount( )
4: obtainInterface( )
5: createClientApp( )
Create more client apps
6: createSAG( )
7: addSAGMembers( )
8: modifyClientApp( )
9: modifySAG( )
10: deleteClientApp( )
11: removeSAGMembers( )
12: modifySAG( )
13: obtainInterface( )
14: listSAGs( )
15: listSAGMembers( )
16: deleteEntOpAccount( )