Software with a Global Reach
January 27, 2009
Odds are that those reading this article are already using computer software for quality management, test and inspection. While a manufacturer may be perfectly happy with the company’s current software features and functionality, the software may fall short on scalability and performance needs. The manufacturer may feel that the software needs to do something more.
One option is to upgrade the hardware-but in these budget-cutting times, that can be expensive. Servers, workstations, switches and cables have all dropped in price, but are still expensive to upgrade. A lower-cost option to consider is upgrading the existing software to what is often called “enterprise class.”
Enterprise-class software is intended to solve an enterprise problem rather than a departmental problem. An enterprise may consist of two facilities across town or 50 facilities around the globe. Regardless of enterprise size, manufacturers still need performance and robustness from their software.
Enterprise-class software is made for scalability, high performance and robustness. It must be capable of supporting both large databases and large numbers of users. It also must offer excellent security, reliable database backups and perhaps integration with other software applications. Most enterprisewide software will use a commercial enterprise-class database management system (DBMS) from vendors such as Microsoft, Oracle or IBM. These systems run on large mainframes, mid-range computers or powerful microcomputers-typically a high-end Windows/Unix/Linux-based server, mainframe or a high-end Unix, Linux or Windows NT machine. The enterprise DBMS usually includes multiprocessor support, parallel queries, clustering and other performance enhancing and fail-safe features.
Examples of enterprisewide software that a manufacturer may already be familiar with are ERP, CAM or CRM systems. Internet-based systems such as those for online banking, shopping and searching also are examples of enterprisewide software. Each of these examples requires software that delivers scalability, performance and robustness.
Enterprisewide software for quality management, testing and inspection provides the business logic support functionality, enabling enterprises to improve product quality and service. Other benefits will include productivity and efficiency gains.
In addition to performance, scalability and robustness, other characteristics such as interoperability, integration and central management also are important.
PerformanceSpeed is important. Answer the question, “How long am I willing to wait for my data?” The data might be in the form of a table of records, a record entry screen, a report or perhaps a graph. Most people are impatient and want that data instantly. On a practical side, however, there is always some amount of wait time. Can the operator wait 10 seconds, 1 second or half a second?
Performance is affected by many factors, including the server, network speed, available bandwidth and workstation. Hardware upgrades will certainly help improve performance if the budget allows for them. However, if the company’s budget is for enterprisewide software only, then the software chosen must run on the existing system. If this is the case, choose software that is engineered for good performance even on older and slower hardware and networks.
Ask the software vendor for performance metrics and be prepared to give the vendor the operating environment, expected database size and expected number of concurrent users that will be accessing the software database at peak times. If the software will be running on the same server as other enterprisewide software applications, also provide the total server user counts as well.
ScalabilityScalability has to do with the software’s ability to scale from its current level to a higher level. It should scale well from a small number of current users to a larger number of future users. If so, does it require installing new software or is it automatically handled? Is there a big performance hit with a larger number of users or is it more gradual? The database also should be able to scale from a small number of records to a larger number of records with minimal effort.
Google’s software is a familiar example of enterprisewide software that can scale well and not drastically degrade performance. With billions of records-in this case Web pages-to search through, the software is designed to scale. Google simply adds more machines when additional scale is needed.
Ask the software vendor for scalability projections that are based on specific user and database growth expectations. Better yet, ask for a working demo. Install it and create a sample database that is large enough to evaluate the performance with the projected growth.
RobustnessThe capability of dealing with variations in an operating environment with minimal damage, alteration or loss of functionality is an important characteristic. On the DBMS side, manufacturers need to know what to expect if the server’s drive fails or the uninterrupted power supply fails to operate in a power outage. On the software side, manufacturers need to know what happens if the workstation crashes or a network connection is lost.
Most modern DBMSs and the servers they reside on have fail-over options that can be implemented. Redundant hard drives, parallel servers and database mirroring are effective and proven methods for robustness.
On the software or client side, robustness is achieved by good software engineering design that anticipates problems such as workstation failures and network outages, all while leaving the database unharmed.
Robustness of security also is critical. Enterprisewide software should provide strong security features at both the workstation and server. In terms of the software user rights, good enterprisewide software offers management both high-level group rights as well as individual rights. If needed, it should offer highly granular control right down to the field level-wage fields, social security numbers, budget values, for example.
InteroperabilityAccording to ISO/IEC 2382-01 –Information Technology Vocabulary, Fundamental Terms, interoperability is defined as, “the capability to communicate, execute programs, or transfer data among various functional units in a manner that requires the user to have little or no know-ledge of the unique characteristics of those units.”
Well-designed enterprisewide software will interoperate with other software applications. Of course, this is easier when both software applications store data in the same DBMS. It is more challenging when software applications are running on separate servers using different operating systems and different file systems.
For example, an engineering department may store its computer-aided design (CAD) drawings on a Unix-based system in a proprietary file format. A manufacturer in a different department might want to see the latest drawings on a Windows-based workstation in the layout room. Ideally, the enterprisewide software would provide a mechanism to view and print these drawings, such as a CAD-file viewer utility, or support a common file-exchange format such as PDF, DXF, TIFF or JPEG.
IntegrationA myriad of software applications and databases, referred to as information silos, can exist in a manufacturing enterprise. Unfortunately, a lack of integration leads to duplicated efforts, redundant data and other inefficiencies.
For example, a scheduling department may not be aware that an important test instrument is out for repair and calibration, so the department may unknowingly put the job on the production schedule. The job is set up and then it is discovered that the parts cannot be tested.
Enterprise application integration is the process of linking different applications together to simplify and automate communication, without having to make major changes to the existing applications or their databases.
Two common approaches to integration are application connectivity and data format and transformation. Application connectivity connects applications through a set of adapters. These adapters are software programs that know how to interact with an underlying business application. The adapter performs two-way communication, performing requests and notifying an adapter hub when an event of interest occurs, such as a new part number being added or an inspection being completed. Adapters are designed for the vendor’s specific application. They also can be designed to work with many different applications, such as simple mail transfer protocol (SMTP)- used by virtually all e-mail software.
Data format and transformation uses a common data format. Each application provides a data transformation service to convert between application-specific and common formats. The adapter first converts information from the application’s format to the common format. Transformations are then applied such as converting date values from mm/dd/yy to yy-mm-dd, unit conversions such as English to Metric or replacing job numbers with customer part numbers.
Enterprisewide software should allow for integration with other software applications. Many times this can be accomplished in-house using the vendor-provided integration tools. Other times it is faster, easier and perhaps cheaper to use the software vendor’s consulting services.
DeploymentDeployment is a concern for most IT departments. Deploying the enterprisewide software on the server is not the real concern as that is usually straightforward and involves minimal resources and time. The major concern is deploying it to the end users. There could be just a few workstations, but in some cases a few dozen or even hundreds. Ideally, the IT department would be able to e-mail a central link so users could download and install the application, or perhaps use a “push” system that automatically installs upon the workstation login.
Deployment issues and management of upgrades have made browser-based enterprisewide software very appealing. Because the Web browser is already installed, all the user needs is a hyperlink address and the application will automatically load and run from the server. There is no software to install on the desktop. But naturally there are some trade-offs for this ease of deployment-the current breed of browser-based applications have become very good in terms of the user interface, but still are not as rich or robust as the user interface of traditional desktop software.
To make the choice easier, some software vendors provide customers with the option of desktop or Web-based software. Some offer mixed use as well, which allows for the most flexibility.
Deployment is easiest when software is provided as a service, hosted on the vendor’s servers and accessed via Web browsers. This is easy to deploy, but use must be weighed against on-going subscription costs, security concerns and possible regulatory requirements of the enterprise.
ReportingEnterprisewide software must have strong reporting capabilities. Some capabilities include built-in report designers. Other systems rely on third-party reporting tools such as Crystal reports. In an enterprise environment, users should have the ability to share customized reports with others and be able to have them automatically e-mailed in a variety of formats
ServiceService is one of the most important considerations when choosing a vendor of an enterprisewide software package. The service has to be enterprise class.
A vendor must have a support infrastructure to assist the client at a reasonable price. If a manufacturer is willing to pay for support, then he should expect solid support from the vendor or its partners. Vendors should be able to scale their service infrastructure to match their clients’ needs and help the manufacturer solve enterprisewide problems. Q
Quality OnlineFor more information on software, visit www.qualitymag.com to read the following:
- "How to Choose Inspection Software"
- “How to Manage Quality Data Across a Global Enterprise”
- “Improving Enterprisewide Processes”