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
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο