Development This is where the rubber hits the road. Our typical approach adheres to best practices in software development. The development of the application can be broken down into 4 logical layers:
  • Data Layer - consists of the database, schemas, views, triggers, constraints, indexes and stored procedures. Essentially everything that is needed to ensure data access is fast, efficient, reliable and secure.
  • Data Abstraction Layer - an application layer that is developed to allow for communication to the database. This database layer consolidates data access and allows for easier updates to dependant code should anything change in the database.
  • Business Logic Layer - this layer enforces business logic and handles most of the processing of application tasks. It wires all the data together and organizes it for display to the user depending on the task.
  • Presentation Layer - The display layer. For web apps, typically this is developed in DHTML/CSS, but also can be developed using Rich Internet Application frameworks like AJAX, Flash, and/or Silverlight. For desktop development, UI frameworks like Flash, AIR, .NET (WinForms or WPF/XAML) are utilized. This layer contains all the user interface elements, data display and their organization on a screen.
Our development expertise includes programming and administration in:
  • SQL Servers - Microsoft SQL Server & MySQL
  • Web Servers - Apache & IIS
  • Web Applications - ASP, ASP.NET, AJAX, Flash/Actionscript, modPERL, PHP
  • Web Browsers - AJAX, DHTML/CSS, Javascript
  • Web Services - WCF, SOAP, RSS and other XML based formats
  • Desktop Applications - WinForms(.NET), WPF(.NET), Flash/Actionscript
All development and ongoing maintenance is developed under a concurrent version system. This allows multiple developers to concurrently work on a project which results in rapid deployment. The versioning allows us to have an audit trial of changes made to the application should we need to reference the state of the application at any point in time.