Product information management

3
©2017 Riversand Technologies Inc. All rights reserved. Writing Enterprise Software: Introduction * Riversand is recognized as a leader in The Forrester Wave™: Product Information Management Solutions, Q4 2016 Writing Robust Software Writing robust software is difficult, no matter what language we’ve used. That goes for language features, libraries, frameworks, etc. Nothing replaces the hard work and good judgment required to know where and when to put in the effort to write truly robust software. What’s the worst that can happen? Most software developers can write code that is functionally sufficient. It gets the job done, and so long as nothing bad happens, it works just fine. So what can go wrong? Those pesky users of our software can cause problems, so there’s bad input, invalid configurations, and insufficient privileges, to name a few. There are also all kinds of environmental problems that can make writing robust software difficult, such as attempting to write to a full disk, attempting to access a resource that is currently unavailable, running out of memory, etc Enterprise software Anything sold as an enterprise-grade product must be robust. Enterprise customers are demanding. They pay a lot of money for the software they

Transcript of Product information management

©2017 Riversand Technologies Inc. All rights reserved.

Writing Enterprise Software: Introduction

* Riversand is recognized as a leader in The Forrester Wave™: Product Information Management Solutions, Q4 2016

Writing Robust Software

Writing robust software is difficult, no matter what language we’ve used. That goes for language features, libraries, frameworks, etc. Nothing replaces the hard work and good judgment required to know where and when to put in the effort to write truly robust software.

What’s the worst that can happen?

Most software developers can write code that is functionally sufficient. It gets the job done, and so long as nothing bad happens, it works just fine. So what can go wrong? Those pesky users of our software can cause problems, so there’s bad input, invalid configurations, and insufficient privileges, to name a few. There are also all kinds of environmental problems that can make writing robust software difficult, such as attempting to write to a full disk, attempting to access a resource that is currently unavailable, running out of memory, etc

Enterprise software Anything sold as an enterprise-grade product must be robust. Enterprise customers are demanding. They pay a lot of money for the software they

©2017 Riversand Technologies Inc. All rights reserved.

use to solve their business problems, and they expect that software to work. If that software encounters a problem, an enterprise customer expects the software to accurately report the problem. That seems simple enough. What is required for software to accurately report a problem it encounters? First the software developer must be aware of the possibility that a problem can occur. Every operation that can fail must be checked. For example, the return code of a function call must be tested to ensure that the function succeeded before the calling code continues to the next statement. Not checking the return code can lead to a later failure in a seemingly unrelated module, making the real source of the error difficult to find. As another example, if a called function can throw an exception, then the exception must be caught and handled.

Notes: We have encountered plenty of other factors that make writing robust software difficult, including bad designs, buggy third-party components, race conditions, inconsistent coding standards in a large code base, etc. Many other categories of software also require robustness. These include device drivers, embedded systems, and large-scale systems.

©2017 Riversand Technologies Inc. All rights reserved.

Riversand is an innovative leader in Master Data Management, powering industries from the world's largest to SMBs. Riversand's single integrated, scalable and robust multi-domain MDM platform caters to a variety of use cases across multiple verticals. In addition Riversand offers specific solutions such as Vendor Portal, Spare Parts Management, Material Master, GDSN on-boarding, Media Assets Management, Print Publishing etc. Business value which Riversand provides include accelerated time-to-market, increased sales, improved order accuracy, reduced costs and enhanced customer service. Customer satisfaction is at the heart of Riversand's innovation.

For more information, visit Riversand.com and follow @RiversandMDM on Twitter.

LEARN MORE