Content uploaded by Marcel Mizzi
Author content
All content in this area was uploaded by Marcel Mizzi on Jul 31, 2015
Content may be subject to copyright.
School of Engineering and Information Sciences
CMT3333
Software Development Project
Autumn/Winter term
2011/2012
School of Engineering and Information Sciences
Date:
25
th
April 2012
Supervisor: Ms. Ruth Mizzi
Student Name: Marcel Mizzi
Student ID Number:
M00363704
Campus: STC Training, Pembroke, Malta
Title: Point of Sale in The Cloud
ii – Point of Sale in The Cloud – By Marcel Mizzi
Marcel Mizzi………………………………………………………
(Student Name)…
Student Id No…M00363704……………………………………….
Module number…………CMT3333…………………………….
I hereby confirm that the work presented here in this report and in all
other associated material is wholly my own work. I confirm that the
report has been submitted to TURNITIN and that the TURNITIN results
are on CD attached to this report. I agree to assessment for plagiarism.
Signature……………………………………………
Date……………………………………………………
iii – Point of Sale in The Cloud – By Marcel Mizzi
TURNITIN REPORT
iv – Point of Sale in The Cloud – By Marcel Mizzi
ACKNOWLEDGEMENTS
I would like to thank my tutors at STC for providing me with the training that has
enabled me to successfully complete my course and this work. Being a mature
student, I was initially afraid that I may be too old to successfully face this
challenge in spite of my work experience in ICT.
Without the valuable guidance given by my tutors and staff at STC this would not
have been possible.
v – Point of Sale in The Cloud – By Marcel Mizzi
DEDICATION
I dedicate this work to my wife Lauren who has sacrificed many weekends while I
worked on completing this work.
vi – Point of Sale in The Cloud – By Marcel Mizzi
ABSTRACT
The Cloud has become the ICT cliché of our time. Many people unknowingly use
Cloud applications such as Google Mail and others and do not appreciate that
they are in fact using a Cloud solution. The Cloud method is arguably a major
step forward in software solutions. Fear of security and privacy pitfalls have not
allowed the Cloud to be realized anywhere near its full potential.
Point of Sale systems, perhaps more than any other field, can certainly benefit
from migration to the Cloud. The ease with which POS stations may be deployed
together with the reduced cost of ownership certainly make the Cloud an
interesting proposition.
This document explores the current research on Cloud Systems and attempts to
apply this knowledge to a POS in the cloud. It also includes the design, coding
and implementation of a simple Cloud POS solution. The prototype looks at
potential problems associated with using POS peripherals such as Barcode
Scanners, Chit printers and Customer displays.
The applications produced as part of this work are by no means meant to be
finalized solutions. They are however successful in exploring the issues that a
developer will encounter when designing a POS system for the Cloud.
vii – Point of Sale in The Cloud – By Marcel Mizzi
CONTENTS
Turnitin Report ................................................................................................................. iii
Acknowledgements ......................................................................................................... iv
Dedication ........................................................................................................................ v
Abstract ........................................................................................................................... vi
Table of figures ................................................................................................................. x
Chapter 1 - Introduction ................................................................................................... 1
1.1 Problem Definition .................................................................................................. 2
1.2 Aims and Objectives ............................................................................................... 2
1.3 Evidence of requirement ......................................................................................... 3
1.4 Context Description ................................................................................................ 3
1.5 Evaluation Methodology ......................................................................................... 4
1.6 Resources Required ............................................................................................... 5
Chapter 2 – Literature Review ......................................................................................... 6
2.1 Introduction ............................................................................................................ 7
2.2 Advantages of migrating to the cloud ...................................................................... 8
2.2.1 Resource Pooling & Cost Saving...................................................................... 8
2.2.2 Green Computing ............................................................................................. 8
2.2.3 Deployment Time ............................................................................................. 9
2.2.4 Scalability ......................................................................................................... 9
2.2.5 Increased mobility ...........................................................................................10
2.2.6 ICT Departments can shift focus .....................................................................10
2.2.7 Advantages particular to POS .........................................................................10
2.3 Condisderations for migration ................................................................................12
2.3.1 Security & privacy ...........................................................................................13
2.3.2 Resistance by ICT Staff ...................................................................................14
2.3.3 Legal considerations .......................................................................................15
2.3.4 Reliability and vendor “lock-in” ........................................................................15
2.3.5 Bandwidth costs ..............................................................................................16
2.3.6 Mitigating the issues ........................................................................................16
2.4 Analysis of current Cloud adoption ........................................................................18
2.5 Examples ..............................................................................................................19
2.5.1 True Cloud computing .....................................................................................19
2.6 Conclusion ............................................................................................................22
viii – Point of Sale in The Cloud – By Marcel Mizzi
Chapter 3 – Analysis & Design .......................................................................................23
3.1 Software Development LIFE Cycle ........................................................................24
3.2 Determining Objectives, alternatives and constraints ............................................25
3.2.1 Objectives .......................................................................................................25
3.2.2 Alternatives .....................................................................................................26
3.2.3 Critical Success Factors ..................................................................................27
3.2.4 Constraints ......................................................................................................28
3.3 Risk Analysis .........................................................................................................30
3.4 Cost benefit Analysis .............................................................................................31
3.5 Hardware Considerations ......................................................................................35
3.6 System Design ......................................................................................................36
3.6.1 High Level Overview .......................................................................................36
3.6.2 Use Cases – Activity identification ...................................................................38
3.6.3 Entity Discovery and relationships ...................................................................41
3.6.4 Diagramming Selected Algorithms ..................................................................43
3.6.5 Sending data to the client and the Buddy Application ......................................47
3.6.6 Selecting a Database Platform ........................................................................50
3.6.7 Programming Language – Object Oriented PHP .............................................51
3.6.8 Application design standards ...........................................................................53
3.6.9 Database Design .............................................................................................54
3.6.10 User Interface Design ....................................................................................60
3.6.11 Security Considerations ................................................................................63
Chapter 4 – Implementation ...........................................................................................64
4.1 Application Screenshots .....................................................................................65
4.2 Issues & considerations during implementation .....................................................72
4.2.1 The Towns Table ............................................................................................72
4.2.2 Problems printing the EURO symbol on the TM88-III Epson Printer ................72
4.2.3 Reports ...........................................................................................................73
4.2.4 Button order and setting focus in sale.php .......................................................73
4.2.5 Should deletions be propagated? ....................................................................74
4.2.6 The Cloud Administrator ..................................................................................74
4.2.7 Product Images ...............................................................................................76
Chapter 5 – System Testing ...........................................................................................77
5.1 User Requirements testing (Overview) ..................................................................78
5.1.1 Prospective User opinions & Comments .........................................................79
ix – Point of Sale in The Cloud – By Marcel Mizzi
5.2 Sample testing.......................................................................................................80
5.3 Cross browser & device tests ................................................................................90
Chapter 6 – Conclusions ................................................................................................91
6.1 Critical conclusions ................................................................................................92
6.2 Concluding remarks ..............................................................................................93
References .....................................................................................................................94
References .....................................................................................................................95
APPENDICES ................................................................................................................98
Appendix A ..................................................................................................................99
Appendix B ................................................................................................................ 102
Fiscal Considerations ............................................................................................. 102
Hand written receipts ............................................................................................. 102
Fiscal Cash Registers ............................................................................................ 102
POS Systems......................................................................................................... 103
Fiscal DATA and the Cloud .................................................................................... 104
x – Point of Sale in The Cloud – By Marcel Mizzi
TABLE OF FIGURES
Figure 1: Concerns on cloud computing by company type (Source: Bitcurrent) ........12
Figure 2 : Main concerns regarding cloud computing (Source: KPMG)......................13
Figure 3 : LP-600 All-in-one Cloud POS Solution .......................................................19
Figure 4 : Screenshot showing MerchantOS sales window ........................................20
Figure 6 The Waterfall Method (http://www.c-sharpcorner.com) ................................24
Figure 5 Spiral SDLC (http://www.c-sharpcorner.com) ...............................................24
Figure 7 - Pricing model at CSS LivePOS ...................................................................26
Figure 8 - Prices for hosting at www.clook.co.uk .........................................................33
Figure 9 - High level overview of the proposed solution .............................................36
Figure 10 - High level overview showing the operation of the Buddy App .................37
Figure 11 - Use case diagram for the Super Admin (Cloud Service Provider Admin)38
Figure 12 - Use case diagram for the Sales Person at the Retailer Domain ..............39
Figure 13 - Use case diagram for the Retail Business Owner ....................................40
Figure 14 - Entity relationship diagram showing the relationships between the major
entities in the overall scenario ......................................................................................41
Figure 15 - ERD Showing the relationships between Cloud Admin, Retailer and
salespersons .................................................................................................................42
Figure 16 - Sales entry procedure flowchart ................................................................43
Figure 17 - Class diagram showing the Cloud system classes ...................................44
Figure 18 - Sequence Diagram showing the "make sale" process including printing to
client side ......................................................................................................................45
Figure 19 - Flowchart showing the basic operations in the Buddy Application ..........46
Figure 20 - Market shares acoss open souce and regular products (37) ...................50
Figure 21 - Open source database comparison – Source (36) ...................................50
Figure 22 - PHP Market Position April 2012 – Source (38) .........................................51
Figure 23 - Database Relationship Diagram ................................................................55
Figure 24 - The Categories Table ................................................................................56
Figure 25 - The Clients Table .......................................................................................56
Figure 26 - The Config (Company Configuration) Table .............................................56
Figure 27 - The Inventory Table which stores the stock items of the retailer .............57
Figure 28 - The payments table that stores sales payments ......................................57
Figure 29 - Sales1 Table (Header) stores the sale header - One per sale.................57
Figure 30 - Sales2 Table (Child) stores the sales lines or items sold.........................58
Figure 31 - The Suppliers Table - Stores the supplier details .....................................58
Figure 32 - Payment Types Table - stores the different payment types such as credit
card, cash etc ................................................................................................................58
Figure 33 - The users table - stores the users that can access the system. ..............59
Figure 34 - The Towns database..................................................................................59
Figure 35 - The Electoral Register Table .....................................................................59
Figure 36 - The VAT Rates Table ................................................................................59
Figure 37 - HTML div layout ...........................................................................................60
Figure 38 - The login screen .........................................................................................65
Figure 39 - The main screen ........................................................................................66
Figure 40 - Sales Entry Screen showing 2 items in the sale .......................................66
Figure 41 - Inventory Item edit screen .........................................................................67
Figure 42 - Supplier management Screen ...................................................................67
xi – Point of Sale in The Cloud – By Marcel Mizzi
Figure 43 - Clients screen showing existing clients and search box ..........................68
Figure 44 - Electoral Register Search and import screen ...........................................69
Figure 45 - Shows the Buddy Application with the config menu visible ......................70
Figure 46 - CloudPOS Buddy Configuration form ........................................................70
Figure 47 - The Application folder structure as viewed through ftp ............................71
Figure 48 - Code sample used to test creation of database through Cpanel. (Some
code from Zubrag.com) .................................................................................................75
Figure 49: Image shows the supplier records prior to new supplier entry ..................80
Figure 50 - Shows new supplier entry screen with fields filled in before saving ........81
Figure 51 - Shows the supplier list after the data is saved. ........................................81
Figure 52 - Shows the categories previously entered successfully through the user
interface .........................................................................................................................82
Figure 53 - Shows the result of trying to enter a category with the same name as an
existing one. ..................................................................................................................82
Figure 54 - Shows the message that correctly appears after a category is deleted. .83
Figure 55 - Shows the inventory list before the test ....................................................83
Figure 56 - Shows the new item details being filled in ................................................84
Figure 57 - Shows newly created inventory item in the list of items ...........................84
Figure 58 - The inventory list report printed on a pdf creator ......................................85
Figure 59 - Shows today's sales - no sales at the moment .........................................85
Figure 60 - Shows the sale being entered with an item and a client already selected
.......................................................................................................................................86
Figure 61 - Taskbar showing the Buddy App running .................................................86
Figure 62 - Shows the day's sales with the new sale just created ..............................86
Figure 63 - Scanned image of the sales chit printed on the Epson Thermal POS
Printer ............................................................................................................................87
Figure 64 - Shows the sale report produced - Shown here in pdf reader ...................88
Figure 65 - Shows a sale made and a recipt printed on another company using
CloudPOS ......................................................................................................................89
Figure 66 - Application being tested on the ipad .........................................................90
Figure 67- Email received re Enquiry to the Data Protection Department ................ 100
CHAP T E R 1 - I N T RODUC T I O N
2 – Point of Sale in The Cloud – By Marcel Mizzi
1.1 PROBLEM DEFINITION
The European Commission’s DG Enterprise Reports that over 92% of businesses
in the 27 members states are micro enterprises employing 9 persons or less (1).
Many are retailers supplying goods to end users. This percentage reflects the
large numbers of potential users of a POS system, albeit many are using fiscal
cash registers. Many retail outlets require multiple sales points and some own
numerous outlets. This inadvertently means that their setups would have to
include expensive server hardware and software. These SMEs (Small and
Medium Enterprises) could alternatively pay a monthly premium to host their
applications in The Cloud. Backups, servers and maintenance become irrelevant.
Utopia would be to allow the users to set up a sales point themselves by simply
connecting to the internet, offering them total abstraction from the hardware
platform and without requiring any expertise.
In terms of academic documents, little has been done in this area. Numerous
documents discuss Cloud Computing; however, few discuss the potential of POS
in the cloud. At the same time, numerous companies worldwide are offering these
services.
1.2 AIMS AND OB J ECTIVES
The main aim behind this work is to create an online POS system that offers
many of the features of a “Desktop Solution”. The system should support using
peripherals such as Barcode Scanners, Customer Displays and Chit printers.
This work explores, through research, design and prototype implementation, the
development of a cloud based POS system. It aims to recognize the challenges
involved and suggest solutions.
3 – Point of Sale in The Cloud – By Marcel Mizzi
1. 3 EVIDE NCE OF REQUIRE MENT
The lack of scientific papers is evidence in itself that this paradigm has not yet
been fully explored. Although there are numerous cloud POS products available
abroad, in Malta this service is not available.
Intrinsically, Cloud based applications require fast reliable Internet connections.
Consequently, geographic proximity of the service provider will be advantageous.
Local fiscal regulations demand that systems adhere to local constraints and
more often than not off-the-shelf products will require some customization.
In Malta, the Ministry of Finance, through the VAT department, is hosting a
working group with the aim of upgrading fiscal regulations and some changes are
already in effect. The responsibility for data coherency and security now falls on
the Software Developer (2). From a security point of view, the department would
welcome cloud solutions. The advantages are obvious. The European
Commission is also promoting the use of electronic invoicing in B2B. Cloud
systems would make the required standardization much easier to implement.
1. 4 CONTE XT DESCRIPTION
Cloud Computing has been discussed profusely, almost to the point of becoming
a cliché. Few realize that using Gmail is a perfect example of an application in
the Public Cloud as opposed to the term Private Cloud (3) which refers to an
application that is hosted inside a server or datacenter that is owned by the same
company.
The potential benefits of Cloud Computing cannot be underestimated. The ease
of installation of the applications, considerable savings on hardware, software
upgrades and maintenance together with allowing off-site access makes cloud
computing very attractive to SMEs, be it in POS or otherwise. The downside as
Ghalsasi states in his paper, Cloud Computing a business perspective, (4)
4 – Point of Sale in The Cloud – By Marcel Mizzi
“There are many issues that need to be resolved before cloud computing can be
accepted as a viable choice in business computing”
The biggest issue with Cloud Computing seems to be trust in the service provider.
This may not be the determining factor for SMEs when selecting a POS platform
largely due to lack of knowledge and cost considerations. On the other hand,
larger businesses are still very wary in entrusting mission critical applications into
the Public Cloud. This is evidenced by the extensive advertising that is being
made by Cloud providers throughout Europe. Larger organizations are
specifically being targeted and enticed with a promise of 100% uptime and
reliability which should be better than their locally hosted systems.
1. 5 EVALUATION METHODOLOGY
Standard testing methodologies will be employed to test the completed prototype;
Although outside the scope and resources of this work, automated tests would be
ideal to specifically test performance as this will allow a large number of test
cases and minimize the need for manual data input (5).
Module level White box testing: Each module will be tested as stand-
alone during the development phase.
System testing : The system will be tested as a whole.
User requirements testing : will show if at least the basic features that
would likely be required by all prospective uses of the Cloud Point of Sale
system work.
5 – Point of Sale in The Cloud – By Marcel Mizzi
Cost of ownership evaluation: The cost of ownership of the proposed
system certainly is a measurement for its evaluation. Estimates of cost of
ownership will be made by considering hosting setups and costs for
implementation.
1. 6 RESOURCES REQUIRED
The development of this application will require :
1. Web Server with Php, SQL server such as WAMP or XAMP. These are
available online at no cost.
2. Point of sale hardware such as Chit Printer, Barcode scanner, Customer
Display and cash drawer. These are all in hand.
3. Various computers connected to the internet and running Windows for
testing purposes.
6 – Point of Sale in The Cloud – By Marcel Mizzi
CHAP T E R 2 – L IT ER ATUR E
REVIEW
7 – Point of Sale in The Cloud – By Marcel Mizzi
2. 1 INTRO DUCTION
This literature review aims to investigate the current status of “Cloud computing”,
while considering uptake in various sectors and the factors effecting its
widespread adoption as well as evaluating some of the existing solutions on the
market.
By definition “Cloud Computing” refers to the applications, or software, that are
delivered over the internet as a service as well as the hardware and infrastructure
that is used to deliver these service (3). In recent years Cloud Computing has
been discussed to the point that it has almost become a cliché. A simple Google
search for the term produces 352 million results!
The cloud paradigm is currently being deployed through one of the four accepted
models, namely: (6)
• The Private Cloud
• The Community
• The Public Cloud
• The Hybrid Cloud
The Private Cloud is usually either owned by the enterprise or leased from a third
party (7) while a Community Model involves the resources being shared by a
community, for example, legal firms in an area. The Public Cloud is comprised of
resources which are available to the general public (7) and can be purchased by
anyone. The Hybrid Cloud is a mixture of two of the above (7).
8 – Point of Sale in The Cloud – By Marcel Mizzi
2. 2 ADVA NTAGES OF MIGRATING TO THE CLOUD
2.2.1 RESOURCE POOLING & COST SAVING
Resource pooling is perhaps one of the biggest advantages of Cloud Computing.
Enterprises share resources rather than investing in their own infrastructures and
purchasing licenses. Furthermore, other resources such as anti-virus protection
and data redundancy mechanisms are also shared thus lowering the cost of
ownership.
Redundancy mechanisms typically include Uninterruptible Power Supplies and
power conditioners which typically have a high cost of ownership due to short
battery life. Other redundancy mechanisms would include RAID arrays to protect
data integrity. RAID 5 arrays that are typically required for multi-store solutions
are typically very expensive.
Macpherson (8) claims that in Australia :
“One Australian retailer reduced its $40,000-a-year POS system for 13 stores to
US$350 a month with a cloud-based combination of POS based on VendHQ (9)”
2.2.2 GREEN COMPUTING
Enterprise servers are usually switched on 24/7. Although in small enterprises,
power conscious, entry-level servers are used, power costs can still be
considerable. Sharing a server in the cloud will therefore have a significant effect
on the power bill. Forbes claims that with in enterprises of up to 100 employees,
the carbon footprint can be reduced by up to a staggering 90%. (10)
9 – Point of Sale in The Cloud – By Marcel Mizzi
2.2.3 DEPLOYMENT TIME
Enterprises and especially startups will benefit from reduced deployment time
which will ultimately result in lower costs as well as downtime being kept low.
Inherently, cloud applications do not involve complex installations and ICT
expertise.
2.2.4 SCALABILITY
Cloud services are typically billed on a per-user basis. When the number of users
using the application simultaneously increases then so does the cost. In desktop
applications this can be similar where user licenses are purchased as they are
needed. Once purchased, however, they will remain the property of the
enterprise. They will have to be upgraded to the latest versions eventually, adding
to the cost of ownership. For example, the Microsoft Office suite of applications
which is commonly used by most enterprises will need to be upgraded across the
enterprise after a few years. Unless this is done, compatibility issues will hinder
the workflow between employees. Not only would the Cloud application be
scalable, it would also be upgraded for all users concurrently.
As Francis and Fellow (7) claim in their report, “Factors shaping the future of
cloud computing”, cloud computing is elastic : “Elasticity is a system’s ability to
automatically provision more resources when needed, whether it is storage,
memory or other resources ”
10 – Point of Sale in The Cloud – By Marcel Mizzi
2.2.5 INCREASED MOBILITY
Cloud computing also offers greater mobility for users. Users can have the same
level of access at home as they have at their workplace. For the same to be
achieved through desktop systems, higher costs would be involved in setting up
VPN or Terminal Services. This advantage is exploited in various POS cloud
solutions available on the market such as VendHQ (9)
2.2.6 ICT DEPARTMENTS CAN SHIFT FOCUS
The ICT department can shift its focus from the traditional role that involves time
spent installing updates, maintaining servers and ensuring that backups are being
made to other more profitable endeavors.
2.2.7 ADVANTAGES PARTICULAR TO POS
The advantages outlined here, such as reduced cost of ownership, scalability,
and shorter deployment also apply to Cloud POS systems. The Cloud paradigm,
does allow further advantages to POS such as increased mobility and
consolidated reporting. Cloud solutions offer the possibility of using mobile
computing platforms such as Tablets.
The POS market also encompasses a large number of small shops across the
world. Cloud POS solutions must compete with a traditional cash registers that
are purchased once and expected to last a number of years. In this case the cost
of ownership may be prohibitive and retailers may not want to replace their “one
time” cost with a monthly premium. Bundling the service with Inventory Control
and other useful services such as Supplier Electronic Invoicing would certainly
make the offer more attractive albeit, still more expensive. Small retailers usually
11 – Point of Sale in The Cloud – By Marcel Mizzi
prefer to use their human resources in revenue generating activities rather in
maintaining an inventory control. Many would still welcome the possibility of
outsourcing these activities even if at a cost.
Cloud POS can also offer easy website integration services which again should
provide an easier method for small SMEs to supply their products online without
having to invest funds in setting up eCommerce websites. Habanero Consulting
group, for example, are marketing a product that combines the Microsoft
Dynamics NAV ERP (11) with VEND HQ Cloud POS Solution (9) and Big
Commerce, eCommerce solution (12).
Cloud POS systems are especially attractive to franchises. Migrating to the cloud
would be advantageous for the franchise because each franchisee will be using
the same software which will provide consolidated reporting and data
management.
The European Commission is advocating the use of electronic invoicing in B2B
transactions. In September 2011 representatives from the member states
discussed the way forward in promoting electronic invoicing and standardization
in cross border transactions (13). The Commission is encouraging the creation of
standards that to be used in communicating invoice data as has used to be done
in the old EDI (Electronic Data Interchange) system which existed even before the
internet. This trend is fueled by the need for fiscal controls across the EU that will
ultimately ensure that taxes are collected. Using Cloud services to achieve these
aims has been considered and may be one of the measures that the EU may
eventually seal with a directive.
12 – Point of Sale in The Cloud – By Marcel Mizzi
2. 3 CONDISDERAT I ONS FOR MIGRA TION
In spite of the advantages outlined above, the uptake of Cloud Computing has not
been as swift as expected. Various preoccupations exist and although they may
be little more than perceptions, they have taken their toll on the adoption of this
paradigm.
A recent survey (14) of 150 businesses conducted by the reputed analyst firm,
Bitcurrent clearly indicates that one of the major concerns is security as can be
seen in the radar graph (Fig 1) below.
The results show that
larger companies as
opposed to startups are
concerned about cloud
security. This is probably
because startups own
less sensitive data.
It is interesting to note
that companies are
worried about “Lock-in”.
This tallies with the
principles that major
Open Cloud Support
groups such as the Open Cloud Manifesto (15) are promoting.
Figure 1: Concerns on cloud computing by company type (Source:
Bitcurrent)
13 – Point of Sale in The Cloud – By Marcel Mizzi
Escalation concerns are also a major concern. Companies prefer to have a “one
throat to choke.” approach.
ICT professionals are innately against shifting total control of their infrastructures.
This seems to stem from fear over job security and over losing control while still
shouldering responsibility.
2.3.1 SECURITY & PRIVACY
In KPMG’s 2010 Cloud Computing Survey (16) close to 80% of the 125
respondents cited security as the major concern in considering migration followed
by Legal, compliance and privacy issues.
Furthermore, 49% of the
respondents cited security
as the major blocking
reason for not migrating.
They chose that they
“strongly agree” while
another 15% “agree” that
security is a major issue.
Respondents are also
preoccupied about
privacy. Data is being
hosted by a third party.
The enterprise has to have trust in the vendor to ensure that it’s data is not made
available to others, either through the data center being hacked or because the
Figure 2 : Main concerns regarding cloud computing (Source:
KPMG)
14 – Point of Sale in The Cloud – By Marcel Mizzi
data is sold. Privacy concerns do not present an insurmountable obstacle. Users
are after all quite adept to depositing their money in banks, for example, as Ahson
and Ilyas outlines (17):
“A comparable analogy to data security in a cloud is in financial institutions where
a customer deposits his cash bills into an account with a bank and thus no longer
has a physical asset in his possession.”
The fear of a data center being hacked into is also a factor that is effecting cloud
adoption. Security attacks such as Side Channel Attacks, man-in-the-middle,
Denial of Service attacks and social networking attacks all pose a considerable
threat (18).
2.3.2 RESISTANCE BY ICT STAFF
ICT Staff naturally resist migration to the Cloud. They feel that their importance
will be diminished and fear of losing control of their resources while still being held
responsible for their upkeep. ICT staff will usually cite security as a concern and
use it to convince management to shy away from this move as Franis and Sloan
claim (7):
Security concerns may become somewhat of a “boogey man” used by IT
managers to help resist non-technical managers that are pushing for savings from
cloud adoption
15 – Point of Sale in The Cloud – By Marcel Mizzi
2.3.3 LEGAL CONSIDERATIONS
Legal issues closely follow security as a concern in migration according to
KPMG’s respondents (16). These include cross-border legislation wherein a
service provider may become susceptible to regulations in countries where their
systems are being deployed (19).
As Antonopolous and Gillam state in their book on Cloud Computing (20):
“To further complicate matters, if an organization operates in more than one
jurisdiction, it is likely subject to each respective law. This is an area where the
lawyers excel and can help an organization understand which regulations
will take precedence over others.”
2.3.4 RELIABILITY AND VENDOR “LOCK-IN”
Cloud computing APIs are mainly all proprietary and migration could pose a risk
because the enterprise’s data and applications cannot easily be transferred in-
house or to another provider. While this is beneficial for the vendors, it is a
significant risk for the adopting enterprise. Data corruption or outright loss is also
a consideration. This had happened in the Linkup (21) story in 2008. Being
locked-in with this vendor certainly had an impact on the enterprises that suffered
this fate.
Connection uptime as well as Cloud service uptime can have significant impact
on the usability of a cloud solution.
Waxer claims on Technology Review, published by MIT that :
16 – Point of Sale in The Cloud – By Marcel Mizzi
“When Amazon's computers went dark last April, companies realized that there
are no guarantees in the cloud.” (22)
Establishing standards and best practices will certainly help mitigate these issues.
As stated in the “Handbook of Cloud Computing “ (23) :
“In the future, we can expect more cloud computing providers, richer services,
established standards, and best practices.”
2.3.5 BANDWIDTH COSTS
Although migrating to the cloud should bring substantial cost savings overall,
investment must be made in bandwidth and optimized network infrastructures.
This will ultimately increase the cost of ownership; but is an essential investment
to ensure that the applications work at the speed users are accustomed to.
2.3.6 MITIGATING THE ISSUES
The Cloud paradigm is quite new and therefore accepted standards are lacking.
The enterprise must choose wisely. Organizations such as the Open Cloud
Manifesto (15), NIST (6) and the Open Cloud Consortium (24) are promoting
open standards for Cloud Computing that should ultimately provide for
interoperability. The Manifesto clearly outlines the principles on which the
development of the open cloud should be based, namely (in short) :
•
Cloud providers should work together to ensure interoperability
•
Providers must not use their market position to lock their customers and
limit their choice of providers.
17 – Point of Sale in The Cloud – By Marcel Mizzi
•
Providers must adopt existing standards whenever possible
•
Providers must work together to ensure that there are not too many
standards
•
Development of the open cloud must be done according to the customer’s
needs.
•
Standards organizations and community groups must work together to
ensure that their efforts do not conflict or overlap.
The “Cloud Computing Interoperability Forum” (25) is also advocating the setting
up of standards in Cloud Computing and as part of their mission statement they
claim :
The Cloud Computing Interoperability Forum (CCIF) was formed in order to
enable a global cloud computing ecosystem whereby organizations are able to
seamlessly work together for the purposes for wider industry adoption of cloud
computing technology and related services.
Another strategy for mitigating issues in cloud adoption is the standardization of
SLAs (Service Level Agreements). As Gangadharan and Parrilli state, the
problem stems mainly from the small premiums that the SME expects to pay for
cloud services. They typically cannot negotiate with the vendor and have to
accept what the vendor is offering in most cases (26).
18 – Point of Sale in The Cloud – By Marcel Mizzi
2.4 ANALYSIS OF CURREN T CLOUD ADOPTION
In his paper “Predicting Cloud Computing Adoption Rates” (27) Colombus
presents an interesting “Adoption Rate Roundup” where he includes reports from
CDW, Japan’s Internal Affairs and Communication Ministry, Forrester, and
Microsoft (28). In the Microsoft Report Kazarian surveys 3,258 companies with 2
to 250 employees across 16 countries. The large number of respondents as well
as the myriad of applications studied makes the findings in this report significant.
The results indicate that 74% of SMEs plan to adopt at least one cloud service,
paid or free, within the next three years (28) with 39% expecting to be paying. The
report shows that users tend to prefer sourcing cloud from a local (in geographical
terms) provider with only 18% claiming that is unimportant. This probably stems
from the perceived heightened peace of mind that using a local provider affords.
The Microsoft report (28) also predicts that within the next three years enterprises
will move towards using remote support rather than in-house ICT staff or local
support companies. This goes hand in hand with the increase in adoption rate for
cloud computing that the same report predicts.
19 – Point of Sale in The Cloud – By Marcel Mizzi
2. 5 EXAMP LES
2.5.1 TRUE CLOUD COMPUTING
Internet searches reveal that there are a multitude of Cloud POS solutions on the
market with many boasting thousands of users worldwide and a list of
comprehensive features.
An example that seems popular from independent customer reviews seems to be
CSS Live POS (29). The following features are included:
• Multiple locations with integrated reporting
• Multiple types of payment processing
• Employee Sales Management and commission handling
• Inventory Management
• Integration with the popular “Quick Books” accounting system
•
Support for tablet systems such as Ipad and Android tablets
• Support for standard POS peripherals such as barcode readers, chit printers,
cash drawers and magnetic stripe readers.
• Integrated CCTV Support
CSS LivePos charges as low as $49 per month for a
single outlet retail business which is certainly low
even to attract the smallest of shops.
CSSLivePOS also offers very competitively priced
hardware such as, the LP600 which is MS Windows
7 based and includes a receipt printer, a magnetic
card reader and a cash drawer all housed in one unit
including the computer (Figure 5.)
Figure 3 : LP-600 All-in-one Cloud
POS Solution
20 – Point of Sale in The Cloud – By Marcel Mizzi
MerchantOS (30), another solution, offers a similar product, albeit with a different pricing
structure aimed at SMEs interested in opening new branches.
2.5.2 ALTERNATIVES
A handful of free of charge open-source solutions exist published under the GPL
license. Rather than being true Cloud solutions, they are mostly PHP or Java
based applications that run in a browser. They can be deployed on in-house
servers or stand alone systems using free Web Servers such as XAMPP (31).
Alternatively, inexpensive web hosting services could be outsourced.
Popular open-source solutions such as LemonPOS sport many of the features of
the hosted solutions (32). For this study, LemonPOS was downloaded and tested
on a XAMPP platform. The results were surprisingly good. The system offers the
level of smooth operation that one would expect from a desktop solution and in
this case the cost of ownership is very low. Admittedly, the services of a ICT
Figure 4 : Screenshot showing MerchantOS sales window
21 – Point of Sale in The Cloud – By Marcel Mizzi
support will be required by small retailers to install and maintain the XAMPP
server but these would be lower than the monthly premiums of a hosted solution
22 – Point of Sale in The Cloud – By Marcel Mizzi
2.6 CONC LUSION
Although the uptake of Cloud Computing has not been as swift as expected,
given its clear advantages over traditional solutions, the information that will be
needed when enterprises consider migrating is readily available.
This review shows that cloud based POS solutions do already exist. It seems that
the change required is in the mentality of the users. This can come only be
achieved through providing standardized, trustworthy solutions while at the same
time educating the potential user.
23 – Point of Sale in The Cloud – By Marcel Mizzi
CHAP T E R 3 – A N ALYSIS &
DES I GN
24 – Point of Sale in The Cloud – By Marcel Mizzi
3. 1 SOFTW ARE DEVELOPMENT LIFE C YCLE
The Spiral Software Development Life Cycle
model was developed by Boehm in 1988. It
combines evolutionary prototyping with the
Waterfall method to provide the enhanced
flexibility required for this work. This allows the
developer to go back to previously completed
stages of the work to make changes as required.
The inherent experimental nature of this work
requires this flexibility. Evolutionary prototyping
splits the application into distinct modules. Work
and testing may be carried out independently on each of these modules on a per
module basis. Once the application or sections of it are completed the modules
are then tested together.
Each cycle of the Spiral method adds Risk Analysis and Rapid Application
Development with each step incorporating the sequence of steps in the Waterfall
Model if need be.
Figure 6 The Waterfall Method (http://www.c-sharpcorner.com)
Figure 5 Spiral SDLC (http://www.c-
sharpcorner.com)
25 – Point of Sale in The Cloud – By Marcel Mizzi
3. 2 DETER MINING OBJECTIVES, ALT ERNATIVES AND
CONSTRAIN TS
3.2.1 OBJECTIVES
As already outlined in the “Aims and Objectives” section at the start of this
document, the aim of this work is a study in the possibility of creating a Cloud
based Point of Sale system as well as judging its cost effectiveness and viability.
The product is directly aimed a small retailers and aimed as an alternative to
using an off the shelf computerised POS system.
The finished application should include as many of the features of a standard
desktop alternative as possible. The cost of ownership would be the main point
that would make this project a viable alternative to a standard desktop system.
There is certainly a niche market for inexpensive solutions that can offer the
relaibility and flexibility that a system in the cloud can. This product aims to
position itself in this niche market.
26 – Point of Sale in The Cloud – By Marcel Mizzi
3.2.2 ALTERNATIVES
Although Cloud systems are essentially quite new especially here in Malta, there
are already numerous companies offering this service on the internet. As the
system is inherently based on using a remote service, strictly speaking, these
foreign companies can offer attractive solutions to local customers were it not for
issues of trust which plague any cloud solution and which were discussed
previously in the Literature Review.
Some companies such as MerchantOS (30) and CSS LivePOS (29) have been
advertising similar product for a few years and costs are relatively low.
Figure 7 - Pricing model at CSS LivePOS
27 – Point of Sale in The Cloud – By Marcel Mizzi
The pricing model above shows the pricing model emplyed on a per store basis
and also on a “Cash Register” basis. This means that for two sales points in the
same store the retailer would have to pay an additional monthly cost.
3.2.3 CRITICAL SUCCESS FACTORS
Like any other cloud based solution, CloudPOS would depend solely on an
internet connection being available at all times. This is very critical for this type of
solution and problems with internet connectivity would inadvertently result in loss
of sales especially in higher volume stores. This limitation can be mitagated by
installing a backup internet connection, for example. This would have a negative
impact on the cost of ownership and perhaps would not be suitable for single
POS setups.
Although internet outages are today becoming quite rare, the eventuality does
exist. On the other hand, one has to wiegh this possibility against the probabilty of
hard disk or other type of hardware failures. The ease with which a retailer can
switch hardware without costly installation time should outweigh the risk of a rare
internet outage.
Furthermore, the acceptance of the system by the retailer due to privacy and
security concerns and due to the trust required in both the developer and the
hosting company are altogether also very important success factors. To
effectively counteract these factors the right marketing is required to dispel any
fears that the users may have. This is in fact what is already being done by the
industry’s leading players.
28 – Point of Sale in The Cloud – By Marcel Mizzi
3.2.4 CONSTRAINTS
The constraints that could affect the successful development of this application in
a real world scenario are mainly the following:
• Development costs
• Marketing and advertising costs
• Hosting costs
• Maintenance costs
Each will add to the total cost of providing this solution to the end user.
Development costs have to be kept in check and it must be ensured that they tally
with the organization’s business plan. Each target market outside of the country of
the developers will entail the cost of a study of the local fiscal regulations as well
as the actual cost of development to implement these region specific
customizations. Problems may arise from not keeping development costs in
check and costs could spiral out of control.
As already mentioned, marketing will be play a key role in providing the retailer
with the peace of mind necessary to decide to opt for this solution.
Hosting costs could also be a constraint. The pricing structure must cover the
individual costs incurred through bandwidth and space usage as well as time
spent using support systems such as telephone and chat support. Again, these
costs have to be covered by the retailer agreements.
Finally, the system would have to be maintained regularly. This includes server
management as well as maintenance to the application and the data itself.
Besides costs, there are also numerous platform related constraints. As the
system is entirely web based, it can of course be used on any platform and using
29 – Point of Sale in The Cloud – By Marcel Mizzi
any device that can provide the user with a browser. Although this may present
few design challenges, support for POS hardware such as chit printers may be
lacking on some platforms and will require costly research to implement.
30 – Point of Sale in The Cloud – By Marcel Mizzi
3.3 RISK ANALYSIS
As part of the software development lifecycle, Risk Analysis was also assessed.
As the application is being built using a server side scripting language, namely
PHP, risks in terms of longer term compatibility with current platforms is minimal.
On the other hand, risks for “CloudPOS Buddy” system can be considerably
higher as a separate application would have to be produced for each platform
such as Apple and Linux systems. This is part of the reason why the “buddy”
application design is being kept very minimal. This will not only ensure that it is a
small application that does not consume a lot of resources but also that it will be
easier to port the application on other platforms.
The risks with developing any Cloud based system are inherent to the technology.
Acceptance by the end user as a viable alternative to a desktop system is the
challenge.
31 – Point of Sale in The Cloud – By Marcel Mizzi
3. 4 COST BENEFIT ANALYSIS
This section compares the cost of ownership of an off the shelf desktop POS
system with a cloud solution that is readily available on the market.
DESK TOP POS SOLUTIO N COS T OVER 3 Y EARS
Item
Approximate cost
Total over 36
months
Per
month
costs
Desktop point of sale software Ex: Retail Pro €1400 €1400 €38
Computer System 1 €700 €700 €19
Computer System 2 €700 €700 €19
POS Hardware, Chit Printer, Barcode Scanner &
Cash Drawer
€700 €900 €25
Server including licensing (Windows Server
2008)
€2500 €2500 €69
Average cost of ICT support services per month €80 €2880 €80
Total monthly cost to retailer €250
CLOU D POS SOL UTION C OST O VER 3 Y EA RS
Item
Approximate cost
Total over 36
months
Per
month
costs
Computer System 1 €700 €700 €19
Computer System 2 €700 €700 €19
POS Hardware, Chit Printer, Barcode Scanner &
Cash Drawer
€700 €900 €25
LivePOS Subsciption, 1 cash point extra €105 €3780 €105
Average cost of ICT support services per month €20 €720 €20
Total monthly cost to retailer €188
32 – Point of Sale in The Cloud – By Marcel Mizzi
Assumptions :
1. Costs are based over a three year period
2. The cost of an internet connection has been left out as nowadays the retail
outlet would have an internet connection regardless if they are using a
Cloud solution or otherwise.
3. Prices are based on real-world prices derived from the experience of the
author with POS systems.
4. The cost of the POS peripherals is inflated by €100 over three years which
is based on assuming that two barcode scanners would have to be
replaced during this period.
5. Loss of sales due to computer or server maintenance in not considered in
any of the calculations above.
As evidenced by the short study above, a Cloud solution would be cheaper in the
long run, however the monthly rate that LivePOS is selling its services could be
considered on the high side. The application being proposed here could
potentially be sold cheaper than €105 per month.
33 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 8 - Prices for hosting at www.clook.co.uk
The prices above show that a virtual server housed at a reputable company in the
UK offer 30Gb space for £100 per month. This could potentially host over 10
accounts allowing them 3Gb web space each which should be more than
adequate for a small retail operation. This would mean that the hosting at cost
price would be £10 per month. Companies such as Clook above offer very
reliable hosting services and have been used by the author of this work for a
number of years with very little downtime. Even cheaper hosting does exist with
some hosting companies asking for prices as low as $1 per month for unlimited
space and bandwidth. Most of these companies are in the USA and for services
in Malta the sheer number of hops involved in working on these servers coupled
with the time difference does not make them an ideal choice.
The development company offering this service could of course also opt to set up
its own servers and offer the cloud service with in-house equipment. Besides the
prohibitive costs of Raid 5 Servers and the costs on bandwidth needed, this is
34 – Point of Sale in The Cloud – By Marcel Mizzi
perhaps the most risky option for a start-up intending on providing Cloud services.
The wiser way to go would be to procure a shared hosting service as explained
above and later on, if sales are generating enough revenue, move on to an in-
house solution. The cost of maintaining and in-house system has to be factored in
as well. Companies such as Clook above include 24/7 support in the £100 price
tag.
35 – Point of Sale in The Cloud – By Marcel Mizzi
3.5 HARDW ARE CONSIDERATI ONS
On the client side any entry level desktop or notebook system will work. As the
POS runs in a browser, practically any platform should be suitable. In a POS
system other peripherals will be required such as:
• Hand held barcode scanners
• Desk mounted barcode scanners
• Chit printers
• A4 Report printers (Laser or Ink jet)
• Magnetic card readers
• Cash drawers
• Customer displays
At the service provider side, as explained in the Cost benefit Analysis, various
business models could be applied depending on the expected volume of sales
contracts with retailers.
36 – Point of Sale in The Cloud – By Marcel Mizzi
3.6 SYSTE M DESIGN
3.6.1 HIGH LEVEL OVERVIEW
Figure 9 - High level overview of the proposed solution
The above diagram shows a high level overview of the complete system and split
into the two domains under study. The Retailer domain represents multiple
37 – Point of Sale in The Cloud – By Marcel Mizzi
retailers connecting to and using the system and also depicts their back-office
systems. The CloudPOS Buddy application will be installed on those POS
terminals that require chit printing or the use of a cash drawer and a customer
pole display as shown below:
Figure 10 - High level overview showing the operation of the Buddy App
The idea behind the client side application is so that printing and control of the
POS peripherals can be done on the client side. As the Cloud POS system runs
on the server there is no direct communication between the peripherals and the
server.
38 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.2 USE CASES – ACTIVITY IDENTIFICATION
Figure 11 - Use case diagram for the Super Admin (Cloud Service Provider Admin)
The diagram above depicts the actions that will be done by the administrator of
the Cloud service. It includes the creation of new client (retailer) databases which
will then contain the Inventory, sales, clients and so on for each.
39 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 12 - Use case diagram for the Sales Person at the Retailer Domain
The above diagram shows the tasks usually performed by the sales staff at the
retailer side. The role of this type of user can be restricted so that he does not
have access to changing stock quantities for example.
40 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 13 - Use case diagram for the Retail Business Owner
The above diagram shows the actions performed by the store owner (retailer).
These actions should include the actions that the salesperson is not allowed to do
by the system.
41 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.3 ENTITY DISCOVERY AND RELATIONSHIPS
Entities :
• Super admin (Cloud service provider)
• Server at service provider side
• Workstation at service provider side
• Admin at Retailer side
• Sales person at retailer side
• POS computer system at retailer side
• Back-office system at retailer side
Figure 14 - Entity relationship diagram showing the relationships between the major entities in the
overall scenario
42 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 15 - ERD Showing the relationships between Cloud Admin, Retailer and salespersons
The two Entity Relationship diagrams above show the relationships between the
actors in the system.
43 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.4 DIAGRAMMING SELECTED ALGORITHMS
This section aims to examine and aid in the design of selected algorithms in the
application.
Figure 16 - Sales entry procedure flowchart
44 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 17 - Class diagram showing the Cloud system classes
45 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 18 - Sequence Diagram showing the "make sale" process including printing to client side
46 – Point of Sale in The Cloud – By Marcel Mizzi
The CloudPOS Buddy application is the “bridge” between the server side application and
the client side POS peripherals.
Figure 19 - Flowchart showing the basic operations in the Buddy Application
47 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.5 SENDING DATA TO THE CLIENT AND THE BUDDY APPLICATION
Printing to the local printer and using other local peripherals was perhaps the
biggest challenge in this project. The straight forward way would be to use
Javascript to display a print dialog and then print to the windows printer. The
problem with this approach is that in POS systems printing is to chit printers
supporting the ESC/POS standard. In this standard the printer accepts a series of
special characters to perform operations such as cutting the paper or opening the
cash drawer. The Pole Display works much the same way using another
installment of ESC/POS commands.
Printing of reports such as Sales Reports can, on the other hand, be achieved
through Javascript. It is fairly easy to produce a popup window that includes a
print button. CSS is used to style the print output and javascript used again to not
display the print button in the reports.
The challenge with using POS peripherals is that PHP being a server side
language cannot talk directly to them and therefore a “bridge” application was
developed. This application has to somehow capture the print data and send it to
the peripheral locally.
There are several methods available that can be used to achieve the desired
result. In Social Networking applications, this is also often required and Long
Polling, Server-Sent Events and Websockets are suggested by Dmitry Sheiko
(33).
Several methods were tried as part of this work and they are outlined below :
Method 1 - Monitoring webserver for a “print” text file
One method (which was tested in this prototype) is to constantly monitor the web
server for the presence of a file which, if present, would contain the print data. If
48 – Point of Sale in The Cloud – By Marcel Mizzi
the file is found it is then printed (or displayed on the customer display) and finally
deleted. The credentials to log into the FTP session are hard coded in the
application as there was no need to allow the option for the user to enter these as
after all, all users will be using the same cloud server. This method should work
although it would depend on the internet connection being available and reliable.
The problem with this method is the constant http requests being done. Although
this should not represent a major hurdle it will generate an endless stream of 404
errors in the server log and on a large number of clients this could be a problem.
Method 2 – Wrapping a browser in a .NET form
This involves “wrapping” the application in a VB.NET form that contains a web
browser. Print data is then sent to the client as hidden form fields to the Buddy
application. The .NET application constantly looks at each document that
appears in its browser and the special hidden fields would trigger printing.
Although this method worked well during testing it was deemed unsuitable as it
would have spelled limitations such as having to use Internet Explorer. It would
also rule out using different platforms such as the Linux. The advantage of this
method is that the local application does not have to constantly poll the server to
see if something changed. The parsing of form fields would only be initiated once
the browser contents change. This can easily be achieved by parsing the
webbrowser object for hidden form fields.
Method 3 – Reading a print job off the MySQL data
As each Retailer using the system has their own set of data it would not be
difficult to have the Buddy application monitor a special database on the server
periodically to look for print data. The disadvantage with this approach is that the
server would be made vulnerable because it would have to be remotely accessed
and not through a browser as is happening in the application. A solution to this
would be to set up a VPN connection to the server beforehand but this would
seriously affect the portability of the system and include another layer of
49 – Point of Sale in The Cloud – By Marcel Mizzi
installation procedure. This method would also use considerable bandwidth as the
checking of the database is in itself a request to the server.
Method 4 – Using Websockets
This is probably the best and most state of the art solution there is to this
challenge. Websockets allow the client to open a bi-directional connection to the
server and listen for data. This seems to be exactly what is needed, however the
problem is of support. Websockets are part of the HTML 5 specification and thus
new technology. So far they are supported out of the box by Google Chrome and
the latest versions of Firefox and Safari have them but they are turned off by
default and still in Beta. Also, many web server setups do not support them as yet
and the one being used for this prototype did in fact not support them.
Using websockets the client communicates directly with the server after an initial
handshake. The saving on bandwidth is mainly because the http header is only
transmitted once unless there is a break in the connection. The savings can be
marginal and indeed in this instance they will be. The only data that really needs
to be sent to the client is print content and pole display data. This would constitute
very small amounts of data. In practice the performance advantage is minimal.
Phpws is a php library that is available to help implement websockets and it was
tested here. In this case it was tested locally on a XAMP setup.
50 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.6 SELECTING A DATABASE PLATFORM
A cloud system can be based on a myriad of Database platforms as most of the
well known platforms not only support web use but are actually optimized for its
use. For the practical part of this project, MySQL was selected, primarily because
the author had easy access to a managed MySQL server with a hosting
company. The merits of using it in a real-world application development scenario
are considered here.
Research shows MySQL’s
market share, although high is
still lower than that of Oracle
and MS SQL. It is difficult to
compare the two as
comparisons of market share
usually involve the revenue
being generated. MySQL will
fair poorly in this respect as a
large percentage of its use is
totally free.
In the open source market
MySQL fares much better
and is leading by a clear
margin.
Figure 20 - Market shares acoss open souce and regular
products (37)
Figure 21 - Open source database comparison – Source (36)
51 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.7 PROGRAMMING LANGUAGE – OBJECT ORIENTED PHP
The programming language selected for the main part of this project is a mixture
of PHP and Javascipt. This project could have also been implemented in other
languages such as Microsoft’s ASP, however, PHP was selected as it was
advantageous for the author to become proficient in this language.
PHP 5 was selected
because of its support for
object oriented support.
Since version 5 PHP
supports the use of OO
concepts. This was the first
relatively large application
developed by the author in
PHP and it immediately
became clear that using
Classes and OO techniques
was going to be a must to
allow for maintainability.
In a real implementation, PHP could easily be installed on an Apache platform on
a Linux Box. One of the advantages of this setup is that the server would be easy
to replicate and therefore ensure redundancy as well as load balancing should the
need arise.
This project also includes another application that runs on the client computer and
handles printing to a chit printer, display of a customer display and opening of the
cash drawer amongst other tasks. This application was developed as a study of
what could be achieved as an example and was coded in VB.NET here.
Figure 22 - PHP Market Position April 2012 – Source (38)
52 – Point of Sale in The Cloud – By Marcel Mizzi
Alternatively it can be coded in other client side languages depending on the
platform where it is going to be used.
53 –
Point of Sale in The Cloud
3.6.8
The proposed system will be developed in PHP and adhering to the accepted
standard of a three tier application as shown above. For this mod
ideally the program
architecture.
Point of Sale in The Cloud
– By Marcel Mizzi
3.6.8
APPLICATION DESIGN S
TANDARDS
The proposed system will be developed in PHP and adhering to the accepted
standard of a three tier application as shown above. For this mod
ideally the program
ming language should support an
TANDARDS
The proposed system will be developed in PHP and adhering to the accepted
standard of a three tier application as shown above. For this mod
el to be possible,
ming language should support an
Object Oriented
54 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.9 DATABASE DESIGN
This system is being designed with the aim of
supporting several retailers all running an
independent POS system on the same server.
There should therefore not be any interaction
between retailers except for the use of some
common databases.
Databases specific to Retailer
•
Clients
•
Sales
•
Categories
•
Suppliers
•
Company Configuration (Config)
•
Payment Types
•
Payments
•
Inventory
•
Deliveries – Purchases
•
Purchase Payments
Databases Common to all
•
Companies (Retailers)
•
Electoral Register
•
Users
•
Towns
•
Countries
•
Vat Rates
The image shows the databases as set up on the
MySQL server. It is shown here through the Navicat
MySQL management utility.
55 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 23 - Database Relationship Diagram
56 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 24 - The Categories Table
Figure 25 - The Clients Table
Figure 26 - The Config (Company Configuration) Table
57 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 27 - The Inventory Table which stores the stock items of the retailer
Figure 28 - The payments table that stores sales payments
Figure 29 - Sales1 Table (Header) stores the sale header - One per sale
58 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 30 - Sales2 Table (Child) stores the sales lines or items sold
Figure 31 - The Suppliers Table - Stores the supplier details
Figure 32 - Payment Types Table - stores the different payment types such as credit card, cash etc
59 – Point of Sale in The Cloud – By Marcel Mizzi
COMMON DATABASES
Figure 33 - The users table - stores the users that can access the system.
Figure 34 - The Towns database
Figure 35 - The Electoral Register Table
Figure 36 - The VAT Rates Table
60 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.10 USER INTERFACE DESIGN
As this is primarily a web application the user interface will be developed using
HTML and CSS. As the application will be run on different web browsers, it
should be kept simple so that it is scaleable. The application could potentially be
used on pads such as the popular Apple iPAD and thereofore cross-browser
compatibility is key.
FIGU RE 37 - H TML DIV LAYO UT
61 – Point of Sale in The Cloud – By Marcel Mizzi
Secondly, the purpose of this application is to record the transactions of a
business and therefore the attractiveness of the front-end is not a determining
factor. The user-friendliness is much more important in determining the steepness
of the user learning curve.
The design was implemented using templates, namely a header and footer template.
These are shown here :
As shown below the header contains the Javascript which is common to all as well as the
HTML tags to create the top part of the pages.
62 – Point of Sale in The Cloud – By Marcel Mizzi
63 – Point of Sale in The Cloud – By Marcel Mizzi
3.6.11 SECURITY CONSIDERATIONS
All pages will be protected with user session detection. When a user is
authenticated, a session is started. The presence of this active session is
checked for on each page.
SQL injection can also be a crippling security issue. This will be mitigated by
“
escaping
” every input before running any MySQL queries.
Example :
A further layer of security could be added at the server side by restricting the
access of the Cloud application to specific IP addresses. Although this would be
an effective measure it would have a negative impact in that every user would
require a fixed IP address. It would also adversely affect mobility for the same
reason.
64 – Point of Sale in The Cloud – By Marcel Mizzi
CHAP T E R 4 – I M P L EMEN T A T I O N
65 – Point of Sale in The Cloud – By Marcel Mizzi
4.1 APPLICATION SCREENSHOTS
Figure 38 - The login screen
66 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 39 - The main screen
Figure 40 - Sales Entry Screen showing 2 items in the sale
67 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 41 - Inventory Item edit screen
Figure 42 - Supplier management Screen
68 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 43 - Clients screen showing existing clients and search box
69 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 44 - Electoral Register Search and import screen
70 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 45 - Shows the Buddy Application with the config menu visible
Figure 46 - CloudPOS Buddy Configuration form
71 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 47 - The Application folder structure as viewed through ftp
72 – Point of Sale in The Cloud – By Marcel Mizzi
4. 2 ISSUES & CON SIDERATIONS DURING IMP LEMENTA TION
4.2.1 THE TOWNS TABLE
The towns table is shared across the Cloud and therefore should include every
town possible. The Towns table included with this prototype was derived from the
Electoral Register data. During testing it was discovered that the towns as derived
were not at all comprehensive. This is because the Electoral Register is based on
regions and does not include small towns or hamlets.
4.2.2 PROBLEMS PRINTING THE EURO SYMBOL ON THE TM88-III EPSON
PRINTER
Strangely enough the Epson TM88 thermal chit printer available for testing with
this work does not include the Euro symbol within its character sets. As the
application is talking directly to the parallel port and bypassing the Windows
driver, simply sending the UNICODE character code does not solve the problem.
This model allows uploading of logos into the printer’s non-volatile memory but
does not support uploading of fonts! To work around this issue a character very
similar to the Euro symbol was selected from the “Nordic” character set. The
ESC/POS instruction was bundled in a string and then simply printed where
needed :
Dim euro As String = Chr(&H1B) + "t" + Chr(5) + Chr(238)
73 – Point of Sale in The Cloud – By Marcel Mizzi
4.2.3 REPORTS
Printing to a local printer is always an issue when developing applications using
server based languages such as php. Here Javascript was used to popup the
print dialog. The application includes the use of CSS for printing which involves
creating a style sheet especially for formatting the print output.
The code below from
inventoryReport.php
redirects the browser to use the
special style sheet :
Printing reports this way also prints the “print button” which will be showing on the
page. The following was used to hide the button:
4.2.4 BUTTON ORDER AND SETTING FOCUS IN
SALE.PHP
It was deemed important that sale entry would require the minimum of interaction
using the mouse. In many POS environments having to constantly use a mouse is
not ideal.
Research showed that the button order of a form would influence how a form is
submitted when the user presses the enter key. The barcode scanner used for
testing was programmed to terminate a keyboard wedge entry with a “tab” rather
74 – Point of Sale in The Cloud – By Marcel Mizzi
than a “carriage return”. This would set focus to the next field in the form which is
what was required both during item creation and during sale entry.
It was also important to set the focus on the item ID field when a user displays the
sales entry form. This was done using Javascript with the following code:
4.2.5 SHOULD DELETIONS BE PROPAGATED?
During database design a dilemma arose as to if deletions of categories or
suppliers for example, should propagate to items as well. From past experience
with POS systems the developer decided that even with a risk of accumulating
disjointed data it would be best to leave the user free to decide. It is very common
in shops that some items remain unsold for a long time and the company may no
longer deal with the supplier for example. In this case the supplier could be
deleted and the item left in the inventory.
4.2.6 THE CLOUD ADMINISTRATOR
Part of the Cloud POS Administrator’s job is to create new sets of databases for
new retailers. Ideally the application would handle this on behalf of the admin. In
this prototype, tests were made to extrapolate any difficulties that might arise with
this process. Indeed, on the remotely hosted Virtual Linux Server that was used to
develop this prototype implementing remote database creation was a challenge.
Remote servers such as this one do not allow remote SQL to create new
75 – Point of Sale in The Cloud – By Marcel Mizzi
databases for security reasons although they allow the creation of tables. The
only way this can be done is through the Cpanel interface itself. Cpanel comes
with an API that allows database creation using the administrator credentials.
Tests were made and were successful. Full development was deemed outside
the scope of this work. Table creation through PHP is a simple process.
Figure 48 - Code sample used to test creation of database through Cpanel. (Some code from
Zubrag.com)
76 – Point of Sale in The Cloud – By Marcel Mizzi
4.2.7 PRODUCT IMAGES
Including images with products would certainly be an advantage and help in
identifying similar products. The same images could be used for rotating sales
displays as well in the retailer’s website.
The possibility of including inventory images was studied here. The images can
either be stored on the server inside folders or as binary data in the MySQL
database. Placing the images in folders has its disadvantages in this cloud
scenario. As numerous retailers will be using the same Database Server, this
would mean that the folders would have to be structured according to the
username and should allow for the user to maintain these images through
deletion, editing, thumbnail creation etc.
In spite of the lack academic work that seems to have been done on the question
whether it is best to store image files on the filesystem or in the MySQL database,
the debate rages on in the forums. It seems that the consensus is that when
stored in the Database, performance is degraded because of the numerous steps
involved in rendering the image. On the other hand the main advantage is ease of
backing up images. They will simply be included with a Database Server backup.
Both methods were tested here and a database field in included to record the
URL of the image although full image management was not implemented.
77 – Point of Sale in The Cloud – By Marcel Mizzi
CHAP T E R 5 – S Y S T EM TE S T I N G
78 – Point of Sale in The Cloud – By Marcel Mizzi
5. 1 USER REQUIREMENTS TESTING ( OVERVIEW)
The work done here has produced a prototype which is by no means a completed
application. The user requirements have not all been met, however, with the
results achieved so far the suitability of the solution can be evaluated
successfully. The basic POS features are included :
•
Category management
•
Supplier management
•
Inventory management
•
Client management
•
Sales entry and recording
•
Receipt and report printing
•
Using of POS peripherals
79 – Point of Sale in The Cloud – By Marcel Mizzi
5.1.1 PROSPECTIVE USER OPINIONS & COMMENTS
As part of this study the developer demonstrated the solution to existing POS
users. The reactions were surprisingly encouraging:
Mr. Brian Pullicino: Importer and Wholesaler of Ironmongery and Household
Goods (February 2012) :
My knowledge of ICT is limited to using my invoicing application and using email.
To me it does not make much difference where the software is located as long as
I can use it. The fact that I could use something like this from any location without
complications is certainly a good idea. I trust my IT consultant and if he says that
this is better I think I would be interested in considering it.
Mr. Joe Coppini : Importer and retailer of various products (February 2012) :
We already have a point of sale system but it will soon need upgrading. I would
want more information about these systems. As we have more than one outlet
and each sells different products it would be good if we could access everything
from the office without a lot of investment in hardware.
80 – Point of Sale in The Cloud – By Marcel Mizzi
5.2 SAMP LE TESTI NG
Each class and function that makes up the application were tested on their own
during development and the effects on the databases were checked for
consistency. The system was tested as a whole and the results are shown below:
Figure 49: Image shows the supplier records prior to new supplier entry
81 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 50 - Shows new supplier entry screen with fields filled in before saving
Figure 51 - Shows the supplier list after the data is saved.
82 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 52 - Shows the categories previously entered successfully through the user interface
Figure 53 - Shows the result of trying to enter a category with the same name as an existing one.
83 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 54 - Shows the message that correctly appears after a category is deleted.
Figure 55 - Shows the inventory list before the test
84 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 56 - Shows the new item details being filled in
Figure 57 - Shows newly created inventory item in the list of items
Note: The euro symbol was being displayed by simply inserting it in the text using ALT-
0128 on the keyboard. As can be seen from the screen showing the items before the
addition, the symbol was not always appearing correctly. In the images above this was
corrected by displaying
€
instead which should work always.
85 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 58 - The inventory list report printed on a pdf creator
Figure 59 - Shows today's sales - no sales at the moment
86 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 60 - Shows the sale being entered with an item and a client already selected
Figure 61 - Taskbar showing the Buddy App running
Figure 62 - Shows the day's sales with the new sale just created
87 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 63 - Scanned image of the sales chit printed on the Epson Thermal POS Printer
88 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 64 - Shows the sale report produced - Shown here in pdf reader
89 – Point of Sale in The Cloud – By Marcel Mizzi
Figure 65 - Shows a sale made and a recipt printed on another company using CloudPOS
90 – Point of Sale in The Cloud – By Marcel Mizzi
5.3 CROS S BROW SER & DEV ICE TEST S
The application was tested and performed well on various popular browsers. As the
design was kept minimal, the results were good on all.
Figure 66 - Application being tested on the ipad
91 – Point of Sale in The Cloud – By Marcel Mizzi
CHAP T E R 6 – C ON CLU S I O N S
92 – Point of Sale in The Cloud – By Marcel Mizzi
6.1 CRITI CAL CONCLUSIONS
Perhaps there is only one way to learn a programming language and that is
practice and first time applications are always more difficult to develop and far
more time consuming. The programmer slowly becomes familiar with the syntax
and the peculiarities particular to that language. Experience with other languages
helps but will not replace the hours of practice required.
The application developed here is by no means complete. This work merely skims
the surface of such a complex project. At the same time it does enough to
expose the issues that would be encountered in full scale development and
suggests solutions.
While working on this project the author was also exposed to new technologies
such as Ajax but unfortunately not in time to be implemented in this work. The use
of Ajax would have made the user interface more fluid with less page refreshes.
Various methods were considered and tested to implement chit printing to a local
client printer and although the desired result was achieved, there could possibly
be better ways of achieving this. The polling mechanism that was employed could
have issues with bandwidth in multiple POS locations. Due to resource
constraints the developer was not able to test many other solutions. Furthermore,
XML could be used to prepare the printing text file that the client POS polls for.
This would make it much easier to develop “Buddy” apps for other platforms.
High end POS solutions are rich in features and many of these could be added on
to the prototype developed here.
93 – Point of Sale in The Cloud – By Marcel Mizzi
6. 2 CONCLUDING RE MARKS
Development of a working prototype has been challenging. This work has
presented the author with excellent opportunities to be exposed to a myriad of
technologies and techniques. The in-depth exposure resulted in the author
becoming proficient in their use. It is indeed exciting to be able to develop
solutions such as what has been prototyped here.
The author intends to continue work on this project to ultimately produce a
marketable product.
94 – Point of Sale in The Cloud – By Marcel Mizzi
REFE R E N C E S
95 – Point of Sale in The Cloud – By Marcel Mizzi
REFERENCE S
1.
Paul Wymenga, Dr Viera Spanikova, Dr James Derbyshire, A. Barker.
Small and
medium-sized enterprises (SMEs) - SME Performance Review.
European Commission -
Enterprise and Industry.
[Online] 2011. [Cited: 10 15, 2011.]
http://ec.europa.eu/enterprise/policies/sme/facts-figures-analysis/performance-
review/index_en.htm.
2.
Mizzi, Marcel.
Targeting illegal software to curb VAT abuse.
s.l. : The Malta
Independent, 2011.
3.
Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H.
Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica,
Matei Zaharia.
Above the Clouds: A Berkeley View of Cloud.
California : Electrical
Engineering and Computer Sciences University of California at Berkeley, 2009.
4.
Ghalsasi, Anand.
Cloud Computing – The Business Perspective.
Florida : University
of Florida, 2009.
5.
Chillarege, Ram.
Software Testing Best Practices.
California : Center for Software
Engineering IBM Research, 1999.
6.
Effectively and Securely Using the Cloud Computing Paradigm.
Peter Mell, Tim
Grance.
Washington, USA : NIST, Information Technology Laboratory, 2009. Effectively
and Securely Using the Cloud Computing Paradigm.
7.
Steven Francis, Sloan Fellow.
Washington : Massachusetts Institute of Technology
(MIT), 2011.
8.
Macpherson, Sholto.
Cloud-based cash registers slash POS costs.
[On-line News]
Washington : s.n., 2011.
9. Vend HQ: Point of Sale for Clever Stores.
Vend.
[Online] Vend. [Cited: December 16,
2010.] http://www.vendhq.com/.
10.
Bernard, Rob.
The Cloud's Green Advantage.
Forbes.com.
[Online] [Cited:
December 20, 2011.] http://www.forbes.com/2010/11/12/energy-datacenter-enterprise-
technology-cloud.html.
11. Microsoft Dynamics: Enterprise resource planning (ERP) and business software
solutions.
Microsoft Dynamics.
[Online] Microsoft. [Cited: December 20, 2010.]
http://www.microsoft.com/en-us/dynamics/.
12. Big Commerce : eCommerce Solution .
Big Commerce.
[Online] [Cited: December
16, 2010.] http://www.bigcommerce.com/.
13.
European Commission : THE FIRST MEETING OF THE EUROPEAN MULTI-
STAKEHOLDER FORUM ON ELECTRONIC INVOICING.
Brussels : European
Commission, 2011.
96 – Point of Sale in The Cloud – By Marcel Mizzi
14.
Cloud Computing Survey.
Bitcurrent Cloud Computing Survey.
Cloud Computing
Survey.
Québec, Canada : s.n., March 4, 2011.
15.
Community Cloud .
Open Cloud Manifesto.
www.opencloudmanifesto.org.
[Online]
Februaury 2009. [Cited: December 10, 2010.] www.opencloudmanifesto.org.
16.
KPMG.
KPMG’s 2010 Cloud Computing Survey.
From Hype to Future.
s.l., The
Netherlands : KPMG, 2010.
17.
Syed A. Ahson, Mohammad Ilyas.
Cloud Computing and Software Services.
Theory and Techniques.
USA : CRC Press, 2011. 978-1-4398-0316-5.
18.
Mariana Carroll, Alta van der Merwe.
Secure Cloud Computing. Benefits, Risks and
Controls.
South Africa : School of Computing, University of South Africa, 2010.
19.
W. Kuan Hon, Christopher Millard, Ian Walden.
The problem of ‘personal data’ in
cloud computing: what information is regulated?—the cloud of unknowing.
International
Data Privacy Law.
London : Oxford University Press, 2011. Vol. 1, 4.
20.
Nick Antonopoulus, Lee Gillam.
Cloud Computing. Principles, Systems and
Applications.
London : Springer, 2010. ISBN 978-1-84996-240-7.
21.
Brodkin, J.
Loss of customer data spurs closure of online storage service ’The
Linkup’.
Network World.
August, 2008.
22.
Waxer, Cindy.
Service Blackouts Threaten Cloud Users.
Technology Review.
[Online] 2011. [Cited: December 12, 2011.]
http://www.technologyreview.com/business/38722/.
23.
Borko Furht, Armando Escalante.
The Handbook of Cloud Computing.
New York :
Springer, 2010. 978-1-4419-6523-3.
24.
Center for Computational Science Research, Inc.
Open Cloud Consortium.
[Online] 2011. [Cited: December 10, 2011.] http://opencloudconsortium.org/.
25.
Cohen, Reuven.
The Cloud Computing Interoperability Forum. [Online] 2011. [Cited:
December 10, 2011.] http://cloudforum.org/.
26.
G . R. Gangadharan, Davide Maria Parrilli.
Cloud Computing for Enterprise
Architects.
London : Springer, 2011. ISBN 978-1-4471-2235-7.
27.
Columbus, Louis.
Predicting Cloud Computing Adoption Rates.
A Passion for
Research.
[Online] July 24, 2010. [Cited: December 10, 2011.]
http://softwarestrategiesblog.com/2011/07/24/predicting-cloud-computing-adoption-rates/.
28.
Bob Kazarian, Belinda Hanlon.
SMB Cloud Adoption Study Dec 2010 -Global
Report.
Seattle : Microsoft, 2010.
29. CSS Live POS - Cloud POS Solution.
CSS Live POS.
[Online] LivePOS. [Cited:
December 15, 2011.] http://www.livepos.com/.
97 – Point of Sale in The Cloud – By Marcel Mizzi
30. MerchantOS: Cloud POS Solution.
MerchantOS.
[Online] [Cited: December 15,
2011.] http://www.merchantos.com.
31. XAMPP at Apache Friends.
Apache Friends.
[Online] [Cited: December 12, 2010.]
http://www.apachefriends.org/.
32. LemonPOS : Open Source, Free Cloud POS Solution.
LemonPOS.
[Online] [Cited:
December 16, 2010.] http://www.lemonpos.org/.
33.
Sheiko, Dmitry.
Dmitry Sheiko Weblog.
Dmitry Sheiko Weblog.
[Online]
34.
Malta, The Government of.
The Data Protection Act.
The Data Protection Act.
Valletta : The Government of Malta, 2002.
35. —. Value Added Tax Act.
Value Added Tax Act.
Valletta : The Government of Malta,
1995.
36. Jelastic.com.
MySQL Leads Open Source Market Share .
[Online]
37.
Gartner.
www.gartner.com.
MySQL - Strong Growth in the DBMS Market - 2008.
[Online]
38.
w3techs.
www.w3techs.com.
w3techs - Web Technology Surveys.
[Online] w3techs.
98 – Point of Sale in The Cloud – By Marcel Mizzi
APPEN D I C E S
99 – Point of Sale in The Cloud – By Marcel Mizzi
AP PENDIX A
ELECTORAL REGISTER PERSONAL DATA IMPORT
As outlined previously in this document, the application also includes a study into
the possibilities of importing data from the Electoral Register. The register is
compiled annually by the Maltese Government and is available for sale at the
Department of Information. It contains a listing of the people of Malta who at least
18 years of age and therefore old enough to vote in the national elections. The
Register contains only the name, surname, address, town and Identity Card
Number.
In point of sales systems, the need for a lookup system to verify a person’s
identity is very much a welcome feature. The probability of misspelling names,
surnames and address details is considerable and employees, especially if they
are foreign, tend to easily spell town names and address details differently.
Admittedly, a look up table can be used for town names but addresses are also a
problem. The data collected is usually also used to get in touch with the clients to
offer them discounts and enroll them in loyalty schemes. In an exercise in which
the author of this work was involved, these were the typical results for data which
was taken raw from the client list of a company :
Company :
A spa management company running 4 spas in different location
around Malta
Clients recorded:
15,000
Letters sent
: 12,000
Letters returned
: 5,000
In this example, the letters were a Christmas cards and as clearly shown by the
results, the exercise proved to be costly. The Spa employees are all foreign and
100 – Point of Sale in The Cloud – By Marcel Mizzi
therefore had even more difficulties spelling the Maltese towns and street names.
A company such as the one above would certainly benefit by having a system
that can lookup people in the Register and then import them as clients into their
own client database. As part of this work, this experiment was done with the
above company and although a year has not passed since its inception, it is
already showing considerably better results.
During the research for this thesis, the possibility of offering an Electoral Register
search as a cloud service was considered. The author has discussed the
possibility of offering this service with a number of small business owners and
there seems to be a lot of interest in such an application.
The legality of offering this data to a wide audience also had to be questioned. In
Malta the Data Protection Act (34) was drafted in 2002. It was designed to cater
for these issues. As part of the research for this project the author wrote to the
Data Protection Commissioner and his reply is shown below :
Figure 67- Email received re Enquiry to the Data Protection Department
101 – Point of Sale in The Cloud – By Marcel Mizzi
As evidenced by the reply above, it is illegal to use a person’s data without
consent. The Electoral Register was developed for Election purposes and using it
in any other way is illegal.
This project includes the use of the register as part of the study into implementing
such a system. The data was converted from the original format as supplied in the
CD that is for sale to a MySQL database format. The towns table was also
created in this way.
Although strictly speaking, the use of the Register for this purpose is illegal
without obtaining prior consent, this could be solved by asking the client if they
will allow the salesperson to search for the name of address details in the
register. In this way permission would have been granted before the search is
actually made.
102 – Point of Sale in The Cloud – By Marcel Mizzi
AP PENDIX B
FISCAL CONSIDERATIONS
The Value Added Tax Law in Malta (35) states that retail businesses could use
one of the following methods of recording sales :
HAND WRITTEN RECEIPTS
This is the option that requires no use of technology. VAT receipt books can be
requested from the VAT department by registered persons or companies. Each
sale must be accompanied by one of these receipts which includes filling in the
details by hand. This is obviously not a popular choice with high volume retail
outlets such as supermarkets.
The disadvantage for the VAT department with this method besides having to
carry the cost of the receipt books is that the retailer does not necessarily have to
record the precise details of that inventory item that has been sold. This means
that the department cannot investigate the retailer using an audit trail of inventory
movements.
FISCAL CASH REGISTERS
These are the standard cash registers but fitted with a special, non-volatile
memory module that records all transactions for up to 7 years. The memory is
housed inside a tamper proof box inside the unit and sealed with a special
government seal.
Although this method provides a relatively inexpensive way to record sales, many
cash register solutions do not include inventory control. This means that the
retailer cannot use the system to maintain a stock control and inadvertently also
103 – Point of Sale in The Cloud – By Marcel Mizzi
means that the VAT department cannot use an inventory audit trail to investigate
the entries should the need arise.
POS SYSTEMS
Finally, the Maltese retailer can also opt for a point of sale system. There is also
the possibility of using a POS system with a fiscal printer. Like the Cash Registers
above these printers also have a fiscal memory module built in. The transactions
made are then recorded when they are printed into the fiscal memory which is
tamper proof and protected by sections of the VAT Act. The receipts produced
also include a printed VAT logo at the bottom to indicate to the customer that a
fiscal system has been used. In this case the VAT Department is usually only
interested in the fiscal printer and when investigations are conducted it is the
memory contents of the fiscal module that is examined. The problem with this
method is that these printers are expensive to produce because of the
customized module and when the technology changes it will have to mean that
the retailer has to pay for a new model with fiscal module. The costs involved can
be prohibitive.
With this method, again, the VAT Department is not ensured of a useable
inventory audit trail which is often the best tool to use during a VAT audit.
The possibility also exists to use a computerized POS system without a fiscal
printer and instead use one of the readily available thermal chit printers. In this
case an audit would have to be performed by certified auditors. This involves the
auditor visiting the site and making sample sales with receipts to verify that the
system produces correct documents and that sales are stored in a database.
They also certify that the owner of the site does not have easy access to change
the contents of the sales database.
104 – Point of Sale in The Cloud – By Marcel Mizzi
The downside of this method is the expense involved in buying the hardware and
software and commissioning an audit. The audit is strictly per-site which means
that businesses who maintain multiple location would have to audit each location
separately. This is because the audit takes into account the environment where
the system is going to be used and this will inadvertently change between retail
outlets.
With a computerized system, the business owner would benefit from the
advantages that come with electronic inventories and computerized sales
recording. These tools should be a valuable tool in running his business and
gauging performance in view of taking actions to amplify or correct as necessary.
On the other hand, the VAT department does have a useable inventory audit trail
which would be a good tool should the need for an investigation arise.
FISCAL DATA AND THE CLOUD
POS on the cloud may certainly be a solution that would help quell the VAT
Department’s concerns about the safety of sales data housed at the retailer.
Many retailers are small operations involving one to three persons and they are
often family run. Both the funds available to maintain computerized systems
correctly as well as the time to do it in may be lacking in these cases resulting in
data loss. In Malta loss of fiscal data is considered a contravention in itself and
will result in fines and assessments based on past performance which could be
much higher than actual so care must be taken. Hosting the data in the cloud is a
solution that could solve this problem and with minimal costs to the retailer.
The VAT department would much rather trust the data hosting services of a
certified company with proper data housing facilities and disaster recovery plans
than the retailer with limited resources. Furthermore, the retailer will ultimately
save on ICT management costs and licensing.
105 – Point of Sale in The Cloud – By Marcel Mizzi
As the author is Vice President of a major SME organization in the Maltese
Islands he is personally involved as part of a team in discussions with the VAT
department about improving fiscal systems. The Department has recently
proposed an amendment to the VAT act that will put the responsibility of the data
at the retailer end in the hands of the ICT company that sold him and maintains
the software for him. The Department claims that some developers have actually
implemented hidden measures in their applications that allow the retailer to
deduct or delete recorded sales thus paying less tax to the Department. Putting
the responsibility of coherent data on the developer is a considerable change and
needless to say it was not welcomed by the ICT community. Fiscalisation in the
cloud could be the solution.
106 – Point of Sale in The Cloud – By Marcel Mizzi