Open Service Access(OSA) Application Programming Interface(API) Framework ZTE (USA)

81
Open Service Access(OSA) Open Service Access(OSA) Application Programming Application Programming Interface(API) Interface(API) Framework Framework ZTE (USA) ZTE (USA)

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( )

81

Thank You!Thank You!