Enterprise Resource Planning, or ERP for short, are systems designed to coordinate all resources, information, and activities necessary to complete practical procedures in organizations, such as accounting and human resources, whose mission is to exchange data, but it does not mean resource planning. The ERP programs link the departments of the institution in one place, and work to integrate these departments; To get the most benefit possible. An ERP system is primarily concerned with information in the implementation phase.
One of the most important factors for the success of ERP systems is the provision of support from the facility’s leadership, coordination between the project parties “consultants and work teams” and the provision of 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 number of obstacles that stand in the way of the success of this system and cause its failure, foremost among them is the lack of knowledge of the requirements and problems of external consultants, resistance to change, insufficient training of “users”, the culture of the facility and the lack of support from 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 has spread and is available today, for all types and sizes of companies.
– While developing this type of system, we apply the Service Architecture (SOA), which is a set of systems design principles used in computing during the systems development and integration stages.
The system that uses this architecture provides its functions in the form of a package of collaborative services that can be used by different systems from multiple areas of business.
Also, SOA provides users of services such as web applications a way to learn about existing SOA services. For example, a group of separate departments within an organization 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. XML is usually used to communicate with the SOA interface
SOA describes how completely independent web applications integrate to create a web environment, and use multiple software platforms. The architecture defines the services interface in the form of functions and protocols rather than defining it as an API. The portal to a SOA application is called an endpoint.
SOA requires a free association between services, operating systems, and any other software technology used in applications. The architecture breaks down functionality into a set of independent modules - 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 specific activity between two or more services.
SOA can be viewed in the context of a gradual evolution from the first principles of distributed computing and modular programming – through SOA – to current practices in mashups, SAS applications, and cloud computing (which some see as an extension of SOA).