Results 1 to 8 of 8

Thread: POS Systems

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2012
    Posts
    423

    POS Systems

    I've been asked to create a couple of very simple POS (Point of Sale) systems for a couple of clients, they are very basic and are to be built for the use on a laptop which are connected to the internet in stalls.

    They all will need to connect to a master server where product prices etc are controlled.

    Is this as simple as connecting to a sql server on a remote site?

    How can I ensure port forwarding, firewalls etc aren't an issue?

  2. #2

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2012
    Posts
    423

    Re: POS Systems

    http://msdn.microsoft.com/en-us/library/ms973831.aspx

    For example, if you are building any of the following types of applications, you will definitely be using a Web interface:

    E-commerce store
    Company Web site on the Internet
    Remote users with no VPN capabilities, but access to the Internet

    Why with no VPN capabilities?

  3. #3
    PowerPoster
    Join Date
    Jul 2006
    Location
    Maldon, Essex. UK
    Posts
    6,334

    Re: POS Systems

    I think that statement covers the conditions where the Clients do not have VPN access to the Data, so the most common solution would be to create a Web Interface for them. (If they had a VPN then there'd be an option to treat it as a LAN or Private WAN and a Web interface would not be necessary)

    Just thinking aloud: isn't it a bit 'risky' having a POS station dependent upon the Internet? My understanding of a POS is that you have real people queuing up to purchase things who would like to do so as quickly as possible. If there are response time / availability issues they may just get fed up waiting and leave. You have no control of the Internet whereas you do with a LAN (or, come to that, a Private WAN)

    I would have thought that you'd need the Database local to the POS system(s) which was, perhaps, updated overnight with any changes. At least then, there'd be no external dependencies and even if an update failed, the worst you'd be doing is selling items at the wrong price for a short time, rather than not being able to sell anything because the internet was 'down'. In the case of not having a price for a new Product, well there's always the Telephone. I assume there'll be provision for manually entering a price in your design, should the need arise. These days, with the availability of the Express editions of SQL Server, cost is not an issue as they are freeely available and functionally will provide all the facilities required for the back-end of a POS system.

    EDIT: In answer to your original question; you'd select a suitable TCP Port (ie one greater that 1023) for the Clients to access the Server and at the Server end, you'd open that Port to the WAN (Internet) on the Router to allow it to accept incoming connection requests (commonly known as Port Forwarding). Part of the 'opening' process will require you to identify the Port Number and the Computer (eg IP Address) that will accept the requests (ie the Computer that's running the Server). Thus when data is received on that Port the Router knows where to send it.

    As far as Firewalls are concerned; again, at the Server end, you will have the capability of adding the Port Number and Application to an 'exclusion list' which will allow the requests through. The actual method of doing this will, of course, depend upon the Firewall Software. (The Windows Firewall is quite easy to manage) In my exprience the Firewall at the Client end will not normally need adjusting as it's 'normal' to allow anything out.

    You may also need to look at the Virus Scanner(s) as they are increasingly taking it upon themselves to 'block' (sometimes silently) things they might think are a threat (under the guise of 'Identity Protection') - I've had quite a few instances of such things which can be a bit of a problem to resolve (again, in my experience, the Documentation of the Product(s) do not specifically define what gets 'blocked' and how to 'unblock' it)
    Last edited by Doogle; Sep 10th, 2012 at 11:20 PM.

  4. #4

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2012
    Posts
    423

    Re: POS Systems

    Thanks for the detailed reply, my first thoughts are the overnight update would be a good idea, the remote POS system could also upload all sales, i could make it more regular if require and could "force" and update for urgent changes.

    So as far as the programming goes the tuff stuff would be at my servers end with allowing the remote POS systems into my server, my end of line users may need to configure any anti virus software they have themselves?

  5. #5
    PowerPoster
    Join Date
    Jul 2006
    Location
    Maldon, Essex. UK
    Posts
    6,334

    Re: POS Systems

    Quote Originally Posted by ubkra View Post
    So as far as the programming goes the tuff stuff would be at my servers end with allowing the remote POS systems into my server, my end of line users may need to configure any anti virus software they have themselves?
    The Port Forwarding is a one-off manual exercise; basically log on the the Router (they normally have a Web Interface) navigate to the 'Port Forwarding Menu' (however it's described) apply and save the changes. Likewise with the Firewall, it's a one-off manual change. With regards to the Virus Scanner adjustments, I agree that it's an end user issue (after all you don't want to be responsible for their 'local' security) but at least they should be 'warned' up-front of the possible requirement to make a configuration change. I guess it'll all come out in the wash when you start the end-to-end testing.

    (EDIT: BTW I assume you'll be using Stored Procedures for the Updates and up-loading of the Sales data to minimise the risk of SQL Injection by undesirables)
    Last edited by Doogle; Sep 10th, 2012 at 11:35 PM.

  6. #6

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2012
    Posts
    423

    Re: POS Systems

    I've never used "stored procedures" before are aware of what they do in principal.

    When a user updates their local data from the main server it could either call a XML script from a web server or call the data directly from my sql server with a read only connection to it.

    How would a user update my sever with their sales states? their laptop would not be set up as a web sever so I couldn't not call a XML file over a HTTP protocol - how else would I pass the info from them to me?

  7. #7
    PowerPoster
    Join Date
    Jul 2006
    Location
    Maldon, Essex. UK
    Posts
    6,334

    Re: POS Systems

    I'm assuming that there'll be a Transaction Table which will be accumulating the data on a day-by-day basis. You'll have to decide on the pros and cons of 'Pushing' the data from the Client to the Server against the 'Server' 'Pulling' the data from the client. If access to your Server is on a Read Only basis it solves the argument - you'll have to 'Pull' it from the client.

    At its simplest, the data could be extracted from the Transaction Table and FTPd to a server and then some process on the Server would update table(s) in the main Database.

  8. #8

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2012
    Posts
    423

    Re: POS Systems

    Just thinking further, my remote users will not have a static IP address. My application will need to force and upload of into, perhaps via some web service or similar as i will not be able to find these users

    so how else could I upload data, FTP would seem rather extreme wouldn't it?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width