ERP System Implementation Based SOA under SaaS Model

In recent years, information management draws more and more attention. Various ERP systems have gradually emerged, and the development techniques of systems are becoming more flexible. With the increasing of complex business, there will be more demands on the flexibility, practicality and scalability of the system. In addition, especially for SMEs, management is more traditional, and it exits the shortcomings that the majority rely on previous management experience, have limited capital investment, and cannot have a dedicated IT personnel and so on, leading the usage patterns of the traditional software product beyond the capacity of SMEs. After analyzing the structure features of the service-oriented architecture (SOA) and Software as a Service (SaaS), the paper proposes ERP system based SOA. On this basis, the paper starts from the business process management (BPM), combines SOA and traditional enterprise service bus (ESB) to achieve the integration of ERP systems and combines SOA with SaaS to achieve the enterprise application of ERP systems for specific businesses.


Introduction
Through the analysis of existing system software development technologies and the results of ERP systems used by businesses, I find that many products have three main issues: firstly, there are a lot of duplicate work, long development cycle in the product development process; Secondly, the software cannot meet the needs of individual companies; thirdly, enterprises are facing hundreds or even thousands of servers and thousands of differ-ent software, so leading increasing costs of manipulation and maintenance.Therefore, the research of building scalable, standardized and fast easy-reconstruction architecture, as well as reducing the cost of implementing information management is very important, which is also significant for enterprises to achieve information management.

Analysis of a Service-Oriented Architecture
Service-Oriented Architecture (Service-Oriented Architecture, SOA) is usually defined as [1]: In the condition which the underlying technology increasingly matures, it proposes new thinking on modern software architecture, which is a component model.Different modules (called services) make the application's different modular units link through well-defined application interfaces and protocols.Generally, interface is defined by a neutral manner, and the volume architecture of service-oriented is independent of the operating system programming languages and hardware platforms of implementation service.The services developed by C++, Java, VB and other language all can call these interfaces.This feature enables a variety of services built such a system to call each other and interact in a uniform and universal way.
From the business view [2], the developers do not need to abandon their existing application software.They just reintegrate various existing software systems through SOA architecture, and establish the new software architecture.With the expansion and reform of the enterprise business, software architecture can also change, flexibly combining existing services according to business needs, combining into new software which businesses need, therefore, truly achieving this philosophy that information better serves businesses.More generally speaking, we can consider SOA as the components of the different functional modules, each module can independently realize enterprise's concrete business, and different modules can combine for enterprises to achieve another business.The writing of the interface between the modules follows uniform standards, which can greatly reduce the cost of reconstruction and reorganization [3].According to analysis of the characteristics of SOA framework, it can integrate the original disordered systems into a comprehensive and orderly system that allows enterprises to be more convenient when using the system.And according to changes in the business, at any time it can flexibly reorganize or reconstruct existing business application systems, which can achieve maximum use of information assets.
In general, it deploys, composes and uses the loosely, coupled and coarse-grained application components through the network.SOA can meet the needs of enterprise's personalized software systems.As shown in Figure 1.
Job role relationships in SOA structure: similar web services.SOA architecture also has two important roles: service providers and service requesters.In addition, it adds a similar intermediary role, service registry between the service provider and requestor.Then, the service provided by the service provider will publish here.One or more service requestor can find the services they need based on the information service registry.After finding the appropriate service, you can know how to call the service based on the description information of service interface, and request the service through some sort of agreement.When the service provider receives a service requestor request, it process and respond to the request, and returns the result to the service requester.The service requestor may be other services.It also needs the use service [4].

Technical Support of Service-Oriented Architecture
SOA is an organizational structure.It is a design idea in the development process, and there are many specific realization methods.The paper selects popular BPM, ESB, and Web Services to implement the support for SOA architecture.

