I S S U E THE BUCHAREST ACADEMY OF ECONOMIC STUDIES 5

Database Systems Journal

ISSN: 2069 – 3230 Volume II (September 2011)

Journal edited by Economic Informatics Department

Database Systems Journal vol. II, no. 3/2011 1

Database Systems Journal BOARD Director Prof. Ion LUNGU, PhD - Academy of Economic Studies, Bucharest, Romania

Editors-in-Chief Prof. Adela Bara, PhD - Academy of Economic Studies, Bucharest, Romania Prof. Marinela Mircea, PhD- Academy of Economic Studies, Bucharest, Romania

Secretaries Assist. Iuliana Botha - Academy of Economic Studies, Bucharest, Romania Assist. Anda Velicanu Academy of Economic Studies, Bucharest, Romania

Editorial Board Prof Ioan Andone, A. I. Cuza University, Iasi, Romania Prof Emil Burtescu, University of Pitesti, Pitesti, Romania Joshua Cooper, PhD, Hildebrand Technology Ltd., UK Prof Marian Dardala, Academy of Economic Studies, Bucharest, Romania Prof. Dorel Dusmanescu, Petrol and Gas University, Ploiesti, Romania Prof Marin Fotache, A. I. Cuza University Iasi, Romania Dan Garlasu, PhD, Oracle Romania Prof Marius Guran, Polytehnic University, Bucharest, Romania Prof. Mihaela I. Muntean, West University, Timisoara, Romania Prof. Stefan Nithchi, Babes-Bolyai University, Cluj-Napoca, Romania Prof. Corina Paraschiv, University of Paris Descartes, Paris, France Davian Popescu, PhD., Milan, Italy Prof Gheorghe Sabau, Academy of Economic Studies, Bucharest, Romania Prof Nazaraf Shah, Coventry University, Coventry, UK Prof Ion Smeureanu, Academy of Economic Studies, Bucharest, Romania Prof. Traian Surcel, Academy of Economic Studies, Bucharest, Romania Prof Ilie Tamas, Academy of Economic Studies, Bucharest, Romania Silviu Teodoru, PhD, Oracle Romania Prof Dumitru Todoroi, Academy of Economic Studies, Chisinau, Republic of Moldova Prof. Manole Velicanu, PhD - Academy of Economic Studies, Bucharest, Romania Prof Robert Wrembel, University of Technology, Poznań, Poland

Contact Calea Dorobanţilor, no. 15-17, room 2017, Bucharest, Romania Web: http://dbjournal.ro E-mail: [email protected]

2 Database Systems Journal vol. II, no. 3/2011

Contents:

MySQL databases as part of the Online Business, using a platform based on Linux ...... 3

Ion-Sorin STROE...... 3

Grid Computing Technology ...... 13

Georgiana MARIN...... 13

Business Process Management Solutions Performance Tuning and Configuration...... 23

Alexandra FLOREA ...... 23

Administration Interface in an e-Testing Software Platform...... 33

Diana BUTUCEA ...... 33

Data Acquisition and Storage in Engineering Systems ...... 43

Cezar Liviu CERVINSCHI...... 43

The development of an electronic business based on the MySQL technology ...... 53

Andreea IONESCU, Andreea ISTOC...... 53

Database Systems Journal vol. II, no. 3/2011 3

MySQL databases as part of the Online Business, using a platform based on Linux

Ion-Sorin STROE Romanian Academy of Economic Studies Romana Sq, no 6, 1st district, Bucharest, Romania Email: [email protected]

The Internet is a business development environment that has major advantages over traditional environment. From a financial standpoint, the initial investment is much reduced and, as yield, the chances of success are considerably higher. Developing an online business also depends on the manager’s ability to use the best solutions, sustainable on a long term. The current trend is to decrease the costs for the technical platform by adopting open-source license products. Such platform is based on a Linux operating system and a database system based on MySQL product. This article aims to answer two basic questions: “A platform based on Linux and MySQL can handle the demands of an online business?” and “Adopting such a solution has the effect of increasing profitability?” Keywords: Online Business, Profitability, Database Systems, Technical Platform, Linux, Oracle, MySQL, Internet

Introduction automatically in favor of business. 1Th e goal of any physical or legal Among the most profitable companies in the entity is to be efficient, meaning long- world top, compiled by Fortune Magazine in term profitability. Profitability is the most 2010 [2], Google (activity carried out important defining element; there is no exclusively online) is ranked 19. This shows economical reason for a business to that the online environment is ideal for continue its activity as long as the costs growing business. Moreover, there is an are constantly higher than the income. international support to this: preoccupation This main feature is not exclusive, in the field (there is a strong tendency to meaning that one must take into support online environment by all major consideration finding a competitive international companies), the legislative model that follows all the rules and stimulating base, the context for research, eventually anticipates them. special funds (including European funds). Growth and maintaining profitability is achieved through continuous The element with a strong impact in optimization of the factors that make up business stability is the cost given by the business. Thus, the online component business needs: human needs, technical is used to increase performance, whether needs, current expenses, miscellaneous by applying it at the same time with a costs, etc. When we speak of optimization classical business, whether applied as a the purpose is reducing costs for sub- standalone item. assemblies, meaning reducing the total cost. Comparing two businesses, a classical one and an online one, the second may The optimization can only occur if actual have a higher success rate [1], due to how estate of the online business is known, it can expand: a large number of potential meaning if an internal audit that addresses to clients readily available at low cost, high system classification and finding the financial return which leads to vulnerabilities is realized, such as those performances for clients and nonperforming elements that can be

4 MySQL databases as part of the Online Business, using a platform based on Linux

