Chapter 6. Introducing Feature-Driven PL/SQL Development

In Part I, the discussion focused on the creation of a PL/SQL skills toolbox in the context of the scale of resilience. The scale of resilience was used to guide a variety of legacy PL/SQL code refactoring exercises. The toolbox skills were acquired with reference to existing PL/SQL code and the application of remediation measures. Part of the toolbox includes the crucial ability to test PL/SQL code using, for example, the utPLSQL product. In addition to testing PL/SQL, an important consideration is the integration model employed for using your packaged PL/SQL code. Two integration models in common use are those based on database-resident jobs and Java-based invocation.

I now move on to describing a further level of abstraction, where database application development artifacts are contained in features. This can be considered a shift-left approach where features are used as a type of requirement placeholder. This also reflects the fact that the discussion in Part II is somewhat more abstract than in Part I. With increased abstraction comes greater power than mere coding provides.

Before accessing the power of the feature abstraction, it’s important to carefully define what I mean by a feature.

What Is a Feature?

A feature is a software component that models an interaction that produces some useful end result. The interaction may be initiated by either a user or a machine.

For the purposes of this discussion, a feature has ...

Get Resilient Oracle PL/SQL now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.