tags:

views:

49

answers:

0

Hello there, I am making a small report application for my company as specified in title. I am not experienced in n-tier application design, but I tried it. there are 3 tiers:

(Database) -> WCF data service -> Business Rules (client side) -> WPF UI

  • WCF data service: (data access objects, and data services) The two above are at the same tier of WCF services. It handles accessing database, and creates data contracts and service methods. Different report type data and operations are provided in here.
  • Business Rules (client side): Reason: Half WCF was done years ago by another developer. Some report data type need to be converted(shadowed) to a proper type before displayed in UI. A report admin class is made to get data and re-set report type, and provide methods for different report types.
  • WPF UI: logon page, and report page (using DevExpress WPF Datagrid suite).

This report application have 2 report types (a bit more detailed: database report, and time & attendance report). More report type may be added in later. One senior developer already wrote a partial WCF data service providing one report type (database report). I have got to use his service for part of my report application. And I am writing the rest WCF data service (time & attendance, plus all the reports storage/access). The data type from my colleague's WCF service need to be converted to a proper type before displayed in UI. So I am adding a business logic tier in between WCF and UI, and also it will separate this bit business logic from UI. Not sure whether it is correct or necessary or something else? And any comment about my design is much appreciated. Thank you in advance.