Saturday, March 27, 2010

Exercise 4 - Network and Web programming frameworks

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

P2P
Peer-to-peer or P2P, is a distributed network architecture composed of participants that make a portion of the resources (such as processing power, disk storage or network bandwidth) directly available to other network participants, without the need of a central co-ordination service or instance (Wikipedia, 2010). Some of the distinguishing properties of P2P is that the nodes or peers themselves are both consumers and suppliers. The architecture of the network is decentralised meaning there is no central location as all nodes serve requests and responses. Below is an example of BitTorrent which uses peer-to-peer networking in the functioning of this application.





Advantages P2P
1. Robustness of a decentralised network
2. If one or many nodes fails the network is not down, as the resources as shared and distributed among the nodes

Disadvantages P2P
1. Administration is difficult
2. Lack of security of the network




Client/Server

Client/Server architecture on the otherhand uses a central node or co-ordinator (i.e. a server) which is usually a high-performance machine which serves requests from clients (i.e. desktops). A client itself doesn't share any of its resources but it requests servers content, which the server generates and returns to the client. Below is an example of a client/server architecture for a internal website.



Advantages Client/Server
1. Increase security as sensitive data can be stored on secured systems
2. Administration of the network is easier than P2P

3. Network is centralised

Disadvantages Client/Server
1. Server or central component can be overloaded given a rise in simultaneous requests
2. If a critical component fails the network can be brought to a halt










2. Frameworks for development. Compare and contrast any TWO of: Java, .NET, Ruby on Rails, Turbo Gears, Google Gears, AJAX frameworks.


Ruby vs Java presentation from Belighted.com, this gives a great explanation of the differences between java and ruby on rails.Ruby vs Java

References
Wikipedia (2010). Peer-to-peer architecture retrieved 27th March 2010, from http://en.wikipedia.org/wiki/Peer-to-peer

Friday, March 5, 2010

Exercise 3 - From DNS and DHCP to Clouds and Grids

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

DNS is short for Domain Name System. It is a service with a number of different servers all over the world which help to translate domain names (www.google.com) into their respective IP addresses (32bit addresses), so that a server hosting a webpage or other content can be found.
Why DNS was created was because it was easier to navigate and remember names vs a ip address when browsing the internet. DNS is the backbone of the internet, and without it the internet would be difficult and cumbersome to navigate around.

DHCP is short for Dynamic Host Configuration Protocol. It is used in delivering configuration information and assignment of ip addresses to the hosts on a network. Say a new computer is added to your small businesses network, the DHCP controller would pass across to the new computer network cofiguration information and ip address automatically without manual intervention. The DHCP server handles all local network configuration administration and assignment of ip addresses for all hosts on the network.

The difference between DNS and DHCP is that DNS translates the readable address into a network readable form (i.e. IP address), whereas DHCP actually assigns the IP address to a device on the given network.

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

The importance of online business having a static ip address vs a dynamic ip address is down to the fact that domain names such as google.com, smh.com.au must have an ip address associated with each one. If this ip address was to be assigned dynamically each time the online business server was to connect to the internet, all the domain name servers would need to update accordingly across the world which could take hours. Meaning potential customer could be affected by not being able to locate content from their website or external gateways provided.

3. What role can the following play in business-to-business e-commerce?

a. Virtual Private Network (VPN) or Grid computing services

VPN is another layer on top of an underlying computer network. It serves as a secure transmission medium for 2 defined parties. How this particular technology can help serve business-to-business e-commerce, is data and transactions are securely transferred between the 2 parties without any interference or manipulation of data over an underlying computer network (aka the Internet).

Grid computing is little more specialised and relies on the combination of computer resources to serve a common goal. An example of grid computing is used throughout the world now in graphics animation movies such as Avatar for the 3D rendering and masses of data. How e-Commerce might utilise this phenomenon is through the allocation of certain resources for other businesses to do certain tasks.

b. Next generation of wireless mesh networks

A wireless mesh network is a communications network made up of radio nodes organised in a mesh topology (Wikipedia, 2010). Wireless mesh networks consist of clients, routers and gateways which work in harmony to provide this network. How businesses can benefit from this particular technology is in particular rural areas where inadequate internet access is causing a greater divide between city and country. Wireless mesh networks provide an excellent framework for delivering broadband services not only for social communications for people but also help rural businesses advance in the delivery of e-commerce applications.

