I have been in several conversations lately discussing the practice of enterprise architecture in large businesses. The practice of Enterprise Architecture is defined as creating an architecture to support business goals. This consists of defining the systems, software, and data in order to help the business meet its goals. An enterprise architect analyzes the business need, formulates an architecture to meet that need, and defines an enterprise architecture that meets all of the business needs combined in an efficient manner. This includes trade offs and use of common enterprise architectural patterns to help manage the task.

Commercial Software Architecture requires that the software architecture meets the needs of the customer base. This could be individuals, small businesses, larger enterprises, or even governments or other non-profits.??This requires the architecture to scale from smaller computers and servers up to distributed enterprise systems. Architectures must scale for attributes such as processing, number of nodes, network speed and topology, storage, memory, and other factors.

User defined field architectures allow commercial applications to be taylored to fit the enterprise architecture. This allows enterprise architects considering the use of an application that supports user defined fields to tailor the application to best meet the business needs and support the enterprise architecture. If implemented on a relational database, UDFs support indexing, warehousing, and big data applications. If written in a flexible fashion supporting data views, data can be linked to other applications supporting data integrity and de-duplication.

UDFs are just one example of architectural patterns supporting commercial applications and frameworks. Other examples include plug-in architectures or extension points, reporting frameworks, system-of-systems architectures (where a set of systems can act individually or combined together to form a larger system), calculation engines and frameworks, embedded scripting languages, and many more. This is true also for open source applications and frameworks that tend to have even more flexibility than commercial applications.

User defined fields are a concept that helps commercial applications meet the needs of many different enterprises. These commercial architectural patterns allow for applications to be sold and implemented across a wide range of businesses.