Assessment 1
There are a lot of topics covered from Topic 1 to Topic 6. All of them are important to have an understanding of e-systems nowadays. In particular, I find the Topic 4 (Web application servers) interesting and useful to my work because web application servers are basically a must when building any e-system.
Assessment 2
My summary of my understanding about the subject of “ITC594 E-systems Infrastructure Development” is as follows. I can learn or refresh my memory about the various technologies for e-systems nowadays. In particular, the topic about mobile computing is new to me. This topic is so hot nowadays and therefore it is so important to learn and understand. I believe that more and more technologies and applications will evolve in the area of mobile computing. And I think that it will dominate more in the marking in the coming future!
Tuesday, March 16, 2010
Commentary
Regarding topic 6 (Distributed objects - RMI and CORBA), I believe that it is one of the important topics that students should know. The concepts of Java and RMI are especially important nowadays. Hence, I think this topic should remain in the coming school years.
Resources
1. Microsoft DreamSpark (2010). Microsoft SQL Server 2008 Express. Retrieved March 25, 2010 from https://www.dreamspark.com/Products/Product.aspx?ProductId=14
2. Microsoft Express (2009). Microsoft SQL Server 2008 Express. Retrieved March 25, 2010 from http://www.microsoft.com/express/Database/
3. Prentice Hall (n.d.). Processing Form Input Sample Code. Retrieved March 27, 2010 from http://wps.prenhall.com/esm_zeid_mastering_2/0,9112,1340882-,00.html
2. Microsoft Express (2009). Microsoft SQL Server 2008 Express. Retrieved March 25, 2010 from http://www.microsoft.com/express/Database/
3. Prentice Hall (n.d.). Processing Form Input Sample Code. Retrieved March 27, 2010 from http://wps.prenhall.com/esm_zeid_mastering_2/0,9112,1340882-,00.html
Workshops
I would like to role-play as a manager for a project team.
Ruby on Rails Workshop 1
1. My experience in web development languages include Java, ColdFusion, ASP, JavaScript, HTML, XML, Oracle, MS SQL Server, IBM DB2, etc. My understanding about web application framework is that it guides developers to build web applications. Also, services like memory management, database connection pooling, and resource management are often provided by the framework.
2. Ruby on Rails is a powerful web application framework that enables development of web applications. Ruby on Rails handles all communication with database. Also, Ruby on Rails provides a template system for handling layouts and pages. Moreover, it has a lot of plug-ins for quickly developing applications easily.
3. Rails is the development framework so that developers can use it to build web applications quickly and easily.
4. “Convention over configuration” means it is easy to configure Ruby on Rails by reducing coding.
5. “Model-View-Controller” (MVC) began in 1979 by Trygve Reenskaug. It has been widely used in building web applications since then.
6. The steps involved in MVC design approach are as follows:
a. View: design the presentation layer for interacting with front-end users
b. Controller: design the middle-ware to control access to back-end (Model) based on the request from View.
c: Model: design the persistence layer to store the data in, for example, database.
Ruby on Rails Workshop 2
2. “Convention over Configuration” can reduce coding required in Ruby on Rails.
Ruby on Rails Workshop 3
1. MySQL Workbench V5.1.18 has been downloaded and installed successfully in my computer on Windows operating system.
2. Instant Rails 2.0 has been downloaded (http://rubyforge.org/frs/?group_id=904) and installed successfully. The following two programs were able to be run in my computer:
a. http://www.mycookbook.com:30001/
b. http://typo
Instruction for the installation and running is found at the following URL:
http://instantrails.rubyforge.org/wiki/wiki.pl?Getting_Started
Ruby on Rails Workshop 4
1 & 2. In Ruby, we can write:
if x.between?(7,12) do ...
However, in Javascript, we must write:
if( x > 7 && x < 12 ) { ... }
3. Ruby and JavaScript are quite similar to each other. For example, they are both scripting language that are easy to learn. Also, they both have the concepts of objects.
Ruby on Rails Workshop 5
Part A: Survey of mobile device capability and Web 2.0 tools
1.a. A simple mobile that can send and receive SMS is enough for supporting the use of SMS message service.
b. Sophisticated devices such as PDA phone / iPhone are better suited for enabling full user experience via SMS, GPS Taxi tracking and Google Maps.
2. The required resources by the taxi company Website are as follows:
Hardware: A sophisticated hardware server is required to host the applications.
Networking: Networking with SMS gateway and with GPS are required.
Software: Application server, web server and database server are required.
Systems: A system hosting in the application server is required.
Personnel: Business analysts, developers, architects, project manager and other stakeholders are necessary to support the development.
Part B: The enhanced customer experience through Web 2.0 technology

Part C: Online Taxi Business Process Modelling
1. The Simple Online Taxi business process model is as follows:

Ruby on Rails Workshop 6
The Struts MVC framework is my chosen alternative to Ruby on Rails framework for development the OTBS system.
Struts framework is so scalable that it can allow system to expand and include more features in the future. Also, it is flexible because it allows developers to add additional service at will after system has been launched.
Capacity planning: the estimated number of taxi and numbers to server per day are required. Also, the peak hours and peak numbers have to be estimated first in order to have good capacity planning.
Performance testing: Response time (e.g. how much time has elapsed before a taxi driver respond to a customer request via different channels) has to measured in order to find out which areas are needed to be improved.
Site maintenance: the maintenance such as software, system and data backup, etc are so important in order to prevent data loss and recover from disaster.
Future development: As mentioned above, the Struts framework is so scalable that future development is easily allowed with addition of additional functions.
Ruby on Rails Workshop 7
There are some hosting solutions. First, the servers can be hosted in a data centre. Usually, data centre has 7 x 24 system monitoring service provided. Another hosting solution is to host the servers by the company itself. The advantage of choosing this option is to have more control on the server by the company.
It is probable that the Rails applications will be required to run on a cloud computing service in the future. It is because as more and more cities have deployed the system, then more processing servers and powers will be required in order to ensure smooth running of the system. Hence, cloud computing is one of the choices for the system.
Ruby on Rails Workshop 8
1. I consider the 3 strengths to be:
- it has detailed instructions provided to setup the system
- it has detailed instructions provided to run the system
- it has provided me another insight into another framework
2. I consider 3 weaknesses to be:
- it takes much time to setup the system
- it will be quite difficult for students who do not have programming background
- Ruby on Rails may not be a very popular framework nowadays in the market
3. The most difficult aspects is:
- to code and run the program because I am new to Ruby on Rails
4. Improvement I would make include:
- Change Ruby on Rail to another more popular framework such as .Net or Struts
5. The other Web framework (such as .NET and Struts) is more effective for me because I am more familiar with them compared to Ruby on Rails. However, it is still a good idea to learn Ruby on Rails so that students can learn about the pros and cons of other frameworks.
Ruby on Rails Workshop 1
1. My experience in web development languages include Java, ColdFusion, ASP, JavaScript, HTML, XML, Oracle, MS SQL Server, IBM DB2, etc. My understanding about web application framework is that it guides developers to build web applications. Also, services like memory management, database connection pooling, and resource management are often provided by the framework.
2. Ruby on Rails is a powerful web application framework that enables development of web applications. Ruby on Rails handles all communication with database. Also, Ruby on Rails provides a template system for handling layouts and pages. Moreover, it has a lot of plug-ins for quickly developing applications easily.
3. Rails is the development framework so that developers can use it to build web applications quickly and easily.
4. “Convention over configuration” means it is easy to configure Ruby on Rails by reducing coding.
5. “Model-View-Controller” (MVC) began in 1979 by Trygve Reenskaug. It has been widely used in building web applications since then.
6. The steps involved in MVC design approach are as follows:
a. View: design the presentation layer for interacting with front-end users
b. Controller: design the middle-ware to control access to back-end (Model) based on the request from View.
c: Model: design the persistence layer to store the data in, for example, database.
Ruby on Rails Workshop 2
2. “Convention over Configuration” can reduce coding required in Ruby on Rails.
Ruby on Rails Workshop 3
1. MySQL Workbench V5.1.18 has been downloaded and installed successfully in my computer on Windows operating system.
2. Instant Rails 2.0 has been downloaded (http://rubyforge.org/frs/?group_id=904) and installed successfully. The following two programs were able to be run in my computer:
a. http://www.mycookbook.com:30001/
b. http://typo
Instruction for the installation and running is found at the following URL:
http://instantrails.rubyforge.org/wiki/wiki.pl?Getting_Started
Ruby on Rails Workshop 4
1 & 2. In Ruby, we can write:
if x.between?(7,12) do ...
However, in Javascript, we must write:
if( x > 7 && x < 12 ) { ... }
3. Ruby and JavaScript are quite similar to each other. For example, they are both scripting language that are easy to learn. Also, they both have the concepts of objects.
Ruby on Rails Workshop 5
Part A: Survey of mobile device capability and Web 2.0 tools
1.a. A simple mobile that can send and receive SMS is enough for supporting the use of SMS message service.
b. Sophisticated devices such as PDA phone / iPhone are better suited for enabling full user experience via SMS, GPS Taxi tracking and Google Maps.
2. The required resources by the taxi company Website are as follows:
Hardware: A sophisticated hardware server is required to host the applications.
Networking: Networking with SMS gateway and with GPS are required.
Software: Application server, web server and database server are required.
Systems: A system hosting in the application server is required.
Personnel: Business analysts, developers, architects, project manager and other stakeholders are necessary to support the development.
Part B: The enhanced customer experience through Web 2.0 technology

Part C: Online Taxi Business Process Modelling
1. The Simple Online Taxi business process model is as follows:

Ruby on Rails Workshop 6
The Struts MVC framework is my chosen alternative to Ruby on Rails framework for development the OTBS system.
Struts framework is so scalable that it can allow system to expand and include more features in the future. Also, it is flexible because it allows developers to add additional service at will after system has been launched.
Capacity planning: the estimated number of taxi and numbers to server per day are required. Also, the peak hours and peak numbers have to be estimated first in order to have good capacity planning.
Performance testing: Response time (e.g. how much time has elapsed before a taxi driver respond to a customer request via different channels) has to measured in order to find out which areas are needed to be improved.
Site maintenance: the maintenance such as software, system and data backup, etc are so important in order to prevent data loss and recover from disaster.
Future development: As mentioned above, the Struts framework is so scalable that future development is easily allowed with addition of additional functions.
Ruby on Rails Workshop 7
There are some hosting solutions. First, the servers can be hosted in a data centre. Usually, data centre has 7 x 24 system monitoring service provided. Another hosting solution is to host the servers by the company itself. The advantage of choosing this option is to have more control on the server by the company.
It is probable that the Rails applications will be required to run on a cloud computing service in the future. It is because as more and more cities have deployed the system, then more processing servers and powers will be required in order to ensure smooth running of the system. Hence, cloud computing is one of the choices for the system.
Ruby on Rails Workshop 8
1. I consider the 3 strengths to be:
- it has detailed instructions provided to setup the system
- it has detailed instructions provided to run the system
- it has provided me another insight into another framework
2. I consider 3 weaknesses to be:
- it takes much time to setup the system
- it will be quite difficult for students who do not have programming background
- Ruby on Rails may not be a very popular framework nowadays in the market
3. The most difficult aspects is:
- to code and run the program because I am new to Ruby on Rails
4. Improvement I would make include:
- Change Ruby on Rail to another more popular framework such as .Net or Struts
5. The other Web framework (such as .NET and Struts) is more effective for me because I am more familiar with them compared to Ruby on Rails. However, it is still a good idea to learn Ruby on Rails so that students can learn about the pros and cons of other frameworks.
Exercises
Exercise 1
1.a. An online community means a virtual, internet community for a group or groups of people having similar interest and needs so that they can share and interact through the media.
E-commerce means electronics commerce that trade business through the internet. An online community is so important for e-commerce because an online community consists of many people having similar interest and needs, and therefore e-commerce can target those online communities having the same needs.
1.b. Yes, there is a common thread and a local community sense in action. For example, the website http://www.discuss.com.hk/ is a famous online community in Hong Kong that has many groups of people divided into different communities for discussion and sharing of common topics.
2.a. It has been so famous because it has many categories of goods for selling. Customer has a lot of choices of goods to choose from. Also, it can deliver goods not only in the USA, but also many other countries over the world. Moreover, it has several shipping options to cater for different customer needs.
The purchase of a book works so simply as follows. A customer chooses a book to buy. Then the customer enters delivery address information, shipping option and payment information, etc. Then Amazon will process the order, payment and finally mail the order to the customer accordingly.
2.b. There are some secure transactions that do not involve money. For example, when a customer logins to the website, the system will redirect to a secure site to process the login.
3. Price comparison sites compare prices of a product or service in different sites. Hence, the price comparison sites can help customers on their behalf to compare the prices. This can save the time of them.
Exercise 2
The steps involved with the Rapid Evolutionary Prototyping Approach are as follows:
1. evolutionary application prototyping: a prototype is continually built and refined so that user can see a visible, tangible system as this step progresses.
2. implementation: once the prototype is accepted by user, the system will be implemented until it goes to the production site.
Agile development means a group of development methodologies which are iterative in nature. The requirements and solutions are evolved as the project progresses.
Agile development is quite similar to Rapid Evolutionary Prototyping Approach because they are both iterative in nature and the system is continually built and refined as the project progresses.
Exercise 3
1. DNS stands for Domain Name System which is a naming system for locating systems or other resources that are connected to the internet or a network. DNS translates the meaningful domain names to numerical identifier.
DHCP configuration stands for Dynamic Host Configuration Protocol. It is a computer networking protocol which is used by hosts in order to obtain the IP configuration information.
The difference between DNS and DHCP is as follows. DNS translates a URL address to an IP address. Whereas DHCP assigns an IP address to a computer in a network.
2. An online business application typically has session information of online users. If IP address is changed from time to time the session information can hardly be stored and maintained and will be difficult to have a stable business application for users.
3.a. Grid computing has a parallel processing architecture so that the CPU resources can be shared in a network. VPN is a private network so that confidential information can be shared in the network.
b. The next generation of wireless mesh networks will play an important role in B-to-B applications because more and more applications will be carried out in wireless networks.
c. Cloud computing means a range of dynamically scalable services in the internet. Cloud computing is important in B-to-B applications because it can utilize resources more effectively in the network.
4. Cloud computing is considered as ‘black box’ because users do not bother to control the cloud in the black box in order for the cloud to provide service. On the other hand, grid computing is considered as ‘white box’ because users are concerned with the CPU resources of the cluster of computers.
Exercise 4
1. Peer to Peer computing means a distributed network architecture that each participating computer contributes part of its computing resources (e.g. CPU, memory etc) directly to other participant without the need of central coordination. On the other hand, in the client/server architecture, the server responds directly to the request sent by the client. Hence, there is a tightly-coupled relationship between the client and the server in the client/server architecture.
2. Java v.s. .NET
Java is a general purpose computer programming language developed by Sun Microsystems. Java is characterized by the distinguishing feature of cross-platform. Provided there is a JVM (Java Virtual Machine), program written in Java can be run in the JVM.
On the other hand, .NET is a software framework developed by Microsoft. It can only be installed on computers running Microsoft Windows operating system.
Both Java and .NET offer a rich set of libraries for use by developers. Moreover, they both offer services like memory management, security and exception handling mechanism so that programmers do not need to bother such aspects. They only need to focus on the logic of the required application during development.
Exercise 5 (Case A: Microsoft SQL Server)
1. SQL Server 2008 Architecture:
SQL Server 2008 is a database management system that has a lot of features, data protection and high performance for many applications (Microsoft DreamSpark, 2010). The deployment is easy. And it allows rapid prototyping.
Moreover, SQL Server 2008 has been designed to work with Visual Studio and ASP.NET. SQL Server 2008 allows to access data with PHP, using the SQL Server Driver for PHP (Microsoft Express, 2009). Furthermore, SQL Server 2008 takes the advantage of rich business intelligence and reporting with MS Office. Lastly, SQL Server 2008 synchronizes with other SQL Server Databases via MS Sync Framework.
2. SQL Server 2008 Express Edition:
SQL Server 2008 Express edition has been successfully downloaded and installed. Please refer to the following picture after successful installation.
SQL Server 2008 Express edition is a very powerful database engine. It is compatible with all other SQL Server 2008 editions. Moreover, it is designed to work with ASP.NET and Visual Studio. It can also be accessed by PHP via SQL Server Driver for PHP. Lastly, synchronization with other SQL server databases are made possible by using Microsoft Sync Framework.
Exercise 6
1.
Exercise 6
The form on web browser is shown above. The corresponding html codes are as follows:
2. A script is found in a website http://wps.prenhall.com/esm_zeid_mastering_2/0,9112,1340882-,00.html (Prentice Hall, n.d.) for processing a form. The screen of this form is as follows:
The codes of the script is shown below:
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Validating textfield input
The steps involved in processing the form are as follows:
1. After clicking Submit button, the System will call a Javascript function named “validate(myForm)” to validate the input data.
2. The “validate(myForm)” method will validate the form data field by field as follows:
a. Check whether “First Name” field is empty or not
b. Check whether “Middle Initial” field is empty or not
c. Check whether “Last Name” field is empty or not
d. Check whether “Address” field is empty or not
e. Check whether “City” field is empty or not
f. Check whether “State” field is empty or not
g. Check whether “Zip Code” field is empty or not
h. Check whether “Country” field is empty or not
3. If all the validations mentioned in step 2 above pass, the System will submit the form
4. If any of the validation mentioned in step 2 above fails, the System will prompt user with an error message
3. Yes, I can modify the script for processing form.
4. To improve user experience, I modify the following JavaScript function by using trim() function for the field value:
//check textfield input
function isBlankField(textObj)
{
if (trim(textObj.value) == "")
return true;
else
return false;
}
With the use of the trim() function, the System can make sure that empty string input by user can be detected.
Exercise 7
1. Integration will become a critical factor in coming days because there are different systems running on different platforms with different architectures. If the systems are required to be communicated with each other, successful integration between them becomes a critical factor.
2. JQuery is a light-weighted JavaScript library. JQuery has full suite of AJAX capabilities. It has the capability of loading data from server without refreshing a web page. On the other hand, MooTools is a light-weighted abstraction layer between web browser and the code written by programmer (e.g. JQuery).
3. A similarity between object-oriented development using MVC in Ruby on Rails 2.0 and Action Script 2.0 is that they are both based on object-oriented technology. Also, they are both invented for web applications.
4. RESTful practices mean a standard way for communication between computers. REST has some constraint on the application architecture.
Exercise 8
Exercise 9
1. SET stands for Secure Electronic Transaction. It was a standard protocol for secure credit card transactions for e-commerce over insecure networks such as the Internet. SET is a set of security protocols and formats that employs existing credit card payment infrastructure on an open network in a secure fashion.
RSA stands for Rivest, Shamir and Adleman. It is an algorithm for public-key cryptography which is suitable for signing as well as encryption. RSA is widely used in e-commerce protocols.
2. A network intrusion detection system can identify intrusions by examining network traffic and / or monitor multiple hosts. On the other hand, a host-based intrusion detection system consists of an agent which can identify intrusions by analyzing system calls, application logs, file-system modifications (e.g. binaries, password files, capability) and other host activities and state changes.
3. Phishing is the criminally fraudulent process which tries to acquire sensitive information (e.g. user id, password and credit card information) by masquerading as a trustworthy entity in the internet. Phishing typically occurs in the form of e-mail or an instant messaging (e.g. MSN) that redirects users to a fake website whose look and feel are almost the same as the legitimate one.
4. SET stands for Secure Electronic Transaction. It was a standard protocol for secure credit card transactions for e-commerce over insecure networks such as the Internet. SET is a set of security protocols and formats that employs existing credit card payment infrastructure on an open network in a secure fashion. SET is not commonly used nowadays. Instead, SSL is a mature technology that is widely used in e-commerce nowadays. SSL is commonly used nowadays for secure transactions between host and client (e.g. browser).
5. A cookie is a text string that is stored in a user’s browser. A cookie is a name-value pair that can store various information. A cookie can even be encrypted in order to improve security. However, since a cookie can track user activity, there may be a security risk itself.
6. A firewall can block unauthorized access to a network. A firewall is a device or set of devices which can be configured to permit or deny computer application running based on a set of rules. Firewalls can be implemented in either hardware or software or both. Firewalls can therefore improve security which worth investment.
There are a lot of firewall vendors including:
- B & Data Technology Co., Ltd: offers both hardware and software firewalls
- ESET: only offers software firewalls
- Microsoft: only offers software firewalls
7. An SSL certificate can create trust among website’s potential customers. It is because the customers can verify the validity of the certificate by viewing the certificate information and the CA (Certificate Authority). If the CA is trusted by the customer, the customer will also trust the website.
Exercise 10
1. The definitions of the terms are as follows:
1. Thread Synchronisation: it refers to the idea that multiple threads are to join up or handshake at a certain point, so as to reach an agreement or commit to a certain sequence of action.
2. Locks: a lock is an action that a thread has acquire a certain resource so that the thread has exclusive use of the resource.
3. Deadlock: it refers to the situation that two or more competing actions are each waiting for the other to finish, and thus neither ever does. Hence, no action car start because the other cannot finish and still wait.
4. Semaphores: it is a protected resource which constitutes a classic method of controlling access by several processes to a common resource in a parallel programming environment.
5. Mutex (mutual exclusion): Mutex is used in concurrent programming in order to avoid the simultaneous use of a common resource (e.g. global variable), by pieces of computer code named as critical sections. A critical section is a piece of code in which a process / thread accesses a common resource.
6. Thread: it refers to a flow of control through the process, plus a private stack for local data.
7. Event: an event is triggered by user action or by another event in a computer system.
8. Waitable timer: it is a timer that is waitable such that it will invoke an action until a certain specified time is reached.
2. A semaphore is used to control access to a common resource. There are a total of 10 threads. But at most three threads can wait to acquire the semaphore at any single time. Each thread will do a task at a random time to simulate simultaneous access to the common resource. After a thread has acquired a semaphore, it will wakeup and finish its task after a certain time. Then, another thread do the same things to try to acquire the semaphore. As this process continues, all of the 10 threads have finished doing their jobs. Finally, all the threads are done.
Exercise 11
1. ACID stands for Atomicity, Consistency, Isolation and Durability. It is a set of properties that guarantee database transactions are processed reliably. Their explanations are as follows:
Atomicity means when one part of database transaction fails, all parts of the transaction will fail and the database state remains unchanged.
Consistency means any transaction will take a database from one consistent state to another consistent state.
Isolation means that other operations cannot access or get data that has been modified during a transaction but has not yet completed.
Durability means that once a transaction is finished, the transaction will not be lost.
2. TP monitor stands for Transaction Processing monitor. It coordinates the transactions across multiple resources (e.g. databases, message queues, etc.). The TP monitor will monitor transactions of it and with other processes. If there is any problem occurs, TP monitor will notify the System to prevent the system being overwhelmed.
Exercise 12
Lookup Books:
Online bookstore provides a View for customer to lookup a look. After this request is made, the Controller will process this request and connects to the database, Model, in order to retrieve the details of the requested book.
Add to Shopping Cart:
After a customer has lookup a book described above, the customer may choose to add it to a shopping Cart via a View. This request will forward to the Controller in order to put the book to the shopping cart. Note that this action may or may not involve Model depending on the actual implementation of the system.
Exercise 13
The class diagram is as follows:
Exercise 14
1. A spider is a computer program that can automatically fetch web pages. Also, a spider can also feed web pages to web search engines.
2. There are many software agents. For example
- buyer agents: they travel around the web to retrieve goods and services information.
- user or personal agents: they perform tasks on your behalf such as check your emails.
- data mining agents: they try to find trends and patterns with reference to abundance of information.
3. Buyer agents are used in e-commerce to retrieve information about goods and services. On the other hand, data mining agents help e-commerce sites to make various decisions.
4. Below is my conversation with rocky. I find that rocky does not really know how to respond to me for some of my questions. Also, some rocky’s responses are not accurate. Anyway, it is really an interesting experience to interact with rocky.
train11 activates Rocky.
Rocky says, "Gee thanks for waking me up! I must have dozed off.."
I don't understand that.
I don't understand that.
I don't understand that.
"is" is not the name of any player.
"the" could refer to TheklaM[511] (#4516), Theresea_H[411] (#3209), ThelmaH (#1232), or TheaV (#1022).
"cheese?" is not the name of any player.
"is" is not the name of any player.
"cheese?" is not the name of any player.
I don't understand that.
I don't understand that.
I don't understand that.
You say, "hello"
Rocky says, "Do you have any hobbies?"
train11 yes, i like swimming
Rocky [to train11]: You seem quite positive on the subject...
train11 Yes, how about you?
Rocky says, "Yes? Hmm, that's interesting..."
train11 how about you?
Rocky says, "I like the way you bring up such great topics to discuss.."
train11 do you have any hobbies?
Rocky says, "I am sure you should be working on another assignment..."
train11 yes, right
Rocky says, "You seem quite positive on the subject..."
train11 hush rocky
Exercise 15
1. A location based service is a kind of service that is offered via a cellular phone or other mobile device. The service is dependent on the location of the mobile device.
An example of its application is a monitoring system to track children, with the parents operating under the assumption that their children cannot be far away from their phone devices.
Another example is to find out the list of restaurants nearby when people are on the street somewhere. This application can provide restaurants and dinning information nearby.
2. The purpose of the Open Mobile Alliance Initiative is to remove the barriers between different standards in order to provide an easy to use mobile experience to users. This encourages competition among service providers and encourages differentiation.
3. The main components of a mobile Web services framework are as follows:
- Connectivity layer
- Control layer
- Service layer
- Intenet
4. Cathy Pacific airline (http://www.cathaypacific.com) website has been researched. It is found that seat booking confirmation function is confirmed via SMS. For the banking industry, the HSBC (http://www.hsbc.com.hk) website has been researched. It is found that the mobile banking service is provided by the bank for online transaction services.
Exercise 16
1. To manage and to develop integrated systems, I would like to choose “XML and Web services” as the glue. It is because technologies like XML, OWL, RDF and Web services have been developed to support such kinds of system integration. A web service is a collection of functions that form as a standalone entity such that it is published for use by other systems or programs.
2. My summary of my understanding about the subject of “ITC594 E-systems Infrastructure Development” is as follows. I can learn or refresh my memory about the various technologies for e-systems nowadays. In particular, the topic about mobile computing is new to me. This topic is so hot nowadays and therefore it is so important to learn and understand. I believe that more and more technologies and applications will evolve in the area of mobile computing. And I think that it will dominate more in the marking in the coming future!
1.a. An online community means a virtual, internet community for a group or groups of people having similar interest and needs so that they can share and interact through the media.
E-commerce means electronics commerce that trade business through the internet. An online community is so important for e-commerce because an online community consists of many people having similar interest and needs, and therefore e-commerce can target those online communities having the same needs.
1.b. Yes, there is a common thread and a local community sense in action. For example, the website http://www.discuss.com.hk/ is a famous online community in Hong Kong that has many groups of people divided into different communities for discussion and sharing of common topics.
2.a. It has been so famous because it has many categories of goods for selling. Customer has a lot of choices of goods to choose from. Also, it can deliver goods not only in the USA, but also many other countries over the world. Moreover, it has several shipping options to cater for different customer needs.
The purchase of a book works so simply as follows. A customer chooses a book to buy. Then the customer enters delivery address information, shipping option and payment information, etc. Then Amazon will process the order, payment and finally mail the order to the customer accordingly.
2.b. There are some secure transactions that do not involve money. For example, when a customer logins to the website, the system will redirect to a secure site to process the login.
3. Price comparison sites compare prices of a product or service in different sites. Hence, the price comparison sites can help customers on their behalf to compare the prices. This can save the time of them.
Exercise 2
The steps involved with the Rapid Evolutionary Prototyping Approach are as follows:
1. evolutionary application prototyping: a prototype is continually built and refined so that user can see a visible, tangible system as this step progresses.
2. implementation: once the prototype is accepted by user, the system will be implemented until it goes to the production site.
Agile development means a group of development methodologies which are iterative in nature. The requirements and solutions are evolved as the project progresses.
Agile development is quite similar to Rapid Evolutionary Prototyping Approach because they are both iterative in nature and the system is continually built and refined as the project progresses.
Exercise 3
1. DNS stands for Domain Name System which is a naming system for locating systems or other resources that are connected to the internet or a network. DNS translates the meaningful domain names to numerical identifier.
DHCP configuration stands for Dynamic Host Configuration Protocol. It is a computer networking protocol which is used by hosts in order to obtain the IP configuration information.
The difference between DNS and DHCP is as follows. DNS translates a URL address to an IP address. Whereas DHCP assigns an IP address to a computer in a network.
2. An online business application typically has session information of online users. If IP address is changed from time to time the session information can hardly be stored and maintained and will be difficult to have a stable business application for users.
3.a. Grid computing has a parallel processing architecture so that the CPU resources can be shared in a network. VPN is a private network so that confidential information can be shared in the network.
b. The next generation of wireless mesh networks will play an important role in B-to-B applications because more and more applications will be carried out in wireless networks.
c. Cloud computing means a range of dynamically scalable services in the internet. Cloud computing is important in B-to-B applications because it can utilize resources more effectively in the network.
4. Cloud computing is considered as ‘black box’ because users do not bother to control the cloud in the black box in order for the cloud to provide service. On the other hand, grid computing is considered as ‘white box’ because users are concerned with the CPU resources of the cluster of computers.
Exercise 4
1. Peer to Peer computing means a distributed network architecture that each participating computer contributes part of its computing resources (e.g. CPU, memory etc) directly to other participant without the need of central coordination. On the other hand, in the client/server architecture, the server responds directly to the request sent by the client. Hence, there is a tightly-coupled relationship between the client and the server in the client/server architecture.
2. Java v.s. .NET
Java is a general purpose computer programming language developed by Sun Microsystems. Java is characterized by the distinguishing feature of cross-platform. Provided there is a JVM (Java Virtual Machine), program written in Java can be run in the JVM.
On the other hand, .NET is a software framework developed by Microsoft. It can only be installed on computers running Microsoft Windows operating system.
Both Java and .NET offer a rich set of libraries for use by developers. Moreover, they both offer services like memory management, security and exception handling mechanism so that programmers do not need to bother such aspects. They only need to focus on the logic of the required application during development.
Exercise 5 (Case A: Microsoft SQL Server)
1. SQL Server 2008 Architecture:
SQL Server 2008 is a database management system that has a lot of features, data protection and high performance for many applications (Microsoft DreamSpark, 2010). The deployment is easy. And it allows rapid prototyping.
Moreover, SQL Server 2008 has been designed to work with Visual Studio and ASP.NET. SQL Server 2008 allows to access data with PHP, using the SQL Server Driver for PHP (Microsoft Express, 2009). Furthermore, SQL Server 2008 takes the advantage of rich business intelligence and reporting with MS Office. Lastly, SQL Server 2008 synchronizes with other SQL Server Databases via MS Sync Framework.
2. SQL Server 2008 Express Edition:
SQL Server 2008 Express edition has been successfully downloaded and installed. Please refer to the following picture after successful installation.
SQL Server 2008 Express edition is a very powerful database engine. It is compatible with all other SQL Server 2008 editions. Moreover, it is designed to work with ASP.NET and Visual Studio. It can also be accessed by PHP via SQL Server Driver for PHP. Lastly, synchronization with other SQL server databases are made possible by using Microsoft Sync Framework.
Exercise 6
1.
The form on web browser is shown above. The corresponding html codes are as follows:
2. A script is found in a website http://wps.prenhall.com/esm_zeid_mastering_2/0,9112,1340882-,00.html (Prentice Hall, n.d.) for processing a form. The screen of this form is as follows:
The codes of the script is shown below:
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
A form using text fields
The steps involved in processing the form are as follows:
1. After clicking Submit button, the System will call a Javascript function named “validate(myForm)” to validate the input data.
2. The “validate(myForm)” method will validate the form data field by field as follows:
a. Check whether “First Name” field is empty or not
b. Check whether “Middle Initial” field is empty or not
c. Check whether “Last Name” field is empty or not
d. Check whether “Address” field is empty or not
e. Check whether “City” field is empty or not
f. Check whether “State” field is empty or not
g. Check whether “Zip Code” field is empty or not
h. Check whether “Country” field is empty or not
3. If all the validations mentioned in step 2 above pass, the System will submit the form
4. If any of the validation mentioned in step 2 above fails, the System will prompt user with an error message
3. Yes, I can modify the script for processing form.
4. To improve user experience, I modify the following JavaScript function by using trim() function for the field value:
//check textfield input
function isBlankField(textObj)
{
if (trim(textObj.value) == "")
return true;
else
return false;
}
With the use of the trim() function, the System can make sure that empty string input by user can be detected.
Exercise 7
1. Integration will become a critical factor in coming days because there are different systems running on different platforms with different architectures. If the systems are required to be communicated with each other, successful integration between them becomes a critical factor.
2. JQuery is a light-weighted JavaScript library. JQuery has full suite of AJAX capabilities. It has the capability of loading data from server without refreshing a web page. On the other hand, MooTools is a light-weighted abstraction layer between web browser and the code written by programmer (e.g. JQuery).
3. A similarity between object-oriented development using MVC in Ruby on Rails 2.0 and Action Script 2.0 is that they are both based on object-oriented technology. Also, they are both invented for web applications.
4. RESTful practices mean a standard way for communication between computers. REST has some constraint on the application architecture.
Exercise 8

Exercise 9
1. SET stands for Secure Electronic Transaction. It was a standard protocol for secure credit card transactions for e-commerce over insecure networks such as the Internet. SET is a set of security protocols and formats that employs existing credit card payment infrastructure on an open network in a secure fashion.
RSA stands for Rivest, Shamir and Adleman. It is an algorithm for public-key cryptography which is suitable for signing as well as encryption. RSA is widely used in e-commerce protocols.
2. A network intrusion detection system can identify intrusions by examining network traffic and / or monitor multiple hosts. On the other hand, a host-based intrusion detection system consists of an agent which can identify intrusions by analyzing system calls, application logs, file-system modifications (e.g. binaries, password files, capability) and other host activities and state changes.
3. Phishing is the criminally fraudulent process which tries to acquire sensitive information (e.g. user id, password and credit card information) by masquerading as a trustworthy entity in the internet. Phishing typically occurs in the form of e-mail or an instant messaging (e.g. MSN) that redirects users to a fake website whose look and feel are almost the same as the legitimate one.
4. SET stands for Secure Electronic Transaction. It was a standard protocol for secure credit card transactions for e-commerce over insecure networks such as the Internet. SET is a set of security protocols and formats that employs existing credit card payment infrastructure on an open network in a secure fashion. SET is not commonly used nowadays. Instead, SSL is a mature technology that is widely used in e-commerce nowadays. SSL is commonly used nowadays for secure transactions between host and client (e.g. browser).
5. A cookie is a text string that is stored in a user’s browser. A cookie is a name-value pair that can store various information. A cookie can even be encrypted in order to improve security. However, since a cookie can track user activity, there may be a security risk itself.
6. A firewall can block unauthorized access to a network. A firewall is a device or set of devices which can be configured to permit or deny computer application running based on a set of rules. Firewalls can be implemented in either hardware or software or both. Firewalls can therefore improve security which worth investment.
There are a lot of firewall vendors including:
- B & Data Technology Co., Ltd: offers both hardware and software firewalls
- ESET: only offers software firewalls
- Microsoft: only offers software firewalls
7. An SSL certificate can create trust among website’s potential customers. It is because the customers can verify the validity of the certificate by viewing the certificate information and the CA (Certificate Authority). If the CA is trusted by the customer, the customer will also trust the website.
Exercise 10
1. The definitions of the terms are as follows:
1. Thread Synchronisation: it refers to the idea that multiple threads are to join up or handshake at a certain point, so as to reach an agreement or commit to a certain sequence of action.
2. Locks: a lock is an action that a thread has acquire a certain resource so that the thread has exclusive use of the resource.
3. Deadlock: it refers to the situation that two or more competing actions are each waiting for the other to finish, and thus neither ever does. Hence, no action car start because the other cannot finish and still wait.
4. Semaphores: it is a protected resource which constitutes a classic method of controlling access by several processes to a common resource in a parallel programming environment.
5. Mutex (mutual exclusion): Mutex is used in concurrent programming in order to avoid the simultaneous use of a common resource (e.g. global variable), by pieces of computer code named as critical sections. A critical section is a piece of code in which a process / thread accesses a common resource.
6. Thread: it refers to a flow of control through the process, plus a private stack for local data.
7. Event: an event is triggered by user action or by another event in a computer system.
8. Waitable timer: it is a timer that is waitable such that it will invoke an action until a certain specified time is reached.
2. A semaphore is used to control access to a common resource. There are a total of 10 threads. But at most three threads can wait to acquire the semaphore at any single time. Each thread will do a task at a random time to simulate simultaneous access to the common resource. After a thread has acquired a semaphore, it will wakeup and finish its task after a certain time. Then, another thread do the same things to try to acquire the semaphore. As this process continues, all of the 10 threads have finished doing their jobs. Finally, all the threads are done.
Exercise 11
1. ACID stands for Atomicity, Consistency, Isolation and Durability. It is a set of properties that guarantee database transactions are processed reliably. Their explanations are as follows:
Atomicity means when one part of database transaction fails, all parts of the transaction will fail and the database state remains unchanged.
Consistency means any transaction will take a database from one consistent state to another consistent state.
Isolation means that other operations cannot access or get data that has been modified during a transaction but has not yet completed.
Durability means that once a transaction is finished, the transaction will not be lost.
2. TP monitor stands for Transaction Processing monitor. It coordinates the transactions across multiple resources (e.g. databases, message queues, etc.). The TP monitor will monitor transactions of it and with other processes. If there is any problem occurs, TP monitor will notify the System to prevent the system being overwhelmed.
Exercise 12
Lookup Books:
Online bookstore provides a View for customer to lookup a look. After this request is made, the Controller will process this request and connects to the database, Model, in order to retrieve the details of the requested book.
Add to Shopping Cart:
After a customer has lookup a book described above, the customer may choose to add it to a shopping Cart via a View. This request will forward to the Controller in order to put the book to the shopping cart. Note that this action may or may not involve Model depending on the actual implementation of the system.
Exercise 13
The class diagram is as follows:

Exercise 14
1. A spider is a computer program that can automatically fetch web pages. Also, a spider can also feed web pages to web search engines.
2. There are many software agents. For example
- buyer agents: they travel around the web to retrieve goods and services information.
- user or personal agents: they perform tasks on your behalf such as check your emails.
- data mining agents: they try to find trends and patterns with reference to abundance of information.
3. Buyer agents are used in e-commerce to retrieve information about goods and services. On the other hand, data mining agents help e-commerce sites to make various decisions.
4. Below is my conversation with rocky. I find that rocky does not really know how to respond to me for some of my questions. Also, some rocky’s responses are not accurate. Anyway, it is really an interesting experience to interact with rocky.
train11 activates Rocky.
Rocky says, "Gee thanks for waking me up! I must have dozed off.."
I don't understand that.
I don't understand that.
I don't understand that.
"is" is not the name of any player.
"the" could refer to TheklaM[511] (#4516), Theresea_H[411] (#3209), ThelmaH (#1232), or TheaV (#1022).
"cheese?" is not the name of any player.
"is" is not the name of any player.
"cheese?" is not the name of any player.
I don't understand that.
I don't understand that.
I don't understand that.
You say, "hello"
Rocky says, "Do you have any hobbies?"
train11 yes, i like swimming
Rocky [to train11]: You seem quite positive on the subject...
train11 Yes, how about you?
Rocky says, "Yes? Hmm, that's interesting..."
train11 how about you?
Rocky says, "I like the way you bring up such great topics to discuss.."
train11 do you have any hobbies?
Rocky says, "I am sure you should be working on another assignment..."
train11 yes, right
Rocky says, "You seem quite positive on the subject..."
train11 hush rocky
Exercise 15
1. A location based service is a kind of service that is offered via a cellular phone or other mobile device. The service is dependent on the location of the mobile device.
An example of its application is a monitoring system to track children, with the parents operating under the assumption that their children cannot be far away from their phone devices.
Another example is to find out the list of restaurants nearby when people are on the street somewhere. This application can provide restaurants and dinning information nearby.
2. The purpose of the Open Mobile Alliance Initiative is to remove the barriers between different standards in order to provide an easy to use mobile experience to users. This encourages competition among service providers and encourages differentiation.
3. The main components of a mobile Web services framework are as follows:
- Connectivity layer
- Control layer
- Service layer
- Intenet
4. Cathy Pacific airline (http://www.cathaypacific.com) website has been researched. It is found that seat booking confirmation function is confirmed via SMS. For the banking industry, the HSBC (http://www.hsbc.com.hk) website has been researched. It is found that the mobile banking service is provided by the bank for online transaction services.
Exercise 16
1. To manage and to develop integrated systems, I would like to choose “XML and Web services” as the glue. It is because technologies like XML, OWL, RDF and Web services have been developed to support such kinds of system integration. A web service is a collection of functions that form as a standalone entity such that it is published for use by other systems or programs.
2. My summary of my understanding about the subject of “ITC594 E-systems Infrastructure Development” is as follows. I can learn or refresh my memory about the various technologies for e-systems nowadays. In particular, the topic about mobile computing is new to me. This topic is so hot nowadays and therefore it is so important to learn and understand. I believe that more and more technologies and applications will evolve in the area of mobile computing. And I think that it will dominate more in the marking in the coming future!
Introduction
I am a System Analyst working in private section in Hong Kong. In particular, my job is mostly related to system integration and web application development.
I would like to take this course becuase I want to learn more emerging technologies in IT field so that I can apply the knowledge in my job.
In this e-profolio, it is divided into the following sections:
- Introduction
- Exercises
- Workshops
- Resources
- Commentary
- Conclusion
I would like to take this course becuase I want to learn more emerging technologies in IT field so that I can apply the knowledge in my job.
In this e-profolio, it is divided into the following sections:
- Introduction
- Exercises
- Workshops
- Resources
- Commentary
- Conclusion
Subscribe to:
Posts (Atom)