improved. Knowledge will be dynamic resources are limited and shared. This because the business has dynamic solution is for online businesses that have elements that require repetitive analysis minimal sites, the main advantage being the and cycles of knowledge in a certain cost. The major disadvantage is that the period of time. One example refers to the processing resources are limited and used hardware part; the processing in common. So, there is the possibility that requirements should be known (the traffic a particular site uses all available resources, that is recorded on the site) in order to the other ones becoming inaccessible. meet them immediately, without users One of the biggest companies that noticing a decrease in the quality of the offer such a service is HostGator provided service. (http://www.hostgator.com) and according to what they produce, This document wants to provide ways to customers have unlimited storage reduce the cost of the technical elements space and bandwidth at a modest in an online business, in this case the monthly price. At first analysis, the ones with a database system by adopting offer is attractive, but if studied, it qualitative, efficient, secure and grounded you will be noticed that there are solutions. Thus, it is proposed a technical limitations such as the number of solution based on a Linux operating files (existing nodes) - even if system and MySQL database. This unlimited data is stored, dividing proposal aims to increase profitability by them into documents should not reducing the costs with the technical exceed maximum number of nodes platform. allowed (example: 10 files can be stored, each having 200GB, but not 2. Technical Platform 1000 files that cumulatively do not The platform is basic for an online exceed 1GB ); processing resources - business, integrating all those elements an insignificant percentage of that participate directly or indirectly in available memory can be used and this activity. One of these factors is the the processor cannot be used over a technical part and includes hardware and short period of time. If those software ensembles with which the limitations are exceeded, the business is visible on the Internet. Thus, company reserves the right to the technical platform has the physical suspend the hosted account. server, the operating system (together - Hosting on a Virtual Personal Server with adjacent elements) and the main (VirtualPrivateServer-VPS): the software product – the site itself. server resources are shared, each customer has processing capabilities 2.1. Hardware Platform provided with the possibility of using The visibility on the Internet of the all available resources, if not used by software product, also called web site, is other customers. The advantage of provided by specialized computer - this type of hosting is that it ensures servers, which are designed to offer bi- the minimum necessary for each directional support between the client and entity, the solution being used by the site. low complexity sites. In qualitative terms, meaning physical As with shared hosting solutions, location of the hardware platform in a some limitations appear, in terms of specialized environment, there are the processing data that is related to following solutions: Central Processing Unit (CPU) - Shared hosting: a hosting a usage. If on the disk space and number of sites; the processing memory there is a well-defined

Database Systems Journal vol. II, no. 3/2011 5

share, the processor can cause - Cloud Computing Hosting: this problems because a minimum version is the best choice in terms of insufficient resource is provided price / resource allocation. In Cloud and if there are additional Computing the needed resources are requirements, those will be established by the client. satisfied only if the processor is The VexxHost company not used by other customers - (http://www.vexxhost.com) has chances this to happen are low. implemented a system for this matter This is a transitional solution to (see Figure 1.), which enables the Dedicated Server or Cloud customers to increase processing and Computing hosting. storage capabilities, as needed. - Hosting on a Dedicated Server: a Thus, if at some point the website is dedicated server is intended only accessed by a large number of users, for a single client that can fully processing capacities are use all its capabilities. The dynamically resized depending on disadvantage is the high price that the requirements. As an example, if the customer must pay. the online business management Also, what is related to the knows the state of the internal management server comes in the processes, it will propose increasing customer’s duty: installing and the hardware capabilities in the configuring the operating system, holiday months, knowing that the the software products, startup, offered services will be of interest to maintenance and updates. It much more clients, dramatically should be noticed that this service increasing the web traffic. is not a scalable hosting, hardware The advantage of this solution is sizing cannot be dynamically given by the immediate access to made and, if done, may endanger additional resources and the cost that the integrity and availability of modifies according to the use of the the stored information on the hardware components. website.

6 MySQL databases as part of the Online Business, using a platform based on Linux

Figure 1. Establishing technical resources in a Cloud Computing system (vexxhost.com)

The Cloud Computing solution brings like Red Hat Enterprise Linux. major advantages in terms of databases, such as: “Improved availability: If there The proposed operating system within the is a fault in one database system, will platform is the Community Enterprise only affect one fragment of the Operating System (CentOS) and it is using information, not the entire database.” [3] Red Hat Enterprise Linux product code, and “Improved performance: Data is published by the Red Hat company, licensed located near the site with the greatest under General Public License (GPL). The demand and the database systems are differentiation is made by the identification parallelized, which allow the load to be (logos), the legal references for clients balanced among the servers” [3]. support and the licensing costs that are 2.2 Software Platform eliminated. The basic component in the software CentOS is a highly stable solution, being platform is the operating system and its sustained by a large number of volunteer capacity to manage hardware and programmers and testers that contribute on software sub-modules resources related to maintaining and constantly improving the the server. product. CentOS is the best solution for the online Most operating systems on the market environment servers, which is based on Red can be installed on a Web server, but Hat Enterprise Linux product - used by large there are two specialized products: companies, such as London Exchange Stock. - Microsoft Server: developed by What makes a server become a Web server Microsoft; is a product based on a is the Internet access and the suite of license. software installed. The main modules are: - Linux based operating systems, - Web server such as Apache, IIS free, such as Ubuntu Server, (Internet Information Services) or Fedora, CentOS or license based Apache Tomcat. Its role is to

Database Systems Journal vol. II, no. 3/2011 7

mediate (see Figure 2) the server is a node and deals with connection between server and management input and output flows. client. Thus, the web server takes This sub-component aggregates the the request from the user, subsystems and subservers, without redirects it to which software the user noticing it, his feeling being product it is addressed to, expects that there is a unique system that the outcome of the demand and communicates with him. then provides it to the client. Web

Figure 2. The Web Server as an interface

- Database server such as Oracle, with Apache web server. MySQL Oracle, SQL Server, PostgreSQL or IBM DB2. 3. Database System This server handles the storage There are many solutions for storing and data management, the information using databases, but what performance being imperative. should be taken into consideration is the The database system must optimal choice, to help the development of respond quickly to requests, the owned online business. manage and save data in an The most widely used database systems are efficient manner, meaning that the Oracle, Microsoft SQL Server, Oracle, interrogation should be done in an MySQL and IBM IDB2. acceptable timeframe. The proposal of using a product that - Language Processor: PHP contains MySQL platform was motivated by (Hypertext Preprocessor), Java, the fact that this database system has asp.NET, C #, etc. The supported increasingly became used in production programming language on the because it offers advantages over the server has direct implication on competition: other software products, by - There are no licensing costs. existing or not a committed - The product is open-source so, the working relationship. As an community involvement makes the example, C #, as a Microsoft. Net development progress to be steady. component is optimized to work - The functionalities are similar to the with Microsoft's Web server - other database systems. Internet Information Services - Specialized companies (hosting, (IIS), as effectively as Hypertext software selling companies, etc) Preprocessor (PHP) is working provide default support for the

8 MySQL databases as part of the Online Business, using a platform based on Linux

system database. based systems. Performance, scalability and - It is not conditioned by a security system has made the greatest sites particular operating system. For (see), in terms of popularity and traffic example, SQL Server can only stored in the database, to adopt this solution. run on a Microsoft operating Among customers who use MySQL as a system. database system included in the individual platforms can be mentioned FaceBook.com, MySQL can run on more than 20 NetLog.com or Big Fish Games (see Figure operating systems [4], such as Windows 3). (including Windows Server) or Linux

Figure 3. Different customers using MySQL

Thus, choosing a platform based on Linux operating system and having a MySQL 3.1 MySQL based solution database, the profitability rate will increase. Qualitatively, the difference between MySQL and the most important database Profit can be calculated with the following systems is minimal, meaning formula: functionality and performance are Profit = Income – Cost similar, with few exceptions. The main advantage is the cost; MySQL In the initial situation, in which it is used a is distributed with a GNU General Public database with non-free license, cost is License (GPL), meaning no running composed of several sub costs (see Figure costs. 4).

Figure 4. Initial cost structure

After adopting a platform based on Linux freely available solutions, the cost structure operating system and a MySQL database, is illustrated in Figure 5.

Database Systems Journal vol. II, no. 3/2011 9

Figure 5. The structure of the final cost

It can be observed that the total costs as , not requiring specific decrease by eliminating licensing costs knowledge. with the operating system and database The installation is done by executing the system. It should be mentioned that this script that handles itself the decrease of the costs will bring long-term whole installation process. From the profit growth. command line of the operating system, it Another advantage of using MySQL is should run the commands related to file the online orientation; this is why it is downloading and running it. As an example, one of the most used database systems, for a CentOS operating system, here are the having native integration in software steps: related systems, such as PHP processor. - Downloading file: wget - http://software.virtualmin.com/gp

3.2. MySQL Administration l/scripts/install.sh - Granting running rights : chmod + x Database management can be done with install.sh open source software. One such product - Script installation :. / install.sh is VirtualMin, for management - After executing the script, applications (including database) VirtualMin can be accessed on the installed on the Linux operating system server’s address, port 10000, using a (web server, mail server, operating Web browser and having available a system, system firewall, etc). graphical interface. Installing and managing a database can be made: From the admin panel, different modules - From the command line of the can be installed, including MySQL. After operating system [5], requiring installation, VirtualMin offers a submenu technical skills. with options and information for managing - Using specialized software that the system database (see Figure 6). has graphical user interface such

Figure 6. Options for managing the database, offered by VirtualMin

Using VirtualMin can manage databases, commands. tables, fields, settings related to running the MySQL server, different settings, 4. Putting into operation without using a graphical interface that The proposed platform consists of: would involve knowing some specific - Cloud Computing hosting solution

10 MySQL databases as part of the Online Business, using a platform based on Linux

- CentOS operating system number of additional IPs, etc. By - Apache Web Server sending the form, results computing - MySQL database server the payment for the provided - VirtualMin and WeMin service, and after payment, building administration system physical server to a node in the - Other adjacent products system.

Putting it into service requires installation, 2. Completing the server installation configuration and optimization of all used requires knowing the Internet software. Protocols (IPs) which identifies it on the Internet. Thus, accessing one Steps: of this IPs, makes possible managing the server remotely. Set 1. Installation Server. The company up will be conducted through a used as a hosting Cloud Computing Secure Shell (SSH) connection. provider is VexxHost. After The server management is made registering a new account (by exclusively from the command line, accessing the graphical interface missing for http://cloud.vexxhost.com website) reasons like lack of used resources. a new server configuration application can be sent. The request 3. The access to the server is done by will include details of chosen using a utility that has implemented operating system (in this case the SSH protocol (Putty user in this CentOS) and related hardware data: case - see Figure 7); the necessary sizes storage space, estimated data is: IP Address, admin monthly traffic, the number of username and password (data processor cores, memory size, provided after installing the server).

Figure 7. Putty New Connection

4. The next step is to install a software 5. Webmin and VirtualMin products product that allows the server simplify server management, the management to be realized using a user using the Graphical user graphical interface. This product is interface (GUI), so, there is no need Webmin, containing VirtualMin for knowledge of specific Linux module; the installation it described commands (except those related to in 3.2 chapter. After installation, it the software installation). can be accessed at the URL: http://IPServer:10000 using the admin name and password.

Database Systems Journal vol. II, no. 3/2011 11

5. Conclusions brought as support service. Using open-source technologies will result in direct cost reduction, thus increasing 6. Acknowledgments profits. There is no general rule in this This work was cofinaced from the regard; such solutions should be analyzed, European Social Fund through Sectoral so as to see if in terms of quality are at the Operational Programme Human competition. Resources Development 2007-2013, The platform based on Linux operating project number POSDRU/107/1.5/S/77213 system and MySQL database is the „Ph.D. for a career in interdisciplinary optimum choice on helping develop a economic research at the European sustainable online business. This option standards” can be used even if a shift is needed from the old solution, because long-term 7. References benefits are major. Besides the cost aspect, [1] M. Borges, N. Hoppen, and F. B. Luce, MySQL offers outstanding performance, "Information Technology Impact on so it can be said that there is no Market Orientation in E-business," Journal compromise. of Business Research, vol. 62, iss. 9, 2009. The proposed platform is based on [2] F. Magazine. (2011, August 05) 2010 software products tested in specific Top Companies: Most Profitable. [Online]. conditions. The web server hosting the Available: print service offered through the site must http://money.cnn.com/magazines/fortune/f have certain performance features, this ortune500/2010/performers/companies/pro shown by the users experience on the site, fits/ meaning the degree of satisfaction. If a [3] T. Velte, A. Velte, and R. Elsenpeter, customer accesses the site and encounters Cloud Computing: a Practical Approach, 1 technical issues, the chances that he quit ed., New York: McGraw-Hill Osborne the service increase. Media, 2010 The website quality (referring to the programming mode, the design and [4] MySQL. (2011, August 05) MySQL :: functionality) should be supported by the Why MySQL? [Online]. Available: use of a suitable platform. http://mysql.com/why-mysql Using the presented platform brings a [5] C. Bell, M. Kindahl, and L. Thalmann, substantial cost reduction and increases MySQL High Availability: [tools for business profitability through performance Building Robust Data Centers], 1 ed., New York: O'Reilly Media, 2010

12 MySQL databases as part of the Online Business, using a platform based on Linux

Ion-Sorin STROE graduated the faculty and master organized by the Faculty of Cybernetics, Statistics and Economic Informatics of the Academy of Economic Studies, with graduation and dissertation topic- themed works in the electronic business field. He is currently a Phd candidate in the same area, Economic Informatics. From the environmental point of view he presents Word Wide Web interest in new technologies and platforms, both conceptually, software and hardware too, developing over the time many complex and profitable web projects that were highly appreciated.

Database Systems Journal vol. II, no. 3/2011 13

Grid Computing Technology

Georgiana MARIN Romanian – American University Bucharest, ROMANIA [email protected]

This paper presents the grid computing technology, the recent developments in this field. The idea of grid computing has its origins in the early development of computer networks and technologies involved, given that CPU cycle use "free" or "unused" was seen as an optimal and cost-effective way to use all capabilities of the hardware resources which were very expensive machinery. Keywords: grid computing, technology, virtualization, data base, file system

Introduction technology may include the same 1Th e term grid is referring to a enterprise organizations as well as external distributed computing infrastructure, able organizations. Therefore, grids may to provide resources based on the needs of involve both internal and external partners, each client. Grid technology can largely as well as only internal ones. [1] enhance productivity and efficiency of The complexity of the environment in virtual organizations, which must face the which the grid will be developed and the challenges by optimizing processes and requirements that have to be applied resources and by sharing their networking depend on the environmental impact of and collaboration. Grid computing trade, defining the relationship of trust, technology is a set of techniques and security considerations, globalization and methods applied for the coordinated use of integration period, of the company multiple servers. These servers are involved, in the market. Based on the specialized and works as a single, logic different levels of complexity for the integrated system. enterprise, grids can be categorized as The grid has developed as a computing follows: technology that connects machines and • Infra-Grid – this type of grid resources geographically dispersed in order architecture allows optimizing the to create s virtual supercomputer. A virtual resource sharing within a division of system like this is perceived like it has all the organization’s departments. the computing resources, even if they are Infra-grid forms a tightly controlled distributed and has a computing capacity to environment with well defined execute tasks that different machines business policies, integration and cannot execute individually. security. In the past few years grid computing is • Intra-Grid – it’s a more complex defined as a technology that allows implementation than the previous strengthening, accessing and managing IT because it’s focused on integrating resources in a distributed computing various resources of several environment. Being an advanced departments and divisions of an distributed technology, grid computing enterprise. These types of grids brings into a single system: servers, require a complex security policies databases and applications, using a and sharing resources and data. specialized software. In terms of However, because the resources are partnership between organizations, grid found in the same enterprise, the

14 Grid Computing Technology

focus is on the technical • Grids can use the relations many to implementation of the policies. many to share a wide variety of • Extra-Grid – unlike intra-grid, this resources, not just files. type of grid is referring to resource • A cluster is made of computers of the sharing to / from a foreign partner same type located in a central towards certain relationships are location requiring a single system established. This grids extend over image – SSI. Unlike the cluster, the administrative management of where the emphasis is on local resources of an enterprise and performance of parallel processing, therefore mutual convention on in a grid is on the resource sharing. managing the access to resources are SSI is not anymore a requirement, necessary. computers from grid are • Inter-Grid – this kind of grid heterogeneous and geographically computing technology enables distributed. sharing and storage resources and • Unlike virtualization, which refers to data using the Web and enabling the a single system, a grid allows collaborations between various virtualization of heterogeneous companies and organizations. The resources everywhere, even global, complexity of the grid comes from to form a pool of IT services. the special requirements of service levels, security and integration. This 2. Grid computing requirements type of grid involves most of the The requirements of grid computing mechanism found in the three technology are: security, fault tolerance, previous types of grid. global name spaces, scalability, adapting Grid computing technology is not the only heterogeneity, persistence and non distributed technology; among other persistence, extensibility, complexity distributed technologies we can include: management and autonomy. web technology, peer-to-peer, clustering • Security - addresses a wide range of and virtualization. issues, such as: authentication, data The similarities between the grid integrity, access control and updates. computing technology and the others Grid system and technologies, in distributed technologies are: order to earn a place on the • A grid hides its complexity, corporations market and their use in interconnects different resources and important IT departments, is provides a unified perception of the necessary the grid to be focused on environment; the security issues. The security • Can share files and communicate mechanism must allow the directly through a central broker; integration of applications with any • Clusters and grids groups the degree of diversity and to support resources in order to solve a problem various security policies, adopted in and can have a tool for unified each particular case of entities that management of all components [2]. integrate and implement a system The differences between the grid like this. To ensure flexibility, computing technology and the others security must be integrated in the distributed technologies are: environment of the grid from the • A grid allows machines to work beginning. Future changes of the together and collaborate in a way that system may lead to amendments to involves more than simple security needs so that the existing communication. necessary security mechanism elements can avoid the need to

Database Systems Journal vol. II, no. 3/2011 15

update and modify essential parts of mechanism should ensure a high the system and applications. The level of performance in order to security mechanism must be respond to the high demands sufficiently abstract to allow the regarding service quality. In this definition and integration of any regard, the resource management security policy. These conditions should firstly address to aspects being given, the grid system must concerning on the resources provide mechanisms that allow users persistence and non persistence, and resources owners to use that because the environment proposed policy that adapts to the requirements by the grid technology involves of security and performance and to multiple administrative domains, a local administrative requirements. variety of heterogeneous resources • Fault tolerance - Binding the whose behaviour in unpredictable developers to predict and deal with even in the short term. all the faults in a system leads to a • Extensibility - means grid system significant increase of the application flexibility so that they can meet the complexity. For this reason, grid current and future requirements of computing would be provided with users and also the ones that cannot be mechanisms for fault tolerant anticipated. computing. • Complexity management - • Global name spaces - The absence of Complexity is common in a global namespace that allows a developing applications in a space convenient and consistent access to with more dimensions, dimensions data and resources is a general issue generated by: heterogeneity in using in the fields that involves parallel and the resources and security policies, a distributed calculations. Thus, one of wide variety of malfunctions, the the tendencies of grid computing is requirements on the availability of that each grid object must be able to resources, name spaces and the access the grid in a transparent way number of components. In this matter without harming the data integrity of abstraction that grid computing and resources. technology provides, must be • Scalability - Grids adopt an sufficiently high to reduce the size of architecture based on a review of non the units of measurements and allows centralized resources. So, the them a efficient complexity architecture is based on the principle administration. of distributed system: the service • Autonomy - Grid systems may required by any component is include resources from different independent from the number of organization involved in the system components. distributed environment. Each • Adapting heterogeneity - A grid resource owner wants to keep control system must support interoperability over its own resources and therefore between resources and the grid system should give the heterogeneous hardware and opportunity to vary the level of software systems. access given to users, to specify • Persistence and non persistence - One when and how a resource can be of the most important aspects of used and also the possibility that resource management is the each owner to organize their own aggregation in an advanced resources according to needs, mechanism of detection algorithms without relying on the grid system and resource planning. This [3].

16 Grid Computing Technology

the same organizations and each 3. Advantages and disadvantages of department require proportionality between Grid Computing Technology the grids contribution, through its own Although grid computing has been resources, and the gain obtained from it. developed in research laboratories, Besides resources accounting there’s also a manufactures and companies have also problem with software licensing. This is started to adopt this technology on two of particularly important because licensing the most important benefits that grids costs may eventually cancel the savings brings: economy and performance. Grid obtained from the use of grids. computing aims to bring together operating Securing the servers and grid systems and different hardware platforms administration resource is an issue that into a single virtualized entity whose should not be neglected. In many cases performances is higher on average then servers are public addressable because of parts. data delivering and receiving from agents Grid computing saves financial resources that are anywhere, geographically both in capital and operating costs. This speaking. So, these servers are exposed to positive aspect is achieved by using all the attacks and unauthorized access, even DoS computing resources of all components of – Deny of Service. Experts recommends the grid. that, in this case, the companies must The second benefit of grid computing eliminate all unnecessary services and to technology is performance in processing carefully monitor these machines. data integrity. By increasing the processing However, this brings an extra complexity power, applications run faster the problem. computing tasks and provide faster results. One of the benefits of grid environments is Even if the benefits of grids are real, this is that it allows the development of specific still a specialized technology. Grid and on demand environments for various computing is suitable for organizations that commercial environments. An important already use in a way or another the high feature of on demand environments is the performance computing or are already ability to respond to rapid changes in the oriented in some form towards distributed market while reducing operational costs. computing. Although there isn’t a direct Grid computing helps distributing and barrier to the passage of an organization to sharing data, which enables a collaborative use a grid system, there are still issues to improvement at both inside and outside the be taken into consideration before such a enterprise. Thus, companies can reduce step. One of the reasons this happens is time spent placing products on the market, determined by the applications, which can quickly solve specific problems and must provide the possibility of breakdown can address immediately to the customers’ into smaller computing tasks in order to requests. One of the troubles encountered take advantage of parallel computing. If when distributing the workload over the operation currently executed depends several machines is the difficulty to trace on the previous tasks, then processing the distribution process, which can lead to cannot be done in parallel on distributed bandwidth problems. Is not only the resources so that the application cannot bandwidth performance criterion but also benefit from the grid advantages in terms the performances of the grid, of the way of high performance computing. tasks are distributed and how they handle Another issue that emerged over the time is the distribution server. Bandwidth the one that occurs in administration and management is a serious problem that must accounting resources. This problem is be taken into account. A grid network more obvious as a solution involving a grid bandwidth covers two aspects of any grid: system involves multiple departments of

Database Systems Journal vol. II, no. 3/2011 17

• CPU utilization. CPU bandwidth in a An important issue in grid adoption models grid represents the maximum rate at is the complexity of IT infrastructure which the grid can operate. needed to implement a grid system. The • Using the network. Available integration complexity of heterogeneous bandwidth of the grid and the one environments is a challenge and it must be used internally by the grid. taken into account factors such as These two elements affects a number of activation of grid resources in different systems and it’s important to homogeneous and heterogeneous balance these elements in order to avoid environments, enabling resources in the the risk of having an inefficient grid, a grid form of services to external participants that is unable to manage the computing and porting applications to grid tasks, or customers to start overburden the applications. These features allow a resources that they have at their disposal. classification of grids into the following Although there are several technologies categories, with varying degrees of that can be integrated into the grid or complexity at the level of integration: pattern which can form the basis of the • Grids developed to optimize mechanism of resource management and computing infrastructure; workload distribution and planning, • Computing grids, with the however, they must be adapted to the virtualization of processing needs of grids. We cannot avoid the resources. artificial intelligence solutions to solve • Data grids with virtualization and these type of problems, but must consider data storage resources. the complexity of the system and the • Service grids with virtualized additional resources that they are bringing. services for easy integration. Categories of grid computing fits into • Virtualized applications through the several areas of research communities. composition of resources, through These may include areas oriented in service interfaces, applications from intensive computational calculus, peer to various partners. peer, utility, data and applications and Architecture and technology standards collaborations. Each of these communities developed for grid computing presents a can use a different model on the adoption crucial role in adopting grids of grid technology. commercially. Because these standards are Grid computing is a new concept for constantly evolving and are not mature commercial industry and a large area of enough to support subsequent stages, interest has developed around which can evolve into after the adoption of infrastructure virtualization through the grids, the speed at which these stages will manipulation of resources as utilities. be achieved is reduced. Grid computing Adopting a grid solution in a commercial solutions have been adopted in several key activity depends on the ability of areas (finance, education, technology to meet the needs of improving telecommunication, research) and answer turnover. This involves the adoption of the the implementation and evolution of grid models key factors, such as adaptation environmental performance requirements of existing resources, reducing operational that are integrated. From this we can costs, creating a flexible and scalable conclude that the success of grid infrastructure, while accelerating computing depends on the integration, development, reducing the period of service orientation and ability to break development and marketing of products down skills and applications and then and increase customer satisfaction and expose them through the services. business productivity. Although grid computing is an important step in information technology it does not

18 Grid Computing Technology

involve the disappearance of existing set of services irrespective of the choice or resources and advanced equipment such as implementation of their type. supercomputers, mainframes, clusters etc. Security. Mechanisms planning software The grid has no purpose in replacing the must support the required levels of security current technology resources, performance specified in the particular needs of any management, but the efficiency in environment that will be integrated grid extracting optimum benefits from system. However, many implementations investments made in such resources. There of grid are located in the same are still many areas (particle physics, administrative domain where security simulations, computational intensity requirements are less stringent than in processing) in which execution of tasks distributed environments that cover more involves only supercomputer (or dedicated organizations. Under these conditions resources in general performance), only many grids shows a low outside the areas where the grid cannot cope, or rather additional security provided by the does not provide the necessary desired operating system of nodes, since all the performance in such cases. nodes are behind the same firewall as well Growth of technology and applications on protected as any system in the network this area, in the last period, may lead to a company. Thus a compromise must be future in areas indispensability of made because the existence of an enterprise grid computing. Such a critique additional security level without a decrease must always be approached in the case of in performance (speed of the executable is adoption of this technology to enable a directly affected), but leads to a secure data more coherent adaptation to the needs for protection. which a solution is desired grid. Reliability. Since the planning provides some of the most important performance, 4. Technologies used in computational the mechanisms must ensure the reliability grids levels needed to resolve defects. And in Performance criteria in a grid environment this case the solutions on this issue are not are dictated by several of the most unique and their usefulness varies important aspects are planning depending on the environment in which a mechanisms and the mechanisms of load solution will be integrated grid. Such balanced and integrating resources and technology should be appropriate and data necessary for their calculations on the adapted to the user. same node. The choice in favour of another Thus, in some environments the emphasis technology to support the role of a is on completion of the total load of computational grid environment is a calculation, so that some form of recovery problem of decision that can be solved of computing tasks is sufficient. If a sub- only after a careful analysis on a number of task of calculation fails due to a defect factors who are determining the particular node, network or software, then that environment in which to apply the solution burden is being passed back to another and the specific requirements of grid. appropriate node. This mechanism Heterogeneity. Any facility planning provides some fault tolerance but without software that is used in the grid should be any warranty and / or improve the response able to support heterogeneous computing time of the task, is known that it will grow nodes. Even if the current implementation with each retransmission of sub-tasks. does not need them, yet this method is a On the other hand, in other environment useful strategy for the future expansion of the response time is the most important the system. Thus the nodes of a service criterion and the planner should be able to reservoir have to bear the same service or ensure the return of preserving the response but decreased during execution.

Database Systems Journal vol. II, no. 3/2011 19

Such solutions usually involve a launch of oriented environments such as logos or multiple copies of sub-tasks to different single-site campus. nodes in grid computing. This technology Both solutions use the advantages of is suitable for planning grid environments technological advances achieved in are those that present a high flexibility computer networks. Distributed file towards upgrades and additional features systems have been developed following that ensure the fundamental planning. several administrative areas covering a Data Virtualization is an architectural wide geographic dispersion. However only approach that hides the location and data single file systems do not provide format for the user. Level virtualization sufficient data management mechanisms, architecture that addresses the data shows a especially where large volumes of data are direct proportion to the level of complexity stored in databases or other structured with the complexity of the level of storage resources. Thus we have an computing resources. Data handled in a important role of federal databases and grid environment can be structured or aggregates. unstructured, ordinary files and other Aggregated databases are trying to achieve objects stored in file systems, also in case consolidation of all data formats from of a grid covering a development involving disparate systems into a single parallel several organizations, external data sources database. Although this model provides can cover a wide large format and can be scalability it is also oriented in the publicly accessible, available on a contract implementation, covering a secure basis, can be shared between companies administrative area. working together in a consortium or Federative data bases are trying to keep assumptions to be shared in an academic or track of data distribution in different areas business environment based on but to provide unified interfaces that hide collaboration in a joint project, some data implementation and data source to user. A may support active interrogation while federative database provides a greater level others do not. In these conditions of an of flexibility as opposed to aggregated environment that involves a high degree of databases and a higher potential dynamism so the question of criteria for a performance problems when characteristics decision on the choice of technologies to of remote data to the user. So, another fill the grid environment. The answer is not mechanism may be added: data replication. unique and the selection is based on a Another aspect to be taken into account in number of important factors and their choosing the virtualization of data to relationship shows a coefficient related to support the heterogeneity of data sources the particular specifications of each both in terms of platform (providing access environment that integrates a grid system. and data) and in terms of technologies or Thus Cluster file systems or distributed techniques used for data storage. network can integrate successfully into the Linking data and calculations is a grid system. Also aggregation and data fundamental problem and refers to their replication may be needed in certain grids. alignment on the same node in the grid to Cluster file systems is particularly suitable allow for optimal performance. Myriad of for constraints within a single available technologies and products that administrative domain because they are aim to solve this problem shows a usually sensitive to the degree of touchstone: the lack of collaborative separation and differentiation between the approach based on open standards (this cluster nodes, therefore cluster systems are methodology to be approached from a less applicable in distributed environments considerable number of organizations in that cover more administrative areas. In the the business environment in recent years same way file systems are network- only). Thus, each technology presents a

20 Grid Computing Technology

remarkable intelligence, but within the Grid architecture must be adaptable to as limits of their own views on the many solutions on the grid user needs and environment and the grid components that goals. A rigid system in which the known involve, or it can integrate them in time. In policies is limited, decision are pre- this way each technology manifests its selected transaction cannot meet these decisions regarding the settlement demands. This grid system should allow calculations with data alignment in a greater flexibility for both semantic manner isolated from the others. In applications without imposing conditions of low complexity and where predetermined solutions to unique methods planning decisions are obvious mechanism of implementation. Grid systems must also for calculating the load (the entity charged allow users to choose the desired type and with moving the appropriate entities for level of functionality and appeal to their calculating the node) and the mechanism own compromise between functionality, for moving data (the entity charged with cost and performance. This philosophy moving the data entities) may relate so that should be integrated into the grid by both data and calculation takes place on the specifying the architecture and same node. In terms of complexity of a functionality but not implementation of grid and especially the expansion in core aspects of the system. The core should complexity over time, especially regarding therefore be made of extensible the integration of geographically components, which can be updated and distributed resources with grades of replaced whenever possible / necessary spreading increasingly larger planning while implementing the system should mechanisms linking computing tasks with provide an implicit development of each mechanisms data handling is becoming functional component useful to normal more difficult because the decision users. conflicts are becoming more frequent. In general one can speak in a grid Alignment of data and calculations on the environment for the existence of four same node is a strategy that further studies categories of users: application users, should be conducted because it allows application developers, system obtaining optimal performance in grid administrators and managers. Grid system environments and systems that exceed the architecture and implementation must be current average. realized that it allows users to applications and their developers is focused on their 5. Principles of development of a Grid task and not involve their direct work on System Grid, applications and issues related to installation and requirements implementation of grid infrastructure, but Grid systems must ensure the transparency can also be provided and ensuring access of the following ways: access, location, to it the grid infrastructure and related heterogeneity, failure, replication, details if required. scalability, concurrency and behaviour. Another aspect of flexibility to be ensured to Users and developers should not know grids is to keep the machine's operating exactly where an entity is located to system will be integrated into the system. interact with it and should not be forced to Such grid systems must be developed so as acknowledge the failure of components / to work with and above the machine's resources of the grid system. This grid operating system and involve such changes, system must be equipped with self- on configuration, but fewer in number and recovery mechanisms in order to complexity. accomplish tasks. This represents the mask In developing an application grid security (transparency) on the vision system. issues require consideration of a

Database Systems Journal vol. II, no. 3/2011 21 comprehensive approach. Below are treated memory, etc.). The application briefly these considerations: shows how dependent fewer specific • Single sign-on. ID Mapping over the platform the greater the chances that system. GSI (Grid Infrastructure an appropriate and available resource Security) provides authentication, to be found and resolved quickly authorization and secure workload. communication. Therefore we must • Multiple computing sub-tasks. For fully understand the implications and applications involving multiple security management. computing tasks to analyze the • Multiplatform. Although GSI is interdependencies between them based on open standard software should be made to avoid additional running on multiple platforms though logic: the communication different platforms security intercrosses, data sharing and tasks mechanism will not always competing administration. consistent. For example, a security • Managing computing tasks. If the mechanism for reading, writing and application has to provide a reactive execution on a UNIX system is response to the user or to release different from the traditional system resources when the application of Microsoft Windows. This should should be designed so as to use the be taken into account the different mechanisms of grid resource platforms will run the application. management to ensure consistency • Use of GSI. For any specific function and integrity of an environment. of the application that may require The mechanisms for data management in a authentication or a special permit grid to maximize the best use of limited application indicated that the default storage space, the network bandwidth and mechanism to use GSI as it computing resources. The following simplifies the development process. aspects of data management must be • Encryption. Although GSI together considered in the development of grid with data management mechanisms applications: ensure secure communications and • Dataset size. If the application works data encryption over the network still with data sets of very large need to consider what happens once ineffective, if not impossible, for the data arrived at the destination. An data to be moved on the system that example in this regard is the special will run and load calculation. In this case where data are transmitted to a case one possible solution is data resource to be processed and are replication (copying a subset of the stored on a local disk in non- data set) on the system to execute encrypted format, and then there is computing tasks. the risk that other track users to have • Geographical distribution of users, access to that data. computing resources, data and Influence of resource management issues on storage. If the grid is geographically application development: distributed environment and shows • Choice of appropriate resources. limited network speeds then the Choosing appropriate resources an application must take into account application is made by the resource aspects of design data access limited management mechanism that works or low speed. in conjunction with a broker. This • WAN data transfer level. As grid implies that the application to specify environments and distributed accurately the working environment networks involve extensive grid any required (OS, processor speed, application must take into account

22 Grid Computing Technology

issues of security, reliability and performance for handling data across References the Internet or another WAN. Such [1] M. Velicanu, I. Lungu, I. Botha, A. applications require a logic Bara, A. Velicanu, E. Rednic – performance for dealing with Sisteme de baze de date evaluate, Ed. changing situations in which access Ase, Bucuresti 2009 to data may be slow or restricted. [2] A. Abbas - Grid Computing: A • Planning data transfer. Planning Practical Guide to Technology and involves data following two main Applications, Editura Charles River issues: ensuring the transfer of data Media, 2005 to the appropriate location and time [3] Ian Foster, Carl Kesselman, Steven at which this transfer is required, Tuecke - The Anatomy of the taking into account the number and Grid:Enabling Scalable Virtual size of competing data to / from any Organizations resource. [4] W. Jia, W. Zhou - Distributed Network Systems.From Concepts to 6. Conclusions Implementations, Editura Springer, Spurred the development of both high-speed 2005 networks and the increasing computing [5] Virginia Center for Grid Research - power of microprocessors, processing grid http://www.cs.virginia.edu/~jfk3w/gri has a remarkable impact not only at d_group/grid_overview.html academic level, but increasingly more and [6] Andrew Conry-Murray – Grid enterprise in all fields. Despite technological Computing’s Promises and Perils advances, however, less than 5% of http://www.itutilitypipeline.com/ Windows servers processing power and showArticle.j desktops, respectively 15-20% for UNIX html?articleID=17603526 servers is used. Companies make profits and [7] http://www1.ibm.com/grid/about_grid offers exceptional rates, with a return period /ibm_grid/get_started.html of low and low total cost compared to other http://www.cs.virginia.edu/~jfk3w/gri technological solutions. d_group/grid_overview.html

Georgiana MARIN graduated the Faculty of Computer Science for Business Management of the Romanian American University in 2003. In 2009 she graduated the Economic IT Masters Program of the Romanian American University. She is curently a PhD Candidate in Economic Informatics of the Academy of Economic Studies.

Database Systems Journal vol. II, no. 3/2011 23

Business Process Management Solutions Performance Tuning and Configuration

Alexandra FLOREA Economic Informatics and Cybernetics Department Academy of Economic Studies Bucharest, ROMANIA [email protected]

Business Process Management (BPM) solutions provide full integration between business and IT requirements, ensuring that the business requirement adapt more easily to the environmental changes. Given that today's business environment is characterized by ever growing dynamism, the use of BPM solutions can provide additional consistency and opportunities for rapid alignment to change. In this article we discus some of the standards and technologies for BPM solutions, we present several proposals for the lifecycle of a business process and also the main stages of our own proposal for a methodology for developing a BPM solution. Also we analyze one of the most popular BPM solutions on the market (Web Sphere Business Process Management suite) and present some key tuning and deployment guidelines. Keywords: Business process, Business process management, Process lifecycle, Tuning,

Introduction Once organizations became aware of the 1St udying current professional need for change, they have begun to pay literature related to economics and greater attention to key business processes management, a new principle emerges with direct impact on customer profitability that "mankind is moving quickly toward and growing importance. To be effective a new kind of economy and thus a new today, organizations must be able to define, kinf of company and management"[1], analyze, implement, measure and control this change being triggered specifically their processes, and this change is not by developments in information possible without educating staff and technology and communications that led implementing appropriate technologies. to profound transformations. These Business models continue to change as new transformations mark the transition to a technologies are introduced and each society based on information, functional area of an organization is communication and knowledge. influenced by how well the information In the last decades, profound changes system transforms data into information or taking place globally reached all areas but facts that help achieve business goals. mostly the business, so companies are Mergers and acquisitions, changing business forced to undertake a major models, new business requirements and reorganization of their management changes in customer expectations, all put models and methods. The new multiple problems with processes in the competitive requirements of organization. These problems can be solved organizations require more attention by integrating Business Process given to customers, lower costs, quality Management (BPM) technologies, which and adaptability and technological enable organizations to manage changes in developments continue to help processes, changes that are required organizations achieve these goals simultaneously in several areas of business.

24 Business Process Management Solutions Performance Tuning and Configuration

Solutions in the Business Process EXtended Markup Language or XML is the Management category allow integration basis of all elements which represent the of very diverse systems that exist in an foundation of Web services technology. organization, providing additional Considering platform independency, XML advanced features for modeling and is the engine that enables data transfer via automation of business flows in the the Internet, also constituting the foundation company. Business Process Management of Web services. Solutions (BPMS) have visual tools that An important element to be mentioned in substantialy simplify how complex connection with BPM solutions and Web business processes, that involve access to services is Service Oriented Architecture various data sources and interoperability (SOA). SOA provides access to other of many applications, are defined and applications. BPM uses SOA to include integrated. Through BPM solutions information on the best applications in the business processes can be modeled process. We can make an analogy saying directly by financial and economic that if SOA provides avenues for the flow of analysts without haveing to requeste information then BPM is the machine that support from the IT departments. uses the infrastructure to obtaine something BPM applications provide full integration useful. between business and IT, business Sometimes BPM can be a catalyst for requirements beeing adapted to changes developing a SOA strategy. In a world in current business environment in a where executives try to obtain a concrete simpler manner. Given that today's value from the investments they made in the business environment is characterized by IT filed, SOA itself can be quite hard to sell growing dynamism, the use of BPM because of the difficulty of explaining the solutions can provide an additional type added value it brings using concrete terms of consistency and rapid alignment and quantifying this value. A strategy that possibilities to the changes that occur. can be used to counteract this shortcoming is to promote SOA as an element that supports 2 Standards and technologies for business process management, because it Business Process Management has a concrete component and it’s much Solutions easier to quantify the added value achieved Integration of applications through BPM [2]. solutions is based on fundamental The most important developed BPM standards and technologies such as web standards are: services and XML. Web services • Business Process Modeling Notation represent a standardized way of (BPMN) which focuses on graphical distributing software, which uses the modeling of business processes. Internet and basic technology behind this BPMN it’s a standard for modeling network. Also, Web services enable business processes, proposed and interconnection of a wide array of developed by the Business Process applications available on different Management Initiative and provides a platforms and in various locations around graphical notation, easy to use and the globe. In this way, we can say that understand by all users involved in new technology has opened the door to a business processes [3]. new era of computing applications • Business Process Execution Language dominated by a high degree of (BPEL) is a standard based on XML intelligence, capable of making decisions and Web services that allows and looking for information on the modeling and automation of business Internet as a support for most reasonable flows. Using this language, both the decisions. business flows and the business rules

Database Systems Journal vol. II, no. 3/2011 25

can be defined in an intuitive focus only on the logical dependencies manner, a high level of between different phases, considering that transparency in the conduct of these each of them can be resumed at different operations being assured. BPEL times. technology simplifies the According to [6] there are five stages integration of various applications through which a process passes throughout and business processes its life cycle, namely: modeling, • Business Process Modeling implementation, execution, analysis and Language (BPML) is an XML- optimization, illustrated in Figure 1. based meta-language that describes In the modeling stage new processes are business processes. It was designed or existing ones are modified originally intended to support according to the new requirements. business processes that can be Activities in this stage are carried out either executed by a BPMS [4]. The by analysts or by the processes responsibles language was designed to handle and result in advanced graphics processes with a long lifecycle, representations of tasks to be executed. wich persistance is supported in a transparent manner. XML exchanges occur between different participants, each with an established role, and components belonging to their partners, like BPEL constructions. BPML also includes transactional support and exception-handling mechanisms. • Business Process Query Language

(BPQL) - focuses on Figure 1. The life cycle of a business administrative and monitoring process. Adaptation from [6] aspects [5]. BPQL is a management interface to a business process The purpose of the implementation phase is management infrastructure that to obtain an executable model of the includes a process execution processes, based on existing abstract facility (process server) and a models. Basically, the theoretical model process deployment facility previously obtained must be adapted so that (process repository). it can be used in the context of real business A notable aspect is that each of these environment, taking into account the standards, like many others not resources available and actors involved. mentioned, focuses only on some aspects The next phase represents the actual of the elements that are typically implementation of the result of the previous addressed by a BPM product. The stage (enabling the executable process challenge will arise when integrating model). This phase it’s ideally concluded by these standards in a life cycle for obtaining added value for the company and continuous process improvement through the desired results by the client. BPM. Running processes are subject to careful monitoring and analysis in the phase which 3 Business process lifecycle. bears the same name, in order to identify There are several approaches to the opportunities for optimization. Once the representation of a process’ life cycle. analysis is completed, the data obtained are Some illustrate the chronology of the life used in the optimization and redesign phase cycle phases of development while others in order to obtain a more efficient process

26 Business Process Management Solutions Performance Tuning and Configuration

Another approach is the one proposed by sequence of their development. The four [7], which identifies four stages of the stages are analysis and design, business process lifecycle, organized in a configuration, execution and evaluation and cyclical structure illustrating logical they are represented in Figure 2. dependencies but not the temporal

Figure 2. The life cycle of a business process. Adaptation from [7]

The life cycle of the process starts with according to the organizational features of an analysis and design phase. During this the enterprise environment. phase an assessment of the organization The enacting phase of business processes is made, in order to identify and includes the actual execution of the understand the processes taking place processes. The process management system within it and the organizational and actively controls the execution of process technical environment in which they are instantces according to the designed model. carried out. Based on these evaluations, In this stage of the lifecycle, the process the processes are identified, reviewed, execution is monitorized and it’s ensured validated and represented using graphical that activities are conducted according to tools resulting in business process implementing restrictions specified in the models. model. Once these models are built, the In the evaluation phase the available transition to the second stage takes place, information is uesd to assess and improve namely to the configuration stage. business process models and their Previously completed models must be implementation. Execution logs are implemented, and this can be achieved in evaluated using activities monitoring two ways. Whether through the adoption techniques, which aim to identify the quality of a set of policies and procedures that level of process models and the adequacy of employees must comply with, in which the execution environment. case the process can be made without the After studying the presented business assistance of a computer system, or by process lifecycle as well as other materials using a dedicated software. regarding this issue, we propose a personal In the latter case, the configuration phase view on the topic. involves the following activities: Under this proposal the life cycle of a choosing a platform to implement, business process consists of six steps, enriching the process model with represented according to the execution cycle technical information necessary for the and the logical dependencies between them. enactment of the processes by the system These six stages are: and not least system configuration • Investigation

Database Systems Journal vol. II, no. 3/2011 27

• Modelling • Evaluation and optimization. • Simulation and implementation These proposal was developed after • Execution identifying all the steps in a BP lifecycle and • Monitoring it groups them according to logical

Figure 3. Proposed lifecycle of a business process corelations. A graphical representation of indicators and other relevant metrics. The the proposal is offerd in Figure 3. results of monitoring are evaluated either The business lifeycle begins with the according to predetermined criteria or by investigation stage. This is the moment using simulation tools to obtain information when the strategic objectives of the on how to optimize processes using real company are corelated with the shorter data, this being the final stage of evaluation term business objectives in order to and optimization. identify and fully understand the scope of the business processes that are enacted 4. Methodology proposal for developing a within the company. This stage is BMP solution necessary considering the direct link Based on the described lifecycle, we between the business processes and the propose an informal methodology that strategic objectives of the firm. organizes the phases to be followed when After the processes have been identified, developing a business process management we move on to the second stage of the solution. lifecycle which is modeling. Graphical This methodology is based on the life cycle tools are used to represent the processes stages of business processes summarized thus creating the business process model. above, and uses a series of informal One a process has been designed it moves notations, its purpose being to provide a on in the 3rd stage: simulation and guide for those who are responsible for implementation. The business model planning and implementing the project obtained in the previous stage is further management business processes. developed by adding technical The methodology is organized in seven information regarding the enviroment in stages: which the processes will run. Once the • Strategic Objectives business model has been completed the • Investigation process enters it’s 4th lifecycle stage • Modelling which is execution: enactement of the • Identification process in the production enviroment of • Simulation and implementation the company. • Execution and Monitoring Monitoring - running processes are • Evaluation and optimization. monitored to measure key performance

28 Business Process Management Solutions Performance Tuning and Configuration

The first step (or stage) is to identify platforms, such as enterprise application strategic and operational objectives of the integration software or workflow company, which is necessary due to the management systems that support human direct link between the organization's interaction flows. In the second case, the strategy and business processes. busines processes model is realized through Business processes must work towards various business policies and procedures. achieving the strategic objectives of the This selection phase is called Identification organization and as such they must be and it supposes passing through a decision clearly identified and formulated. node after the phase was completed. If the Processes contribute to realizing business results of the stage indicates the need for goals which in turn contribute to meeting using a non-technical platform, then we the strategies. jump on to the execution and monitoring Once the organizational objectives have stage, and if technological platform is been identified it is necessary to study needed then we first go through the existing processes and ito identify simulation and implementation phase. processes that should be implemented Simulation and implementation of business (to-be processes). The overall objective processes involves completing the business of this phase is collecting and organizing processes model with all the technical information on all aspects of business information necessary to adapt the model to process management, to ensure that we selected technology and also the have a complete overview. This phase development of prototypes to verify the was called Investigation. accuracy and efficiency of the model The third phase is the phase of modeling, obtained, under production conditions. in which the theoretical processes model Once this phase is completed we proceed to is designed. Information obtained in the execution and monitoring, a phase which previous phase are structured, analyzed comprises the enacting of the modeled and represented as the processes model. processes. Simultaneously with the Once we have obtained the processes process/processes execution a monitoring model, we must realize a selection of the component of the system vizualisez the state platform on which the model will be of process instances and collects information implemented. Selected platform can be on them. Data is usually stored in log files technical or non-technical. In the first and it represents the foundation for the next case a variety of platforms might be phase: evaluation and optimization. suitable for the implementation of business processes, including automated

Figure 4. Proposed methodoloy for developing a BPM solution

5 Web Sphere Business Process Management (BPM) solution

Database Systems Journal vol. II, no. 3/2011 29

It is approximated that currently there are platform services and includes, but is not over 160 BPM solutions on the market, limited to capabilities such as business and it is estimated that the market will process automation. grow by about 20% annually over the WebSphere ESB is a flexible connectivity next two years. Opportunities on the infrastructure for integrating applications BPM solutions market are very high. In and services. It manages the flow of 2000, most estimates showed that the messages between service requesters and BPM market was worth tens or hundreds service providers and offers some mediation of millions of dollars. Following analysis modules thathandle mismatches between concluded that in 2011 the same market requesters and providers, including protocol would reach a value between 4 and 6 or interaction-style, interface and quality of billion dollars. service mismatches From the large pallete of BPM solutions a WebSphere Integration Developer (WID) is few of them stand out and take a high an integrated development environment for percentage of the market. One of these is building applications based on service- the Business Process Management oriented architecture and it’s based on solutions suite from IBM WebSphere® industry standards, most notably WSDL, portfolio, which is dedicated to ensuring XSD, BPEL, Java, and UML. WID uses a the growth and productivity of a company set of visual construction tools and higher and represent key elements of IBM level concepts, which lets one focus on the Business Process Management Platform. business problems insted of code issues. They enable advanced integration by WebSphere Business Monitor is a Web modeling, monitoring and effective application that is deployed and run under management of current or planned WebSphere Process Server 6 and that processes within the company or partner provides the ability to monitor different network. Furthermore, increases the aspects of business performance in real- visibility of these processes within the time. Among the features it provides we company and how to quantify and audit mention: monitor and manage business them. performance indicators, visualize New software applications can be performance data such as KPIs and metrics, exploited quicker and the market view business-critical information transactions can be performed more graphically and others. efficiently than the competition. Control WebSphere Business Modeler is IBM's of these processes moves from IT people premier business process modeling and to business people which means analysis tool for business users. It offers extensive possibilities to adapt companies process modeling, simulation, and analysis to economic changes. capabilities to help business users The Business Process Management suite understand, document, and deploy business comprises the following products: processes for continuous improvement. WebSphere Process Server, WebSphere Enterprise Service Bus (WebSphere 6 WebSphere Business Process ESB), WebSphere Integration Developer, Management solutions performance WebSphere Business Monitor, tuning and configuration WebSphere Business Modeler. IBM engineers suggest the following key WebSphere Process Server is a tuning and deployment guidelines as comprehensive Service Oriented relevant in virtually all performance- Architecture integration platform that sensitive customer engagements [8]: allows the deployment of standards-based • Use a high-performance disk business integration. It is it is based on subsystem. In virtually any realistic the robust J2EE 1.4 infrastructure and topology, a server-class disk

30 Business Process Management Solutions Performance Tuning and Configuration

subsystem (for example, RAID excellent response times for high- adapter with multiple physical volume task and process list queries. disks) will be required on the tiers • Use work-manager-based navigation to that host the message and data improve throughput for long-running stores to achieve acceptable processes. This optimization reduces performance. the number of objects allocated, the • Set an appropriate Java heap size to number of objects retrieved from the deliver optimal throughput and database, and the number of messages response time. JVM™ verbosegc sent for Business Process output will greatly help in Choreographer messaging. determining the optimal settings. • Avoid unnecessary usage of • Where possible, utilize non- asynchronous invocations. interruptible processes Asynchronous invocation is often (microflows) instead of needed on the edges of modules, but interruptible processes not within a module. Utilize (macroflows). Macroflows are synchronous preferred interaction required for many processes (for styles. example, if human tasks are • Avoid too granular of transaction employed or state must be boundaries in Service Component persisted). However, there is Architecture (SCA) and Business significant performance overhead Process Execution Language (BPEL). associated with macroflows. Every transaction commit results in • Use DB2 instead of the default expensive database or messaging Derby database management system operations. Design your transactions (DBMS). DB2 is a high- with care. performing, industrial strength database designed to handle high 7 Performance tuning methodology and levels of throughput and checklist concurrency. It scales well and For system performance tuning to be delivers excellent response time. performed efficiently and succesfully, • Tune the database for optimal serious and vast training and experience are performance. Proper tuning and required. Therefore we do not try to describe deployment choices for databases the activity in detail but only highlight key can greatly increase overall system aspects that are particularly important. throughput. A system-wide approach to performance • Disable tracing. Tracing is clearly tuning of a WebSphere BPM environment is important when debugging, but the recommended. overhead of tracing severely When tuning a system it is important to impacts performance. remember that the activity includes and • ConFigure thread and connection regards all the elements of the deployment pools for sufficient concurrency. topology and in the case of the WebSphere This is especially important for BPM suite this includes : high-volume, highly concurrent • Physical hardware topology choices workloads, since the thread pool • Operating system parameters tuning settings directly influence how • WebSphere Process Server, much work can be concurrently WebSphere Application Server, and processed by the server. ME tuning. • Use composite query tables for task and process list queries. Query tables are designed to produce

Database Systems Journal vol. II, no. 3/2011 31

The tuning methodology proposed • Tune external service providers and consists of 4 iterative steps that will be external interfaces to ensure that they executed in a loop. are not the system bottleneck. 1. Selection of the initial parameters • ConFigure MDB Activation Specs. and run the system. • ConFigure for clustering (where 2. Monitorization of the system to applicable). obtain metrics that indicate system • ConFigure thread pool sizes. health and to asses the need for • ConFigure data sources further tuning. • Consider using non-XA data sources 3. Use of data obtained in the previous for CEI data when that data is non- stage in order to guide further critical. tuning changes. In general, this 2. Business Process Choreographer actions phase requires the analyst to • Use work-manager-based navigation examine the collected monitoring for long-running processes. data, detect performance • Optimize Business Flow Manager bottlenecks, and do further tuning. resources. 4. Repeat until done. • If work-manager-based navigation is In order to make sure all the important used, also optimize message pool size steps in tuning a WebSphere BPM and intertransaction cache size. solution are met, [8] suggests a checlist of • Optimize the database configuration activities to be used as a guide, by those for the Business Process performing the tuning. The list is Choreographer database (BPEDB). organized in several categories, according to the tool used: • Optimize indexes for SQL statements that result from task and process list 1. Common tuning actions: queries using database tools like the • Disable tracing and monitoring DB2 design advisor. when possible. • Turn off state observers that are not • Move databases from the default needed (for example, turn off audit Derby to a high-performance logging). DBMS such as DB2. 3. Messaging and message bindings actions • If security is required use • Optimize activation specification application security instead of (JMS). Java2 security. • Optimize queue connection factory • Use appropriate hardware (JMS, MQJMS, MQ). configuration for performance

measurement • ConFigure connection pool size (JMS, MQJMS, MQ). • If hardware virtualization is used, • Optimize listener port configuration ensure that adequate processor, (MQJMS, MQ). memory, and I/O • ConFigure SIBus data buffer sizes. • resources are allocated to each 4. Database actions virtual machine. Avoid over- committing resources. • Place database tablespaces and logs on a fast disk subsystem. • Do not run the production server in development mode or with a • Place logs on separate device from development profile. tablespace containers. • Do not use the Unit Test • Maintain current indexes on tables. Environment (UTE) for • Update database statistics. performance measurement. • Set log file sizes correctly. • Optimize buffer pool size (DB2) or buffer cache size (Oracle®).

32 Business Process Management Solutions Performance Tuning and Configuration

5. Java References • Set the heap/nursery sizes to [1] O. Nicolescu (coordonator general), manage memory efficiently. Abordari moderne în managementul si • Choose the appropriate garbage economia organizatiei, Ed. Economică, collection policy. Bucharest, 2004. 6. Monitor [2] M. Cooper, P. Patterson - Business • ConFigure CEI. Process Management (BPM) topics covering • Set message consumption batch definition, objectives, systems and solutions., size. CIO electronic magazine, 2007, www.cio.com. 8. Conclusions [3] Business Process Management Initiative, Business Process Management Solution http://www.bpmi.org/ provide increased performance, [4] L. Alboaie, S. Buraga – Servicii Web. productivity and reduce processing time Concepte de bază şi implementări, Ed. by automating and optimizing complex Polirom, Iaşi, 2006, ISBN 973-681-522- processes by managing the workflow 6nbsp; throughout the organization. Based on [5] M. Owen, J. Raj - BPMN and Business flexible customized standards, and with a Process Management. Introduction to the large applicability area, BPM solutions New Business Process Modeling Standard, can be implemented quickly and easily 2004 according to the needs of beneficiaries, [6] F. Perkonigg – Application of Business by creating an infrastructure that connects Process Management in Web-Based users and applications. Education, Master’s thesis, Graz, 2006 One activity of utmost important in [7] M. Weske - BPM concepts, languages, ensuring that the implemented BPM architecture, Ed. Springer, 2007, ISBN: solution provides optimum results is 3540735216. tuning. The art of system performance [8] WebSphere Business Process tuning, requires training and experience Management (BPM) V7 Performance Red and therefore it is difficult to synthesize it Paper, ibm.com/Redbooks, 2010. in just a few indications, so the intention of the present paper was only to provide a few key points of special importance.

Alexandra Maria Ioana FLOREA (born 1984) has graduated from the Faculty of Cybernetics, Statistics and Economic Informatics of the Academy of Economic Studies in 2007 and also from the Faculty of Marketing in 2008. Since then she is a PhD candidate, studying to obtain her PhD in the field of economic informatics. At present she is pre-assistant lecturer at the Academy of Economic Science from Bucharest, Economic Informatics Department and her fields of interest include integrated information systems, information system analysis and design methodologies and database management systems.

Database Systems Journal vol. II, no. 3/2011 33

Administration Interface in an e-Testing Software Platform

Diana BUTUCEA Academy of Economic Studies, Bucharest, Romania [email protected]

Administration interfaces represent a subject that requires an in-depth analysis. Due to the complex tasks it needs to execute, the developer of such interfaces must find a perfect balance between aesthetics, functionality, ergonomics and modularity of it. While web users become more and more selective into choosing the websites they browse, the interface of any application must be impeccable. Since e-testing software platforms require a complex system, the paper will provide arguments over functionality, aesthetics, ergonomics and modularity of such platforms. An in-depth comparison over four CMSs will be made and a model of implementation will also be presented focusing on the administration interface and the functionalities it offers. Keywords: administration interface, user interface, database, software system, e-testing

Introduction progressive way from primitive forms to 1 complex organisms. Over the last centuries innovative The Enlightenment marked the efforts have produced impressive liberation from the medieval doctrines of technological achievements: sophisticated magic, superstition, prejudices and the fear medical cures, agricultural methods, new of God by replacing it with human modes of transport, communication rationality. The fear of God made way for a media, information technologies etc. scientific description and explanation of the These achievements keep fostering the world. Beliefs weren’t anymore accepted on optimism for prosperity, higher standards the authority of priests, sacred texts, or of living or, in a broader sense, better tradition, but only on the basis of reason. conditions of life. The cradle of the Reinforced by the idea of natural regularity optimism goes back to the and material cause the Scientific Revolution Enlightenment, an intellectual movement successfully proclaimed the ideology of in the seventeenth and eighteenth century upward development, progress and that strongly influenced the portrayal of improvement of the world, encouraged by mankind. It is the era of great scientists, an ever-increasing knowledge, philosophers and writers, like Descartes, understanding and control of nature’s Newton, Leibnitz, Locke, Kant, Voltaire processes. It asserts that the individual as and Diderot. They claim that man is well as humanity as a whole can progress to rational and good by nature. Also Darwin perfection. Being tightly linked with the should be mentioned, whose theory of starting points of modern society, innovation evolution reflected the conflict between is a necessary condition for all economic science and religion, while it rejected the functioning. Innovations further the creation idea of creation of life according to the of new products, services and production Bible book of Genesis. Rather than the processes, which will give an economic creationist belief that every species was actor an advantage over its competitors. The created individually by God and is not predominant motto is “innovate or pine subject to change or progress, Darwin away” and the concepts of growth, progress, claimed that life has developed in a innovation and change seem to have become

34 Administration Interface in an e-Testing Software Platform self-evident within the context of our transmission of the link between Internet societal system [9]. users through different communication In recent years the pace at which channels, e.g. Yahoo! Messenger or new technologies become available has Facebook). Aesthetics inside a web increased rapidly. Internet, tablets, e- application is mainly due to the web readers and smart phones are fast- designer’s experience and creativity. He is growing markets. So far direct the person who has the vision to draw a technology push on the educational layout following a list of specifications but system remained largely without effect. also putting his fingerprint on the project Educational institutions, positioned as (his vision over the website theme and public utilities rather than competitive purpose). A good layout would guarantee at business, lacked the stimulus for least one thing to a web application: that displaying innovative power and could people would not instantly click the easily ignore new technological trends browser’s Close button when they start and resist radical changes. Today, the browsing it; instead they would be tempted conditions have changed: the pressure on to continue using it. [5] education is high, new technologies are Regarding the user interface matter, flooding the markets, and learners, be it the distributed information approach to schoolchildren or adult professionals, display design identified three forms of grow up immersed in new digital interface communication: information communication technologies and will retrieval, comparison, and interaction. This demand high quality, flexible, modern theory is seeded in traditional cognitive and tailored learning services. [10] theory stemming from connectionist Within the technology framework networks and mapping, but the resources illustrated in Section 2, the paper wishes model acknowledged that task success is to provide a model of implementation for partially display dependent. According to an administration module used in an e- distributed information resources research, testing software system. The proposed display design impacted information- architecture supports fully interactive processing tasks. Various studies have operation of the administrator over the examined each type of interface server through the user interface and is communication and the role of display open towards the integration of more design concluded that attention to the advanced adminstration functionalities. technology components is essential for Section 3 will provide the functional effective positive results. [1] description of the application’s After checking and optimizing the components and design features whereas design part, it becomes the developer’s job Section 4 concludes the paper. to create the functionality as appealing as possible. Therefore, different technologies 2. User interfaces features (both client-side and server-side) are used in order to achieve spectacular visual effects 2.1. Design and aesthetics like multimedia files embedded into web pages, special features modal windows, Wiktionary [11] defines hover, floating or fading effects, small aesthetics (uncountable) as the study or details that make an interface user-friendly, philosophy of beauty. Beauty in World functional and browse-appealing. Wide Web stands for a creative, original, functional and usable layout. An interface 2.2. Ergonomics that would generate admiring comments, lots of traffic, link exchange and link Wiktionary [11] defines ergonomics passing (a term proposed for the (plural ergonomics) as the science of the

Database Systems Journal vol. II, no. 3/2011 35 design of equipment, especially so as to engineer’s job to define its platform reduce operator fatigue, discomfort and guidelines, to choose its models of injury. Starting form this definition and implementation, to coordinate the extrapolating, on the web, ergonomics development workflow and to assure smooth stands for ease of use and a page’s and in-time project hand-over. property to give the user access to any In the development process of an e- information, link, button or functional testing software platform, the answers to the need, in order to create a non-obstructive first set of questions were extremely clear – browsing experience. Therefore, this the developer must build up a software aspect is very important and must system that would generate real-time tests seriously be taken into consideration and deliver instant results to the examined when starting to develop a complex students, therefore, a software platform that administration interface. would complete these tasks is compulsory. The decision was to split the work into three 2.3. Modularity separate modules – the user interface, the administration interface and the database Modularity (uncountable) – the system (as will be shown below). property of being modular [11] states, in terms of user interfaces, a CMS’s ability 3.2. Open Source CMSs vs. Custom made to easily create custom or new modules. CMSs Modern software platforms need to meet this standard and even unexperienced An administration interface for a users have to be able to create such software platform has to meet a few criteria: modules. good aesthetics (as shown in Section 2), ease A comparison over all of these of use (ergonomics), fully customisable features and not only has been made modules, clean and fully customisable core further in the paper. code, non-restrictive administration interface and page templates. Considering these rather 3. Administration interfaces few criteria, a decision must be taken by the software developer over which 3.1. Overview administration interface to use for its platform. Therefore, a study over four major Talking about an e-Testing CMSs (Content Management Systems) has software platform requires a good, in- been made in order to decide which depth analysis. Since developing such a administration interface suits the platform system can become quite challenging in best. Since the research wanted to point out both overall and step-by-step the advantages and disadvantages of using development process, a solid ground in these open-source tools, the paper will matters of documentation and system present the author’s conclusions after using requirements must exist even before the each of these interfaces and, in parallel, project begins. In this phase, a developer developing a custom one. must find the answer to several questions which include: What is the main a. The Joomla! CMS functionality of the platform?, Who is going to operate the platform?, What are The Joomla! project is one of the most the expected results? or Which are the rapidly growing open-source Content system’s limitations? These questions Management Systems in the market. It has a have to find full answers in the analysis large support community and lots of phase of development in order to go on developers base their projects on it. Even with the project. It is the software though Joomla! has a good set of modules

36 Administration Interface in an e-Testing Software Platform that can be used by unskilled developers, the best score (as shown in Table 1), it still it becomes extremely difficult for anyone didn’t meet the requirements for the to create a custom module and place it in development of the e-testing software its project. The five criteria defined platform. before are not satisfied, since the administration interface is non-intuitive, d. The WordPress CMS the modules are un-customisable and the code is almost impossible to change. Considering the aspects that have been Considering these aspects, as well as taken into considerations with all of the Table 1, the decision was not to use previous CMSs, WordPress, as the last open Joomla! as an administration interface. source platform to be tested proved itself extremely user-friendly in terms of interface b. The Mambo CMS customisation but really restrictive in terms of code editing and also in terms of security Since Mambo is the predecessor of (the upgrade cycle is too fast, therefore Joomla!, it has almost the same updating the versions is compulsory). advantages and disadvantages for the end-user. The administration interface is After testing these four administration good enough to develop template-based interfaces, the results were as follows: projects, it includes lots of modules, but does not allow too much customisation, neither on the administration interface Obs. The metrics defined for the research and on the user interface. The CMS has has been chosen as follows: proven itself not suitable for the e-testing software platform. - if the aesthetics of the administration interface is good, the CMS received one c. The Drupal CMS point; else, it received zero points; - if the CMS has been considered ergonomic The Drupal CMS is mostly preferred and intuitive, it received one point; else – by enterprise corporations due to its zero; scalability and power to process and store - if the CMS had customisable modules – large amounts of data and files. Drupal one point; else zero; has an easy to use administration - if the CMS had customisable core code – interface, easy user management, lots of one point; else zero; plugins available free and built-in - if the CMS had a non - restrictive modules, but, again, customising a administration interface – one point; else module has proven to be a difficult task, zero. therefore, even though this CMS gained

Table 1. CMSs’ scores Criteria Joomla! Mambo Drupal WordPress

Aesthetics 1 0 1 0 Ergonomics 1 1 1 1 Customisable 0 0 0 0 modules Customisable 0 0 0 0 core code Non-restrictive administration 0 0 1 1

Database Systems Journal vol. II, no. 3/2011 37

interface

Total 2 1 3 2

After analyzing the scores and the main fully expand since its fourth release, when features these types of administration Zeev Suraski and Andi Gutmans rewritten interfaces can offer, the decision was the PHP engine under the acronym Zend.[8] taken over implementing a custom-made PHP can be regarded as a mature administration interface rather than use technology in the sense that it has a large an existing one, since none of them has user base, is widely supported and has many proven itself reliable for the software advanced features. platform that needed to be developed. Opposed to server-side technologies, Even though the amount of work is client-side technologies are the ones that considerably larger, a skilled developer generate the events directly on the client can easily create its own administration application (usually, the web browser), in interface, build his own modules and be order to cut out the time needed for the able to obtain good results on both client- server’s interrogation and response delay side and administrator interface. and, most important, to create visual and functional effects similar to desktop 4. Model of implementation applications, for an excellent browsing experience to the user. The resemblance to 4.1. Web technologies integrated in the desktop applications is quality in ease and administration module use while the difference comes from the mobility and accessibility [3]. In this Considering the wide variety of context, RIAs (Rich Internet Applications) web technologies and because each have emerged in the last few years, technology has its strong and weak parts, providing developers a large set of tools to it remains to the developer’s choice and use. work experience which one to use in its AJAX (Asynchronous JavaScript and software platform. Depending on the XML) allows every element within a web tasks the application needs to execute and interface to be individually and quickly on the developer’s work experience, a updated without affecting the rest of the software system can be build using interface. This, of course, is not what most different web-based technologies. web users are accustomed to. Initiating an Server-side technologies refer to action within most web sites triggers the scripting where a client generates a inevitable blank screen and page loading request to a server, the server analyzes process. Though not very responsive, the this request and generates a response full-page update makes it very clear to users back to the client. The process is that their action has resulted in a reaction executed on the server and the response and that a response will be available as soon returns as HTML code to the client (the as the page is refreshed. Because AJAX - web browser). These technologies are based updates are very fast and incremental mostly preferred by developers due to (often affecting only a small portion of the ease of integration within mark-up user interface), users may not notice them, language and because of their capability especially when they are used to seeing full- to generate dynamic HTMLs. [2] page rewrites, but they make the web pages Since its release, in 1994, PHP work more efficiently, increasing the (the acronym for Personal Home Page) browsing speed. became very popular due to its ease of In matters of markup languages, the nesting into HTML code, but started to simplicity of HTML has captivated many

38 Administration Interface in an e-Testing Software Platform skillful programmers and creative web Section 3), an administration module for an developers, enabling them to create all e-testing software system has been sorts of websites. Over the years, HTML developed. The solution has been has withstood many challenges and implemented using PHP as server-side evolved with new features as the web technology and AJAX as client-side technology advances at an astonishing scripting (technologies which are similar to pace. Today, HTML is still the the ones the four CMSs that have been predominant technology for website tested use) and is composed of three major designs. These websites provide mostly modules: the student module, the browseable-only contents with form administration module and the database interaction using Common Gateway structure. What I needed was a tool that Interface (CGI). would dynamically generate tests, Dynamic web content generation randomize questions and / or answers, and interaction are achieved by using a generate instant results and have the database system as the backend data capability to save and manipulate the tests’ storage and retrieval system in results. Therefore, the platform I have conjunction with a client (web browser) developed is fully customizable (the and a web server. The majority of these modules can be easily upgraded, if types of Internet applications are most necessary), has an easy module used by the e-commerce and implementation system and is able to entertainment sectors. However, most of manage large amounts of data and files. The these more sophisticated interactive implemented algorithms have proven applications still provide only simple themselves efficient and the database interactions such as product navigation, structure is stable and hasn’t encountered shopping cart storage and form errors of any kind. processing. More complex interaction is The users that would interact with achieved by using Javascripts embedded the application were divided in three in HTML or plug-ins. [6] separate categories: the master Two-tiers approaches to client / administrator, the administrator and the server architectures followed the file students. server approach. In this system, the client - the master administrator is a workstation is responsible for managing special type of user and has the user interface, including presentation special administrative roles, logic, data processing logic and business mostly into assigning roles and rules logic and the database server is privileges to the application’s responsible for database storage, access users. and processing. Therefore, user - after logging into the application, authorisation, integrity checking, data the administrator has many dictionary maintenance, query and update different management options, processing are all performed at one including disciplines, chapters, location, on the database server. [7] questions and answers, sections that define the content of the 4.2. Custom-made administration online tests; besides these interface sections, tests and exams management sections are Since none of the four open different and manage the source administration interfaces did not creation, distribution and prove themselves efficient or manipulation of the online tests. customisable enough to meet the - students are only allowed to take demanded requirements (as shown in the exams

Database Systems Journal vol. II, no. 3/2011 39

Figure 1 shows the activities diagram and presents the workflow and the conditional steps an administrator does in order to deliver the tests to his students. As previously mentioned, after logging into the application, the administrator has to insert a new subject, link chapters to this new subject and then, in a cascade mode, insert his questions. After completing these steps, the administrator must create his test, add questions to it (if it is a fixed test) or just name it, if he wants to create a random- generated new test. All these options are available through the administration module presented in Figure 2. After creating the tests, inside the Exams Management section, the administrator authorizes the students to take the exam, after they have previously registered through an online form. The proposed authorization algorithm counts the students that have registered, validates the list of students and, with the professor’s

Figure 1. Activities diagram permission, triggers the exam.

Figure 2. Administration module interface

If a student is not authorized by will have different sets of questions, the professor, he would immediately receiving their mark separately, according to be removed from the waiting list. A their test. log file is automatically generated, Since this interface is a custom-built allowing the teacher to have full one and since every implemented module is control over his admission lists and his known by me, I can clearly state that taken exams. Figure 2 presents the building this administration platform from main interface of the administration scratch has been the best solution for my module. Note that, if the test is a type of software system. Also, because random-generated one, each student classic CMSs are mostly targeted to build

40 Administration Interface in an e-Testing Software Platform commercial websites and to be used designed could easily define a user’s will of by unskilled users, the choice of using it. building a custom administration In addition, the term administration interface has become compulsory in interface strongly relates to the database it this situation. uses. Since all data is gathered from the database system, the information must be 4.3. Future work unaltered and ready to be delivered to the user when he needs it. A powerful content Being aware that the presented management system is the software platform subject has not yet reached its full that does this delivery whenever necessary. potential and that there still are a lot of Even though, overall, all open source CMSs aspects to cover, the research will to are working on the same technologies and continue by studying the fields of use the same DBMS, major differences semantic web and ontologies. Since a appear in terms of presentation and standardization method has not yet modularisation. Data flows are also different been defined in this research area, I and modifying any of them proves to be a hope that my future studies and difficult task even for skilled developers. research would become useful Linking a database to an materials for other researchers. administration interface is usually done Meanwhile, I wish to improve and through configuration files, two examples of develop the functionalities of the such files being listed below: software model, and, in parallel with semantic web, to fulfil some question types, new test types and proposing new implementation algorithms to the present software development process of an interface, the developer must consider at least two aspects: the aesthetic of the The paper presents the interface and the functionality of it. implementation model of an e-testing Recent studies have revealed a administration interface, analyzing some of high correlation between how an its features, functional mechanisms and application looks and the user’s desire implementation algorithms. E-testing to continue browsing it [5], therefore software systems represent a special kind of the way an administration interface is web applications. Because of their functional purpose, they need to be robust

Database Systems Journal vol. II, no. 3/2011 41 and reliable. These two major 5. Acknowledgments characteristics are implemented through the web technologies used in This work was co financed from the the development process. In chapter European Social Fund through Sectorial 4.1, a set of arguments to support the Operational Programme Human Resources decisions regarding the technologies Development 2007-2013, project number used in this process have been POSDRU/107/1.5/S/77213 „Ph.D. for a presented. Nevertheless, although the career in interdisciplinary economic research market offers a wide variety of web at the European standards”. technologies, in the end it comes to the developer’s decision and work experience which one to use for its References software platform [4]. While server-side technologies [1] Austin, K., „Multimedia learning: represent the basis of the software Cognitive individual differences and display platform, client-side technologies design techniques predict transfer learning manage to bring in front the sparks with multimedia learning modules”, that make the difference between a Computers & Education 53, 2009, pp. 1339– static, dynamic, aesthetic or functional 1354 web application. [2] Butucea, D., Cervinschi, C., The paper also presents a “Development of e-learning software comparative study made by the author systems using web technologies”, The Tenth over some of the most commonly used International Conference on Informatics in Content Management Systems. The Economy IE, 2011 study revealed a rather intuitive result [3] Castellanos-Nieves, D., Fernandez- (which has now been confirmed, Breis, J. T, Valencia-Garcia, R., Martinez- through its research, by the author as Bejar, R., Iniesta-Moreno, M., “Semantic well) – every CMS, no matter its Web Technologies for supporting learning name, producer or level of popularity, assessment”, Information Sciences, No. 181, is a restrictive tool when it comes to 2011, pp. 1517 – 1537 building a custom-made web [4] Cervinschi, C., Butucea, D., application. Even though four of these “Integration of web technologies in software types of software platforms have been applications. Is Web 2.0 a solution?”, tested, in the end the author’s custom- Database Systems Journal, 1, 2010, pp. 39- made administration interface has 45 proven itself the best solution into [5] Cervinschi, C., Butucea, D., “Impact building the desired e-testing software of web technologies in functionality and system. aesthetics of web applications”, 18th In conclusion, a good balance International Economic Conference – IECS, between aesthetics, functionality, 2011 ergonomics and modularity of the [6] Chang, G., Hsieh, J., Calixto, P., administration interface, a solid „Components for Building Desktop- structured database system, good Application-Like Interface in Web security and reliable software Applications”, APWeb, LNCS 3399, 2005, development will create the premises pp. 960–971 for any administration module or [7] Hoffer, A., Prescott, B., Topi, H., interface to become widely used and “Modern Database Management”, Pearson appreciated. Prentice Hall, 2009, pp. 406-407

42 Administration Interface in an e-Testing Software Platform

[8] Săulescu, O., “Creaţi uşor un technology.”, Educational Technology and Website dinamic cu PHP şi MySQL”, Society, 8, 2005, pp. 28–37 Chip, Nr.2, 2003 [10] Westera, W., „The eventful genesis [9] Westera, W., „Beyond of educational media”, Educational functionality and technocracy: creating Technology and Society, Published online: human involvement with educational 21 May 2011 [11] http://en.wiktionary.org

Diana BUTUCEA graduated in 2008 from the Economic International Relations Department of the Academy of Economic Studies in Bucharest, in 2009 from the Faculty of Automatics and Applied Informatics of the Transilvania University of Brasov and in 2010 from the Economic Informatics masters at the Academy of Economic Studies in Bucharest. Her parallel interests, in economy and software engineering, are now merging into her studies and researches since she is PhD student at the Academy of Economic Studies, Bucharest, studying integrated software systems, web technologies and e-learning platforms.

Database Systems Journal vol. II, no. 3/2011 43

Data Acquisition and Storage in Engineering Systems

Cezar Liviu CERVINSCHI Academy of Economic Studies, Bucharest, Romania [email protected]

Data storage represents a sensitive subject when it comes to a software system or a software application. Referring to engineering systems, data storage becomes even more challenging, since multiple functions must be accomplished and various tasks need real time response and high accuracy. While gathering information through data acquisition is relatively simple, with hardware and software equipment providing wide and complex documentation, data storage raises a set of issues, mainly due to communication channels, storage devices or software algorithms. In this context, the paper will focus on presenting some of the mostly used hardware devices and data transmission protocols in engineering applications, creating an overview over data manipulation and providing an implementation method, together with proposed solutions and a model of implementation regarding the topic. Keywords: data storage, engineering, data acquisition, database, system, microchip

Introduction Since most engineering-related 1 software concentrate on resolving only one The term ‘engineering’, taken into specific task (the task the system is designed consideration as it is, is void form the to do), each engineering system needs and very beginning: the American Engineers’ uses its own software platform, requiring Council for Professional Development special resources for both the development (ECPD) defines the term as ‘the creative and operating processes. However, with the application of scientific principles to massive growth of nano-technology and design or develop structures, machines, electronic devices, lots of issues have been apparatus, or manufacturing processes, removed, since high performance or works utilizing them singly or in microchips have been created and powerful combination, or to construct or operate development boards incorporate all the the same with full cognizance of their needed functionality in terms of design; or to forecast their behaviour connectivity, communication interfaces, under specific operating conditions; all memory types, signal converters or graphic as respects an intended function, display [5]. In addition to these hardware economics of operation and safety to life break through-s, software development and property’ [1, 4]. Considering this environments have adapted to these changes rather wide definition, it is obvious that and provide specialized classes and objects the area of research must be clearly that manipulate data transmitted through specified. these devices (e.g. Microsoft Visual Studio The paper will focus on the has specialized classes for manipulating electrical engineering branch, studying threads, message queuing or different types data acquisition and storage methods for of networks). electronic devices, hardware components Regarding the data storage support, it and will provide a functional example, can be of various types, regarding the together with other possible system put into discussion. Since most of the implementation scenarios regarding both microcontrollers have embedded memory, it acquisition and storage of information. comes natural for the engineer to use the

44 Data Acquisition and Storage in Engineering Systems built-in memory available onboard. It is a discrete components and integrated circuits good strategy, but is mostly used into to execute relatively simple functions, large loading and running the software the and complex hardware structure results [2]. microchip uses, leaving the gathered data Therefore, new controllers have been in a third state logic, the ‘unknown / developed and they incorporate the undefined’ state. This is where the hardware structure as a ‘black box’ with developer, through his code, must decide input and output signals and the microchip what to do with the gathered data and one as the box (containing Analog/Digital of the safest ways of avoiding both data converter, comparator, Pulse Width loss and memory overloading is to Modulation, serial communication, internal redirect information to a database system. clock, RAM / EPROM / EEPROM / Flash Arguments over using database memory, programmable I/O). technology in engineering systems are the mechanisms they provide in managing the consistency and availability of data, input output standardization of input data or high Black box storage capabilities. Reuse of data can be Figure 1. Black box structure done at any time, a simple dump or query interrogation retrieving information that Loading the software on the microchip afterwards may be listed on external requires only a connection to a PC. support (e.g. .xls files), used in statistic processing or in automatic creating of log 2.2. Microcontrollers’ architectures files.

One of the most important elements

that must be taken into consideration when 2. Engineering systems analyzing a system is the Central Process Unit’s (CPU) architecture [3]. As previously mentioned, an a) Von Neumann architecture engineering system is void without Microcontrollers based on this clearly specifying its functional area. architecture have a CPU with only one Process automation has always been a memory device used for both memorizing challenge for engineers and researchers, code and instructions and also the processed since new and more sophisticated electric data. There is only one internal bus used for and electronic devices appear, and evaluating code functions (e.g. automated processing lines tend to FETCH_OP()) and data. The two operations replace manual labour. Terms like are executed sequentially and derive into a microchip, multi-agent system, PLC delay on operations response. (Programmable Logic Controller), b) Harvard architecture development board, I/O (input - output) This type of architecture has separate have emerged and human society must memory devices for program code and for adapt to them. data, therefore separate buses exist, making

possible the parallel execution of both 2.1. Microcontrollers processes. Digital Signal Processing (DSPs)

use this type of architecture and, because of Microcontrollers are integrated its high costs, it is not widely used. circuits based on different types of c) CISC (Complex Instruction Set architectures and which, depending on Computer) the system’s functionalities, incorporates Almost all microchips’ CPUs rely on the different components. Since the majority CISC concept, meaning that over 80 of microprocessors require a lot of instruction functions are built-in the

