The Intangibility of Great System Design

Software ArchitectureWith new and hot technologies skyrocketing across the software industry on a regular basis, most of the attention in system development is turned towards tools, development methods, and user experience, as opposed to the software architecture itself. The system architecture, consisting of the software requirements and specifications, database design, and high-level system organization, defines the cohesive vision that guides construction of the software. More than any other factor, the system architecture will define the reliability, maintainability, flexibility, and scalability of an application.
Continue reading

RSS Twitter LinkedIn Facebook Email

Review: A Model-Based Approach for Crawling Rich Internet Applications

Cube SearchResearchers at the University of Ottawa and IBM have developed a new search engine crawler for the Deep Web of AJAX applications. Indexing most modern AJAX web apps can be a challenge, since the state of the page is based on much more than just the URL – it is also based on the server state, client JavaScript state, cookies, and the DOM, or document object model that defines the page’s HTML.
Continue reading

RSS Twitter LinkedIn Facebook Email

Searching a MySQL Database for Text

AnalysisWhen maintaining applications built with MySQL, it can sometimes be necessary to search an entire database for a text string. For instance, if a website’s domain name has changed and links in the site’s dynamic content had been hard-coded with the full URL, it can be useful to search the entire database for all occurrences of that particular string.
Continue reading

RSS Twitter LinkedIn Facebook Email

Elements of Enterprise-Grade Web Frameworks – Part 12: Input Validation

ValidationIn the final article of this series on enterprise-grade web apps, we review one of the key benefits of web frameworks: input validation. Though often abnegated to minutiae in the minds of many programmers, input validation forms the primary defense of most software against its two most significant weaknesses: hacking attacks and system errors.
Continue reading

RSS Twitter LinkedIn Facebook Email

Elements of Enterprise-Grade Web Frameworks – Part 11: Friendly Error Messages and Error Logging

Error HandlingError messages are one of the few places where programmers can showcase their latent literary talents. Unfortunately, most developers are not Shakespeare, nor were meant to be, and so an effective framework that helps automate error message generation is key to a successful enterprise-grade system.
Continue reading

RSS Twitter LinkedIn Facebook Email

Elements of Enterprise-Grade Web Frameworks – Part 10: Foreign and Unique Keys

Database Foreign KeysForeign and unique keys are two components of enterprise web applications that help improve data integrity and define relationships between elements of the system. A well-built enterprise app will enforce the keys at both the database and application levels, providing business logic and validation at each system entryway.
Continue reading

RSS Twitter LinkedIn Facebook Email

Elements of Enterprise-Grade Web Frameworks – Part 9: A Robust and Scalable Database Backend

Custom Database ProgrammingSince the database is often the central component around which enterprise applications are built, a robust and scalable database is an absolute necessity for enterprise app development. As the application grows and interfaces with other systems, the database becomes a central hub for system architecture and business logic. Out of all the factors that influence longevity of an application, the database design often outweighs even the application’s development framework.
Continue reading

RSS Twitter LinkedIn Facebook Email

Elements of Enterprise-Grade Web Frameworks – Part 8: Deployment Workflow

DeploymentOne does not simply develop software, take it live, and finish the project.  In enterprise applications, the deployment is often just the beginning of the “Software Lifecycle” – the process by which the software is maintained and updated over the course of 10 to 20 years.  The better the design and support of the software, the longer it will last and provide benefit to the client.
Continue reading

RSS Twitter LinkedIn Facebook Email

Elements of Enterprise-Grade Web Frameworks – Part 7: Role-based menus and privileges

User RolesIn addition to user authentication, user roles and fine-grained privileges are a key component of enterprise systems.  In order to handle multiple administrators and user categories, scalable systems must be built with customizable access control so that each user will have access to what they need, and no access to what they don’t.
Continue reading

RSS Twitter LinkedIn Facebook Email

Elements of Enterprise-Grade Web Frameworks – Part 6: Integrated User Authentication

SecurityUser authentication is one aspect of enterprise-grade web apps that many frameworks get right.  From ASP.NET, to Node.js, to Rails, most well-developed application stacks have a solution for user authentication.
Continue reading

RSS Twitter LinkedIn Facebook Email