Development of Enterprise Resource Planning Applications to Help Resources Management of Furniture Company Using Technology Windows Communication Foundation

Furniture companies need the latest information of its resources to maintain efficiency and productivity. ERP can be used as a tool to manage the existing resources on furniture company and can quickly display the suitable information. The study was conducted to design a simple ERP application that can help resource management on the furniture company. ERP application built with object-oriented methods. The implementation is using web technology as the user interface, Windows Communication Foundation (WCF) as the application interface with other systems, and HTTP / HTTPS as the transport protocol to access the application. The results of study is a simple ERP application which consist of order management, production, inventory, purchasing, and reporting. ERP applications can be accessible to users through the web. For the purposes of integration, has built 72 services of WCF that can be accessed by other applications even though using different platforms.


INTRODUCTION
A company requires a variety of resources in order that the production process can still continue running. The resources can include capital resources (production equipment and raw materials), human resources, and others. Most companies require the latest information, especially information from the resources it has, for example: information about changes in the amount of available raw materials, information about employees that are available, information about the number of orders, including information about how many products have been produced. Such information is essential to maintaining production efficiency and productivity of the company. But in reality, the latest information about the company's resources are sometimes difficult to obtain or take a long time, causing the process to be inefficient and not timely.
The Enterprise Resource Planning (ERP) system is an enterprise information system designed to integrate and optimize the business processes and transactions in a corporation (Moon, 2007). ERP can be used as one tool to manage the resources available to a company and can quickly display the information needed.. ERP can be applied in various industrial sectors, especially in furniture company. Furniture industry in Indonesia is highly developed, and the product is in great demand both within and outside the country. ERP is expected to help predict the magnitude of resource requirements needed to fulfill customer orders. On the other hand, companies also can plan any kind of resources needed in their business activities, whether it be raw material, labor, or equipment. Thus, with the presence of ERP system, the production process of furniture companies can be more efficient.
ERP systems can be connected to the system SCM (Supply Chain Management) to increase the number of orders. The ERP system will handle the company's internal problems, such as resource management and production processes. While the SCM will handle the furniture supply chain to meet consumer needs. Between the ERP system with the SCM will connect via a web service. Web service allows the system can be accessed by different applications even though the application is developed with different programming languages and different platforms.
Although the concept of web service is quite easy to understand, but its implementation is sometimes difficult. It takes a separation between the business logic with communication protocol that is used, so that when required the use of another communication protocol or use of another message format, it would not change the business logic and does not interfere with the old client of our service. On the other hand, not all web services framework that is used by a client to consume web services can support all the specs. Suppose NuSOAP, which only support transport-level security. So, we use "Windows Communication Foundation" (WCF) as a web service framework on the server side. WCF is the easiest way to create and consume services on the Microsoft platform and NET. By using WCF, developers can focus on their applications rather than focus on the communication protocol, because WCF encapsulate the technology and technical work, so that developers can be more productive (Resnick, 2008). WCF supports a variety of communication protocols, and various web services specifications.
The question underlying this research is how to build enterprise resource planning applications using windows communication foundation to help resources management of furniture company.