Database Systems Journal vol. II, no. 3/2011 45 microchip’s CPU, operating with and long-distance capability adapt perfectly addresses, registers or only allowing to the industrial environment [6]. certain operations. A big disadvantage would be the usage of small and memory consumption functions rather than a single macro-instruction. d) RISC (Reduced Instruction Set Computer) As its name states, this type of architecture uses a small set of instructions, making the CPU efficient and rapid. Its rapidness is increased by including a separate instruction pipeline, thus accelerating data transmission.

2.3. Communication

a) RS232 RS232 is a series of standards for serial binary single-ended data and control signals, connecting between a Data Terminal Equipment (DTE) and a Data Circuit-terminating Equipment (DCE). It is commonly used in computer Figure 2. RS232 pinouts serial ports, defining electrical characteristics, signals meanings and physical size and pinout of connectors. 3. Data acquisition and storage A serial port is a serial communication physical interface 3.1. Overview through which information transfers from one device to another as a bit stream. A The problem of data acquisition and limitation of the standard is the maximum storage is a complex one in engineering length of the data cable, which cannot be systems. While, as previously mentioned, bigger than 10 meters. microchips do own a small memory of their The RS232 connector was originally own (mostly used for storing the software developed to use 25 pins. In this DB25 application and functions the system connector pinout, provisions were made performs), this memory, be it volatile or not, for a secondary serial RS232 is not capable of storing all the data streams communication channel. On personal as they are registered and measured by the computers, the smaller DB9 version is system. more commonly used (Figure 1) [4]. Considering a high sampling rate for read data, the amount of information the b) RS485 microchip would have to memorize would Similar to RS232, RS485 sends data increase within seconds, causing memory streams through serial ports using a pair overflow and system crashes. To prevent of wires to send differential signal over such things, the software developer must distances up to 1200 meters. The decide what to do with the data. differential signals make RS485 very First scenario states that the robust and more appropriate to industrial developer wants to discard the data, applications, while its noise immunity meaning that in this case he would just read the data, process it, if necessary, by holding

