Coolite and LINQ applied in the Development of a Web-based Operations Management System for the Crafting Industry

Department of Electronics and Computer Science, Universidad Tecnica Particular de Loja, San Cayetano Alto S/N, CP: 1101608, Ecuador; paquezada@utpl.edu.ec, lenciso@utpl.edu.ec, lrbarba@utpl.edu.ec, pachango@utpl.edu.ec, Departamento de Ciencias Empresariales, Universidad Técnica Particular de Loja, San Cayetano Alto S/N, CP: 1101608, Ecuador Grupo de Innovacion Tecnologica Educativa INNOEDUCA, Universidad Tecnica Particular de Loja, San Cayetano Alto S/N, CP: 1101608, Ecuador


Introduction
The concept of craftsmanship is fused with that of "popular art", understood as that group of manual and productive activities carried out by an individual, a group or a family and traditionally transmitted from parents to children. This ancestral knowledge, thoroughly connected to the raw material, is often manifested in hundreds of objects that show case the value and high-quality of the Ecuadorian Crafting Industry while reflecting, in an extraordinary way, the cultural diversity of each one of its provinces 1 .
Furthermore, throughout history artisans have played a leading role since, thanks to them, the identity of Ecuador has been globally recognized. No doubts why in most of its recent national endeavours, particularly in the struggle for social and economic rights, the artisans have been present 2 .
Accordingly, the National Board of Defence of the Artisan, loyal to the principles that guide this noble economic, cultural and fundamental human activity, proposes actions with and from the people; this includes new approaches to the social and solidarity economy while anchoring ethics in their actions 2 .
This document outlines the automation of administrative processes of the Crafting Industry through a Web application (simulating a basic Operations Management System) developed in Visual Studio Team System 2017, using SQL Server 2016 as a database, and Sharp C as the main programming language. As an engineering contribution, AJAX and Coolite were applied as key components for a more dynamic user interface 3 . The application of LINQ for mapping control and interaction with the database was considered necessary as well.

Materials and Methods
ASP.NET. -ASP.NET is a Web application framework developed and commercialized by Microsoft and used by programmers to build dynamic websites, web applications and XML web services. It appeared in January 2002, within the 1.0 version of the .NET Framework, as the successor of the Active Server Pages (ASP) technology. Moreover, ASP.NET is built on top of the Common Language Runtime, allowing programmers to write ASP. NET code using any other language supported by the .NET Framework. 4 Coolite. -Coolite is a component to use along Visual Studio or Visual Web Developer for running Ext JS scripts. Designed for easiness, a user can simply download it and add its reference to the DLL for later loading of tools 5 .
Language Integrated Query (LINQ). -LINQ is a Microsoft project that adds native queries similar to those of SQL and the .NET Framework. It can also work for Visual Basic and C#. Several concepts introduced by LINQ were originally tested on Cω, a Microsoft research project. LINQ also defines standard query operators that allow LINQ-enabled languages to filter, enumerate and create projections of various types of collections using the same syntax. Such collections can include arrays (vectors), enumerable classes, XML, datasets from relational databases and third-party data sources. Another characteristic is that LINQ uses .NET Framework (version 2.0) features, new LINQ-related assemblies and C# and Visual Basic .NETextensions. The latest LINQ version released by Microsoft includes these libraries and compilers for C# 3.0 and Visual Basic 9.6 6 .
• Inside LINQ and the Microsoft .NET Framework 3.5., the following data sources can be found: • LINQ to Objects: Represents the use of LINQ over objects. Benefits of LINQ: • Unified framework for accessing objects, data and XML files. • Implementation of DAL and business Layers.
• Type checking and IntelliSense.
• SQL "type" queries in C# and Visual Basic.
• Extensible supplier/vendor model. • Support for other data sources 6 .
Firebug. -Firebug is an extension for Firefox, created and designed for developers and web programmers. It is also a package of utilities that can be useful for analysis (checking load speed, DOM structure), editing, monitoring and instantly (inline) debugging source code, CSS, HTML and JavaScript of a Web page 7 .
Master Page. -The Master Page is a page that contains tags, controls, code or any combination of these elements that must be shared through multiple pages inside the mainsite. For instance, if all pages must have the same header and footer banners or the same navigation menu, this can be defined in the Master Page once, so that all pages associated with that Master Page will inherit these common elements. The advantage of defining header, footer and navigation features in a Master Page is that these elements will only have to be defined once, instead of many times and duplicating code in different pages of the site. Fundamentally, the definition of a Master Page is like that of any other page. However, a Master Page may contain a special type of control called ContentPlaceHolder. A ContentPlaceHolder defines a region of the Master Page that can be replaced by the con-tent of a page associated with it. A ContentPlaceHolder can also contain default content, in case the derived page does not need to overwrite this content 8, 9 . The syntax of a ContentPlaceHolder control is: <%--ContentPlaceHolder control --%><asp:contentplaceholder id=" "server"/> <%--ContentPlaceHolder with default content --%><asp:contentplaceholder id=" " runat="server"> <h3>!</h3></asp:contentplaceholder>.
To differentiate a Master Page from a regular page, the Master Page is saved with an extension (.master). Moreover, a page can be derived from a Master Page simply by defining a MasterPageFile attribute in its Page directive, as seen above. A page that is associated with a Master Page is called a Content Page. A Content Page may declare Content controls that specifically override the content of the sections marked on the Master Page. A Content control is also associated with a particular ContentPlaceHolder control through the ContentPlaceHolderID property. Finally, a Content Page must contain tagsand controls only within the Content controls, it cannot have any high-level content per se. It can, however, have directives or code on the server's side 8 .
The Operations Management System (Web application) consists of 3 Master Pages: One for the public environment and two for the private 3 . The Master Page of the public environment will be the common framework for freely accessible data for all users. Figure 1 shows the Public Environment Master Page developed for the Web application.
Likewise, 2 Master Pages were created for the private environment, one for the operations and another for the administration of the site. Figure 2 shows the operations Master Page in use. For the administration of the site (Web application), the Master Page shown in Figure 3 was used.
Web Form. -This is a webpage built under the .NET platform, specifically with ASP.NET and it allows the user to enter the data that will be sent to the web server for later processing. Web forms are similar to paper forms in the sense that Internet users can fill out these forms by using check boxes, radio buttons and text fields 10 .
Web Control. -This is a generic class inherited by all the web controls that are used to design web pages (Web Forms). This term is often used to generalize all visual controls of a webpage built under the .NET platform, mainly with ASP.NET 11 .