LITERATURE STUDY A. Enterprise Resource Planning
The Enterprise Resource Planning (ERP) system is an enterprise information system designed to integrate and optimize the business processes and transactions in a corporation (Moon, 2007). Enterprise Resource Planning, cann't be defined only by translating from the stands for. The word "planning" and the word "resource" is not the core of ERP, but the word Enterprise is the real core of the term ERP, which is to bring together all departments and functions in a company into an integrated computer system that can accommodate all the specific needs of the department different. The use of ERP makes all the systems within an enterprise into a single integrated system with one database, so that each department becomes more easy sharing of data, and also easier to communicate (Wibisono, 2005). In contrast to traditional information systems, where each company department, store data and information in their own information systems, so it does not only result in the redundancy of data but also inaccuracies and a slow response between functions. Another definition of ERP is taken from Deloitte Consulting's ERP's Second Wave Report, states: An Enterprise Resource Planning system is a packaged business software system That allows a company to: Automate and integrate the majority of its business processes, Share common data and practices across the entire enterprise, Produce and access information in a realtime environment (Deloitte Consulting, 1999). Overall an ERP system is expected to improve both backbone and front-end functions simultaneously. According to Rashid (Rashid, 2002), there are some of the benefits / advantages of ERP implementation: 1. Access to reliable information. This can be achieved with the use of a single database, consistency and accuracy of data inputted, and improved report. 2. Avoid data and operations redundancy.
It employs a single data entry, ERP modules accessing the same data source from the central database. 3. Performance effectiveness. With the connectedness between departments would facilitate workflow and ease of reporting without having to manipulate the data further. 4. Cost efficiency. Companies can save costs by saving time for coordination and synchronization between processes, increased control and support systems in decision making by using enterprise-scale data analysis. 5

. Standardization of Process Operations.
Standardizing operating processes by implementing best practices to increase productivity, decrease inefficiencies and improving product quality.

B. Web Service
A web service is "a network accessible interface to application functionality, built using standard Internet technologies" (Doug Tidwell et al, 2001). Web services use standard Internet communication protocols to provide a discoverable standards-based architecture to integrate applications in a decentralized environment (Gailey, 2004). While the web service according to the W3C definition is "A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards"(W3C Working Group, 2004). SOAP (Simple Object Access Protocol) is an XML-based protocol for exchanging information. A SOAP message envelope containing a header (optional) and the body. Header section contains information about how messages are processed, including such as routing, delivery settings, authentication, and authorization. While the body contains the actual message to be delivered and processed. Because the web service using SOAP message, the client application that consumes the web service can run on various devices that have Internet connectivity and the ability to parse the XML serialization. This means devices other than PCs (such as mobile phones, PDAs and other devices capable of accessing the web) can consume the SOAP message. Currently, The web service is mostly using HTTP as the main transport for the SOAP message, although other transports such as SMTP and TCP can also be used. After all, HTTP has been widely used and indeed has been designed to bring the hypertext messages such as HTML and XML (Jeannine H. Gailey). We need a mechanism to describe web service so that client knows how to access the web service. WSDL (Web service definition language) provides a description for the web service. The role played by the WSDL describing the web service can be compared to IDL (Interface Definition Language) which describes the DCOM and CORBA-based service. WSDL has it's own XML format. WSDL describes the service as follows: • Service: describes the name of the web service • Type: describes the type of data used • Message: defines the message formats, SOAP message components needed to support communication with web services, particularly part of the SOAP header • Port type: defines the data type used for input and output of operations supported by the service • Operation: define methods / operations supported by service • Binding: define the protocol and message format which is used for data exchange • port: defines the access to the web service as a combination between the bindings and network address from the web service. Message exchanges can also use other than SOAP, but can also use a simple XML or JSON (Chappel, 2007).

ANALYSIS AND SYSTEM DESIGN
ERP systems which are made in this study only have a few modules, namely modules relating to the management of orders, production, inventory, purchasing, and reports.
Order management associated with a function to add orders and change the status of order. Production modules related to the management of standard production and the execution of orders fulfillment. Inventory modules related to stock management of tools, raw materials, and products. Procurement modules related to the raw material procurement for production purposes. While the reporting module associated with the report and dashboard. Dashboard displays a graph about the use of material within a certain time, changes in stocks of raw materials, number of orders in a specified period, the number of sales and expenses, as well as the many delays in order fulfillment.

