An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

24
An Overview of CORBA and An Overview of CORBA and Parlay/OSA APIs Parlay/OSA APIs ZTE (USA) ZTE (USA)

Transcript of An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

Page 1: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

An Overview of CORBA and An Overview of CORBA and Parlay/OSA APIsParlay/OSA APIs

ZTE (USA)ZTE (USA)

Page 2: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

2

ContentsContents

Overview of CORBA

What Is CORBA

What It Does

Why CORBA

Basic CORBA Call Model

Object Orientation

IDL

Java for CORBA

Example

Overview of Parlay/OSA APIsWhy CORBA for Parlay/OSAArchitectureInterface Sets and RelationsGeneral CharacteristicsPackagesIDLsAPIs in Java Mapping

Page 3: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

3

Overview of CORBA Overview of CORBA - What is It?

CORBA : Common Object Request Broker

Architecture

A vendor-independent architecture and

infrastructure that applications use to work

together over networks.

IIOP (Internet Inter-ORB Protocol) as the

official inter-orb communication protocol

A product of members of OMG (Object

Management Group).

Page 4: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

4

Overview of CORBA Overview of CORBA - What It Does

Distributed Object-Oriented Computing

Page 5: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

5

Overview of CORBA Overview of CORBA - Why CORBA

CORBA is OPEN. CORBA-based software is vendor, operating

system, language and network neutral. Allow Servers and Clients developed in different

language running on different OS. Built-in Services ready to use, such as, Name

service, Security service, Transaction service, …

Page 6: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

6

Overview of CORBA Overview of CORBA – CORBA Version

CORBA 2 interoperability and the IIOP protocol

CORBA 3, current official release Component Model

CORBA 4, future release To resolve CORBA over Firewall Limitation

Page 7: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

7

Overview of CORBA Overview of CORBA – Basic Call Model 1

Page 8: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

8

Overview of CORBA Overview of CORBA – Basic Call Model 2

Page 9: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

9

Overview of CORBA Overview of CORBA – Object Orientation

Objects, combines function and data and mimics the real world

CORBA is Object-Oriented 3Keys of Object Orientation:

Encapsulation Polymorphism Inheritance

Page 10: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

10

Overview of CORBA Overview of CORBA – IDL

IDL, Interface Definition Language Declarative, Object-Orientation Allow implementations in various programming

languages

Hello.idl

module HelloApp { interface Hello { string sayHello(); oneway void shutdown(); }; };

Page 11: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

11

Overview of CORBA Overview of CORBA – Java for CORBA

Java IDL Compiler: idljidlj -fallTIE Hello.idl generating those

files:File Description

Hello.java the signature interface

HelloHelper.java the Helper class, narrow method to do type cast

HelloHolder.java the Holder class, delegates to the methods in the

Helper class for reading and writing.

HelloOperations.java the operations interface

HelloPOA.java the server skeleton,

HelloPOATie.java the delegation model of Object

_HelloStub.java the client stub, used in client side

Page 12: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

12

Overview of CORBA Overview of CORBA – Implementing The Server

Page 13: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

13

Overview of CORBA Overview of CORBA – Implementing The Client

Page 14: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

14

Overview of CORBA Overview of CORBA – Implementing The Server

#1 Start orbd.

orbd -ORBInitialPort 1050 -ORBInitialHost localhost&

#2 Start the Hello server.

java HelloServer -ORBInitialPort 1050 -ORBInitialHost localhost&

#3 Run the client application:

java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost

#4 client will print

Hello world!!

Page 15: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

15

Overview of CORBA Overview of CORBA – Other CORBA Terminology

Reference Passing, send object reference to count-party by method (rather than via name server.)

Callback, invoke a method of a client object that is sent to server side via reference passing.

Synchronous v.s. Asynchronous calls Basic Object Adaptor (BOA) v.s. Portable Object

Adaptor (POA) Inheritance v.s. Delegation Implementation

Model

Page 16: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

16

Overview of Parlay/OSA APIsOverview of Parlay/OSA APIs– Why CORBA For Parlay/OSA APIs

It is a natural choice, a good match of architecture

Open Abstraction Vendor, Language neutral Distributed …

None-Cobra Parlay Web Service JAIN

Page 17: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

17

Overview of Parlay/OSA APIsOverview of Parlay/OSA APIs– Architecture

Service Domain

Network Domain

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.

Page 18: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

18

Overview of Parlay/OSA APIs Overview of Parlay/OSA APIs – Main Interface Sets and Relations 1

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

Page 19: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

19

Overview of Parlay/OSA APIs Overview of Parlay/OSA APIs – Main Interface Sets and Relations 2

Framework Interface SetProvides 'surround' capabilities necessary for the Service Interfaces to be open, secure, flexible resilient and manageable

Service Interface SetOffers applications access to a range of network capabilities

Application Interface SetApplication APIs for service creation and execution

Enterprise Operator SetAllow third party to subscribe/contract services

Page 20: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

20

Overview of Parlay/OSA APIsOverview of Parlay/OSA APIs– General Characteristics

The Parlay/OSA APIs are abstractions of telecom/data network capabilities

Are object-oriented and based on client/server architecture

Name Convention between Application and Service

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>

Name Convention between Application, Service and Framework

The Application interfaces to Framework are typically named IpClient<name>

The Service interfaces to Framework are typically denoted by IpSvc<name>

The Framework interfaces to Services are denoted by IpFw<name>

Both synchronous and asynchronous methods are used in API

Asynchronous method requests are suffixed by ‘req’ and the responses, if applicable, are suffixed by ‘Res’ and ‘Err’

Page 21: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

21

Overview of Parlay/OSA APIs Overview of Parlay/OSA APIs – Framework APIs

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.

Page 22: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

22

Overview of Parlay/OSA APIsOverview of Parlay/OSA APIs– Service Capability APIs

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.Generic MessagingCapability to send, store, and receive message.Charging (New in 3.X)Capability to update or monitor a balance and generate CDRs for postpaid and prepaid subscribers.

MobilityCapability to access Mobility information, e.g. User Location, Status.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.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. Presence & Availability Management, PAMCapability of getting presence information, subscriber availability, and also registration of presence reports.Directory/User Profile Capability to access subscriber information. In general to access any information held in database.

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.

Page 23: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

23

Overview of Parlay/OSA APIsOverview of Parlay/OSA APIs– Parlay IDLs

Page 24: An Overview of CORBA and Parlay/OSA APIs ZTE (USA)

24

Overview of Parlay/OSA APIsOverview of Parlay/OSA APIs– APIs In Java Mapping