Hello and welcome every one, my name is Pathik Vora and this is the Assignment 1 of the subject E-System Infrastructure code of the subject is ITC594. I have worked very hard in this assignment and my girlfriend is really not happy from me as I have pass no time with her in last 3 week. Here I want to introduce my group member Samir Champaneria, who is working alongside with me through out the assignment. We found little bit tough as we started late for making this assignment but we had finish majority of assignment on time as we have divided our task from the beginning of the assignments.
The study guide exercise no 1 to 5 is been done by Samir and Sinatra application step and rest of the study guide exercise (Ex 6, 7, 8) is been made by me (Pathik). Most of my time I have passed on to install the different types of software and making them run. More than a 75% of my time (almost 2week) I was not able to making run simple hello world application on my local host. But as time passed I started to enjoy the magic of ruby. This assignment not only helps me to redevelop my old C/C++ technical skills but also open my eyes to view the dialect as a ruby programmer.
Active in ruby would be like a cherry on the cake in my professional carrier development
It is stroke of luck for me and really a bonus for me if I can learn other frameworks too. As far as the assignment concern almost all exercises are sustained and challenging as I feel that I can do more and more better.
So whilst the Easter bunny didn’t visit this year, I am at least wiser in the ways E-systems Infrastructure development, and perhaps a little healthier from the distinct lack of Easter eggs.
Friday, April 16, 2010
References
Bidgoli, H. (2008). Global Perspectives In Information Security: Legal, Social, and International Issues. New York: Willey.
Boer, P. d., & Pels, M. (2005). Host Based Intrusion Detection Systems: University of Amsterdam.
Burman, F., Fox, G., & Hey, A. (2003). Grid Computing: Making Global Infrstructure Reality. San Franscisco: Wiley.
Costello, R. (2009). Building Web Services the REST Way.
Eustace, K. (2009). ITC 594 - E-systems Infrastructure Development Study Guide. Wagga Wagga: Charles Sturt University.
Flanagan, D. (2005). Java in a Nutshell. California: O'Reily Media.
Hartl, M., & Prochazka, A. (2008). RailsSpace: Building a Social Networking Website with Ruby on Rails: Pearson Education.
Holzner, S. (2006). Beginning Ruby on Rails. Indianapolis: Wiley Publishing.
Ince, D. (2004). Developing Distributed and E-Commerce Applications (2nd ed.). Essex: Pearson Education.
MSDN (2010). Waitable Timer Object (Windows) Retrieved 10 April, 2010, from http://msdn.microsoft.com/en-us/library/ms687012%28VS.85%29.aspx
Reynolds, G. W. (2010). Information Technology for Managers. Boston: Course Technology.
Selvam, R. (2004). Thread Synchonization for Beginner Retrieved 10 April, 2010, from http://www.codeproject.com/KB/threads/Synchronization.aspx
Webopedia (2010). DHCP Retrieved 20 Mar 2010, from http://www.webopedia.com/TERM/D/DHCP.html
Webopedia (2010, 6 Jan 2010). Phishing Retrieved 10 April 2010, from http://www.webopedia.com/TERM/P/phishing.html
Whatis.com (2010). What is Cloud Computing Retrieved 21 Mar, 2010, from http://searchcloudcomputing.techtarget.com/sDefinition/0,,sid201_gci1287881,00.html
Whatis.com (2010). What is peer to peer Retrieved 29 Mar, 2010, from http://searchnetworking.techtarget.com/sDefinition/0,,sid7_gci212769,00.html
Boer, P. d., & Pels, M. (2005). Host Based Intrusion Detection Systems: University of Amsterdam.
Burman, F., Fox, G., & Hey, A. (2003). Grid Computing: Making Global Infrstructure Reality. San Franscisco: Wiley.
Costello, R. (2009). Building Web Services the REST Way.
Eustace, K. (2009). ITC 594 - E-systems Infrastructure Development Study Guide. Wagga Wagga: Charles Sturt University.
Flanagan, D. (2005). Java in a Nutshell. California: O'Reily Media.
Hartl, M., & Prochazka, A. (2008). RailsSpace: Building a Social Networking Website with Ruby on Rails: Pearson Education.
Holzner, S. (2006). Beginning Ruby on Rails. Indianapolis: Wiley Publishing.
Ince, D. (2004). Developing Distributed and E-Commerce Applications (2nd ed.). Essex: Pearson Education.
MSDN (2010). Waitable Timer Object (Windows) Retrieved 10 April, 2010, from http://msdn.microsoft.com/en-us/library/ms687012%28VS.85%29.aspx
Reynolds, G. W. (2010). Information Technology for Managers. Boston: Course Technology.
Selvam, R. (2004). Thread Synchonization for Beginner Retrieved 10 April, 2010, from http://www.codeproject.com/KB/threads/Synchronization.aspx
Webopedia (2010). DHCP Retrieved 20 Mar 2010, from http://www.webopedia.com/TERM/D/DHCP.html
Webopedia (2010, 6 Jan 2010). Phishing Retrieved 10 April 2010, from http://www.webopedia.com/TERM/P/phishing.html
Whatis.com (2010). What is Cloud Computing Retrieved 21 Mar, 2010, from http://searchcloudcomputing.techtarget.com/sDefinition/0,,sid201_gci1287881,00.html
Whatis.com (2010). What is peer to peer Retrieved 29 Mar, 2010, from http://searchnetworking.techtarget.com/sDefinition/0,,sid7_gci212769,00.html
Step 8 In your blog, answer these questions:
Topic 1 What is Git? Why is it useful?
Topic 2 Describe how Sinatra relates to Ruby on Rails.
Git is an open source distributed revision control system with an emphasis on being fast and small. Git is written mostly in C and was initially designed and developed by Linux Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. (http://en.wikipedia.org/wiki/Git_%28software%29)
GIT is designed in order to handle small as well as the large projects with efficiency. This GIT does not depend on network access or the central server.
Advantages:
Portability
Adoption
- Source code hosting
- Can handle different project using Git
- Working with other repositories
Sinatra will be written in the programming language called Ruby.
While, Ruby on Rails and Sinatra is not a Model-View-Controller (MVC) based framework
Sinatra is very simple but powerful DSL to define RESTful HTTP actions.
Sinatra also defines how the applications are going to response.
As we have already see in hello word example:
require 'rubygems'
require 'sinatra'
get '/' do
"Hello world"
end
As per Evans, the application code of Sinatra is very simple and small and it is implemented as a Mongrel handler (Evans, 2007).
Topic 3 What is Heroku? What is a Heroku “Dyno”? Describe how Heroku makes deployment and scaling of Ruby web applications easy.
Heroku is the instant ruby platform. Deploy any ruby app instantly with a simple and familiar git push. Take advantage of advanced features like HTTP caching, memcached, rack middleware, and instant scaling built into every app. Never think about hosting or servers again. Heroku is a multi-tenant platform and hosting environment. Your app doesn’t need its own servers, slices, or clusters, and you’ll benefit from continuous platform improvements. Each element in this diagram represents a large pool of servers invisibly managed by Heroku. Because we control all the infrastructure and software layers, we can present a clean interface for deploying your code.
What is a Heroku “Dyno”?
A dyno is roughly equivalent to an individual Mongrel, Thin, or FastCGI backend in traditional Ruby deployment environments. In fact, Heroku uses Thin at the core of its dyno architecture, so you can think of dynos as having the same constraints as individual Thin processes.
What makes a dyno unique is not the individual Thin process but the features enabled by the rest of the Heroku platform.
Elasticity: The number of dynos allocated for your app can be increased or decreased at any time – without server provisioning of any kind.
Intelligent routing: The routing mesh tracks the availability of each dyno and balances load accordingly. Requests are routed to a dyno only once it becomes available. If a dyno is tied up due to a long-running request, the request is routed to another dyno instead of piling up on the unavailable dyno’s backlog.
Process management: Each dyno process is monitored for responsiveness. Misbehaving dynos are taken down and new dynos are launched in their place.
Distribution and redundancy: Dynos are distributed across a large cluster of machines called the “dyno grid”. An app configured with two dynos is running two processes, as you'd expect, but each process is running on a separate machine. If a machine goes down, your site stays up – even with only two dynos.
Describe how Heroku makes deployment and scaling of Ruby web applications easy.
Dyno processes run in a partitioned Unix environment within a standard Ruby VM (Ruby version details). There are no Heroku specific APIs. Dynos are free to use any frameworks, gems, libraries, or network services (outbound network connections are allowed) available. In most cases, standard Ruby web apps just work.
Filesystem
The ./tmp and ./log directories are writeable but their contents are not shared between multiple dyno processes. The rest of the filesystem is read-only and contains the app’s source files.
It’s not possible to use the filesystem to store data between requests, since dynos can’t see each others writeable data. The Application Constraints topic has more on the read-only filesystem, including techniques for accomplishing tasks that traditionally required shared disk access.
Environment variables
Heroku uses standard Unix environment variables to provide dyno processes with information about the system and configured Heroku network services. For instance, the DATABASE_URL environment variable specifies the network location of the app’s PostgreSQL database; similarly, MEMCACHED_SERVERS contains the IP list of all servers in the app’s memcached cluster (for app’s that have enabled the memcached add-on). You can also manage a custom environment variables with Config vars.
Topic 4 Inspect the Hello World application “app.rb” file. Answer these questions:
a. What is the purpose of the “/param/:name” method?
b. What happens when the user navigates to the /home page?
c. What is the purpose of the :set directive?
Exercise 8: XML introduction
Topic 1 Create an XML document for an online catalogue of cars where each car has the child elements of make, model, year, colour, engine, number_of_doors, transmission_type and accessories. The engine has child elements called number_of_cylinders and fuel_system.
What is XML?
• (Almost) self-describing data
• Robust error-handling
• Internationalized
• Any schema allowed
XML Helps
• Consistent format
• Labels all the information
• Can send just updates
• Merging relatively simple
• Even in merged catalogue, can keep information separate
Why use XML?
• Content re -use
• Automation of processing after creation
• Ultimately viewed by human
• Non-proprietary data format
Different Marketplaces
• Suppliers supply more than one marketplace
• Some are private (one buyer)
• Others are industry (many buyers)
• Some are public (many buyers)
Exercise 7: Application server platforms in e-commerce
Topic 1 Why is the perception getting stronger that integration will become a critical factor in coming days?
According to Australian computer society there are three types of integration System integration, Digital integration and enterprise application integration. After rapid inventions in IS/IT nowadays, IBM makeover the essential of Integration and recommends that commerce can be do good to from applying integration in the following areas:
Ø User interaction.
Ø Process integration
Ø Application Connectivity
Ø Build to Integrate
Ø Information integration
For more information Visit: http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.ii.doc/ad/ciiwhyen.htm)
Websites, these days are dynamic, complex, able to interact with many users onetime. As the earth being smaller day by day because of new web services and technologies some of them are XML, SOAP, WDSL etc… now the main and very complex work is to make application server competitive enough to integrate with these technology. And to do so the integration plays a critical role for e-commerce developers. The main aim of integration is make more powerful system and to do this work is brings components of many systems in one place from another larger or more powerful system. A simple example of integration is any website which supports the secure payment facilities provided by the other web technologies. This is revolution in the B2B transactions in which two different companies use different hardware and softwares but still able to make online transactions.
Other Related Articles:
Topic 2 What is the relationship of AJAX to JQuery (jquery.com) and the lightweight Web 2.0 javascript framework called MooTools (mootools.net) within the enterprise software architecture?
“jQuery is a lightweight cross-browser JavaScript library that emphasises interaction between JavaScript and HTML.” jQuery support many tools to build AJAX simpler. MooTools is a JavaScript web application framework also called lightweight web application framework. MooTools framework is needed to create a framework which is used to create a framework to utilise technologies such as jQuery and AJAX .
The most important factor in enterprise software architecture of JAVA is that programmers can use whatever languages or formats work for their specific goal. Ajax separates the functionality of web pages by combining different elements in different ways. Then any server-side program or scripting language allows the programmer to quickly respond to client requests in a language and format they are familiar with.
Topic 3 What are the similarities between the object-oriented development using model-view-controller (MVC) in Ruby on Rails 2.0 and Action Script 2.0 (Flash animations)?
The model-view-controller (MVC) is base on one basic principle which is separate the responsibilities. In both Ruby on Rails 2.0 and Action Script 2.0, MVC application concern with the other state and logic applications. MVC in both make sure that interface reflects the current state of the model. Ruby on Rails (RoR) 2.0 and Action Script 2.0 uses freeform languages. And both support the functionalities for prototyping.
RoR 2.0 and Action Script 2.0 both support object oriented concept design. They also have similarity in data types, objects, methods and classes. One more similarity between them is that they both use object mapping, event handling and class inheritance.
Topic 4 What does it mean to develop RESTful practices into our web applications?
Roy Fielding in 2000 changed the meaning of Representational State Transfer (REST) to explain the networking values that embody the WWW. After meeting the needs to the REST constraints is frequently referred to as being ‘RESTful’. REST basically stands for the definition “how distributed data objects, or resources, can be defined and addressed, stressing the easy exchange of information and scalability”.
Exercise 6: Web form design and processing: A basis for e commerce interaction
Topic 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.
The page can be display on the explorer like that.
Topic 2 Write the script
Script archives exist for PERL, Python and JavaScript. Search the Web for a script that processes the HTML forms data. Read the code and list the steps involved in processing the form.
Script archives exist for PERL, Python and JavaScript. Search the Web for a script that processes the HTML forms data. Read the code and list the steps involved in processing the form.
The related Script I found from the basic html tutorial website which validates the entries of the form. The condition of the validation is that all three fields cannot be null.
Begin function verify()
{
var message = "You are required to complete the following fields: ";
if (document.form.first.value=="")
{
message = message + " - First Name";
}
if (document.form.last.value=="")
{
message = message + " - Last Name";
}
if (document.form.email.value=="")
{
message = message + " - E-mail";
}
if (message == "You are required to complete the following fields: ")
{
document.form.submit();
}
else
{
alert(message); return false;
} }
So when the user click on the submit button the validation function of java script called in and checks each field specified in the function which basically check the field cannot be null. And if all fields are completed, the form is submitted. The java script for above code is been copied from http://javascriptsource.com website.
Topic 3 Can you modify the script to process the form?
Yes I can edit the script. The output after edit the script is as below.
Topic 4 Improve the user experience by add a Javascript feature.
Exercise 5: Database case study
Case A: Microsoft SQL server
The relational DBMS uses Structured Query Language (SQL) as a standard. Microsoft SQL Server 2008 has support for .NET Framework, so that stored procedures can used be in any of the .NET languages. Microsoft Dreamspark at dreamspark.com is an interesting site for the student/developer using Microsoft products.
1. Investigate the. SQL Server 2008 architecture available from the Dreamspark website.
This database case study presented the student with a number of options in terms of the database to examine as a case study. I have very limited exposure to databases and database servers, and the exposure which I had is extremely dated. As such, my knowledge of more current databases and servers is limited. With this in mind, and noting that this blog is be drafted from the view of an IT Manager, rather than a developer, I thought I would go with Microsoft SQL Server Express.
To Microsoft's credit, the website looks very user friendly and appears to offer a great array of Microsoft applications available to students to inform their studies. Included amongst these applications are Windows Server, SQL Server Express, SQL Server Developer and Visual Studio Ultimate among others. I chose to download SQL Server Express 2008 to my new notebook, as this is where I spend most of my time (usually on the road with work) working on my university assignments. The download of Microsoft SQL Server Express 2008 went relatively smoothly. This lured me into a false sense of security as I then went to install SQL Server Express, but to my surprise I have received a message saying that I required Windows Installer 5 or greater on my PC in order to run SQL Server Express. On the face of it I thought this minor obstacle shouldn’t be too difficult to overcome as I'm not a complete computer numpty. Boy was I wrong!!!! Two hours later, and after pulling out of much hair I was still wrestling with my Netbook, trying to install Windows Installer 5 on my Netbook. I had downloaded it and attempted to install it, but the installer would get to a certain point, stall, and then just magically disappear without any explanation. I consulted the Microsoft knowledgebase, many forums and messed around with my Windows Update settings and script with no success. Does anyone else find it ironic that I am having trouble installing that latest version of Windows Installer?
After many failed attempts, I bit the bullet and elected to install SQL Server Express on my old laptop. This also required a Windows Installer 5 update, but thankfully I was able to install it without incident on this particular PC. I then downloaded the SQL Server Express 2008 installer to my laptop and then commenced installation. Two hours later, the installation was completed, but with some errors. At this particular stage, five hours had passed since I began this activity, and as yet, I had not even commence exploring the wonders that lie within SQL Server Express. Given that I was at the point of throwing my laptop out the nearest window and allowing gravity to assist in dissecting it into sub atomic particles, I decided it would be best if I retired for the evening, had a good nights sleep, and returned the following day to continue to wrestle with Bill Gates.
After many failed attempts, I bit the bullet and elected to install SQL Server Express on my old laptop. This also required a Windows Installer 5 update, but thankfully I was able to install it without incident on this particular PC. I then downloaded the SQL Server Express 2008 installer to my laptop and then commenced installation. Two hours later, the installation was completed, but with some errors. At this particular stage, five hours had passed since I began this activity, and as yet, I had not even commence exploring the wonders that lie within SQL Server Express. Given that I was at the point of throwing my laptop out the nearest window and allowing gravity to assist in dissecting it into sub atomic particles, I decided it would be best if I retired for the evening, had a good nights sleep, and returned the following day to continue to wrestle with Bill Gates.
2. Test out the SQL Server Express as a lightweight application development tool. SQL Server 2008 Express Edition and report your findings.
The following day, armed with a good nights sleep and a refilled glass of patience I return to my laptop. To begin with I watched a ten Minute "propaganda" style You Tube video which provides good basic overview of SQL Server 2008 and its capabilities.
Microsoft says that SQL Server Express is very powerful and reliable with a rich set of features. Microsoft also says that it is the ideal platform for learning. They say that it is ideal for building desktop applications and small server applications. With my limited experience, I am not in position to question these claims, but after playing around with it for a couple of hours and taking a couple of introductory tutorials it would seems to be very easy enough to learn and would be well suited for the development of small server applications. Having said this, it does appear to have a number of technical restrictions which make it undesirable for large-scale deployments including the fact that it has a maximum database size of 4 GB per database and has a number of hardware limits including single physical CPU only utilisies1 GB of RAM regardless of the amount of RAM installed. However, beggars shouldn't be choosers as this software is free. Should would be developers require something more powerful, I would imagine that it would spring the $100 odd dollars to buy the developer versions of SQL Server.
These description limitations should not dissuade anyone from using SQL Server Express 2008. From my brief exposure to it, it seems a full featured and robust SQL Server engine. I followed through a number of You Tube introductory lessons which stepped through querying of databases, creating tables and a number of other basic database functions.
From working through these introductory lessons and experimenting with SQL Server Express 2008 it would seem that the use of SQL Server is relatively easy to learn and understand, however is not completely intuitive and requires some instruction. For someone like me, who has a limited background in SQL, this presented a steep learning curve initially, but after repeating a few functions they seems to become second nature relatively quickly. Given the fact that the install of the application was harder than it should have been, I probably did not examine the application with the rigour that I probably should have. However, I did toy with it long enough to discover, despite my installation problems, that it is a well put together and developed application. For those used to the Microsoft style interfaces, the use of SQL Server Express 2008 presents and attracting option as your database server of choice. All in all, it seems that SQL sever express 2008 would be suited as a lightweight application development platform. However, developers would need to seek a more powerful application for anything greater than lightweight application development due to the limitations discussed previously.
Exercise 4: Network and Web programming frameworks
Topic 1
Describe the important and distinguishing properties of Peer to Peer computing with the client/server architecture?As stated in Wikipedia (2010) Client/server computing or networking is a distributed application architecture that partitions tasks or work loads between server and clients. Often clients and servers work over a computer network on separate hardware. A server machine is a high-performance host that is running one or more server programs which share its resources with clients. Client requests a server’s content or service function and does not share any of its resources. Clients therefore initiate communication sessions with servers which await (listen to) incoming requests.
Whatis.com (2010) describes a peer to peer network is any distributed network architecture composed of participants that make a portion of their resources, such as processing power, disk storage or network bandwidth, directly available to other network participants, without the need for central coordination instances (such as servers or stable hosts). Peers are both suppliers and consumers of resources, in contrast to the traditional client/server model discussed above where only servers supply, and clients consume.
Topic2
Frameworks for development: Compare and contrast any TWO of:
a. Java
b. .NET
c. Ruby on Rails
d. Turbo Gears
e. Google Gears
f. AJAX frameworks
From my brief research it would appear that Java require a more solid software engineering approach to do well whereas Ruby on Rails can be learnt relatively quickly and easily. However, Java appears to have greater underlying capabilities with its scalability being more solid, and security is tighter. The drawback of Java is a far more challenging environment to get started in, but ultimately it will result in a far more solid end product if you persevere. Ruby on Rails appears very easy to get into with a relatively short learning curve. There also appears to be plenty of tutorials and code libraries online which can help to be newbie programmers (Flanagan, 2005).
First of all these "Mac VS PC" style videos are gay. Second of all Ruby on Rails is a framework, while Java isn't. JARs are java archive files, they're compressed data.
Not only that but Ruby On Rails was designed for web applications while Java is a programming language intended for many different uses
Not only that but Ruby On Rails was designed for web applications while Java is a programming language intended for many different uses
Both the Java web development framework and the Ruby on Rails web framework have a number of things in common under that they both utilise object oriented language, they both use Model View Controller Architecture and both are easier to utilise and maintain than other frameworks with use different languages. But there are distinct differences between these two. Java has to be compiled into a binary executable before execution, where as Ruby is interpreted at the time of execution allowing for faster development and processing. Java is statically typed, whilst Ruby is dynamic. Java’s coding effort is much greater and more complex than that of Ruby on Rails. Ruby on Rails allows a much greater ability to produce rapid applications through the use of scaffolding (Holzner, 2006). The following video provides a mildly entertaining brief comparison between the two, highlighting the simplicity of Ruby on Rails.
In terms of which web framework is better, this appears to have generated much debate over the past couple of years. From what I can tell it all depends on your background and level of knowledge of programming, Many sell Ruby on Rails as being superior because of its simplicity and ease of use, however those with solid software engineering background may be able to produce a more solid and secure product using Java. However, for generation Y, who want things now, I would say Ruby on Rails is more suited. Also, from a management view point, Ruby on Rails reduces the load on the System Developer, and presents a more efficient option than Java in terms of time taken to developing an application.
Exercise 3: From DNS and DHCP to Clouds and Grids
Topic 1
Explain DNS and DHCP. How does DNS differ from DCHP configuration?
Dynamic Host Configuration Protocol (DHCP) is a protocol that automatically provides an Internet Protocol (IP) host with its IP address and other related configuration information such as the subnet mask and default gateway (Webopedia, 2010).
The Domain Name Server (DNS) is a hierarchical naming system for computers, services, or any resource connected to the Internet or a private network. The purpose is to translate domain names into IP addresses (Wikipedia, 2010). Whenever user use a domain name, then a service is used for translating domain names into IP addresses and is known as DNS. For example, the domain name www.dns.com might translate to 192.101.202.2.
In terms of how DNS differs from the DCHP configuration, as we understand it in a network, a DHCP server manages a pool of IP addresses, as well as default gateway details, including the DNS details and also other information for the clients’ network configuration. When a new computer is introduced into a DHCP server-enabled network, it will forward a query to the DHCP server requesting all the necessary information. When the query reaches the DHCP server, it will grant the new computer a new IP address as well as other configuration details.
The Domain Name Server (DNS) is a hierarchical naming system for computers, services, or any resource connected to the Internet or a private network. The purpose is to translate domain names into IP addresses (Wikipedia, 2010). Whenever user use a domain name, then a service is used for translating domain names into IP addresses and is known as DNS. For example, the domain name www.dns.com might translate to 192.101.202.2.
In terms of how DNS differs from the DCHP configuration, as we understand it in a network, a DHCP server manages a pool of IP addresses, as well as default gateway details, including the DNS details and also other information for the clients’ network configuration. When a new computer is introduced into a DHCP server-enabled network, it will forward a query to the DHCP server requesting all the necessary information. When the query reaches the DHCP server, it will grant the new computer a new IP address as well as other configuration details.
Topic 2
Why is it important for your online business application to use a static IP address rather than have it dynamically assigned?
It is important when implementing an online business site/server to utilise a static IP address other than a dynamically assigned address as a static IP address best supports name resolution by the DNS system, so that a computer can be most reliably reached over the network by its host / domain name. Web and FTP servers in particular benefit from fixed addressing for this reason, as do online businesses. Clearly, having an online business which is consistently easily able to be accessed, then customers are more likely to return, than a site which is inaccessible.
Topic 3
What role can the following play in business-to-business e-commerce?
- Virtual Private Network (VPN) or Grid computing services
- Next generation of wireless mesh networks
- Cloud or Social Cloud applications.
With the introduction of globalisation over the past decade, instead of simply dealing with local or regional concerns, many businesses now have to imagine about global markets and logistics. Many large companies have facilities spread out across the country or around the world. In perfectly competition, where competitive advantage can mean the difference between success and failure, there is one thing that all of them need: A way to maintain fast, secure and reliable communications irrespective of where their offices are located. All of the above networks, whilst vastly different, offer businesses means connectivity. Each of these is briefly described below in terms of the role they may play in B2B E-commerce.
A Virtual Private Network (VPN) is called a private network that uses a public network (usually the Internet) to connect remote sites or users together, but maintains privacy through security procedures which encrypt the data (Reynolds, 2010). These remote sites or users may be employees of the one company, however VPNs can be establish between business to allow trading partners to maintain secure contact even when employees are on the road or geographically dispersed. Because it is a virtual network using a public network, the cost to the business, when compared to having to lease a dedicated line, is reduced.
Grid computing is a form of distributed computing whereby a “super and virtual computer” is composed of a cluster of networked loosely coupled computers acting in concert to perform very large tasks. Burman, Fox and Hey (2003) have published a book on this topic and state that this system is built on pervasive Internet standards enables organisations to share computing and information resources across department and organisational boundaries in a secure, highly efficient manner. In most B2B platforms, browser-based access co-habits with electronic data exchange. The weak point of many B2B platforms is that business partners usually connect only through a browser connection using the internet, without putting in place any electronic data exchange. This makes the interaction slow and allows frequent human errors. In addition data is updated infrequently, typically only 1-2 times a day, even when some form of automation is available. With the higher computer processing cycles and ability to process large amounts of data, grid computing presents a solution to B2B interactions for large volumes of electronic data exchange required in many modern B2B scenarios such as large database replication.
A wireless mesh network (WMN) is a communications network made up of radio node organised in a "mesh topology". The mesh clients are often laptops, mobile phones and other wireless devices while the mesh routers transfer traffic to and from the gateways which may but need not connect to the Internet. WMNs may consist of mesh clients, mesh routers and gateways. Wireless mesh technology enables businesses to deploy secure, high-bandwidth, scalable access to fixed and mobile applications across metropolitan and city areas, extending existing wired networked services and applications beyond current physical infrastructure (Wikipedia, 2010). It also means, for businesses, that consumers now have unprecedented accessibility to the internet, enabling them to access e-commerce sites even when they are mobile.
Cloud computing is a way of computing, through the Internet, that broadly shares computer resources instead of using software or storage on a local PC. Whatis.com (2010) it provides an interesting definition and description of cloud computing. With cloud computing, businesses can scale up to massive capacities in an instant without having to invest in new information technology infrastructure, train new personnel, or license new software. Cloud computing is manly benefit to small and medium-sized businesses who wish to completely outsource their data-center infrastructure, or large companies who wish to get peak load capacity without paying the bigger cost of creating larger data centers internally. In both instances, service consumers use internet and pay only for what they use. The consumer does not own the infrastructure, software, or platform in the cloud. It means the business has lower upfront costs, capital expenses, and operating expenses. This also means that the business does not have to think about how servers and networks are work and maintained in the cloud. ReasonableA Virtual Private Network (VPN) is called a private network that uses a public network (usually the Internet) to connect remote sites or users together, but maintains privacy through security procedures which encrypt the data (Reynolds, 2010). These remote sites or users may be employees of the one company, however VPNs can be establish between business to allow trading partners to maintain secure contact even when employees are on the road or geographically dispersed. Because it is a virtual network using a public network, the cost to the business, when compared to having to lease a dedicated line, is reduced.
Grid computing is a form of distributed computing whereby a “super and virtual computer” is composed of a cluster of networked loosely coupled computers acting in concert to perform very large tasks. Burman, Fox and Hey (2003) have published a book on this topic and state that this system is built on pervasive Internet standards enables organisations to share computing and information resources across department and organisational boundaries in a secure, highly efficient manner. In most B2B platforms, browser-based access co-habits with electronic data exchange. The weak point of many B2B platforms is that business partners usually connect only through a browser connection using the internet, without putting in place any electronic data exchange. This makes the interaction slow and allows frequent human errors. In addition data is updated infrequently, typically only 1-2 times a day, even when some form of automation is available. With the higher computer processing cycles and ability to process large amounts of data, grid computing presents a solution to B2B interactions for large volumes of electronic data exchange required in many modern B2B scenarios such as large database replication.
A wireless mesh network (WMN) is a communications network made up of radio node organised in a "mesh topology". The mesh clients are often laptops, mobile phones and other wireless devices while the mesh routers transfer traffic to and from the gateways which may but need not connect to the Internet. WMNs may consist of mesh clients, mesh routers and gateways. Wireless mesh technology enables businesses to deploy secure, high-bandwidth, scalable access to fixed and mobile applications across metropolitan and city areas, extending existing wired networked services and applications beyond current physical infrastructure (Wikipedia, 2010). It also means, for businesses, that consumers now have unprecedented accessibility to the internet, enabling them to access e-commerce sites even when they are mobile.
Topic 4
If clouding computing is the 'black box', then grid computing is a component as the 'white box'.
Explain what you interpret about that statement.
Explain what you interpret about that statement.
Exercise 2: Finding some common ground
Topic 1
Describe the steps involved with the Rapid Evolutionary Prototyping Approach
as it applies to developing a Web application. How is it related to agile development?
Rapid Evolutionary Prototyping is an iterative approach to software development which uses an initial prototype has been created from requirements which gathered from the stakeholders. This prototype is then used in testing to further develop it. This approach is suggested for small projects and the study guide provided for this subject (Eustace, 2009).
There are two main phases which are:
Phase 1- Evolutionary application prototyping; and
Phase 2 – Implementation
This model is very basic, and obviously each of these phases can be further broken down into other phases. In terms of developing a web based application I would see that there are atleast five main phases to the approach. These are as follows:
Phase 1 -Gather date and requirements from stakeholders for the web application.
Phase 2 –Implementation and Development of the web application prototype based on requirements determined in Phase 1.
Phase 3 – Test and Validate the web application and get user / stakeholder feedback.
Phase 4 – Iterate until the web application meets stakeholder needs.
Phase 5 – Implement the web application.
Agile development methods are a progression on the rapid evolutionary prototyping approach. Both Rapid Evolutionary Prototyping and Agile Development methods of development use rapid, frequent delivery of software to the user. Working directly with the stakeholders and constant quality communication are required in agile development and the rapid evolutionary prototyping approach. This is in contrast to software development methodologies which use a planned approach such as the waterfall model. As stated in Ince (2004) with the greater imperative for companies to develop products and services quickly, together with the infrastructure to support them the speed of development is critical to success. As such, rapid application development methodologies may be used to grow competitive advantage.
Wednesday, April 14, 2010
Exercise 1 Analysis of the online communities' paradigm
Topic 1
A) What is meant by online community and how is it important for e-commerce?
Online community exists in the web whose users enable its existence by taking part in membership rituals. It is a virtual community (Kim, 2000). It is similar as social community in the present world; an online community involves developing a web of relationships among users who have something meaningful in common, for example, hobbies, professionalism, religions, etc. In a social networking website – Facebook, users can develop a group and collect other users by sharing the same thought or interests. Users are related to each other by joining these user groups. Different online communities are formed.
Online community is a structure of virtual community under that group of people connecting with each other mainly via communication media such as letters, telephone, email, UseNet instead of in person for all kinds of purposes. For the communication media using computer networks, it is online community.
Within an online community, users can switch information of products or services. With help of these services vendors or service providers can promote their products or services without paying any extra cost. Meanwhile, they can found online communities related to their product and reach their target customers through media.
Online community gathers groups of people with common interests which facilitates e-commerce in the following aspects:-
- Contacts between potential customers, buyers and suppliers
- Developing business opportunities with e-commerce
B)……Is there a common thread and a local community sense in action?
There is a common thread and a local community sense in action in online community.
Topic 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?
Amazon.com has been a successful online shopping website just because of the few advantages:-
- user-friendly interface
- a extensive range of products
- supporting many languages
- secured transaction (Privacy)
- acceptable loading speed
- personalized shopping recommendations for users
- search functions allowing customization by users
- 1-click ordering
- allowing users to sell their old books, cd, etc.
Ordering a book from Amazon.com is quick. Once you have found the book, then add to your shopping cart and click the “checkout” button. It will ask you to log in via their secure server. When logon successfully, it will verify the billing and payment details before placing order.
- user-friendly interface
- a extensive range of products
- supporting many languages
- secured transaction (Privacy)
- acceptable loading speed
- personalized shopping recommendations for users
- search functions allowing customization by users
- 1-click ordering
- allowing users to sell their old books, cd, etc.
Ordering a book from Amazon.com is quick. Once you have found the book, then add to your shopping cart and click the “checkout” button. It will ask you to log in via their secure server. When logon successfully, it will verify the billing and payment details before placing order.
b. Are there any secure transactions not involving money?
Yes, besides payment transfer, transaction of user name and password when logon is also secured in Amazon.com.
Topic 3
What happens with new models emerging such as price comparison sites?
- architecture of web framework systems
- people’s shopping habit
- sellers' online marketing strategies
- information security issues and control
Reference:
Kim, A.J. (2000).
Subscribe to:
Posts (Atom)