Similar to Middleware, the Back End deals with the inner layers down to the actual
Persistent Source; typically a database or the file system. Most systems which require
Back End development are Multi Tier Software
Applications.
Image 1 – Typical Back End Structure
Back End solutions can be as simple as designing a well formed and structured database.
Well formed considers structure of tables, queries, triggers and data normalization
(various phases) to name a few. Beyond the detailed design of the database, other
requirements such as security, accessibility, reliability and performance need to
be equally considered.
More elaborate solutions may involve one or more layers such as a Data Access Layers
(DAL) and Data Access Providers (DAP). These layers will server higher level layers
with standard Application Interfaces (API) from which information is accessed and
acted upon without actually gaining direct access to the Persistent Sources. Creating
access and provider layers provides simplified access and encapsulation which shields
the intricacies of direct access and internal functionality. DAP may allow support
for various dissimilar sources while providing a common API for access and retrieval
requirements.
In designing Back Ends for any particular software solution, design considerations
stem from business requirements in data accessibility, persistence and reporting
needs. Many considerations and steps are taken to properly design a solid and stable
Back End solution. The scope of such solutions is completely dependent on existing
implementations, environment and business requirements.
If you have questions, concerns or would like to know how to get started,