IV. System Implementation
4.1 Evolution Prototyping
The system is implemented using the evolution prototyping method to meet all requirements.
Evolution prototyping involves the user in system development stages and focuses on user needs. It also guarantees a fast delivery of the system. The objective of Prototyping is to adapt the prototype to customer requirements as quickly and flexibly as possible [37].
The implementation started as step-by-step evolution progresses from one planned prototype to another. Each prototype was reviewed until the final system was achieved. Step-by-step prototyping generates a list of requested enhancements for each prototype.
"EZBuy: My Product Info" system contains three parts:
4.1.1 The barcode recognition component:
It was implemented using J2ME “Java ME”enabled mobile phones that support the MMAPI9 (Mobile Media APIextension) extension. It provides functionality to recognize an EAN13 code, communicate with the server and display the results. Figures 10 and 11 show EZBuy J2ME based login screen and results.
Figure 10: EZBuy J2ME based login screen
Figure 11: EZBuy J2ME results
In addition, EZBuy mobile application is responsible for calculating how much percentage the product is suitable to the user. For example If the product is very compatible with the user a picture with green color appears as shown in figure 12.
Figure 12: Compatible Degree
Java ME platform is a collection of technologies and specifications that can be combined to construct a complete Java runtime environment specifically to fit the requirements of a particular device or market. This offers a flexibility and co-existence for all the players in the eco-system to seamlessly cooperate to offer the most appealing experience for the end-user.
Java ME platform has been divided into two base configurations, one to fit small mobile devices and one to be targeted towards more capable mobile devices like smart-phones and set top boxes [38].
Figure 13: an overview of the components of Java ME technology [38]
The configuration targeting resource-constraint devices like mobile phones is called the Connected Limited Device Configuration (CLDC). It is specifically designed to meet the needs for a Java
platform to run on devices with limited memory, processing power and graphical capabilities. For a CLDC and MIDP environment, which is typically what most mobile devices today are implemented with, a MIDlet is then created. A MIDlet is the application created by a Java ME software developer, such as a game, a business application or other mobile features. These MIDlets can be written once and run on every available device conforming with the specifications for Java ME technology. (see Fig 14).
Figure 14: The Connected Limited Device Configuration (CLDC) [38]
The configuration targeted larger devices with more capacity and with a network-connection, like high-end personal digital assistants, and set-top boxes, is called the Connected Device Profile (CDC).
Looking at the benefits the CDC configuration brings to the different groups in the value-chain the following can be said: (see Figure 15)
1) Enterprises benefit from using network-based applications that extend the reach of business logic to mobile customers, partners and workers.
2) Users will benefit from the compatibility and security of Java technology.
3) Developers benefit from the safety and productivity of the Java programming language and the rich APIs in the Java platform.
Figure 15: The Connected Device Configuration (CDC) [38]
4.1.2 Java Based Information Server Component:
It located on a separate server, to which the detected product code is transmitted via a GPRS or Wi-Fi connection. It is simple, centralized, connection-oriented Java server. The information server uses a plug-in architecture, allowing us to quickly add various services and online information sources (represented as so called “service connectors”). Although this process could also be located on the phone itself, performing them on an external server provides us with greater extendibility, higher flexibility and better performance.
4.1.3 User Web page.
It was implemented using .NET framework and visual basic under .NET environment, .NET supports good user interface and object oriented programming. The web pages were designed by ASP.NET which contains powerful tools that facilitates web browsing. ASP.NET has the following Advantages [36]:
1) Powerful database-driven functionality
Like ASP (Microsoft's language preceding ASP.Net), ASP.Net allows programmers to develop web applications that interface with a database. The advantage of ASP.Net is that it is object-oriented and has many programming tools that allow for faster development and more functionality.
2) Faster web applications:
Two aspects of ASP.Net make it fast -- compiled code and caching. In the past, the code was interpreted into "machine language" when your website visitor viewed your page. Now, with ASP.Net the code is compiled into "machine language" before your visitor ever comes to your site.
Caching is the storage of information that will be reused in a memory location for faster access in the future. ASP.Net allows programmers to set up pages or areas of pages that are commonly reused to be cached for a set period of time to improve the performance of web applications. In addition, ASP.Net allows the caching of data from a database so your website isn't slowed down by frequent visits to a database when the data doesn't change very often.
3) Memory leak and crash protection:
ASP.Net automatically recovers from memory leaks and errors to make sure that your website is always available to your visitors.
4) Multiple language support:
Programmers can actually write their code in more than 25 .Net languages (including VB.Net, C#, and JScript.Net). This allows programmers to develop your site in the language they know best and it means that you can more easily find programmers to support the work on your site.