Tuesday, March 30, 2010

Exercise 6 - Topic 4

1. Design the form. 'Retrofit' the form data string above:
name=Evan+Burke&card=Visa&number=8443261344895544&order=French+perfume
for buying some French perfume into the HTML form fields and submit button on the Web page form.



2. Write the script.
Script archives exist for PERL, Python and JavaScript. Search the web for a script that processes the HTML form data. Read the code and list the steps involved in processing the form.

To use perl to get the form values, the steps are below:
i. Get the query string.
ii. Split the query string by the ampersand symbol "&".
iii. Split the resultant based on "=" symbol to get the key-value pair.

3. Can you modify the script to process the form.




4. Improve the user experience by add a JavaScript feature.
JavaScript can be added to validate forms. However, it cannot br relied upon since users can choose to disable scripts.


Monday, March 29, 2010

Exercise 5

1. Investigate the SQL Server 2008 architecture available from the Dreamspark website.

Microsoft SQL Server 2008 allows organisations to run mission-critical applications, lowers data infrastructure cost and deliver information to all users. It provides robust security features, reliability and scalability for mission-critical applications.

Transparent Data Encryption
SQL Server 2008 enables encryption of entire databases, data files, and log files, without the need for application changes.

External Key Management
SQL Server 2008 provides a comprehensive solution for encryption and key management.

Enhanced Auditing
SQL Server 2008 improves compliance and security by enabling you to audit activity on your data.

Enhanced Database Mirroring
SQL Server 2008 provides a reliable platform for enhanced database mirroring. New features include:
  • Automatic page repair
  • Improved performance
  • Enhanced supportability
Resource Governor
Resource Governor enables database administrators to define resource limits and priorities for different workloads

Data Compression
SQL Server 2008 allows efficient storage of data.

Backup Compression:
SQL Server 2008 requires less disk space is required to keep backups online allowing backups to run faster.

Performance Data Collection:
SQL Server 2008 provides new monitoring and reporting tools to allow database administrators to help performance tuning.

Streamlined Installation:
SQL Server 2008 provides improvements in installation, setup and configuration architecture.

T-SQL improvements:
There has been improvements in T-SQL allowing users to pass table name as parameters and new data types like DATE and TIME has been added.

Beyond Relational Data:
SQL Server 2008 allows storage of wide variety of non-relational data types. This includes FileStream data type (large binary files), Geographical Information (geodetic spatial data), Hierarchy ID (system type to stire values that represent nodes in a heirarchy tree).

Resource:
http://download.microsoft.com/download/6/9/d/69d1fea7-5b42-437a-b3ba-a4ad13e34ef6/SQL2008_ProductOverview.docx

2. Test out SQL Server Express as a lightweight application development tool. SQL Server Express edition and report your findings.

SQL Server Express is a free edition of Microsoft SQL Server but it has some limitations. It can only work on 1 CPU, consume 1 GB Ram max and can have a database size of 4 GB.

The database can be easily created using Visual Studio or by using Microsoft SQL Server Management Studio.
I have setup a database using Visual Studio 2008 as shown below.

At first, right-clicked on the solution explorer and choose to add a new item and selected the database option.


Then, a SQL Server Express database is added to App_Data folder.


The server explorer looks like below.


As can be seen, there are options to add tables, views, stored procedure, etc as can be seen on SQL Server Management Studio.

Then, right clicked on the table, and chose to add a new table.


As can be seen, I have a table assigned various data-types to different fields. Fields like heirarchy id, date are new to SQL Server 2008. There are other interesting data types like xml and image. The xml data type enables to add a whole xml document or chunks of a xml document. The image field allows uploading image files as binary data. Fields can also be set up to have null values.

To set a primary key for the table, select the field, make sure it does not except null, right click on the field and choose "Set primary Key". To set it to an auto-number, go to the Identity-specification section and set "Is Identity" to "Yes".

Saturday, March 13, 2010

