Application Development to Convert Heterogeneous Information into PQDIF (Power Quality Data Interchange Format)
Abstract
In this paper is presented a web-based application development, used to convert heterogeneous informationprovided by MEG40 (power acquisition equipment) into standard formats as PQDIF (Power Quality DataInterchange Format - IEEE® Std 1159.3-2003 standard). The web-based solution proposed is able toconvert huge volume of heterogeneous information into standard formats in order to be easily processed.
Full text
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. DOI: 10.5121/ijcsit.2018.10401 1 A PPLICATION D EVELOPMENT T O C ONVERT H ETEROGENEOUS I NFORMATION I NTO PQDIF (P OWER Q UALITY D ATA I NTERCHANGE F ORMAT ) Claudiu Popirlan 1 , Gabriel Stoian 1 , Leonardo Geo Manescu 2 , Denisa Rusinaru 2 , Marian Ciontu 2 , Gabriel Cosmin Buzatu 2 , Miron Alba 3 , Adrian Cojoaca 3 1 Computer Science Department & INCESA Research Hub for Applied Sciences University of Craiova, Romania. 2 Faculty of Electrical Engineering & INCESA Research Hub for Applied Sciences University of Craiova, Romania. 3 Oltenia Distribution SA, Craiova, Romania. A BSTRACT In this paper is presented a web-based application development, used to convert heterogeneous information provided by MEG40 (power acquisition equipment) into standard formats as PQDIF (Power Quality Data Interchange Format - IEEE® Std 1159.3-2003 standard). The web-based solution proposed is able to convert huge volume of heterogeneous information into standard formats in order to be easily processed. K EYWORDS Web-Based Solution, Java Enterprise Application, Power Quality, Data Conversion 1. I NTRODUCTION The energy quality data management system is able to provide a method that can take measurements from the point of interest and transform them into a standard representation format. The representation obtained does not depend on the equipment used to make measurements. The data management system has a friendly interface and provides easy access to collected data for existing power quality analysis applications (such as PQView, see [9], [10]). The architecture of the energy quality management system, presented in detail in our previous papers (see [4], [5]) is illustrated in Figure 1. The locations within the electrical distribution networks are named Points of Interest (PoI) and specific equipment used for electrical quantities acquisition is installed in these locations. If the points of interest are considered parts of an energy quality assessment system process, then the equipment quantify the energy quality. The data obtained from this equipment may refer to: energy quality, post-incident analysis or simple monitoring of some electrical quantities. Depending on the installed purchase equipment, data can be collected from them either manually or automatically ready for the next step: loading into SYMPQD. The web application named "PQDM Web App" is used by the users to upload data. This application is used to reduce the risk of errors because it provides a user friendly graphical interface that uses methods to characterize data sets before they are actually loaded into the system. The application "PQDM Web App" also organize the resulting files according to the needs of their users.
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. 2 PQ Data Collection Internet PoI PoI PoI PoI PoI PoI PQDM Web Application Power Quality Analysis & Report Figure1. The system architecture of the energy quality management One of the biggest advantage of "PQDM WebApp" is its user interface, all the details about data process, internalize and organize are hidden. Due its design the application can be easily expanded when a new acquisition device is supposed to be supported by SYMPQD. Thus, any such equipment will be analysed to determine its particularities and will then be integrated into SYMPQD by implementing a plugin capable of processing the data collected from it. In this way, the system becomes easy to extend and easy to maintain. The format used for representing collected data is PQDIF (see [1], [2], [3]) and so this is an important advantage of the application SYMPQD. PQDIF (Power Quality Data Interchange Format) is a binary file format defined and standardized by the "IEEE 1159.3 PQDIF Task Force" and is the most appropriate way to transfer energy quality data between different software applications of interest. Also, PQDIF is adopted by the overwhelming majority of energy quality analysis and reporting systems, such as PQView (see [9], [10]). 2. W EB - BASED S OLUTION I MPLEMENTATION TECHNOLOGIES From the point of view of implementation, technologies have followed the natural steps of any software development. Matlab software [4] was first use to perform experiments, to take measurements and to process collected data. This software allowed us to use its tools for data structure validation in our energy system. Later on we opted for a client-server solution where we preferred Java-based technologies [15], but we continued to use Matlab tools for tests and validation for the resulting files. Using Java, we have benefited from all the benefits of Oracle J2EE [15] that provide robustness, platform independence, efficiency and the ability to use a variety of application servers: Oracle GlassFish [17], Apache Tomcat [16], Eclipse Jetty [18], etc. The resulting files of our application PQDM WebApp are stored in the PQDC (Power Quality Data Collection) location. Smaller beneficiaries of the application will choose to store their files in the same location as the application, while large beneficiaries with important IT resources will turn to the distributed version. So our application is suitable for a distributed solution. No matter
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. 3 the chosen storage solution, the application PQDC offers a unique place where all information on the quality of electricity can be obtained by specialized analysis and reporting software packages. Because we use PQDIF as the format for the resulting files, we offer our customers the possibility to use a wide range of software solutions for energy quality analysis. Also, by implementing the architecture presented in Figure 1, we significantly reduce the risk of human errors in the processing and organization of collected data, and offer a modern, flexible, scalable, portable and distributed solution. Implementation technologies and development tools are open, which means we have minimal costs. 2.1. Technical description of PQDM Web App At the current stage of the development, the PQDM-WebApp application is developed using Java technologies (https://www.oracle.com/java/index.html), using the NetBeans (https://netbeans.org) development environment (IDE), and is intended to run in the Web. The server and the client components of PQDM-WebApp are working collectively to transcend information from the technical level to a level intended for a much wider audience, and due to these functionalities, our application is a web application. In order to achieve the proposed goal, we chooses java technology, knowing the advantages offered by Oracle J2EE (http://www.oracle.com): robustness and efficiency, platform independence and the possibility to use a wide range of server applications like Apache Tomcat [16]. The architecture of our application consists in three-tier (presentation tier, logic domain tier and data storage tier) which allows us to easily modify the application by adding other specific tier, this way we do not have to rework on the entire application. This tier structure architecture of our web application is presented in Figure 2.
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. 4 Figure 2. The PQDM-WebApp architecture The functionality and the components of the three-tire client-server software architecture are determinate by the technologies used in software development and they can be described as following: 1. Presentation tier: The topmost level application is the user interface. The main functionality of the interface is to translate tasks and results so that the user can understand and access directly (such as a web page, or an operating system's GUI). For our application, the presentation tire is composed of web browsers: Internet Explorer, Safari, Google Chrome, etc. 2. Application tier: This layer coordinates the application, processes commands, makes logical decisions and evaluations, and performs calculations. It also moves and processes data between the two surrounding layers. By choosing to use java technology, a suited environment to run the code is Apache Tomcat, which is an open-source Java Servlet Container.
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. 5 3. Data tier: This tire allows the user to store and retrieved data from a database or file system. After the information is retrieved, it is passed back to the application tier for processing, and then, eventually, the results are return to the user. A short description in a deductive way of the terms that are further used, is given. • Abstract data type is a data type defined by the operations that can be applied on them, and are implemented through a class, where operations are called methods or functions. An object is an instance of a class and represents what actually is running on a computer. A container is an object which contains multiple objects. • Apache Tomcat server operates according to the principle of request-response model. A request is send when from the client level is demanded a web page that exists in the context of the server. By executing the corresponding Java Servlet class, a response is generated, which consists in a HTML document (HyperText Markup Language). • Java Virtual Machine is created when the Apache Tomcat server is started and destroyed when exited. Its main purpose is to enable a computer to run a Java program. • Inside the Java Virtual Machine is running a single server which represents the entire Tomcat instance. Its purpose is to manage the life cycle of its contained services. A server can contain one or more Services, where each Service represents the set of request processing components within Tomcat. • The service object is a structural element that combines one or more Connector components and a single Catalina servlet Engine element. Our application are use two connectors, that are determinate by the dynamic nature of the application and by the Tomcat configuration to work in conjunction mode with a separate HTTP web server: • The HTTP/1.1 Connector which manages the communication between the client and the web server through the HTTP protocol (HyperText Transfer Protocol), which listen on port 8080. If a HTTP request is needed to be routed to the Tomcat container for processing, the web server will communicate this request using the AJP protocol (Apache JServer Protocol), which is a binary protocol more efficient than the text-based HTTP. • The AJP/1.3 Connector, that is placed inside the service, is listening on port 8009 for requests, and translates them into a request object which Catalina engine can process. Responsible for requests’ processing and response’s generation are the Catalina container’s components: engine, virtual host and context. The Host component is a container for web application or context. It isdefined by two fundamental concepts: (1) The domain name sent by the client to the browser (http://localhost:8084/PQDMWebApp); (2) The application base name: folder containing the context that will be deployed to this host. The web application PQDM-WebApp (the context) share the same location as the application specific servlet, JSP (JavaServer Page) and their associated files. A Wrapper object is a child of the context container and represents an individual servlet (or a JSP file converted to servlet). For a wrapper we identify three fundamental methods:
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. 6 init(), service() and destroy(). These methods are implemented by every servlet and they are used by the server at specific times. The course of action of these three methods are in the following order: 1. During initialization stage of the servlet life cycle, the web container initializes the servlet instance by calling the init() method, passing an object implementing the javax.servlet.ServletConfig (https://docs.oracle.com) interface. This configuration object allows the servlet to access name-value initialization parameters from the web application. 2. After initialization, the servlet instance can service client request. Every request is processed in a separate thread. For each request, the service() method is called by the servlet web container. The service() method determines the kind of request being made and dispatches it to the appropriate methods: doGet(), doPost(), doPut(), doDelete(), and so on; according to the HTTP request. 3. Finally, the web container calls the destroy() method and it takes the servlet out of service. The destroy() method, like init(), is called only once in the lifecycle of a servlet. A thread represents the actual execution of a servlet class deployed by the processor to generate a response to the request. During the class execution, in order to generate the response object, it has to interact with the data tire passing a set of SQL (Structured Query Language) queries to the Database Management System (DBMS). The access of DBMS is realized through an ODBC (Open Database Connectivity). In our application we use an open-source relational database management system, MySQL (http://www.oracle.com), as a DBMS to store all data that are collected from the power analyser’s equipment. 2.2. PQDM-Web App in running mode. Utilisation The web application PQDM-WebApp can be easily accessed by the user only by entering in the browser the address of the server application provided by the network administrator.In order to exemplify, we used a local machine for the server: http://localhost:8080/PQDM-WebApp/ The metadata are introduced in the application interface by the user (Figure 3), who also select corresponding file for the selected power equipment. The files from the selected drive and the user’s metadata are sent to the application PQDM-WebApp which returns the PQDIF (http://grouper.ieee.org/groups/1159/3/).
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. 7 Figure 3. PQDM-WebApp User Interface The user fills all necessary data in the application interface so that PQDM-WebApp generates the PQDIF file. In the next section the details about information needed to be completed in the interface will be presented. 2.3. Case Study An analysis was carried out for a MEG40 device (http://www.e-mega.cz/meg-40) together with the following user input information’s: Version Info, File Name, Creation, Subject, Author, Application, Copyright, Trademark, Notes, Language, Owner. Figure 4. PQDM-WebApp utilisation Figure 5. PQDM-WebApp utilisation
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. 8 Figure 6. PQDM-WebApp utilisation Figure 7. PQDM-WebApp utilisation
International Journal of Computer Science & Information Technology (IJCSIT) Vol 10, No 4, August 2018. 9 Figure 8. PQDM-WebApp utilisation Figure 9. PQDM-WebApp – PQDIF success file creation