|
Background:
The economic expansion of the 90s and early 2000s has slowed. With reduced activity, cutbacks, and lower sales, companies have restricted time and resources available for long term strategy and research. Projects have been focused on what can be done now to improve the bottom line. The fact is that there are technologies that are not well understood that can have a significant impact on the industrial distributor if they can be utilized. In the past, many IT departments, even in smaller companies, had the luxury of providing time and resources for managers and supervisors to stay on top of technology trends. In return, new methods were considered, tested and made available to the enterprise. Often, the returns were excellent and the proactive approach provided a path to upper management for the individuals who took a leadership role. With restricted budgets, it is more difficult to have new opportunities approved. That should not discourage IT professionals from staying on top of the technology and looking for ways to apply new concepts within their organizations.
In many cases, new technological advancements become associated with "Buzz Words" which by definition have no definition. It is important to start by clearing the inconsistencies and establishing a firm baseline to build from. Then it is possible to move forward and look to the future for opportunities.
The following five technologies are receiving a great deal of attention. For each, there is a high level definition, a description of how it might be used in an industrial application, and some
thoughts for the strategic application of the concept. 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.
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 parties. 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.
There is a concept called Big SOA which is what happened when very large companies and very large programming firms got together to create very large projects. These are getting some bad reviews.
They turn out to be expensive and rarely live up to their promise. On the other hand are the "service-orientation" people who use SOA to make applications easy for diverse users to "call" and to segregate
application capabilities from the actual business process.
|