46 Data Acquisition and Storage in Engineering Systems it into a memory buffer and, while new database management system must carefully data flows through the system, the old be chosen. Whereas with CPU applications data would disappear. The maximum developed in C# technology, it would be output of this kind of approach would be best to use MS SQL Server, in applications receiving a graphical result of the data that need lots of disk space (e.g. large (e.g. measured parameters). databases or data warehouses) Oracle can be A second scenario would imply used, while with small or medium size that the developer wants to have a engineering applications even the open- hardcopy of the data flow somewhere on source MySQL DBMS can be used. an external device. In this case, using a database management system represents a 3.2. Transmission protocols good approach, since no data would be lost, due to the DBMS’s automatic Having to choose which transmission backup tools. Therefore, as data flows protocol to use could prove to be a through the system, the developer can set challenging task since the market provides a sample rate (for example, the sample several such protocols, each one of them rate the system gathers data with) and meeting different demands, according to the insert into the database the desired engineering system they have to support. information (data content, parameters, errors). This way, after stopping the a) The Ethernet protocol device and analyzing data, engineers Developed in the mid 70’s as a part would know the parameters of the of the Ph. D. dissertation of Robert Metcalfe machine or the problems that occurred. and standardized in the early 80’s [7], when This database-aided approach can be IEEE (Institute of Electrical and Electronics extremely useful in debugging an Engineering) started project 802 to engineering system, since the user can standardize local area networks – LAN. track both system problems and Ethernet stations communicate through data productivity issues. frames, which have the following structure: Depending on the user and on the type of the application he develops, the LLC Header Starting Destination Source Type and Pad Frame Preamble Delimiter Address Address or Information (0 – 46 Check (7 bytes) (1 byte) (2 or 6 (2 or 6 Length Field bytes) Sequence bytes) bytes) (2 (0 – 1500 (4 bytes) bytes) bytes) Table 1. Ethernet frame format

