Wednesday, September 16, 2009
Exercise 8
This is the first of two elevator pitches for ITC382 business to business systems. This subject will follow our progress through the use of ruby on rails as a framework for the development of an online system. During this 13 week period we will delve deep into the world of developing online systems and plan, design and develop our way to the final goal. During our studies we will utilize a blog to comment on our research and experiences with ruby on rails.
Ruby on rails is an open source web framework that has been optimised for greater efficiency and sustained productivity. Ruby on rails can be used to create e-commerce solutions including online booking systems as well as client/server computing in general. The design concepts that are used in ruby on rails are REST, DRY and convention over configuration. The REST architecture is implemented by ruby on rails through representing its states in http format. The DRY concept states that the unnecessary repetition of code is wasteful and hinders productivity. Toolsets and programming practices help overcome these issues. Convention over configuration is a model that reduces the amount of configuration needed by the administrator that increases the simplicity of development without reducing flexibility.
Exercise 7
Representational State Transfer, when compared to other web services, has many highly desirable architectual properties: scalability, performance security, reliability and extensibility.
Tuesday, September 15, 2009
Exercise 6
Sunday, September 13, 2009
Exercise 5
- $_SERVER[$REMOTE_ADDR] - You are connected from: 127.0.0.1
- $_SERVER[$PHP_SELF] - You are connected from: 127.0.0.1
The second exercise creates a variable, $myvar, and assigns it a value, Hello World!. The echo function is then used to display the variable, Hello World!, on the screen for the user.
The third exercise creates a form to enter your name which uses the "Return" key to submit the text. The result was:
The fourth exercise builds a php file that uses the input from the last exercise and prints it on the screen for the user. Although I did not get the desired result, from purely ready the code I could see what the outcome was supposed to be.
For the fifth exercise I could create the database and tables, no worries. Using the database commands:
CREATE DATABASE mydatabase;
USE mydatabase;
CREATE TABLE employees
(First varchar(20) NOT NULL,
Last varchar(20) NOT NULL,
Address varchar(50) NOT NULL,
Position varchar(20) NOT NULL);
The rest of exercise five is where I had trouble and run out of time to complete. Hopefully have a bit of time towards the end of semester to fix it up.
Workshop 4
The syntax for a Javascript "If" statement is as follows:
- if (condition) { code to be executed if condition is true }
The syntax for a Ruby "If" statement is as follows:
- if object < method =" action">
The major difference here is the use of parentheses. Ruby is written with perentheses for purpose of precedence, while in Java conditions must be inside perentheses and curly brackets are used around the code block.
Some of the similarities between Java and Ruby include:
- They both include public, private and protected methods
- Memory is managed via a "grabage collector"
- Both are object-orientated languages
References
Saturday, September 12, 2009
Workshop 3
- MySQL Administrator 1.2
- MySQL Query Browser 1.2
- MySQL Migration ToolKit 1.1
Rails is installed and running, however, my lack of development skills/knowledge is showing as a large portion of my time has been spent getting this section up and running with little success. I am understanding what Rails is and why it is used, however, when it comes to fitting it all together to get a working app, that is where I fall in a heap. I am studying network engineering and through my frustrations with getting Ruby on Rails to work I am becoming more and more confident that I have chosen the right path for me.
I will try to increase my learning and skills with rails through more Ruby on Rails reading and hopefully get my head around this development process. Resources currently being looked at are:
- The “Rolling with Ruby on Rails” series and “Cookbook recipes by Curt Hibbs and others beginning at http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html
- and, “Fast-track your Web apps with Ruby on Rails” at http://www-128.ibm.com/developerworks/linux/library/l-rubyrails/
Thursday, September 10, 2009
WorkShop 2
I have learnt more about the Model-View-Controller (MVC) through the
http://wiki.squeak.org/squeak/1767. I have learnt that MVC is the pattern behind the traditional SmallTalk80 user interface and is one of the earliest and most successful design patterns. MVC was developed in 1979 by Tygve Reenskaug.
In MVC the user input, modelling of the external world and the visual feedback to the user are separated and handled by 3 types of object:
- The view manages the graphical and/or textual output
- The controller interprets the mouse and keyboard inputs from the user
- And, the model manages the behaviour and data of the application domain, responds to requests for information about its state, and responds to instructions to change its current state.
References
- http://wiki.squeak.org/squeak/1767
- http://guides.rubyonrails.org/getting_started.html
Sunday, September 6, 2009
Workshop 1
I have dabbled a little bit in in php and Java during my TAFE course but very little!! Did a bit of work with VBScript, SQL and HTML though. Been a long time since I've used any of them so I'm re-learning a bit.
Ruby is an interpreted scripting language as it is compiled at run time. It does not need to be interpreted into binary code before it is run.
Rails is a web framework separated into various packages that the Ruby code is run and encapsulated to produce web applications. This results in the developing process requiring less tweaking and configuring than other methods of development.
Exercise 4
Client/Server architecture is most commonly used throughout the internet and within business networks. Everytime you type in a web address and connect to a website, you are the client and the website is the server. In the client/server architecture server's hold the bulk of the data and the clients access the server to retreive or manipulate that data. In some cases servers run applications aswell as store the data. This is typical of a ThinClient setup, where the desktop has little processing power and hard disk space or memory. All of the processing is performed on a central server.
Exercise 3
Dynamic Host Configuration Protocol is a service which is used by devices to automatically obtain configuration information necessary to operate in an IP network. DHCP servers send information to clients on the network such as IP addresses, subnet mask and the default gateway etc.
The main differing feature of DNS and DHCP is the information given by both, DHCP allocates the IP configuration information for a device and DNS allocates a meaningful name for an IP address.
It becomes important for an online business application to use a static IP address rather than a dynamically assigned one from DHCP because DHCP allocates the next available IP address to a device, let’s say 'device1'. This can be an issue if another device, 'device2', receives the IP information that was originally used by 'device1', this will result in the DNS table being incorrect and using the domain name will result in 'device1' being inaccessible. The DNS server can resolve this issue but it takes time and any time that the device is inaccessible is money lost in the business world.
A Virtual Private Network could be used in a Business to Business system to allow the secure transfer of client and mission critical data between business sites or clients. A VPN can also give a means of securely connecting to a private part of a business’s website. VPN's can be useful to business by segregating networks into departments of a business rather than the geographical location.
Grid computing is a combination of computer resources are collectively used to manipulate and process data. Grid computing is commonly used when needing a great number of computing cycles or there is a need to process large amounts of data. This allows smaller businesses the chance to utilise their computing power to meet the demand without having to fork out thousands of dollars to buy a new server.
The next generation of wireless mesh networks will aid businesses in the cost of wired networks and increase the mobility of its staff. Wireless mesh networks are made up of multiple wireless nodes overlapping to produce a much larger network coverage area, this will allow staff to roam anywhere within the coverage area without losing good quality coverage or connection to the network.
Cloud applications can be used in business to aid in clients not needing to run some applications on their local machine. Other types of cloud applications such as P2P systems remove the need for data to be stored on a server, instead the data is stored and load balanced between the peers connecting to each other.
Cloud computing may be viewed as a 'black box' because it is not necessary to know the inner workings of the system to be able to get the most out of it. All that is needed is the appropriate information to be able to connect and receive information from it, for example in a P2P network. Grid computing is known as a 'white box' because in order to get the most efficiency out of the grid computing setup, you must know the inner workings of the system and load balance processing between them.
Exercise 2
- Gathering data and requirements from stakeholders
- Develop/Implement prototype
- Test and validate and get user feedback
- Iterate to satisfy all users needs
REP and Agile Development are closely related as close contact is required between the developer and the stakeholder to ensure that the delivered prototype, and ultimately, the delivered system meet the stakeholder’s needs.
Saturday, September 5, 2009
Exercise 1
These online communities allow the people involved to share their interests, views and thoughts with other like minded people. Websites such as Facebook, MySpace and Bebo have created the means for online communities generally for people that have some form of real life relationship, whereas, websites like Tapped In (for educational professionals) and Charity Channel (for non-profit professionals) provide a place for professionals to share their experiences and thoughts etc.
Online communities have become important for e-commerce as it allows people to buy and sell goods and services. This 'new' type of community has provided different benefits and opportunities for businesses that were never possible in the past, some of these include online purchasing where a business does not require a physical shop front, which allows small businesses to compete with large enterprise, and also create the ability to advertise to specific groups of people.
Online communities allow for people to rate and comment on a businesses goods or services which allows other potential buyers to determine which items to purchase or whether or not to make a purchase. This rating system has been a large benefit for the online ordering website www.amazon.com, the site is able to bring together like minded people through the use of forums on the products they provide and entice discussion on those particular products. Items are easily ordered from the site through a shopping cart system, a virtual representation of buying groceries at a supermarket, where items can be viewed, then added to the cart and paid for at the 'check-out' through the sites secure payment system.
Price comparison sites are emerging throughout the internet which allows online users to compare prices and products in there own time, 24 hours a day 7 days a week, which saves time and the need to travel all over town finding the best deal. Some sites even allow for user input and discussions on products and even businesses which can help when choosing a product that may require follow up service from the business.