1 Laboratory for Computer Application in Design and Manufacturing, Methodist University of. Piracicaba, Rod. ... Keywords: Web Services, Data Integration, Federative Databases. 1. Introduction ..... offers six functions for product data recovery.
Web Services to Product, Processes and Resources Data Integration: Results and Perspectives of FEDMAN Project Klaus Schützer1, Antonio Álvaro de Assis Moura 1, Reiner Anderl2, and André Picard2 1
Laboratory for Computer Application in Design and Manufacturing, Methodist University of Piracicaba, Rod. Luis Ometto, Km 1, Santa Bárbara d'Oeste, 13451-900, Brazil 2 Department of Computer Integrated Design, Darmstadt University of Technology, Petersenstr. 30, Darmstadt, 64287, Germany {schuetzer,atamoura}@unimep.br, {anderl,picard}@dik.tu-darmstadt.br
Abstract. A production system can be treated at various levels beginning on components and going on machinery, plant, factory and even company. As for each level there are specific IT tools, every level necessarily implies an increase of the amount of data to be managed. To accomplish this integration of multiple sources the FEDMAN project uses the concept of federative databases and organizes this data in a model with three orthogonal domains: Product, Processes and Resources. The integration is based on a service-oriented architecture, which provides the access to specific information via web services requesting to the owner of information. This federative approach treats the data encapsulated in order to keep the partial autonomy of specific tools, without significant loss of flexibility. This model of integration is promising in the sense of integrating large amounts of data involved in a production system, maintaining the flexibility of each information technology tool. Keywords: Web Services, Data Integration, Federative Databases.
1
Introduction
Nowadays the management of a production system can be considered as a distributed and collaborative activity. For collaborative means that activities over time are performed by different actors, who must work in a common way. As these actors are scattered over both space and in relation to time this activity can be considered distributed. The complexity arising from the inherent characteristics of any distributed activity can be managed through information systems, but there are still some requirements that need to be improved, being the first data exchange between different systems since each of the actors’ process uses proprietary solutions, developed according to specific needs, which adds data to the heterogeneous process. Consider each activity as a service and to structure these services within a serviceoriented architecture is a possible solution to handle the complexity and heterogeneity, so that each stage of the requisite services and receive the information needed to progress. The service-oriented architecture is also shown as a solution for dealing M. Abramovici and R. Stark (Eds.): Smart Product Engineering, LNPE, pp. 231–241. DOI: 10.1007/978-3-642-30817-8_23 © Springer-Verlag Berlin Heidelberg 2013
232
K. Schützer et al.
with legacy systems, enabling the system to aggregate existing solutions still in use, but with the development and maintenance discontinued. Being services dedicated to the development process of the product available on the web, any actor's process can have access at any time and place and, therefore, reach the requirement to attend a distributed system. Web services are defined as software agents designed to work with interaction between networked computers with an interface described in a format processed by computers. Other systems can interact with the Web service using a message sent and received via a simple object access protocol (SOAP). Web services usually use hypertext transfer protocol (HTTP), with data described in extensible Markup Language (XML). This paper presents a proposal for integrating data from a production system through a service-based architecture (SOA), with the use of Web services to exchange messages written in XML and enveloped in SOAP. So that integration can take place in a distributed and collaborative environment dealing with the issues of flexibility and dynamism.
2
Production System Information Management
Managing a production system represents a set of activities with collaborative and distributed issues, demanding enterprises that must be flexible and adaptable, and also demanding processes carried out in increasingly interrelated and independent of time and place in which they are applying the concepts of concurrent engineering and agile production [1]. These characteristics enable complex and innovative products available to the market in increasingly short time. The systems that support these activities within the Product Development Process belong to PDM/CAD/CAM/CNC chain, and only for those systems there are different ways of data management. If all these systems are within the same container, the data can be stored in a single database, making the necessary information available to all systems. But even with all the effort of the major system developers to consolidate this model, adding to a monolithic database with all necessary information, this is not the reality found in production systems today. The phases existing in a production system are executed, each by experts in a highly distributed network and are therefore distributing the information pertaining to each system. The knowledge that involves production activity is spread across various systems and persons in different organizations, in different places, and you cannot leave aside this knowledge especially with the possibility now existing to access all this information. By involving several individuals and organizations, in which all has the control of a specific part of the process and no one have an absolute control of it, the production system is seen as a collaborative and distributed process, where each partner implements its own business process [2]. The framework of information technology that supports these processes should reflect this distributed environment, so ensuring the right information at the right time for decision making, regardless of which actor holds this information.
Web Services to Product, Processes and Resources Data Integration
3
233
Federative Databases for a Production System
The scenario of a distributed production system can be understood as a complex scenario, especially when taking into account that for each type of existing production systems or applications, they have their own characteristics. The product development also considers factors from external fields of knowledge which act by increasing the number of interactions and the variety of information. At the same time that is required of these systems to perform the management of information coordinately [3]. Another important consideration is about legacy systems, since historically production systems working with autonomous systems that are often chosen for strategic criteria rather than for operational criteria [4]. These legacy systems should be incorporated into the product data management system allowing the aggregation of its information to the core model. Besides these factors, the presence of more than one factory in the same scenario, with different operating systems, only increases this complexity [4]. To obtain a framework to support product development that is more flexible, able to adapt quickly to market needs, responding to pressures such as launching new products with quality assurance, it is essential to develop information technology tools capable of working with high volume of data in a decentralized environment. The data generated by several and independent information technology tools are heterogeneous because each application has its isolated autonomy to generate and to manage data. The integration of these data requires the resolution of the conflict between transformation and heterogeneity of documents and data sources into an integrated concept [5]. Even though the data management systems like PDM and ERP are fairly matured, however the collaboration between these systems does not present the same level of development. All domains involved in product development have to collaborate with the central model; currently the data integration problems arise and must be solved. The distributed data management in a collaborative manner can be done in three different ways according to [6, 7, 8] as shown in Figure 1. The maintenance of data in isolated applications ensures a high degree of distribution, and preserves the autonomy of data that can be handled independently by each application. Each application, in a isolated way, is responsible for the coupling to the central product model. This model has little flexibility and low degree of integration due to the implicit coupling between the tools of information technology that make up the central model. One difficulty with this model is the way to deal with the data of coupled systems, which require a specific application for each insertion to the central model. Another option is the option for a fully integrated model, where the data of the partial models are integrated into the core model, generating a monolithic database. In this model there is no data distribution, since all applications are integrated and the connection to the central model occurs through direct links. As with the previous model, this does not present much flexibility due to the fact that every change in an application, or a partial model, impacts on change in central model, which is a further
234
K. Schützer et al.
difficulty, especially when dealing with existing systems. The high degree of interaction allows for total control of the system, but the loss of autonomy, because the applications are no longer responsible for generating or manipulating data on partial models.
Fig. 1. Data management models [6, 7, 8]
The intermediate solution between the two models presented is to allow data to be distributed in isolated applications, but the construction of the central model is made by means of loosing couples. Thus, the characteristic of autonomy for managing the data for each application is maintained, while preserves the consistence of the central model. This intermediate solution keeps the independence of each application and makes every part collaborate with all without losing its own features [3].
4
Applications Developed for the FEDMAN Project
This paper considers the problems generated by information management of a production process, even if generated from different sources, in different formats, in large quantities and relationships in n-dimensional, can be reduced to simple problems. The information applications can be decomposed, analyzed and synthesized keeping an order, which is nothing more than the assumption of the scientific method. Based on a theoretical model of federative database applications were developed a model linked to current commercial systems and also linked with web services for the domains of product, processes and services. An application was developed for the demonstration of the federative management and integration of information. Applications for CAD and CAM systems are developed using the NX Open application programming interface library, provided by Siemens PLM to access the functions of computer-aided systems. Web services are developed using the language and
Web Services to Product, Processes and Resources Data Integration
235
tools of ASP.NET inside of .Net-Framework, within the paradigm of object orientation. The services are made available through an Internet Information Server. A prototype implementation for the integration of product, processes and resources through Web services was developed using the layers concept. In the innermost layer were developed applications within CAD and CAM systems for product data and process data, respectively. For the availability of data in the Web services, a layer Web services was developed for reading and analyzing the data available on the Web to answer requests to the application that makes the role of integrating all data of a production system. Finally, the application developed is also able to request to web services data of product, process and resources [9, 10]. A scheme of internal applications, web services and application integration is presented in Figure 2. All development was done using the .NET-Framework within the paradigm of object orientation. In this development the Web services environment, such as internal applications to CAD and CAM systems, as well as the application and services are implemented in ASP.NET and VB.NET applications.
Fig. 2. Schema for Applications and Web Services
4.1
Add-On in CAx Systems
Computer Aided Systems are available for several areas of engineering. The development of these systems follows the general pace of development of information technology, especially for support systems to design and manufacture, new versions are released annually. Such speed renovation makes it a common practice of the end consumer not to update all versions, but waiting for the deployment of two or more updates. These releases meet the demands of consumers, which, however, may have a lack for very specific needs, so that to make possible a more specialized support, computer systems are developed allowing applications that work internally. These system applications are known as "Add-on".
236
K. Schützer et al.
From the original system it is possible to start the application that can access the internal functions of the system using the same user interface to make the use of the application quite friendly. For the demonstration of the concepts proposed in this paper applications for managing product releases and manufacturing are developed. As the system is used for demonstration modules integrating CAD and CAM are developed using a common interface for both systems, which also includes the features for estimating the time of a machining operation and the determination of measuring points and vectors for a Coordinate Measuring Machine. The FEDMAN functionality is included in the title bar of the program, which opens the possibility of release management and consequently opens a dialog box for the functions described, as can be seen in Figure 3.
Fig. 3. Application Dialog Box
This dialog box is divided into three blocks: Processes; Product and Extras. The product functionality interacts with the Web service that provides access to the federative databases’ information, including the geometrical model and material of each component, its location in the coordinate system, the material, and the total amount of the same part in the assembly. The file maintains the hierarchical structure of the assembly. The processes functionality, inside of CAM System, can interact with a Web service and provide the necessary information tools for the manufacturing process and also provide the specific machining processes for each component.
Web Services to Product, Processes and Resources Data Integration
4.2
237
CAD Application
The application for the CAD system that provides product information is accessible in the CAD System via the button "Release Assembly Parts", inserted in the "Product", as showed in Figure 3. This button activates a method to collect in their CAD product components, including - at this stage of development - the position, material and the amount of times the component appears in the assembly. These are then compiled into an XML file and sent to a distributed database via a Web service. The CAD system keeps the product structure that has a role in the integration of the systems, because it defines the physical relationship between modules and components comprising the product [11]. The links between the product components are stored in this structure, which may contain sets and subsets of chained mode, the structure can be presented in the form of tree or indented list [12]. To guarantee that all levels of the tree construction are read and the information in the product structure is kept, a recursive method is designed which gets the data from child components to its innermost level. the method continues to search for child components into the lowest level, when data is collected and made available in an XML object. All these objects are transferred to a XML file using its own methods of .Net platform and a file XML is created and transferred to a distributed database. 4.3
CAM Application
The information system of Computer Aided Manufacturing are within the scope of information regarding processes, considered here as manufacturing processes, such as drilling, tapping, milling, etc.. Also information concerning the resources can be obtained, since the CAM system contains information about the equipment used in the manufacturing process. Likewise the internal application of the CAD system, this application is accessible via the button "Release Operations" within group "Resources" (Figure 3). When pressing this button a sweep is made of all machining processes envisaged for this part. The transactions are then compiled into an XML file which is sent in turn to a distributed database. The step of transmission to the database is made via a Web Service. Each operation is linked to a specific tool. The CAM system provides information on the operation being one of the options that can open the dialog window that shows the information about the tool. The system stores the CAM operations within an object of type collection of objects, which are the information for each operation and its characteristics. The application gets access to that object and searches the information by doing a scan all operations therein. The XML file generated and sent to the federative database has a list like structure containing the attributes of the operation and tool used, indicating for example: the diameter and length. Because of its extensibility, other transactions can be entered without prejudice to the operation of the system. Once transferred to the federative database is reported to the user a dialog box informing the operation’s success.
238
4.4
K. Schützer et al.
Product Data Analysis and Recovering
The product data information are in the Web in a XML format file, the access to this information is made through a Web service that can return the requested data. The product data available through the CAD system are stored in the Web service which offers six functions for product data recovery. It is possible with these functions to access the product information necessary for integrating the fields of product, processes and resources. For example, to obtain information of the material of a existing component in an assembled a set up the following sequence of operations is used: “AskAllPartsNameInAssembly” (to get the name of the components) and “AskPartMaterial” (to get the material with the component name). The answer to these functions is an XML file with the names of the components, with component names. It must be pointed that all communication with the web service is made through objects encapsulated by the SOAP protocol, both the name of the component to which you want to know the material and the response of the material from which the component is made. However, all this communication is transparent to the user of the service. 4.5
Processes and Resources Data Analysis and Recovering
The process data are stored in an XML file in Web for retrieval and the information contained therein is accessed through a web service with other six specific functions. With these functions it is possible to access the complete information of the processes. For example, to know what kind of an operation defined for a product you must first obtain a list of all existing operations. This is done via the “AskAllOperationsNames” which returns an XML file with the list of operations. This information can now be obtained with the use of the function “AskOperationType” to get the type of operation, using the operation’s name as a parameter. All communication is done with the information described in XML and enveloped in a simple object protocol (SOAP). The resources considered here are the tools used in machining processes. The information about the tools were obtained directly from the CAM system for a specific application and transferred to the Web in a file in XML format. For these functions is required to provide the name of the tool you want to get the information. These functions can be verified in any browser with internet access. 4.6
Data Integration Browser
The integration of product data, processes and resources is done through an application that accesses Web services and enables the creation of links between the three domains. This application was developed in VB.Net, within the .Net platform, in the same way that other software components. The application displays in the upper left three buttons of type radio to indicate the relationship between the three domains included. Once chosen the two domains is
Web Services to Product, Processes and Resources Data Integration
239
possible to request data from the federative database through the button "Request Web Service". Figure 4 shows in the first column, the result of data relating to the components of the pneumatic cylinder designed in the CAD system. Informing the number of times the component appears and the name of the component, in the first line are presented the tools listed in the CAM file. The option to view the resource domains and processes is possible in the same procedure. In this case the tools are displayed in the same way as the previous machining processes and are listed in the first column.
Fig. 4. Browser Screenshot with product data and resources
At any time the designer can create a link between product and process, or product and resources or resources to processes. These links are possible by the radio button shown in the windows above. The links can be archived and retrieved later.
5
Conclusions
The amount of information involved in a production system is growing and no indications that this process will stagnate or even fall back, on the contrary. The concept proposed in this work is a promising alternative for the management of this large amount of data layers defining and structuring services. It also meets the requirements for incorporation of legacy systems, allowing applications already discontinued to be inserted into a central model. The mentioned services maintain the possibility of constant updating, which ensures the end user to always obtain updated information. Due to this model be done in layers in case of services update there are no need to changes in other layers. A scenario of multiple networks of customers and suppliers can be managed with this model through the implementation of various services. This scenario maintain compatibility with legacy systems and the possibility of updates.
240
6
K. Schützer et al.
Future Trends
Considerations about information security should be aggregated to this proposal. Just as a managing roles and visions for each of the user, who have access to information. Security issues should involve both the permission to access and ensuring correct usage. These two topics are present in the second phase of the project FEDMAN as well as an improved and increased application portability considering the use of mobile devices. The use of mobile devices is growing and allows greater freedom of location, commercial applications for smartphones and tablets are available constantly and it is natural that this advance also covers applications related to production systems. Another interesting possibility is the application of semantic concepts to enable the use of inference engines and artificial intelligence for information retrieval. Acknowledgements. The FEDMAN project is funded by the DFG (Deutsche Forschungsgemeinschaft), by CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior), by FINEP (Financiadora de Estudos e Projetos) and by CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico) within the program BRAGECRIM.
References 1. Godinho Filho, M., Fernandes, F.C.F.: Paradigmas Estratégicos de Gestão da Manufatura (PEGEMs): elementos-chave e modelo conceitual. Gestão & Produção 12(3) (December 2005) 2. Teófilo, A., Silva, A.R.D.: CBPEL - Linguagem para definição de processos de negócio interorganizacionais Descrição de processos interorganizacionais. In: XML: Aplicações e Tecnologias Associadas, pp. 155–166 (2005) 3. Schwarzenbacher, K., Wagner, J.: The Federative Principle in Business Architecture 2 Business Architecture: Vision and Reality. In: Interoperability of Enterprise Software and Applications, pp. 567–579 (2005) 4. Masson, C.: SOA can light up manufacturing IT. Computer Weekly (2006) http://www.computerweekly.com/Articles/2006/11/09/219795/ soa-can-light-up-manufacturing-it.htm (accessed: July 27, 2012) 5. Lubell, J., Peak, R.S., Srinivasan, V., Waterbury, S.C.: STEP, XML, and UML: Complementary Technologies. In: 24th Computers and Information in Engineering Conference, vol. 4, pp. 915–923 (2004) 6. Abeln, O.: Innovationspotentiale in der Produktentwicklung: Das CAD-Referenzmodell in der Praxis. Teubner Verlag, Stuttgart (1997) 7. Montau, R.: Föderatives Produktdatenmanagement anhand semantischer Informationsmodellierung. VDI Verlag, Düsseldorf (1995) 8. Pedersen, S.: Interoperabilität heterogener Informationsquellen im Gesundheitswesen auf Grundlage von Standards für die medizinische Kommunikation und Dokumentation Dissertation Susanne Pedersen. Universität Oldenburg (2005)
Web Services to Product, Processes and Resources Data Integration
241
9. Schützer, K., Moura, A.Á.A., Anderl, R., Mosch, C.: Implemented Web Services for Data Integration in a Federative Environment. In: 21st International Congress of Mechanical Engineering, COBEM (2011) 10. Mosch, C., Anderl, R., Moura, A.Á.A., Schützer, K.: Prototype of a Federative Factory Data Management for the Support of Factory Planning Processes. World Academy of Science, Engineering and Technology, 237–241 (2011) 11. Schuh, G., Rozenfeld, H., Assmus, D., Zancul, E.D.S.: Process oriented framework to support PLM implementation. Computers in Industry 59(2-3), 210–218 (2008) 12. Laurindo, F.J.B., Mesquita, M.A.D.: Material Requirements Planning: 25 Anos de Historia - Uma Revisão do Passado e Prospecção do Futuro. Gestão & Produção 7(3), 320–337 (2000)