The Preamble is used by the receiver to errors. In order to send a frame over a allow establishing the connection. The network through the Ethernet protocol, a Starting delimiter is a simple flag that station listens to the Ether. If it is busy, the indicates the start of a frame. The type or station will enter a waiting queue and, after Length field is the field that sets both the the thread gains access, the frame starts the Information field and the Pad field transmission. (which is actually a compensation field for the Information field – if it has less b) The GSM protocol than 46 bytes, the Pad field compensates Similar to the Ethernet protocol, the GSM it). Finally, the Frame Check uses a (Global System for Mobile CRC-32 (Cyclic Redundancy Check) Communications) protocol can be used in polynomial code to check the frame for data transmission or acquisition systems.

Database Systems Journal vol. II, no. 3/2011 47

The standard has been developed by the been mostly implemented in engineering European Telecommunications Standards applications concerning fields like home Institute (ETSI) in order to describe automation, smart energy consumption second generation (or 2G) digital cellular systems, telecommunications, medical networks’ technologies. Clearly defined appliance or smart remote control. Thanks to for mobile communications, GSM is a its low-cost and low-power usage, the cellular network (data is sent through the protocol allows longer life with smaller network from one cell to another) that batteries, high reliability and extensive range can easily be implemented on of products. Standard ZigBee microchips engineering systems that need data have a built-in flash memory of 60 to 256 acquisition. It can be implemented using KB and they operate in all the major radio a GSM modem as a data dispatcher and bands: industrial, scientific and medical connect to several other devices. (ISM) with data transmission rates varying Nowadays, with 3G networks expanding from 20 to 250 kbps. daily, this protocol should really be taken into consideration in any type of system After analyzing this short and generic that needs data transmission, although it overview over some of the mostly used data has its limitations. transfer protocols, a conclusion can be made, and that is that electronic c) The Wi-Fi protocol communication systems are evolving with IEEE 802.11 is a set of standards for an astonishing rhythm, form old-fashioned implementing wireless local area network network cables and adapters, to cutting edge (WLAN) computer communication in the wireless technologies, high speed data 2.4, 3.6 and 5 GHz frequency bands [8]. transfer rates and glamorous GSM Empirically, a WLAN network could be technologies for next generation gadgets. considered a wireless version of Ethernet. In the same context, engineering systems Over time, the protocol has improved, become more and more sophisticated, giving rise to different variations of it: integrates high-end technology and deliver 802.11a is a version that operates at 54 real-time responses. Software support must Mbps and is considered the favorite keep up with the hardware devices, must wireless LAN protocol for IP telephony, create frameworks that would deliver even though it has a major disadvantage – adaptable software for these devices and the network coverage only goes up to 30 integrate in the scientific process of m. A second version of the protocol, technology development. 802.11b, operates at 11 Mbps but has a For an engineer, having to choose major improvement in the network between a data acquisition protocol over coverage – almost 100 m – making it another could become really difficult. Every suitable for public hotspots or small decision must be fully compatible with the environments. An even newer version, kind of task the system is projected to 802.11g, works at 54 Mbps and is perform. Thus, choosing a DBMS to store considered a high speed replacement for the collected data would prove itself an even 802.11b. more challenging task, considering the compatibility issues that might occur. d) The ZigBee protocol ZigBee is a specification for a suite of high level communication protocols 4. Case study using small, low-power digital radios based on an IEEE 802 standard for For experimental purpose, I have personal area networks [8]. Since this developed a small robot whose task was to protocol is extremely versatile, it has resolve a maze using proximity sensors and