Development Methodology Used
For the development of the Web application, the guidelines marked by the XP methodology (Extreme Programming) were put in practice. Extreme Programming assumes that planning will never be perfect and that it will vary depending on how the business needs change. Therefore, the real value lies in how quickly a team can obtain an initial plan and have sufficient feedback mechanisms to know precisely where they are in any given circumstance. Logically, planning is iterative, which means that at the beginning of each iteration, a business representative decides what specific features will be implemented. The purpose of using the XP methodology was to generate versions of the application that could truly provide additional value from the business perspective. These versions are called releases 12 .
History is the unit of functionality in an XP project and it corresponds to the minimum possible functionality that has a value from the business perspective. During each iteration, several 'histories' are closed, which causes that all iterations add tangible value to the customer 12 . In terms of the actual implementation, during the survey and the analysis of requirements phase, it was possible to determine 14 users'histories' 3 . The involvement of a representative of the client, in this case, Lic. Narcisa Sarmiento Ochoa -Administrative Assistant of the JPDAL-is fundamental in all this planning and amid deciding which are the most valuable 'histories' . The client was also responsible for defining the acceptance tests, but not necessarily for their implementation. After completing the development phase, the respective tests to check the pre-established functionalities of the Web application were performed 3 .
XP includes, as one of its standard practices, programming in pairs. Nobody programs alone, there are always two people in front of the computer 12 . Another basic practice of Extreme Programming is to use designs as simple as possible.
The principle is "to use the simplest design that makes everything work". This suppresses the hype for designing extra features because, in practice, experience indicates that needs that will become real can rarely be anticipated. To achieve a flawless and modifiable source code, it was imperative to implement a consistent coding standard as well 12 .