c. Cloud or Social Cloud applications

Despite the possible security and privacy risks which cloud computing can have on e-businesses. Cloud computing has a number of other advantages which e-businesses will want to take advantage of.

1. Reduced Cost - only pay for what you use, so the initial outlay for infrastructure is greatly reduced
2. Increased Storage - can store more data than one private computer system
3. Flexibility - cloud computing provides much more flexibility, in delivery of e-business applications than past methods
4. More Mobility - clients and employees can access information wherever they are, rather than having to remain at their desks.
5. Shift Focus - no longer have to worry about keeping the network IT infrastructure running, but can concentrate on innovation for e-business.

Some of the most notable successful e-businesses using cloud technology include Facebook, and Salesforce.

4. If cloud computing is the 'black box', then grid computing is a component as the 'white box'. Explain what you interpret about that statement.


The definition of black box is that users cannot see the inner workings of a system, only the inputs and outputs are visible (Wikipedia, 2010). White box is opposite as this allows the users to see the internal workings of the system, but cannot change the internal working (Wikipedia, 2010).

Why cloud computing is a black box is because as a business you don't necessarily need to know how the cloud internally works, only what the inputs and outputs are for a particular service you are using. Whereas with grid computing, which is about processing power utilisation for a resource intensive task, such as genome mapping. This requires indepth look at how to best utilise the grid to gain maximum benefit for this particular task.

References
Wikipedia (2010). Wireless Mesh Networks Retrieved 15th March 2010, from http://en.wikipedia.org/wiki/Wireless_mesh_network
Wikipedia (2010). Black box retrieved 15th March 2010, from http://en.wikipedia.org/wiki/Black_box
Wikipedia (2010). Black box retrieved 15th March 2010, from http://en.wikipedia.org/wiki/White_box_%28software_engineering

Exercise 2 - Finding some common ground

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

A type of development in which emphasis is placed on developing prototypes early in the development process to permit early feedback and analysis in support of the development process.

From experience in both waterfall and agile projects for the development of many web applications, a prototype helps the customer realise the proposed system and can bring about new ideas and changes. This however can have many benefits and pitfalls. Some benefits include being able to adapt to change quickly and effectively so that your web site really matches what the user wants. However this can also lead to scope creep and too much change leading to projects never ending. But, I believe that prototyping is a crucial key to the success of a project. It allows users to interact (be it limited at the start) to interact and provide necessary feedback in the early stages of the development, so that it can limit the chances of those fundamental changes all developers dislike (i.e. complete rewrite of the internal workings of the application because something was overlooked from the start).

Here are the steps involved in Rapid Evolutionary Prototyping Approach for a web application has four stages:

1. Collection and definition of the user requirements
2. Development and implementation of the prototype
3. Testing and feedback by users and developers
4. Moving on to the next iteration.. (i.e. going over the first 3 stages again and again till completing the application)

By using this approach from the beginning of the development of the web application the prototype is refined and evolved overtime through each implementation, which includes feedback from users/stakeholders and testers of the system. The benefit is that you have a system that really matches what the stakeholders and users want; detects hidden requirements, and fundamental changes earlier on in the process; provides better flexibility, and speed to development and implementation as requirements are done in iterations and not all up front before the development starts starts.

Agile methodologies evolved from the Rapid Evolutionary Approach. The stages themselves are very similar, in that requirements, feedback, and development of the prototype are key. However the key main differences is that it time boxes releases into shorter time spans, such as weeks (i.e. 2 weeks) rather than months, and the work is very highly collaborative with daily stand ups with all team members to keep track of where development and testing are in the iteration.

Exercise 1 - Analysis of the online communities paradigm

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 or virtual community is one that exists online and whose members enable its existence through taking part in the membership rituals (Amy Jo Kim, 2000). Facebook, Bebo, MySpace, Yahoo all share a common factor which is that they provide people a means of facilitation and collaboration in the virtual sense online, through sharing their lives and thought with others.

