Line of Business Application Overview
This post is in a series of post on how I’ve written enterprise scale applications end to end. I will work from the bottom up, from database to user interface.
This series might take a while to finish, since there are many layers to the application and I’m writing this entirely in my free time at coffee shops. As I write this, it seems this entire series could become a small book.
Let me make some assumptions about this software application.
- The application has multiple tiers.
- The middle tier is written on the .NET framework.
- The database is SQL based. I’m using SQL Server 2008.
With these assumptions, I will walk through one way of how to write an end to end application that should scale. I say ‘should’ because I have not load tested the completed application. I will include code, and at the end I will provide a full Visual Studio solution that can be downloaded and run.
The next post in the series will be on writing a Data Access Layer.
SOA Application Architecture
I’d like to talk a bit about what Concord Mfg does. Concord Mfg is in the business of Software Manufacturing (TM). We don’t write applications, per se, but rather generate customized end-to-end n-tier line of business applications specific to a given domain. For example, a common domain is CRM (customers). Another possible domain is construction. A domain is what your business is about.
I intend to lay out the architecture of the end product in more detail at a later time, along with some sample code. In the mean time, here is a quick overview.
The tiers are such:
- ASP.NET user interface (more to come)
- WCF web services
- Business Logic (currently code)
- Data Access (Linq to SQL)
- SQL Server database
This 5-tier SOA architecture allows for great flexibility and scaling at enterprise level. The web services provide access to your data through the business logic, which means that no matter the UI (desktop, web, mobile, etc), all data interactions go through your organization’s business logic, reducing duplication of code.
This architecture separates presentation from business entities and business logic, as well as business logic from data access, providing clean, maintainable code.
Stay tuned for more about the architecture and it’s implementation.
Ryan D. Kyle | Concord Mfg LLC