Application Design
Once the operative and technical requirements are established and the client needs are also clear, the next step is to proceed with the software solution design. To meet the objectives of this project, different classes, methods and new development tools were considered 13 17 .
The Web application had two main environments as design enablers, one of them public and the other private. The public environment iscurrently freely accessible and it includes information related to the institution. This through pages such as: 'Who we are' , 'Mission and Vision' , 'Training information' , 'Paperwork requirements' , 'Gallery' and 'Comments and information of interest for the Crafting Industry' 3 . In the public environment, users do not only have access to this information but also they enjoy a dynamic and user-friendly graphical interface since Coolite is in use 3 .
Strictly for management purposes and as the engine of the database, Microsoft SQL Server 2005 is used. For control and continuous interaction with the database, LINQ is the other technology in place.
On the other side, the private environment deals with the control of the Web application and it handles the administrative processes of the institution and their validation. The Web application can be also structured out of 5 main projects: JPDAL.AccesoDatos, JPDAL. BackEnd, JPDAL.SYS.AccesoDatos, JPDAL.WEB and RecursosWEB. For all of them, different classes, methods procedures and data access were implemented so that the application's performance remains reliable.
For this private environment, only pre-defined/authorized personal has been granted (logging module and credentials assigned by a system administrator).
An authorized user can manage the news and comments module while having control of the administrative processes of the institution.

Design and Solution Architecture
Software Architecture is the highest level of design for a system's structure; generally combining a set of patterns and coherent abstractions that provide the necessary framework to guide software's development for a given information system 14 .
In the development of the Web application, a component-oriented architecture was considered since the type of activities and characteristics of the institution so required. This Web application is comprised of a solution called JPDAL; which at the same time consists of the ASP. NET Web Application, a class library, and two databases. One of these databases is BDDInformativo and it stores Vol 12 (21) | June 2019 | www.indjst.org Pablo Alejandro Quezada-Sarmiento, Liliana Enciso-Quispe, Luis Barba-Guaman and Patricia Marisol-Chango Canaveral information regarding press releases, news and comments on and of the portal. The other, JPDAL_DB, stores information regarding the procedures and administrative processes of the institution 3 . Figure 4 shows the architecture of the solution.
The JPDAL solution is comprised of 5(ASP.NET Web application and class-library-type) projects. This applies for their respective data accesses as well. Each of these software solution projects is detailed below.
JPDAL.AccesoDatos. -This is a class-library-type project where the application's data accesses will be created both in its first and second phase. This, since the Artisan V 1.0 will have a second version in which a larger volume of data will be handled.
JPDAL.BackEnd. -This is another class-library-type project formed by classes and methods that relate to the security, the configurations and the database connection chains of the project.
JPDAL.SYS.AccesoDatos. -This is a class-librarytype project where different classes, methods referring to the administration of the site and its processes are all included.
JPDAL.WEB. -This is an ASP.NET Web application that contains different asp.cx pages, master pages for both public and private environments, as well as the software's administration and operations.
RecursosWEB. -This is another ASP.NETWeb application where certain Web resources and their configuration can be found 3 .

Databases
A database or databank (frequently abbreviated with the acronym BD or with the abbreviation b.D.) is a set of data constrained to the same context and stored systematically for later use 15 . Among the several database design directives, the following could be highlighted: • Access speed.
• The size of the information.
• The type of information.
• Easiness for access to information.
• Easiness to extract the information required.
For this project two databases were built: BDDInformativo. -This database stores press releases, news and comments on and of the portal.
JPDAL DB. -This database stores the procedures and administrative processes of the institution.
After analysing the user stories as well as the respective interactions and with the knowledge of the administrative processes of the institution, the datasets that make up the databases of the project were determined.

Reports
Cristal Reports is a business intelligence application used to design and generate reports from a wide range of data sources (databases) 16 .
Several applications, such as Microsoft Visual Studio, include an OEM version of Crystal Reports as a generalpurpose reporting tool 16 .
In order to demonstrate the functionality of the Web application of the Provincial Defence of Artisans of Loja, 4 reports were generated: • Reports of Titled Artisans.
• Reports of Qualified Artisans.
• Reports of Official / Valued Forms In Figure 5, the report of Official/Valued Forms generated can be seen.

Conclusion
Software development and programming are undisputed key stones of the information technology industry. Thus, professionals in this area must be abreast of technological advances and new development tools toeffectively serve society.
With the development of this Web application, administrative and information processes of the Provincial Defence Board of the Artisan of Loja were improved; consequently, the quality of servicesof the crafting industry in the province increased as well.