Binding
Business Process Management, BPM, is a management model that integrates various businesses.And the core is management process, covering the content of corporate personnel, equipment, applications, etc., which helps businesses break traditional management model to achieve the operation mode that business crosses departments and even business applications across the enterprise cooperation.In addition, BPM usually achieve optimization of business through Internet way.From this perspective, BPM is a qualitative improvement in management philosophy and workflow technology.SOA provides a specific development framework, and this framework is compatible with different platforms, protocols, and programming languages, which is easy for software developers to quickly achieve integration and application development system according to their own business needs.From the definition and implementation of SOA, then it represents more of a technological advancement, and BPM are more inclined to change management.Enterprises need to combine both technical and managerial aspects in the development process, both of which are indispensable.That should be able to effectively combine the two will bring unlimited opportunities and space [5] to the enterprise.From the above analysis, S0A is a good technique and the most advanced software architecture model.But without the advanced management ideas associated with it, it cannot maximize its advantages.The BPM, as a third generation philosophy of process management, emphasizes the importance of process management in the enterprise.This idea conforms to the current requirements of real-time business management.Similarly, advanced management concepts also require advanced technology as support.That this advanced technology SOA and management ideas BMP combine is very good, which can be able to bring the greatest benefits for enterprise development.
The combination of S0A development framework and BPM management thought can achieve the complementary between technologies and management.In terms of technology, S0A focuses on solving the problem of systems integration and service package; in the management mode, BPM emphasis on process-centric, requiring enterprises to establish a clear process system.S0A is shored up by BPM and improves the flexibility of enterprises and response speed from both technical and management aspects, helping enterprises to accelerate the pace of achieving information technology.
Enterprise Service Bus, ESB, is a generic term for a class of middleware products.It causes the needs of the integration, and its core concept is intermediary, supports the implements SOA technology, enabling interconnection between services and systems integration [6].In the enterprise messaging systems, enterprise service bus provides an abstraction layer that provides service access, data format conversion, protocol conversion, contentbased routing and other functions, shielding the physical location of services, protocols and data formats in an architecture using ESB.The application will interact through the bus, and the bus plays the role of scheduling information between applications [7].The advantage of this approach is to reduce the number of connection point desired different among interactive applications, reducing the difficulty of application integration.Protocol conversion in heterogeneous environments and interactive services based on events and news in the enterprise service bus can be effectively supported, for this ESB also has a certain level of service and manageability.In addition, that the ESB is a standards -based, crosses platform, technology, and it has Plug and Play that ESB supports services, supports business logic and implements the separation of technology logic can be seen, ESB is the agency of integration and management among services in SOA architecture.
According to the analysis based on ESB and SOA, the paper proposes the SOA development framework based on ESB.In this, it uses ESB as the basis of service integration, which is a flexible connectivity infrastructure, integrating heterogeneous environments applications and services that can effectively achieve the various communication and data sharing between applications and services.
Web service is an object component.It mainly uses message format, XML protocol to indicate that it has good encapsulation, loose coupling, high integration ability and other characteristics.Whether simple or complex business processes can be used as a Web service request.Once the Web service is deployed on a certain platform, other applications or Web services can invoke them without the need to know how to achieve internal services.Using Web services to implement SOA is a good choice.The main advantage of using Web services to implement SOA lies: Web service is a simple, widely available and platform -neutral.
WSDL, SOAP standard SOA model in the Web service can achieve specific security details, transport protocol and other issues.Therefore, Web services can be used as a concrete way to achieve SOA.Web services achieves SOA through a combination of four technologies: XML, SOAP, UDDI and WSDL, which uses HTTP as the network protocol, UDDI to register services and uses SOAP/XML to define the data format message, WSDL to describe the service interfaces.

Analysis Software as a Service
SaaS (Software-as-a-service) is a Web-based software services model.This software model can provide corresponding underlying and infrastructure support for a variety of the applications, including the completion of corresponding service initialization, maintenance of the operating environment, such as data backup services [8].Therefore, companies do not need to recruit IT staff, construct computer room and purchase hardware and software.They only need to pay the rent, and through the Internet, they can use their own applications, such as sales management systems, video conferencing systems, mail systems.Under this way, through the Internet, users will be able to enjoy the appropriate hardware, software and maintenance services, and have the right to enjoy escalating services.In short, if companies adopt SaaS, they can save cost of IT products, technologies and maintenance operation, especially for small and medium enterprises, which is an important way to quickly build applications.Meanwhile, the way to collect the rent, for software and service providers is also beneficial.They can predict their income and formulate their own development strategies and the development of new products more precisely.
SaaS enables the companies not to put too much information construction funds, even not comprehensive enterprise deployment and analysis before the information implementation, which can greatly reduce the cost of enterprise information construction and the application of the threshold, therefore can make more enterprises to use the advantages of lower risk to achieve information management.Precisely, SaaS can solve the problem that most of our business cannot quickly achieve information due to lack of funds, limited ability which takes risk.

