Service Oriented Architecture (SOA). An early advancement in developing efficient computer code was called structured programming. The concept was that code elements could be reused by “calling” a subroutine, passing parameters, and receiving a response. SOA is very similar, just on a much larger scale. In an SOA environment, programs are developed in a way that they can easily talk to each other. For example, in a SOA implementation of an ERP system, the code for customer look up would be shared between the CRM, Order Entry, Billing, and Accounts Receivable applications. Not only is there a single database, but a consistent look and feel to the retrieval, without regard to which application an employee is using, or which vendor supplied that application.
An ERP State of the Union for Wholesale Distributors (Part 2)
SOA is important for many reasons. First, it makes coding more efficient and effective. When any part of the environment is improved, every other application using the updated function shares in the new enhancements. This is very meaningful when developing code in house, but it is also important for application code purchased from third par ties. A true SOA environment allows the firm to take advantage of “Best of Breed” applications whether created in house or out. This can be critical if the organization has a few requirements that provide competitive advantage, but need special programming to work.
This technology should be considered when looking at application solutions. If one is able to “buy into” a true SOA environment, there should be many more opportunities to find specific “add ons” that may not be available anywhere else. SOA encourages development of specialty routines as the programmer can concentrate on the specifics of what needs to be done and not have to worry about creating all of the other building blocks.
For example, if the primary ERP system is based on a well-structured SOA environment, then it would be possible (and easier) to integrate a specialized customer dispatch application for equipment repair. The programmers know to request and retrieve data from the customer and sales databases without having to build everything from scratch.
Even better, when any area of the system is enhanced, the dispatch code will not have to be rewritten or reintegrated. This allows the organization to take advantage of the latest developments in distribution processing while insuring that investments in custom or third party programs can be used, even as the ERP applications are updated. The nightmare associated with reprogramming custom applications or having to skip a new release goes away.
This becomes an important consideration when selecting new applications. The most critical decision comes when selecting a primary ERP application and operating environment. If it is not designed from the ground up as an SOA environment, some future capabilities or options may be restricted or eliminated completely. Software that will be widely used in any enterprise requires a detailed review. It is up to the IT Professionals to insure that all new capabilities are designed and built to work in the SOA environment of the primary ERP application.
Continued in Part 3