Realization of a TMN Java Management API

hedgebornabaloneSoftware and s/w Development

Dec 2, 2013 (3 years and 6 months ago)

65 views

2000. 5. 10

발표자

:
통신시스템연구실

최재원

jwchoi@cdcs.changwon.ac.kr

Network Operations and Management Symposium ‘98 (p.412 ~ p.421)

Christian Hubert (Hubert@ese
-
metz.fr)

Birgit Frohnhoff (Frohnhoff@tzd.telekom.de)

Gerd Aschemann (Aschemann@Informatik.TU
-
Darmstadt.de)

Realization of a TMN Java Management API

2



Introduction



General Requirements for a TMN
-
Platform



Concepts for the Implementation of a Java API



Comparison of the Java API with other APIs



Inheritance Tree for the Java
-
ASN.1 classes



Representation of an ASN.1
-
Value in Java
-
ASN.1



Example for the usage of the Java
-
ASN.1 class “SEQUENCE”



Encoding of ASN.1 values with Java
-
ASN.1



Integration in an existing TMN
-
Environment



Customer Network Management scenario



Conclusion

Contents

3



Java language



is similar to the well
-
known C++ language



excludes concepts like pointers and manually memory management



Java
-
ASN.1 API



a novel approach which realizes the objet oriented representation of ASN.1


values completely in Java



the main difference of existing C++ wrapper classes : does not encapsulate


existing native C code



ASN.1 value representations without referencing the corresponding type


definitions (metadata) during runtime

Introduction

4

General Requirements for a TMN
-
Platform

5



Java



an optimal solution for small applications



feasible to perform non time critical operations on a separate machine



well suited for the realization of an application for customer network management



Communication Services



the most specific and important component for TMN platform



via Q3 or X
-
interfaces that conform to Open Systems Interconnection(OSI)



Abstract Syntax Notation One (ASN.1)



values described in ASN.1 have to be exchanged between management applications


based on OSI conformance



further enhancements of the Java libraries are required

General Requirements for a TMN
-
Platform (cont’d)

6

Concepts for the Implementation of a Java API

7



Java Wrapper Class



native method (Java method) call



one has to take care of availability and security



Pure Java API



in order to avoid the restriction of native methods



the new Java “Swing”
-
library and automatic translation tools



the need to integrate Java with these protocols and the required processing power



Java Client Application



most of the operations will be performed in the Java environment



only for some complex methods native routines will be called on the server



the realization of Java
-
ASN.1 API is mainly based on a the client/server model

Concepts for the Implementation of a Java API (cont’d)

8

Comparison of the Java API with other APIs

9



XOM



the terms “object”, “package”, and “attributed” are extensively used



implemented in ANSI.C


complex manual pointer handling



ASN.1++ (and AIDA)



every XOM structure is encapsulated by the objects of the C++ wrapper classes



a basic understanding of XOM is still require



Java
-
ASN.1



pure Java and client/server approach are used for the prototype implementation



Encoding and Decoding of ASN.1 values



every ASN.1 API requires a database with the ASN.1 type(metadata) information



give an optional access to the required metadata information

Comparison of the Java API with other APIs (cont’d)

10

Inheritance Tree for the Java
-
ASN.1 classes

11



G
eneric Superclass



represents common functionalities of ASN.1 data types
-

like encoding and decoding



a lot of virtual methods are defined in this generic superclass, which can be


specialized individually for each type in the common classes



Common Classes



each ASN.1 type is represented by common Java object class



complex representation of values is realized by encapsulating contained elements



all required functionalities dealing with an ASN.1 value representation can be


invoked directly via methods which are defined in the corresponding common class



Optional Individual Classes



individual objet classes might be generated for each module specific ASN.1 type



the common class functionality will be enhanced with individual convenience


methods

Inheritance Tree for the Java
-
ASN.1 classes (cont’d)

12

Representation of an ASN.1
-
Value in Java
-
ASN.1

13



R
epresentation



each instance of an individual class does contain a mandatory type descriptor object,


which stores additional information about the ASN.1 type definition



Two Different Approaches



by accessing the contained type descriptor object



informationless approach
, if a null pointer will be returned


no additional type information will be required



optional metadata approach


type information is available during runtime



type specific information has to be coded in the application anyway



the metadata approach is only an optional feature



if the metadata approach is supported by an Java
-
ASN.1 API, it has to be provided in


parallel to the informationless approach

Representation of an ASN.1
-
Value in Java
-
ASN.1 (cont’d)

14

Example for the usage of the Java
-
ASN.1 class “SEQUENCE”

M
Y
E
XAMPLE

::= SEQUENCE {


I

INTEGER,


G

G
RAPHIC
S
TRING
,


S

SET OF INTEGER }

15



Java
-
ASN.1 classes



Java type V
ECTOR

which is used for the contained object
VALUE



this class is able to store one or more classes in any order



Keyword “optional”



an omitted optional component should not be represented via a Java null reference



the member
PRESENT

was defined



TURE : this element represents a present optional type or even a mandatory component



FALSE : an optional component has been omitted



an object could be temporary set to “non present” without deleting its internal


value representation

Example for the usage of the Java
-
ASN.1 class “SEQUENCE” (cont’d)

16

Encoding of ASN.1 values with Java
-
ASN.1

17



ASN.1 type information



split up the representation and the encoding of an ASN.1 value two separate


functional components in order to omit the type information partially



ASN.1
-
client


all kinds of value representations well be handled by Java objects



ASN.1
-
server


the functional component is responsible for encoding the ASN.1 values



this client/server approach does support migration of existing TMN APIs into Java



type information has to be transmitted between the ASN.1
-
client and ASN.1
-
server



type individual class will simply contain a unique identifier that can be transmitted


together with its value between client and server

Encoding of ASN.1 values with Java
-
ASN.1 (cont’d)

18

Integration in an existing TMN
-
Environment

19



ASN.1 Interchange Format (AIF)



in order to provide translation of the values between client and server



no type reference required



can be integrated into an existing ASN.1 API with only a few additional lines of code



remote method invocation (RMI) or object serialization might be applied



AIF adaptation



Common Management Information Service (CMIS) interface is completely based on


a ASN.1 definition


easy



the platform client is programmed in pure Java and does not contain any native code



the server part is implemented in a vendor specific manner

Integration in an existing TMN
-
Environment (cont’d)

20

Customer Network Management scenario

21



Customer Network Management (CNM)



by using Java in conjunction with the proposed Java
-
ASN.1 API a network provider


will be able to offer functionally more complex CNM applications to the customer


without the necessity of any investment in platforms on the customer side



the network provider is able to integrate a CNM
-
application into the standard


management platform due to the usage of CMIP



the customer will be able to send TMN conform protocol data units to the network


provider without the requirement of maintaining a full seven layer OSI stack itself



all software that the customer will need can be downloaded from an Internet server



the exchange of a management information will be done with aid of AIF which will


be transmitted over TCP/IP

Customer Network Management scenario (cont’d)

22



Conclusion



Java
-
ASN.1 API



client/server approach




Future Work



evaluating the new Java
-
ASN.1 API by a prototype application in the area of


customer network management

Conclusion