Xacs system based on the Java language, the use of the mainstream open source technology framework, in the module design to follow the principle of low-coupling, high cohesion, to achieve general application of simple and rapid development, easy to use; Easy to integrate, easy to deploy in large-scale applications of complex environments , a good modular design can meet the convenience and other business systems or work single pipe system integration, expand the North interface function.
The technologies and frameworks used by Xacs are:
1. mysql Database
The MySQL database is integrated in the Xacs to control MySQL data starting and stopping with the system's start-stop, without the need to install the MySQL database system separately.
In the actual application, you can also choose other database systems such as PostgreSQL, Oracle, etc., because hibernate is used in the system, it is convenient to modify the configuration file and import the necessary database driver, can realize the switchover of the database system.
2. Spring Framework
Take advantage of the IOC container provided by spring, object spring spring
Spring can reduce the difficulty of using various frameworks, Spring provides a variety of excellent frameworks, such as struts,hibernate , Hessian , Quartz ) and other direct support.
In Xacs, the spring's IOC feature encapsulates the Hibernate framework, the message processing interface, and the business Service interface, which is used by spring to manage the application instances in the system. and through the automatic injection mechanism, a lot of code to reduce the amount.
3. Database ORM Framework Hibernate
Hibernate is an open-source Object- relational mapping framework that provides a very lightweight object encapsulation of JDBC, allowing Java Programmers You can use object programming thinking to manipulate the database at will .
By using Hibernate to support multi-database features, the system database can be replaced by modifying the configuration file in Xacs.
4. Message Bus JMS technology ActiveMQ
ActiveMQ is a Apache The most popular and powerful open source messaging bus. ActiveMQ can easily be embedded into a system that uses Spring .
Using the mechanism of message bus in xacs , it is advantageous to deploy the system on multiple servers in large-scale application, and to interact the data in Distributed System application by message bus.
5. Web Framework Wicket
Apache Wicket , which is often referred to as wicket , she is a lightweight component-based, event-driven Java Web application Framework. It makes developing Web applications easy and easy. The Wicket utilizes a POJO data Beans component To enable it to be combined with any persistence layer technology.
Wicket main features:
A) the Wicket conforms to the MVC Design principle and separates the view layer from the control layer;
b) the basic object-oriented model design;
c) Automatic management of the object of the form of sincerity;
d) very high development efficiency;
e) The learning curve is very low
6. Web Container Jetty
Xacs integrates the Open source Java Web container, and uses the jetty server as a component, it is convenient to implement the management of the server, and achieve the rapid start-up stop in the consolidation situation.
Because Xacs conforms to the standard Web schema on Web applications, it can also be easily ported to Java, such as Tomcat,jboss.
Comparison of Xacs and Openacs
Xacs in the implementation of the TR069 protocol reference to the implementation of Openacs, after studying the OPENACS system source code for Openacs improvement, and from a simple and easy-to-use point of view re-design of the user interface, the following from a number of angles to do a comparison.
|
Xacs |
Openacs |
Comparison |
Web capacity |
Jetty |
Jboss |
JBoss belongs to the heavy-weight Java EE container and is also a container and server for managing EJBs, and because of the EJB in Openacs, the EJB container must be chosen, but this makes it lack portability. Jetty containers are lightweight web containers that are easy to use and fast to start. And Xacs can also be ported to other web containers. |
Data persistence |
Hibernate |
Ejb |
An entity bean is used in openacs to implement the O/R mapping. In Xacs, the hiberante is used. The goal of the Hibernate framework is to get developers out of tedious data persistence programs and improve development efficiency. |
Web Framework |
Wicket |
Richfaces, Facelets |
Richfaces, Facelets is a user interface component suite for JSF, which is less widely used in China and is a more heavyweight development technology, with higher learning and development difficulties and less efficiency. Wicket is the development of fast, easy to get started, through the MVC template separation features, it is easy to first implement the interface demo, but also easier to debug the system development. |
Database |
Mysql |
Mysql |
The MySQL database of Openacs is a detached database, and if porting to another database requires re-modifying the database design and additional debugging is required. Xacs is an integrated MySQL database, of course, you can use an external database, and can also be easily implemented to replace the database. |
Multi-system support |
Systems supported by other JVMs, such as windows/linux/ |
Linux |
Openacs can only be run under Linux, at least for the current Linux version, moving to other systems requires additional development. While the Xacs code is out of the system, the system can be run on multiple system platforms, except that the database needs to be adjusted to different systems. |
Message bus |
ActiveMQ |
JBoss MQ |
Openacs uses JBoss's own message bus, which is weaker in performance than ACTIVEMQ, and is not as ACTIVEMQ in multi-lingual support, extensibility, and ease of use. |
In addition, from a development perspective, XACS can develop the entire system through an Eclipse project, while the development of Openacs distinguishes EJB from web development, and many JBoss configuration files need to be modified before they can be applied to the JBoss container. Xacs supports the ant script to generate the system compression package directly, which can be changed to the daily build script. Although Openacs supports users to write their own JS scripts as test cases for testing CPE, this approach is rarely used by testers in real-world situations, and most testers are accustomed to providing a way to test the operation interface.
Xacs Performance Index
Test server hardware: cpu:i5-3230; Memory: 8G
In the default escalation period of 1800 seconds (30 minutes), the number of simulated escalation device 10000, the processing rate of about 5.6 per second, through the JVISUALVM monitoring stack allocation and recovery of basic stability.
XACS System Development Technology Introduction