Enterprise Resource Planning, or ERP, is a system designed to coordinate all resources, information, and activities necessary to complete business procedures in organizations, such as accounting and human resources. Its mission is to exchange data, but it is not concerned with planning resources. The (ERP) programs link the departments of the organization in one place and work to integrate these departments To achieve the greatest possible benefit. The ERP system is primarily concerned with the information in the implementation phase.
- Among the most important factors for the success of ERP systems, is the provision of support from the facility leadership, coordination between project parties “consultants and work teams” and providing qualified work teams to work with the consulting company and the participation of work teams in reviewing the outputs, and providing feedback.
- While there are a set of obstacles that stand in the way of the success of this system and the cause of its failure, the foremost of which are lack of knowledge of the requirements and problems of external consultants, resistance to change, insufficient training of “users, enterprise culture, lack of support for senior management, and unrealistic expectations of profits.
There are three basic ways to choose and build an ERP system, including choosing a ready-made (ERP) system, choosing a flexible (ERP) system, or building an ERP system from scratch.
It is mentioned that in the past, ERP systems were applied in large industrial companies, but the use spread and became available today, for all types and sizes of companies.
- During our development of this type of system, we apply the service architecture (SOA), which is a set of systems design principles used in the field of computing during the systems development and integration stages.
The system that uses this structure presents its functions in the form of a package of collaborative services that can be used by different systems from multiple commercial areas.
- Also, the SOA service structure allows users of services - such as web applications - a way to identify existing SOA services, for example, a group of separate departments within a facility may provide a number of SOA services in more than one programming language, and their customers benefit from the clear and easy interface of these services. Usually XML is used to communicate with the SOA service interface
SOA explains how fully independent web applications integrate to create a web environment, using multiple software platforms. The architecture defines the services interface as functions and protocols rather than as an API. The portlet for an SOA application is called an endpoint.
The service requires a free link between the services, the operating systems, and any other software technology used in the applications. The architecture divides functions into a set of stand-alone units - or services - that programmers provide on the network so that users can reuse and combine them to build applications. Users communicate with these services by exchanging data in common and clear formats, or by coordinating a specific activity between two or more services.
- The service architecture can be viewed in the framework of gradual development, starting from the first principles of distributed computing and modular programming - passing through the service architecture - to the current practices in mashups, SAS applications, and cloud computing (which some see as an extension of the service architecture).