A. Business Process
Marketing department can view a list of existing orders and can add orders. The marketing department can also change the quantity of goods ordered, cancel orders, delay orders, and throw orders to other suppliers / SCM. Suppose an order is not approved by the production department because the time is too narrow, the marketing can negotiate with the customer to request additional time (outside the system), if the customer agrees then marketing can use the feature for delaying existing orders on the system. SCM system is another system outside the ERP system and accessing the ERP system functionality through WCF Service.SCM system can retrieve product data and order data (orders booked by the SCM). SCM system can make a reservation to the ERP system. Before it add an order, SCM accesses the service to check the furniture company's ability in fulfilling orders. If capability equals to the amount ordered, SCM then adds orders. But if the ability is smaller, chances are the SCM can add orders with the number of item ordered is adjusted to the company's production capabilities. Orders that are successfully added automatically have been approved and the necessary material equipment has already been allocated. The production department is in charge on approving and not approving the order. From the stored order data, the production capability can be viewed. If the production capacity equals to or is more than the number of goods ordered, the order can be approved. Orders that are automatically approved will have the tools and materials needed to be directly allocated, and can be executed. If the production capacity is lesser, due to the lack of tools or materials, the order will not be able to be approved, and what tools and materials are lacking will be shown. With some consideration, such as too much lack of tool and material, or too short period of time, the production could refuse orders. Orders that are rejected will appear on the list of unapproved orders. The next task of the production is executing orders. Orders that have been approved subsequently will have employees to be allocated to fulfill the order. The production department clicks the allocation of employee button, then the employee assignment process to fulfill orders will be performed automatically by the system. Production department is also responsible for managing production standards. It needs to make a production standard before a product is produced. Production standards become the requirement definition that needs to be fulfilled in order to produce the product. The requirements are in the form of tools, materials, and labor. A production process consists of stages, where each stage has the need for its own tools, materials, and labor. Production department is also in charge of managing the master data such as data of materials, tools, types of employee, employees, furniture products and furniture sets. Inventory department can do inventory management for tools, materials, and furniture. Available stock can be changed (increased or decreased) by the inventory department. Inventory department can also manage tools and materials data. Purchasing department can also view a list of materials and which materials that are almost used up. Every time there is a material that is below safe limits, the purchasing department can do a purchasing to the supplier (the process is outside the system), or can make a procurement of materials. From the procurement, suppliers will bid an auction tender (propose sale price of the item being auctioned), then the purchasing department selects the winner. Other than that, the purchasing department can also look at the non-auction offering / promotion from the suppliers. The administrator of the system can manage existing users, such as add, change, delete or inactivate an existing user. Administrators can also change the role of an existing user.

B. Application Architechture
There are two interfaces, they are the systemwith user interface and the system with system interface. The user with system interface uses the ASP.NET website, while the system with system interface is built using WCF. WCF allows the use of other system applications and other platforms to access services that are owned by the ERP system. Messaging, transport protocol of WCF, as well as the security can be configured according to our needs, this is because WCF supports many protocols. ERP system accesses MySQL database via OR/M Entity Framework. From the applications development side, the use of the Entity Framework development makes the development easier because classes that represent tables can be generated so that the coding process can be faster. Meanwhile, from the system owner side, if one day a database migration happens, as long as the database structure is relatively the same to the previous database (same table and column names), the migration effort required will be relatively small. This is because the Entity Framework abstracts the database, the application will access classes in the Entity Framework and not directly to the database. (See Figure 3).    The test is as follows: 1. Creating a PHP script that accesses the WCF service by using NuSOAP library. In the scripts there are codes that accesses WCF Service (on the same computer / localhost), codes that calculates the length of the string in request data and response data, as well as codes that calculates time difference between the time before request and the time after response. If the WCF service parameter being accessed requires paging, then paging to retrieve data 1-10 is used. 2. Putting the PHP scripts on the Apache web server 3. Accessing the scripts through a browser. When the script is being accessed, the code inside the script will access the WCF Service, calculate the size of data and access time, and then display the result. From the result displayed, then the result is recorded. The data size affects the performance of the WCF service, the smaller the size of the data being exchanged then the access speed becomes faster. From the measurement result, the average data size that is necessary to request the service is about 807.6923 bytes, and the average response is about 1427.462 bytes. While the average access time required is 0.2197 second (via localhost) .So for the purpose of accessing the WCF service of the ERP system, it requires bandwidth that is relatively small and time that is relatively short.