48 Data Acquisition and Storage in Engineering Systems the functions loaded inside the CPU. The In order to navigate through the maze had vertical walls and the robot maze, the robot uses three Sharp GP2D120 would recognize black lines on the floor distance sensors for wall detection. They are of it. Guided by these lines and by the highly precise and very commonly used in sensors’ received signals, the robot robotic systems. The detection distance executes 180 degrees spins, left or right keeps between 40 and 300 mm, allowing the turns and stops, in order to get out of the robot to both keep its trajectory and to detect maze. the maze’s structure. The sensor is immune to the interference of ambient light and 4.1. Solutions offers excellent indifference to the detected object’s colour, therefore making the The solution for resolving the detection of a black wall in full sun light maze proposes loading a Visual Studio possible. C# program inside the microcontroller. When the robot starts running, the 4.3. The ATmega168 Microcontroller proximity sensors will search a wall on the right side, guiding the robot’s moves. The autonomous robot is built If the sensors detect no wall on the right around a CPU Module who supports an side, the robot would turn right. If the AVR ATmega168 microcontroller (MC): sensors detect a wall on the right side and in front of the robot, he would turn left. The movement is set by the engine driver, which sends a signal to the two wheels. While moving, the communication is done through radio waves and real time information is sent to the external display device (a PC monitor). The emitter (placed on the robot) and receiver (connected to the RS232 PC interface) work on the same frequency with a similar baud rate, being fully compatible.