ERP Implementation Based SOA
ERP system design is the use of the popular J2EE framework and the MVC pattern SSH (Struts2 + Spring + Hibernate) composite frame.The use of this framework is designed to achieve SOA-based ERP system.
Selecting the appropriate development framework and platform in system implementation process is a very important part.J2EE and.NET framework is two mainstream platforms in constructing S0A.Multi-level architecture model and cross-platform are J2EE's advantages.In this regarding, NET cannot be compared, so the majority of system developers are more willing to choose the former.Multilevel nature of the J2EE framework model allows the system structure clearer, easier to reuse and maintain software.Also in each layer there integrates into a lot of technical framework.Therefore, on the technology, you can have more choices.Finally, a large number of technical specifications provided by J2EE, allows software developers to develop standardized procedures, which is conducive to more mature technologies or specifications.Therefore, the paper uses J2EE development platform in the text.
MVC (Model-View-Controller) pattern is a modular design idea.Members can make system architecture divide into the model layer, view layer and control layer, and clearly assign the responsibility for three labors through using the MVC architecture.Such a divided system may reduce coupling of the system, which is easier to maintain the system.As the current mainstream software design patterns, MVC pattern in J2EE application has also been very good.In J2EE architecture, it also flexibly uses the idea of the MVC pattern, therefore, on the other hand,] 2EE is also a reflection of the MVC pattern.Ordinary Web applications system architecture typically consists of five levels.And top-down, successively it is the data layer, data access layer, business logic layer, control layer, Web layer.ERP system based SOA, has the same system architecture.They both follow the J2EE framework and MVC model, and the system is divided into these five, shown in Figure 2.
Web layer: the layer is closest to the user in the logic, which is mainly responsible for the front display of database information in the background, providing network services for the user's application.It uses JSP and Struts2 techniques in this layer.The user information collected through Web layer is input to the business logic layer for processing via the control layer.
Control Layer: It responses to user requests and complete the business logic processing by calling the corresponding business logic components and returns the results of post-processing to the appropriate Web layer to the user.In this layer, distributing the user's request mainly uses the core controller of Struts2 and Spring framework.
Business Logic Layer: It mainly uses AOP and IOC technology.The generation and destroying of Java objects can be finished through configured documents and integrates the data access layer for transaction management functions, completing the communications with data access layer.SOA is completed through Web services  Data Access Layer: The communications with data in the background and business logic layer is completed through the Hibernate DAO technology.It makes the data which is processed by the business logic level persist to the database, and pass the data in the database to the business logic layer for processing.
Data layer: This layer uses a shared data model based on SaaS model.At the same time, in connection with data security issues which companies are most concerned about, it also takes effective measures, namely, data for all enterprise users done the encryption process through the algorithm.

Conclusion
SOA focuses on platform architecture, while SaaS focuses on operational and delivery.SOA in uniform technical standards, integrates technology platform, sharing resources, and makes full use of the hardware.SaaS through mode innovation of the software delivery meets the enterprise information while reducing operating costs.All in all, if you can combine SOA's and SaaS's features and advantages and apply to the development and use of the ERP system, it will be helpful to achieve the rapid development of enterprise information.

Figure 2 .
Figure 2. ERP system based SOA and SaaS implementation and use of architecture.technology and makes the corresponding operation encapsulate into service components, and open the appropriate interface, which achieves subsystems communication and improves the reuse of code.Data Access Layer: The communications with data in the background and business logic layer is completed through the Hibernate DAO technology.It makes the data which is processed by the business logic level persist to the database, and pass the data in the database to the business logic layer for processing.Data layer: This layer uses a shared data model based on SaaS model.At the same time, in connection with data security issues which companies are most concerned about, it also takes effective measures, namely, data for all enterprise users done the encryption process through the algorithm.