Exercise 4 - Topic 2

1. Describe the important and distinguishing properties of Peer to Peer computing with the client/server architecture?

In the client-server network architecture, a central server handles all security and file transactions. In peer-to-peer network architecture, each machine handles shares it's own resources and handles it's own security. Client server architecture is more expensive since it requires the central server and requires special software.

Client server architecture provides administrative tools which is useful where security is important. Network security can be controlled from a central location using the admin tools. Peer to peer architecture requires security to be controlled by end users making it very difficult to implement a secure environment.


2. Frameworks for development. Compare and contrast any TWO of...
   Java vs .NET

Java and .NET are both object oriented programming languages. Java was introduced by Sun MicroSystem while .NET was introduced by Microsoft. Both the languages derive it's syntax from C and C++ and both has further improved the language in it's way.

Java's web application framework - J2EE consisting of Jsp, Servlets, JavaBeans runs together making it possible to create a model-view-controller approach to web applications.

.NET's web application framework - asp.net can be written in both C# and VB. This framework contains a lot of controls that are pre-built and can be easily used. This makes it quite easy to use the application. Asp.net allows to create separate layers like (business logic layer, data access layer, presentation layer) to keep the code separate. .NET has recently introduced it's Model View Controller framework for building web applications using the model-view-controller pattern.

Source:
http://technet.microsoft.com/en-us/library/cc751396.aspx

Friday, March 12, 2010

Exercise 3 - Topic 1

1. Explain DNS and DHCP. How does DNS differ from DHCP configuration?

DNS (Domain Name System) is a naming system for computers, services, or any resource connected to the internet or a private network. It contains relevant information related to domain names for each of the components. It works as a translator between the human friendly computer hostnames and IP addresses.

DHCP (Dynamic Host Configuration Protocol) is a computer networking protocol used by hosts to retrieve IP address assignments and configuration information.


2. Why is it important for your online business application to use a static IP address rather than have it dynamically assigned?

A static IP address is required by businesses in order to host web sites, applications on the internet. Without the fixed IP address, the DNS server mapping from hostnames to IP addresses will not work.


3. What role can the following play in business-to-business e-commerce?
a. Virtual Private Network (VPN) or Grid computing services.

VPN is a secure network through which someone can connect to a domain. This can allow users to run application within that particular domain.

Grid computing combines multiple computers to run together as a virtual computer. This virtual computer can then be used to run applications much more faster.


b. Next generation of wireless mesh networks.

The main benefits of the mesh are the following;
 - Cheaper and quicker to deploy.
 - Mesh nodes can be deployed anywhere there is power.
 - Mesh is more fault tolerant than a central wired network.


c. Cloud or Social Cloud applications.

Small businesses can benefit by deploying software to the Cloud (Software as a Service, SaaS). This software can then be accessed by anyone using a web browser. Businesses can benefit by deploying applications to Cloud as it reduces cost for IT infrastructure and maintenance. Businesses do not have to worry about servers, capacity, etc by paying relatively low price to third party hosting the Cloud.


4. If clouding computing is the "black box", then grid computing is a component as the "white box".
   Explain what you interpret about this statement.

Applications are hosted somewhere in the Cloud and users/business are not aware of it's location in the server. The user only need to care if the application is accessible or not. In Grid Computing, the business needs to know whether the application is hosted since it needs to configure the server / network and maintain the application.

Source:
http://en.wikipedia.org/wiki/DHCP
http://en.wikipedia.org/wiki/Domain_Name_System
http://features.techworld.com/mobile-wireless/4129/the-benefits-of-80211s-wireless-mesh-nets/

Exercise 2 - Topic 1

Describe the steps imvolved with the Rapid Evolutionary Prototyping Approach as it applies to developing a web application. How is it related to agile development?

The idea behind using the Rapid Evolutionary Prototyping Approach is to develop a robust prototype in a structured manner and constantly refine it.