Given the explosive nature of the internet and e-commerce, these online communities and social networks in regards to e-commerce cannot be overlooked. Yahoo offers e-commerce services such as Shopping, Real Estate, Travel, Cars, Jobs which enables the users of this online community to make commercial transactions on the one site. Facebook, the social networking site is used by more than a 150 million people to share personal information with friends online. E-commerce site owners see the potential with Facebook due to the amount of traffic and the number of members and communities it has, so facebook allows members to either create free business pages or ad campaigns with pay-per-click advertising. This gives e-commerce site owners greater access to potentially more clientele, an example of this was undertaken with a project I was working on for ING Direct whereby they had a new product called "Orange Everyday" which was a Fee Free Everyday Bank account. To get more exposure they used Facebook to gain more market penetration/product awareness, which in turn helped to gain more member sign ups to the group Fee Fighter.

In conclusion, we can see online communities and social networks, give e-commerce businesses greater access to consumers, and potentially more markets without constraints of geographical boundaries because the potential client is part of a virtual community.

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

'Community' can be defined as a group of people having common interests.

Yahoo offers a common thread and a sense of community through virtual groups (i.e. not restricted by geographic boundaries). Users can select which groups they're interested in interacting in, and build relationships through online collaboration (i.e. online chatting, and posts) with others who have a common interest of the groups. Some of the examples of the groups with common threads that users can subscribe too include Business & Finance, Religion, Love & Romance, Entertainment & Arts, Music, and Health & Fitness to name a few.

Facebook offers users a way of creating a virtual profile, with whom they can add friends, family, relatives, groups. Can upload pictures, interact with facebook specific applications, and post status updates on their daily lives. This creates a sense of a local community and common thread as these are people with whom you allowed to be friends and interact with you online.



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?

To give a little background knowledge, Amazon was started in 1994 by Jeff Bezos and started its online presence in 1995. It started out as an online bookstore, but soon diversified to other product lines of DVD's, music, software, video games, electronics, apparel, furniture, and so on.

Why Amazon was so successful is that they penetrated the online market first by offering books online. But this was only one part, they went about marketing there unique product through banner ads on other websites so they could generate brand awareness of this unique way to purchase books online. By keeping there site user friendly with a personal feel for every user based on suggestions this helped create an experience which was pleasant and a good experience in which a customer would not buy once, but multiple times, and become synonymous with books.

Purchasing a Book from Amazon

1. Go to the Amazon Website, and select books
2. Search by book title, ISBN, and many other filtering methods
3. Select the book you wish to purchase
4. Add the book to your Virtual Shopping Cart
5. Go to virtual checkout
6. If a new customer you will need to setup an account, with a username and password, and delivery details.
7. Select from a choice of delivery methods
8. Select payment method (i.e. a user can have creditcard details stored against there particular account)
9. Make payment and receipt is displayed and sent to your designated email for the account
10. Book is processed and dispatched to the delivery address using established logistics businesses.

b. Are there any secure transactions not involving money?

Amazon.com accepts American Express, Diners Club, Discover, JCB, MasterCard, Eurocard, Visa, Visa Check Cards, payment from your bank account, Amazon.com gift cards, Amazon.com Gift Card claim codes, and the Amazon Store Card.



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


With price comparison services / sites these allow individuals to gain greater access to a number of retailers offering the same product listing the cost and delivery vs other e-commerce sites. The model doesn't make money by charging the client individual searches and locating the cheapest option. Its makes its revenue through e-retailers themselves through either a commission based system on a pay per view/purchase or a flat fee the e-commerce site has to outlay to turn up in the results.

How these new models might affect current and initiating e-commerce sites is that it can bring further competition and squeeze profit margins on certain products e-commerce sites offer.

Introduction

Hi my name is David McKay, i'm currently in my third year of Masters in IT (completed 8 subjects so far). I've been in IT for around 10 years now... mainly as a developer for most of that time (7 years), but now have switched to Technical Business Analyst..

I currently work for ING Direct which is supporting my attainment of gaining a Masters Degree in IT.

Looking forward to learning a bit more from this course.. Alot of the topics i have come across before (especially dev), and some i haven't... but it will be a good refresher.

The role play part i have chosen in the development of this blog is a developer/analyst, as this is most closely aligned to the work I currently undertake with my role in ING Direct.