Home > SOA Glossary > Agnostic Logic and Non-agnostic Logic

Agnostic Logic and Non-agnostic Logic

The term "agnostic" originated from Greek where it means "without knowledge." Therefore, logic that is sufficiently generic so that it is not specific to (has no knowledge of) a particular parent task is classified as agnostic logic. Because knowledge specific to single purpose tasks is intentionally omitted, agnostic logic is considered multi-purpose. On the flipside, logic that is specific to (contains knowledge of) a single-purpose task is labeled as non-agnostic logic.

Another way of thinking about agnostic and non-agnostic logic is to focus on the extent to which the logic can be repurposed. Because agnostic logic is expected to be multi-purpose it is subject to the Service Reusability principle with the intention of turning it into highly reusable logic. Once reusable, this logic is truly multi-purpose in that it, as a single software program (or service), can be used to automate multiple business processes.

Non-agnostic logic does not have these types of expectations. It is deliberately designed as a single-purpose software program (or service) and therefore has different characteristics and requirements.

Note: The term "agnostic" also has specific meaning within some religious communities. If you are uncomfortable using this term, you can substitute it with "neutral" or "unbiased." Although the underlying meaning is not quite as clear with these terms, they may still be effective in making the distinction between these logic types.