Java client in telecommunications network tube (1)
1 Overview
Java, especially J2EE technology, the application in the network management system has been common. Many companies build their new generation of network management products on top of the J2EE technology platform in order to achieve a distributed architecture of large network management systems. The general enterprise or telecommunications network management system covers the foundation module of FCAPS, and on this basis, builds business modules for operators, such as end-to-end monitoring and management, based on the alarm processing, workflow, etc. of business rules. EJB is ideal for implementing such modules, and many companies' products have been doing this. However, this article is not discussed not to apply the application of the NMS server side, but everyone discusses relatively small client applications.
Java desktop technology has been criticized. And after the J2EE is selected for the rear end of the NMS, what should the client choose? Is it a simple smart web technology or choose a complex powerful Swing technology?
2.Web client
Web client technology based on B / S structure is now almost the mainstream of J2EE applications. Web-based application system has a lot of advantages, such as zero installation, less resources, simple technology. In addition to excellent development tools such as Struts, you can quickly design reasonable and easy maintenance program interfaces.
Since B / S is essentially a loose, based on the structure of the request / response mechanism, its disadvantages are also obvious: for the active rendering of backend information, complex interactive graphical interface, real-time monitoring charts, etc., which are more difficult. Consider the following situations of the telecommunications network management:
· Real-time presence of alarms, event information;
· Reality presents performance information of certain resources;
· Real-time topology map of the entire managed network;
· Real-time panel rack chart of a single device;
· The client needs to load a lot of data when the client starts;
Due to certain limitations of the client based on the B / S structure, it is difficult to directly act as an interface of the entire telecommunications network management system, so it often appears in some small enterprise network management, facing the equipment-oriented EMS system, or as the entire Supplement of the interface system, such as a remote alarm query, billing information query, etc. One of the simplest examples is that we are using a micro-web-based embedded network management in our common ADSL Modem or small routers (such as you can directly log in to ADSL MODEM directly through address http://192.168.1.1) .
3.swing client
Although most J2EE applications are based on web, SWING is indeed a client development package for Java standards. Everyone has a lot of comments on swing. But Swing desktop applications (such as JBuilder and NetBeans) do not much. Caused, it is not so popular to cause swings:
· Developing Swing applications take time. Making a Swing interface requires a lot of code. JBuilder and other tools can do some of the code automatically, but it is not only possible to efficient with traditional development tools such as Delphi.
· Master Swing is more difficult. Swing has to adopt Layout, LookandFeel, non-thread safety characteristics for cross-platform and performance. This makes it a bit high for beginners to learn Swing thresholds. You need to carefully handle a lot of underlying details, understand a lot of MVC concepts and design patterns.
· The design is biased. Swing has unparalleled extensibility and flexibility. But complex APIs make even some simple routine problems are not so easy to find answers (can you use progress strip control correctly?). Swing is a generic toolkit, which uses many modern UI theories: factory model, renderer, MVC, event processing, internationalization, etc. But for a large-scale regular interface, Swing's design is really Overkill.
· Lack of Native features. So many customers feel that there are some weirds in display and use, in summary, and the local program interface, such as speed, memory, drag, intersection, font or even mouse wheel, etc. have certain differences. .
However, the interface using Swing to make a telecommunications network management system is still relatively appropriate. Swing is a standard client development package for Java, which can be easily interactive with the background J2EE server while providing rich interaction capabilities, real-time alarm / event information notifications, complex network topological map presence, etc.
SWT is another attractive client technology. SWT is a graphical user interface tool developed by IBM for its Eclipse integration development environment. SWT can be used outside the Eclipse environment and provide direct access to the operating system local graphical user interface. Therefore, SWT-based Java applications have a local graphical user interface and can be integrated with local applications and components. The problem of SWT is that it is not the standard technology of Java, and it is still in development, and the variable is large. For investment in telecommunications network management systems, it seems to have a relatively large risk using SWT.
4. Several difficulties in the client
Our premise is that you have decided to use J2EE and SWING technology to build your network management system. For the client, there are still some technical difficulties to consider at this time.
4.1 Network Topology
The network topology map should be the core of the telecommunications network management client. The network is a managed object of the network management system. The network management system naturally needs to present the topology, configuration information, and operational status of the network in the most intuitive way. Various functions of the client generally expands as the core of the network topology, such as providing various functional portions of the FCAPS module through menus, mouse, etc.. In the face of complex network structures and a large number of network operations, it is undoubtedly the most intuitive and convenient way with the graphical interface to present and operate the network.
Use swing to realize the rendering of the network topology is not a relaxed task. Especially in the face of complex and large telecommunications networks, how to efficiently, intuitive rendering is numerous, kind, and have a variety of equipment, connection, and various alarm / event information, indeed a difficult point. What we have to consider is not only Java and Swing technologies, while mastering some technologies of graphics, as well as a large number of telecommunications network knowledge.
Solving the problem: First, develop, second is to use third-party components products. Powerful companies will consider investing human resources to develop their own Swing network topology components to save long-term fees for their own network management products. However, more companies still consider using third-party components to realize the rendering of network topology, reduce energy costs on GUI, focusing on the design and development of network management business modules. After all, the task of the network management is network management, not graphic image processing.
4.2 Device Panel
The network is composed of network devices and their various physical / logical connections. The user cares about the health of each device node in the network. The network management interface needs to provide panel diagram / rack chart of each device. The device panel diagram can disclose the external physical and logical structure of the device, while presenting various alarms, status information, user-useful understanding of the operation and configuration status of the device.
Swing to present the difficulties facing the device panel map and the network topology map. Slightly different, physical / logical connections in the device panel map are relatively small, but the type, style, and a wide variety of devices, how to reduce the code development workload is a problem to be carefully considered. After all, the network management system needs to continue to increase more the type of manifold, but the development cannot be endless.
Solution can consider developing or purchasing third-party components yourself.
4.3 Recomable backend data in real time
Simply, there are two cases of data: the client actively obtains data from the back end; the backend actively notifies the client. If the backend system module exists in EJB, you can create and use the EJB service module by normal remote call. The rest end runs such as how to actively, timely "push" to the client, need to be carefully studied. In particular, the following circumstances should be considered:
· When the number of clients is large;
· When the client is changing; • The information that needs to be received each client is different (for example due to the difference between the role);
There are two options that can be considered: First, the way to use EJB callback clients; the other is to use JMS messaging notification.
4.4 Load Startup Data
Because the network management system is very complicated, the client generally needs to load a large amount of data in initialization at startup. For example, load user personalized information, network topology data, alarm information, device information, etc. For a network management system with 1000 telecommunications equipment, its physical objects (such as NE, frame, frame, board, port, time slot, etc.) will be much. Coupled with various physical connections (fiber, cable, circuit, etc.) and logical connections (various virtual circuits, various protocol links, connection, channels, routes, etc.) will be very large. In addition, the client also needs to load the alarm, status, permissions, etc. of all managed objects. Many large network management systems are available for a few minutes, while requiring machines to have a large display and server-like CPU, memory.
How to solve the client's quick start, quickly load data and initialize a problem in network management development. Simplify data structures and implement on-demand-loads can effectively alleviate such issues.
5. Conclusion
This paper briefly explores the application of Java client in telecommunication network management system and its face. Subsequent articles will discuss in-depth discussion on some technical difficulties proposed herein. Next time we will discuss how to use iLOG JTGO and Serva's TWAVER component products to design and develop the rack board.
references:
[1] Telecom Network Management with
Enterprise
Javabeans Technology, A Technical White Paper. Sun Microsystems, Inc. 2001