Figure 4. The CPU Module (pin’s configuration)

The MC is based on the RISC architectural model. It has a 131 set of instructions and 32 x 8 general usage registers which are directly addressable by the Arithmetic and Login Unit (ALU), Figure 3. The robot inside the maze allowing the access of two independent registers with one instruction, therefore the MC being up to 10 times faster than CISC- 4.2. The sensorial system based conventional MCs. The AVR architecture has two main memory spaces: Data Memory and Program Memory plus a Data Storage Memory. The

Database Systems Journal vol. II, no. 3/2011 49

Flash memory allows reprogramming has been developed. The communication’s through a serial SPI interface by a channel parameters are as follows: conventional programmer and a boot Table 2. Transmission settings program can load the program inside the Flash application memory. Baud Parity Data Stop The input and output (I/O) of the rate bits bits MC is made through specialized pins, 4800 None 8 1 each pin being separately set and not bps affecting the other pins. Data transmission is made through the IN, Because the transmission is made OUT, CBI and SBI instructions. All the through radio waves, when receiving data, AVR ports have the Read-Change-Write interference may occur. This inconvenience function when they are used as direct I/O can be removed by filtering the gathered ports, making data flow extremely data, both the transmitter and the receiver versatile and the hardware structure allowing the data to be coded. extremely modular. 4.6. The resolving algorithm 4.4. The communication channel The Wall Follow algorithm states To be able to send certain data to that, if the maze is simply connected (all the the computer, the robot must have a walls are inter-connected or connected to the communication interface. Because the exterior wall), then, through maintaining one system is in motion, a wired connection side (left or right) following the wall, the would have been difficult to implement, robot would always find its way out (in case therefore the choice was to implement a the maze has a way out). The choice was to wireless transmitter – receiver (T/R) make the robot follow its right side wall. connection. The method was an The robotic system faces four different unidirectional communication, through situations: moving forward until he has to radio waves. The T/R pair has several turn, 90 degrees left turn, 90 degrees right advantages in implementation: up to 150 turn, 180 degrees turn. m coverage, 4800 bps – 315 MHz baud rate, small price and light weight. The T/R circuit is powered through the serial port on the RTS (Request To Send) pin, even though, normally, the serial port is not build to power hardware devices. This is only possible because the circuit need small amounts of power, thus can be delivered by the serial (7 – 10 mA).

4.5. The SerialPort Terminal Application

The receiving module is connected to the computer through the Figure 5. The solution for the maze serial port. Because the data flow from the robot to the PC is unidirectional, the Going forward, the robotic system robot sends data and the PC collects it. In uses the sensorial system to maintain an order to display the robot’s sent data as equal distance towards both walls. When well as its parameters, a VS.C# finding a gap on the right side, the system application, called SerialPort Terminal, would turn right by placing itself in the centre of both lanes and then turn. Turning

50 Data Acquisition and Storage in Engineering Systems left, the robot must find a wall in front of Data_bit varchar Transmission data him whereas, to turn 180 degrees, the (bits) system must find walls in both his left Parity int Transmission and right sides. parity Baud_rate varchar Transmission 4.7. Acquisition and storage baud rate Stop_bit bit Transmission end Regarding the data acquisition bit (flag) and storage issues, they remained at the developer’s choice, meaning that he had Using an administration module (for the alternative to save or discard the example, a web interface), any user could be received data. For the presented solution, able to manipulate and use the database since the purpose was creating a records. Since every recording gives details functional autonomous robotic system over all the communication parameters, rather than a collection of data, data exporting the data set would give important would not be saved on an external storage information over the engineering system’s device. functionality, over the status of the While the robotic system is mechanisms, transmission parameters and running through the maze, the system errors, if they occur. This data can alphanumeric display would indicate its easily be processed and the functionality of state through the transmitted data. The the engineering system significantly robot moves inside the maze using the increased. procedures described in section 4.6 and Extrapolating this idea, it is obvious the SerialPort Terminal application that any engineering system can be displays the state messages on the improved by adding database storage computer. support that can save all the parameters’ A completely different scenario statistics and functional log messages. would have been if the data needed on- Dealing with a large amount of information line or offline processing. Since the data makes it almost mandatory that acquisition acquisition software program has been systems must have a backup support, mostly developed using Microsoft’s Visual due to microchips’ limited memory space. A Studio C#, a compatible and convenient database management system would most DBMS for data storage would have been definitely assure disk space, backup utilities, MS SQL Server. data extraction tools and a completely Through an SQL Connection, functional work flow for the system: Data when transmitting data, the program acquisition --> Database storage --> Data would automatically send the log processing. This would also imply that messages and the parameters to a system engineers would be aware at any database table. Using a convenient baud time about the system’s parameters and be rate, the software system would insert able to take important decisions and might database recordings inside a specific even change the system’s structure, if the table. Such a table structure is presented procedure calls it. below: Table 3. Proposed database table Field Data Functionality 5. Conclusions Name Type Acq_id int Recording Building an engineering system is identifier not necessarily a matter of quantity but a Port_name varchar The opened port matter of quality. Such a system requires for the recording solid grounds in different areas of research,

Database Systems Journal vol. II, no. 3/2011 51 but different tasks can be split between from a functional point of view to data flow more specialists in order to achieve full and data storage management. The research potential from each engineering module. results state that a good engineering system The paper has presented some of the most needs a solid database backup support, used microchips architectures and together with high storage capacity and communication protocols. Automating a speed of response from the database server. process proves, in this context, that The presented case study represents understanding the system’s requirements an example of such a system, considering is essential into choosing a project that autonomous robotic systems are studied development work flow. intensely in matters of developing After analyzing the functional microcontrollers which, afterwards, can needs and choosing the pieces that must become the starting point of more complex be put together in order to develop the systems such as robotic arms and other system, engineers must work together anatomical parts or intelligent devices for with software developers and system different areas of life. In the same time, the administrators at calibrating and tuning presented software application represents a the whole system. Because the project to good starting point for a more complex and be delivered is not only a solution to a highly developed data acquisition software specific task, but might even be a system, together with the transmitter / worldwide innovative system, everything receiver wireless connection (which, of must go hand in hand and work perfectly. course, could have been implemented using Examples of such automated systems can one of the listed protocols, not necessarily be found in medicine, home automation, the radio wave one). smart energy consumption methods, In conclusion, a good engineering remote control devices, building system must work hand in hand with a automation or retail services. All these database system since data must not be lost research areas need data acquisition but processed. Important break-through-s systems and storage space. have been made in the domains of nano- An important role in the technology and electronics resulting in high development part comes to the system speed data flow devices, and this speed must administrator, which has to decide which now be transferred to databases in order to hardware platform to use, which capture and store all data streams that flows operating system to install on the server inside these devices. Having implemented and to decide the database management these features would make engineering, system to use for data storage. The software development and system DBMS is an important piece of the administration go hand in hand in all puzzle since a fraction of a second delay domains of life. could compromise an entire period of data acquisition and research work or, worse, a company’s productivity, References therefore it must be carefully chosen in full compatibility with both hardware and [1] “The Engineers Council for software equipments. Professional Development”, Science, Vol. In this context, the paper has 93, No. 2426, Jun. 1941, pp. 611-612. presented possible ways of [2] F. M. A. da Silva, P. H. I. A. de implementation for database management Oliveira, “Development of a data acquisition systems in data acquisition applications, system for light airplanes flight tests”, 18th relating the complexity of the engineering International Congress of Mechanical system to the DBMS to choose. In Engineering, 2005 addition, a case study has been analyzed

52 Data Acquisition and Storage in Engineering Systems

[3] G. Dudek and M. Jenkin, [7] J. F. Shoch, Y. K. Dalal, D. D. Computational Principles of Mobile Redell, R. C. Crane, Evolution of the Robotics, Cambridge University Press, Ethernet Local Computer Network, IEEE Cambridge, 2010 Computer, Vol. 2, No. 18, August 1082, pp. [4] Wikipedia,http://en.wikipedia.org/ 14 – 26. [5] MicroElectronika [8] Wikipedia, http://www.mikroe.com/ http://www.wikipedia.org/ [6] B&B Electronics http://www.bb- elec.com/

Cezar Liviu CERVINSCHI graduated from the Faculty of Automatics and Applied Informatics of the Transilvania University of Brasov in 2009. With a masters degree in Information Technology, his interest in web technologies, web development, integrated software systems and database administration brought the motivation for advanced research in this field of science, since his main target is building robust, reliable and complex software solutions. At present, he is a PhD candidate at the Academy of Economic Studies in Bucharest at the Economic Informatics department studying web technologies, databases, online security, e-business and e-marketing.

