IQware Pages Just for Geeks
Want to know how and why IQware is different?
How to deliver an application using IQware
A brief history of the problem and IQware's solution
Software development IQware's way
IQware software overview
IQware's approach to application development and deployment
IQware and security
IQware's feature summary
IQware was designed to solve the problem of never-ending, costly custom code development. IQware was also designed to answer the question of how to deploy and maintain critical software applications in an environment of never-ending changes in operational requirements, computer platforms and delivery mechanisms. Before IQware, software engineers and university researchers focused almost exclusively on the development environment. However, this approach simply created better development tools that allowed software developers to create the same bad (or worse) software applications - only faster and cheaper.
Ongoing technology change is the hallmark of the computer and software industries. New hardware products are coming out at an incredible rate, while new software products are being introduced even more quickly. Although the data analysis, information management and control capabilities brought by these new products have certainly been of great benefit, the products, when installed and configured, seldom meet expectations at anywhere near the projected costs.
One significant problem is constant, never-ending software development. Although the capabilities and features of software packages have increased greatly during the last decade, the need for software engineers and programming services has grown even more rapidly. This is true across various types of software including general packages and those directed towards business and manufacturing automation. The successful system integration of common software packages invariably demands that a great deal of custom code be designed, written and debugged, which is a costly and error-prone activity.
Another emerging and largely unanticipated problem is cyber attacks and other malicious software. Nearly all software systems were designed assuming a benign operating environment in which program operation would proceed without interference. Unfortunately, this assumption is violated nearly every day, especially since September 11, 2001. Cyber attacks are increasing in frequency and in severity and vast majority existing software systems are unable to operate properly under such conditions.
"Stop-gap" measures such as firewalls and anti-virus software have been employed to provide some degree of protection. However, none of these techniques and technologies can provide 100% protection. Firewalls have been successfully breached by teenagers and anti-virus software only works for known virus instances. Software skill sets have migrated across the globe with the natural consequence of a dramatic rise in the sophistication of malicious software used in cyber attacks. This situation is expected to worsen as the software tools and technologies available to the attackers rivals those available to the defenders.
Systems integration firms and end users are devoting an ever-increasing portion of their budgets to cyber defense, software design, programming and verification. Pedestrian software activities such as configuring a firewall, creating custom menus, formatting dialog boxes, creating custom displays and the like can usually be done via traditional "point-and-click," or by at most editing a script file. Unfortunately, this traditional level of flexibility is woefully inadequate to meet end users' changing needs in a timely and cost-effective manner.
More sophisticated software efforts, such as implementing a new business rule, conforming to new data analysis & reporting regulations, increasing system security, executing a custom menu option, and other similar events, invariably require significant custom code development in a computer language such as Visual Basic, Visual C, C++ or Java. Additionally, to obtain the desired level of end-user functionality, still more custom code must be designed, written and debugged. Further, if the original application was not designed well, it may not even be possible to add this new functionality without extensively rewriting it. The cost of these software design and programming efforts is significant and is considerably greater than the cost of the original out-of-the-box software package.
Nearly all companies maintain Information Technology (IT) departments to handle software installations, upgrades, and custom code development. Significant portions of companies' operating budgets are allocated to IT departments for these tasks. Companies who are not even in the software business must still make large financial and personnel investments in Information Technology. Thus, both human and capital resources are inefficiently expended on tasks far outside the companies' area of core competency and industry. Cyber defense and software security efforts exacerbate this situation and are beginning to consume a significant quantity of both corporate and government resources.
New operating systems and platform products are introduced into the market at a phenomenal rate. This rapid change often requires application software to be redesigned just to continue to operate with the new computer platform, operating system and/or other application. Thus, many companies' software development efforts and expenses are now driven by external market forces that are completely unrelated to their core business or market. Unfortunately, money spent on this type of software development may not even directly improve productivity, product quality or increase sales. It may even negatively impact profitability and cash flow. The same is true for cyber defense and software security efforts. These activities negatively impact cash flow because they are required for successful business operation yet they do not have direct business benefit in terms of sales, product quality improvement or cost reduction.
IQware was invented to solve these problems.