Question

I'm working on a self service Kiosk which enables users to pay their electric bills through the kiosk.

Each Kiosk is a thick client, running a window 7 computer with in a lockdown state (runs the Kiosk application all the time).

My question is - How would it best to design the Data access layerA:

  1. Access the Database directly from the kiosk using a MicroDal framework like Dapper or something of that sort.

  2. Access the database using a DAL Web Service through which the kiosk does all the data calls (3 tier architecture).

Choosing (1) would make it much easier to develop as this way, i will not have to create a generic DAL on the webservice, and all the data access would be very straight-forward... the only thing i'm concerned about is Security. I could use (1) with SSL but then the database location would still be exposed, wouldn't it?

Which one is better to use (1) or (2) ?

Thanks!

Was it helpful?

Solution

I assume your Kiosk database is at centarlised place as you mentioned Kiosk terminals to be Thick client on Windows 7.

I will recommend to use 3 Tier Architecture as it provides following advantages: 1. CRUD operations can be made Database type and location agnostics. 2. Database Security can be taken care easily at Web sevrivces layer using https - SSL connection. 3. Methods that your Kiosk class uses to execute procedures will return values from within the functions such as ValidateUSers, ValidateCard etc.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top