Database Systems Journal vol. II, no. 3/2011 53

The development of an electronic business based on the MySQL technology

Andreea IONESCU, Andreea ISTOC Academy of Economic Studies, Bucharest, Romania Academy of Economic Studies, Bucharest, Romania University Hyperion, Bucharest, Romania Bullguard, Bucharest, Romania [email protected] [email protected]

This article aims to demonstrate the importance of using relational database management system in working with web applications. We chose MySQL technology like representative relational database management system because has: portability, scalability, speed, is easy to use, is open source, is widely used by web developers and provides good security. We watched the analysis of an electronic business. We also presented the technologies that we have used: PHP, MySQL, HTML, CSS. Keywords: relational database management system, electronic business, MySQL technology, business to consumer type, security

Introduction which it is based on a MySQL database. 1D evelopment of the electronic business is in close contact with good maintenance of databases and with 2. The analysis of an electronic business usage of relational databases We chose as case study analysis of the management system able to do various BCOMPUTERS online business, which is transactions and to respond in due time based on a MySQL database. needs customers. We observed that for BCOMPUTERS site has the most big quantities of data MySQL server diversified range of IT products on the provides high performance of insert Romanian market and it is found in the transactions [1], therefore we have top of ecommerce sites. BCOMPUTERS chose to work with this technology. is an electronic business to consumer Development of an electronic business which has: product catalog, a description involves ensuring of a good security. of these products, products offered in In the future trust and security will lead promotions, shopping cart, online secure to electronic business development [2]. payment methods (Paypal). To ensure development and The user is greeted with a friendly improvement of business, e-business interface if he accesses the website. Since uses compliance and communication it can begin searching for a particular technologies in large organizations [3]. product, he will find products grouped by The current state of knowledge refers category. In the middle of the main page to the existence of many types of e- are presented products that are on business on the market and the promotions. On the left side of the web importance of the business models that application are presented to customer, lead to value creation and performance products that are grouped in categories of the company [4]. and subcategories. In this article we analyze BCOMPUTERS an online business,

54 The development of an electronic business based on MySQL technology

help in the decision to buy or not that product. When a user will be authenticated, he will introduce the username and password:

Figure 1.BCOMPUTERS electronic business . If the user chooses a category, there is a listing of all products in that category Figure 4.The Authentication based on and the user has the option to filter the username and password list of products even more, by choosing a subcategory. When a product attracts The client uses the shopping cart to buy the attention of the buyer, he will the products he wants: access the details of that product:

Figure 5.Shopping cart

Payment of goods is done through three Figure 2.Product’s description options: Cash, Card or PayPal, the customer can choose the payment's When the user accesses the search method that he wants: option from the menu, it appears a list of producers, if the client has an affinity for certain brands. He can choose from the listed brands.

Figure 6. Payment products

We also use the PHPMyAdmin Figure 3.List of Producers management interface. The database that we

worked is "calculatoare1.sql" and consists When the user accesses information about 12 tables with the following structure: a particular product, there are shown the produse, producatori, comenzi, product name, category from which it categorii,cos_de_cumparaturi,contact,detalii belongs, the manufacturer, the price and _comenzi, disponibilitate, forum, promotii, the warranty. In addition, under the catgorii and useri: product, its technical details are displayed that gives customers information that can

Database Systems Journal vol. II, no. 3/2011 55

Figure 10. The encrypted password

The cos_de_cumparaturi table has the following structure:

Figure 11. The cos_de_cumparaturi table

Figure 7. The MySQL database The comenzi table has the the following

structure: The Produse table has the following structure:

Figure 12. The comenzi table

The categorii table has the following structure:

Figure 8. The produse table

The Useri table has the following structure: Figure 13. The categorii table

The Detalii_comenzi has the following structure:

Figure 14. The detalii_comenzi table Figure 9. The useri table

Security of data refers to ensuring the protection and confidentiality of data

[5]. The Data Security is ensured by using MD5 algorithm (Message

Five Digest). MD5 encrypts the users' passwords in the database.

56 The development of an electronic business based on MySQL technology

The producatori table has the following structure: 3. Technologies used:

To achieve this electronic business we used the XAMPP platform, that contains the Web Apache server, the MySQL database server, PHP and PERL. Figure 15. The producatori table

The disponibilitate table has the following structure:

Figure 16. The disponibilitate table

The forum table has the following structure:

Figure 20. The XAMPP Control Panel

The XAMPP platform is easy to install and conFigure and it is implemented on a variety of operating systems such as

Linux, Windows, Mac OS X, Solaris. For Figure 17. The forum table the development of BCOMPUTERS

electronic business which is located at The subcategorii table has the adress: http://bdcomputers.twostudio.ro following structure: on the Internet, we used the following

technologies: MySQL, PHP, HTML, CSS. PHP (Hypertext Preprocessor) is one of

the most popular programming languages Figure 18. The subcategorii table who is used for development of web applications. He runs in server mode and The contact table has the following is an open source product distributed. structure: Currently reached version is 5.3.6. The MySQL technology is an relational database management system. We chose this technology because has many advantages: it is easy to use, can work with large databases. The current

version is 5.0.8. Figure 19. The contact table We used css styles to format the web pages:

INSERT INTO table [(column1, column2)] VALUES (value 1, value 2); 4. The main commands in SQL b.2.) To enter data into a table by copying SQL has the first implementation in many records in another table or group of 1970 and it is based on the studies of tables, these recordings are the result of E. F.Codd. SQL is an standardization the SELECT command, in this case the language and it can be used to access syntax is: databases: Oracle, SQL Server, DB2, INSERT INTO TABLE [(COLUMN 1, MySQL. COLUMN2, …)] SELECT_COMMAND; SQL commands are grouped into five categories as follows: The UPDATE command- it is used to a) The query language update data stored in a table. b) The data manipulation The UPDATE command is used to modify language existing values in a table or in a basic c) The data definition language table and has the following syntax: d) The transactions control UPDATE TABLE [ALIAS] language SET award_columns, [award_columns, e) The data control language …] [WHERE CONDITION]; The query language allows retrieving WHERE award column can have the one of lines stored in database tables. The of forms: SELECT command is used. In SQL the -column= {(expression)|( subquery)) query data stored in databases is done or with the SELECT command. The ( column [ ,column]…) =(subquery); SELECT command implements all There are two ways for updating: operators of relational algebra. The ->providing explicitly for each value or SELECT command syntax is: expression to be modified; SELECT attribute -> obtaining values with a subquery; FROM object The update command changes the values After SELECT keyword is specified of records depending on the condition of list of attributes to be returned as a where clause. In the given table in the result of the query and after keyword absence of where clauses all of records FROM are specified objects (tables, will be updated.

58 The development of an electronic business based on MySQL technology

SQL>ALTER TABLE table DELETE command – it is used to MODIFY (column datatype [DEFAULT delete lines in a table. expression] The DELETE command performs (, column datatype]); deleting records from a table or tables The ALTER TABLE is useful if you want of a view depending of a certain to change a table structure. You can add condition and has the following new columns using the ADD clause: general syntax: The syntax is: DELETE FROM TABLE [WHERE ->table->table name; CONDITION] ->column->the name of new column; The DELETE command delete some ->datatype-> the type date and length; records depending on the condition of -Default expression->the specific default where clause. Without the where value for column; clause will be deleted all entries in the You can modify an existing column using table given. In this clause may be modify clause. included and subquery. The DROP command- is used to delete the structure of a database. c) Data definition language allows the The instruction SQL DROP TABLE is the definition of a structure of tables that SQL command that removes a table from compose databases. The commands a database. that we use to implement data The SQL DROP TABLe syntax is: definition language are: DROP () The RENAME command-is used to CREATE command- for creating a change the name of a table. database structure or a table. In the first case for creating a database d) To implement the tranzactions control structure the syntax of CREATE language we use the following commands: command is: -The changes made to database to become CREATE DATABASE permanent we will use the COMMIT DATABASE_NAME; COMMAND; For creating a table of a database the -The ROLLBACK command-possible to syntax of CREATE command is: dispense with the latest changes to the CREATE TABLE “table_name” databases; (“column1” -The SAVEPOINT command –defines a “data_type_for_column_1”, rescue at which it can return and gives the “column2” changes made after this point to the “data_type_for_column_2”, …) database. The ALTER command for changing e)The Data control language allows the the structure of a database or a table. definition and modification rights on The ALTER TABLE command: databases. The used commands are: -add a column; The GRANT command – for granting -modify an existing column; rights to other users of the database. -defines a default value for a column; The REVOKE command – to cancel the The syntax of ALTER TABLE rights of certain users. command is: SQL>ALTER TABLE 5. The main functions ADD (column datatype [DEFAULT expression] In tables from queries and reports we can [, column datatype]); define fields that contain results of calculations with data values in database

Database Systems Journal vol. II, no. 3/2011 59 tables. These results come from the decimal places; evaluation of arithmetic expressions -The NOW() function-provides a string that contain: numbers, names of table with current date and time; columns (attributes) and functions of -The format of the function is: the standard SQL language. Best ->format (column_name, format); known arithmetic operators for real -where format is a format string that gives numbers are: +, -, *, / and for integer the value of the column. For example the numbers are: +, -, \, mod. function: The functions are clasified in two ->format ( now(), ‘YYYY-MM-DD’) types: gives the current date as year-month-day; The MID() function has prototype: a) The functions on a several records- -mid(column_name, index, [, length]) functions that calculate a value based where: on the values of a column of the table -column_name is the field which is (depending on aggregate): extracted substring; -index indicates position of the first -The AVG() function - returns the character in the subsequence string (first average; character is string has index1); -The COUNT() function-returns the -the optional length parameter gives the number of rows; length of substring. If this parameter is not -The MAX() function -returns the specified, the function gives the rest of the maximum value; string. -The MIN() function-returns the The Round() function is: minimum value; ->round(column_name, -The SUM() function -returns the sum number_of_decimal_places) of the values –>the function rounds to the nearest whole -The VAR function-returns dispersion number; of the values from the respective The remaining functions have like column; argument the column name (attribute) of - The FIRST() function- returns the the table. first value; -The LAST() function- returns the last 6. The E. F. Codd’s rulles value; b) The functions that works with the E. F. Codd (IBM researcher) has strings: formulated 13 rules that express the -The LCASE() function -converts a maximum requirements for a database string to lowercase; management system to be relational. The -The UCASE() function - converts a rules are useful for evaluating string to uppercase; performance of relational database -The MID() function–extracts a management system. substring from a string; -The LEN() function –gives the length R0.The relationship-level data of a string; management languages used to operate -The FORMAT() function-formats a with relationships (information unit). field; -The CONCAT() function - is R1. The logical representation of data: equivalent with the concatenation all information in the database must be operator; stored and processed as tables. -The ROUND() function- rounds a numeric field to a specified number of R2. Guaranteeing access to data: the

60 The development of an electronic business based on MySQL technology data manipulation language must allow for pooled data (the database management access to each atomic value in the system will be in charge with data database (table, column, key) allocation and with location).

R3. The NULL value- declaration R12. Data processing at low level- If and processing must allow null values the database management system possess as missing or inapplicable data. a low level language (the data is processed at registration), it should not be used to R4.The Metadata-information avoid restrictions of integrity. describing the database is stored in the dictionary and trated as tables, as well 7. The MySQL’s characteristics as actual data. MySQL as we have stated is a R5. The used languages- the management system relational database databases management systems must and implements SQL (Structured Query allow the use of several languages, Language), which is the standard query including at least one allowing define language of relational databases. We integrity constraints, data handling, choose MySQL because it is open source, access authorization, transaction is the most widely used and can handle processing. very large databases.

R6. The updating the virtual tables- Table 1. MySQL’s characteristics should be allowed as virtual tables and actually be updated (e.g. attribute MySQL’s “value” of a virtual table cannot be characteristics updated). 1.High MySQL can run on a R7. Updates to the database- Performance variety of operating handling of tables must be done by systems such as: retrieving and updating operations. Linux, Windows, Mac OS X, Solaris. R8. The physical data Meanwhile, he can independence, change the physical work with millions of structure of data (mode of tranzactions. representation (organization) and how 2.Easy to use MySQL is easy to to access) does not affect programs. conFigure and administered and has R9. The logical data independence, a high performance. changing the structure of data (logical) 3.Scalability MySQL is open tables does not affect programs. source and it can be easily adapted by the R10. The integrity constraints- they user for his own must be defined by data definition requirements. It also language and stored in the database manages very large dictionary. databases. 4.Speed Implements a variety R11. The geographical distribution of customer interfaces of data: the data manipulation language such as: Java, PHP, must allow application programs to be Python, C++, C, Perl the same for both distributed data and and provides a great

Database Systems Journal vol. II, no. 3/2011 61

data processing speed. [2]. K. Changsu , T. Wang , S. Namchul 5.Good MySQL provides , K. Ki-Soo ,”An empirical study of security increased security customers’ perceptions of security and through the trust in e-payment systems”, Electronic implementation of Commerce Research and Applications 9 encrypted passwords (2010), pp. 84–95; and ensure data [3]. K.E. Corey, M.I. Wilson,”e-Business protection through and e-Commerce”, International specific mechanisms. Encyclopedia of Human Geography, Elsevier, Oxford, 2009, ISBN 978-0-08- MySQL has a high performance. He 044910-4, pp. 285-290; can run on a variety of operating [4]. K. Wikstrom, K. Artto, J. Kujala, J. systems such as: Linux, Windows, Soderlund,”Business models in project Mac OS X, Solaris.Meanwhile, he can business”, International Journal of work with millions of tranzactions. Project Management, Volume 28, Issue 8, MySQL is easy to conFigure and IRNOP 2009 in Berlin, December 2010, administered and it has a high ISSN 0263-7863, pp. 832-841; performance. [5]. M. Turle,”Data security: Past, present MySQL is open source and it can be and future”, Computer Law & Security easily adapted by the user for his own Report, Vol. 25, Issue 1, 2009, ,ISSN requirements. It also manages very 0267-3649, pp. 51-58; large databases. Also it implements a variety of customer interfaces such as: Java, PHP, Python, C++, C, Perl and provides a great data processing speed. MySQL provides increased security through the implementation of encrypted passwords and ensure data protection through specific mechanisms.

8. Conclusions

We choose working with MySQL technology because has many advantages: high performance, easy to use, scalability, speed, increased security.

References:

[1]. A. O. Afolabi, A. O. Ajayi, ”Performance Evaluation of Database Management System (A case study of INTERBASE and MySQL”, Journal of Engineering and Applied Sciences 3 (2), Medwell Journals, 2008, ISSN: 1816-949X, pp. 155-160;

62 The development of an electronic business based on MySQL technology

Andreea IONESCU graduated from the Faculty of Cybernetics, Statistics and Economic Informatics of the Academy of Economic Studies in 2008(Bachelor’s degree) and Master of E-business in 2010. She is university assistant in computer science at The Faculty of Economic Sciences at Hyperion University of Bucharest. She is currently a PhD candidate at Institute of Doctoral Schools at Academy of Economic Studies from Bucharest, in Economic Informatics Field. Her interest includes: e-commerce and project management.