Therefore, when building a web application with this approach, the idea would be to develop a part of the system based on the requirements. The, this part of the system, the prototype, will be demonstrated to the stakeholders and the site will be improved and further requirements will be built as the development phase continues. According to Rapid Evolutionary Prototyping Approach, the requirements are never completely understood - that is, the developer of the system does not fully understand the requirements. Therefore the developers need to build the prototype and continually refine and improve it to meet the business's expectation.

Agile development is somewhat similar to Rapid Evolutionary Prototyping Approach in that it is iterative. However, it is different from the first in that it tries to deliver a fully functional system from the start and continually refine it based on inputs from the stakeholders.

Source:
http://en.wikipedia.org/wiki/Software_prototyping#Evolutionary_prototyping
http://en.wikipedia.org/wiki/Agile_software_development

Wednesday, March 10, 2010

Exercise 1 - Topic 1

1. Visit http://yahoo.com and http://facebook.com as examples of online communities.
a) What is meant by an online community and how is it important for e-commerce?

An online community is a virtual community that exists online whose members enable its existence through taking part in membership rituals (Amy Jo Kim, 2000) - (source- http://en.wikipedia.org/wiki/Online_community). An online community can be an online information source available to public where anyone can post content, comment, flag as inappropriate or / and rate contents (like Wikipedia).
The online community can also be private where users can choose who can view and interact with their content (eg. http://facebook.com).

The online communities are a great tool for e-commerce applications to market themselves since online communities can provide lot of information about a user. For example, in facebook.com there is an application that suggests a user to send gift to a user he is added to on his / her birthday.

b) Is there a common thread and a local community sense in action?

FaceBook is a social networking site that needs users to sign up and add other users before they can share content with. Mostly, the content are personal and are not open to public. This means content on FaceBook is usually not searchable on the search engines. FaceBook offers an open API through which applications and advertisements can be created that can be customised to be user specific. FaceBook offers users to create or join groups through which they can connect to people with similar interests.
On the other hand, yahoo started as a search engine and has slowly developed various tools including emails, chatting software (Yahoo messenger), news site, etc. Yahoo has created local community sites (portal) for various countries. Yahoo makes money by providing advertisements through it's various products.

2. Visit the famous online store front at http;//www.amazon.com
a) Why has it been a successful site? How does the purchase of a book work?

From a website's perspective, Amazon offers clear information on the products they sell. Amazon offers search functionality through which users can search for products and sort by various options (including bestselling, price, date, etc).

To purchase a book, one must find the book, choose quantity and click on "Add to Cart". Then he / she can click "Proceed to checkout" and either log in or create an account before the user can place order. (Various details like name, email and shipping address is collected on the process).

b) Are there any secure transactions not involving money?

Yes, secure transactions are involved in creating accounts, logins.

3. What happens with new models emerging such as price comparison sites?

Price comparison sites are getting common and is going to increase competition between e-commerce and physical stores. The stores need to react quickly and watch over the competitors with the price deals since, otherwise, they could quite easily lose customers to competitors who offer better prices.

Saturday, March 6, 2010

Overview

This blog is set up as part of ITC565 (Business Application Development). This site will document and share knowledge that will be learnt as part of studying this subject. It will mainly cover topics on online business from development perspective. It will be labeled in the following categories.
  • Introduction - An introduction of my background and an overview of this site.
  • Exercises -Solutions to the exercises from the study guide.
  • Workshops - Analysis of the workshops.
  • Resources - Links to resources.
  • Conclusion - My findings as part of learning from this subject.

About Me

Hi,

I am Shahed Kazi and is currently enrolled in Masters of Systems Development (.NET stream). This is my first semester and ITC565 is on of the two subjects, I am enrolled in.

I have worked for around 3 years in the industry. Currently, I am working at a private company as web development manager and look after various web sites for the company. From web development perspective, I have used ASP.NET, MS Sql Server, xml.

I have a strong interest in web and e-commerce development and look forward to learning new technologies from this subject.