. Business Information Systems

Sunday, February 12, 2012

Tech Guide 2

You are the CIO of your company, and you have to develop an application of strategic importance to your firm. What are the advantages and disadvantages of using open-source software?
The use and growing popularity of open-source software (OOS) can be extremely beneficial to some companies and detrimental to others. We begin by discussing arguably the most important factor which is cost. Cost can be an advantage or disadvantage depending on perspective. The advantages of free software are obvious, but identifying the disadvantages may require stepping back and viewing the situation from the perspective of software vendors whose revenue is made solely on sales of proprietary software. OSS that can provide the same functionality as proprietary software sold for profit is very difficult to compete with. In some cases, OSS can force for-profit software vendors out of business so it would be wise to consider the business value of the competing vendor before choosing to opt for an OSS product. Another important factor to consider is the quality of support that can be expected from a product whether it be OSS or vendor software. Often times in larger OSS projects, the original developer(s) can be very difficult to contact and may require a fee to support the product. Many online communities exist for OSS projects that may be able to provide support, but there is no guarantee that the person seeking support will be met with the same professional courtesy as one would expect from a vender. Proprietary software in many cases can prove to be very difficult when it comes to searching online for a particular issue, where as with OSS, one may only need to use an appropriate search string in order to find a resolution to a particular issue online.
Security is a major concern for businesses information systems and software, and OSS comes with pros and cons in security in particular. OSS generally means that the source code is published publicly for anyone to view. This can make vulnerabilities in the code very visible. That can be good for businesses trying to improve security (white hats) but may also be very bad as those with malicious intentions can identify and exploit those vulnerabilities (black hats). Often times with OSS, more black hats exist who wish to exploit the code than there are white hats who wish to fortify the code. Security may not be as big of a concern if the application being developed is to be run on a private intranet and any data that gets transmitted from the application publicly is properly encrypted.
Another topic that often poses concern in regards to OSS is the General Public License (GPL). The GPL included with the OSS project may require that any distributed modification to the source code be published as OSS with the same licensing acquired from the original. This could be counterproductive to the security advantages previously discussed. Businesses may not want to share their methodologies and techniques used to modify the original source code and there tends to be many grey areas defining what violates the original GPL.
While there are many other advantages and disadvantages to utilizing OSS, the topics mentioned above serve as the biggest concerns for businesses. An ultimate decision on whether or not to choose an OSS solution will need to be based on the business need for the application being developed, the distribution and licensing requirements, security concerns, and the type of support than can be expected.


You have to take a programming course, or maybe more than one, in your MIS program. Which programming language(s) would you choose to study? Why? Should you even have to learn a programming language? Why or why not.
Ultimately C++ would be the ideal choice if the end goal is to be highly employable and earn a competitive wage as demand for C++ developers is fairly high. It would be quite a bit more difficult to learn than Java, but the market is flooded with Java developers and the wages tend to be lower. If cross platform versatility to desired, then one can easily rule out C# and Visual Basic. It’s important to have at least a basic understanding of programming for anyone actively involved in the IT industry.

 A great deal of software is available free over the Internet. Go to http://www.pcmag.com/article2/ 0,2817,2260070,00.asp, and observe all the software available for free. Choose one software program and download it to your computer. Prepare a brief discussion about the software for your class.
I was very pleased to see one of my favorite applications to make this list; Sandboxie. Sandboxie creates a virtual session of the program it’s running and prevents any changes caused in that session from having a permanent affect on the system. Sandboxie is generally intended to run a virtualized web browser, but almost any program can be run with Sandboxie. It basically works like this; with Sandboxie running, one can open a web browser by right clicking a program and selecting “run sandboxed”. This will open the program with hash tags on the menu bar indicating that program is being run in the virtualized sandbox environment. If the sandboxed program is a web browser, then any system changes made within that session including cookies, history, cache, malicious code, downloads, and viruses will remain isolated from the system until the box is either deleted or the changes are made permanent by the user. In a way, it can be considered a proactive approach to system security by not allowing malicious changes to take effect on the system. Sandboxie can also be useful for testing and debugging purposes of programs and scripts. If you’re writing a Windows script that will make system changes like creating many folders and files on the file system and don’t want to manually undo those changes, then cmd.exe can be run in a sandbox to execute the script and the sandbox can be deleted easily to revert the changes made. Even before deleting the sandbox after running the script, if you were to search for the newly created files and folders in explorer or through a command prompt not running in the sandbox, you will notice those files and folders do not exist on the system.

Saturday, January 28, 2012

Tech Guide 1

If you were the chief information officer (CIO) of a firm, how would you explain the workings, benefits, and limitations of cloud computing?
Cloud computing has become somewhat of a buzz word as of late. Many big names in Silicon Valley provide cloud computing services to companies who wish to utilize computing, software, data access, and/or storage as a service. Some of the bigger vendors that offer cloud computing as a service include Amazon, Google, IBM, Yahoo!, and Verizon just to name a few. The reasons a business may choose to utilize cloud computing from a vendor vary depending on business need. Often times as businesses grow, their computing needs also grow and choosing to go the way of the cloud can often times be beneficial for businesses that do not wish to invest in the onsite physical infrastructure of datacenters or the labor cost of running and supporting them. Vendors provide services as needed allowing scalability on demand while eliminating the concern that onsite equipment may or may not be utilized to its fullest capacity. Cloud computing also alleviates the burden of maintenance to the business for issues such as hardware malfunction, environmental cooling of equipment, and labor cost associated with upkeep. There are limitations that should be considered such as security, integrity of data, and outage resolution. A business would need to have trust in a vendor that the services provided remain secure, data remains intact, and any outages in service are minimal and treated with the same priority as they would be with in-house staff.

What factors affect the speed of a microprocessor?
There are a number of factors that could affect the speed of a microprocessor including the number of transistors it contains, clock rate, word length, and bus width. A transistor is essentially a switch that can hold a value of on or off; in computing these values would represent 1 or 0. The more transistors a processor contains, the higher the clock rate can run or the cooler the chip will run. The first microprocessors to use transistors in the early 70’s only had a transistor count of a few thousand.[1] Today’s high end microprocessors are starting to reach transistor counts over 2 billion.[2] Clock rate measures how many times the processor clock cycles per second.[3] The higher the clock rate is, the more instructions that can be carried out in a cycle. Word length refers to the amount of bits (those 1’s and 0’s) that can be processed in a cycle. Today’s standard is 64 bits while the first microprocessor’s (Intel 4004) word length was a mere 4 bits.[4]  Bus width is the number of bits that can be transmitted from the processor at once down physical circuit paths.[5] This can be a bottleneck for overall computer performance as processed data interfaces with other components of a computer.

If you were the CIO of a firm, what factors would you consider when selecting secondary storage media for your company’s records (files)?
There are many factors to consider when selecting secondary storage to meet business needs, but I will focus mainly on cost, integrity of data, high availability, and fault tolerance. I would rank these factors in accordance with the needs of the business and perform a cost-benefit analysis to determine the best form of storage medium for those records. Depending on the importance of the company files, the solution may consist of one or more of the following…
1. A magnetic tape library would be a low cost solution that would ensure integrity and could provide fault tolerance, but the availability would be low as the retrieval process of data takes a considerable amount of time. It would be wise to consider the volume of data to be stored as robotic tape libraries can add quite a bit of additional cost but also slightly decrease retrieval time. Storing backup tapes at remote facilities would increase fault tolerance for disaster recovery type situations but would also decrease availability and retrieval time.
2. Using magnetic disks or hard drives would have a higher initial cost than tapes, but would allow for quicker retrieval of data. Magnetic disks are more prone to failure than tapes, but fault tolerance can be achieved through Implementing RAID. RAID can also be implemented to increase the retrieval time of data but would increase cost. Selecting one site to store all magnetic disks would decrease fault tolerance for disaster recovery situations, but storing additional disks at an off-site facility would effectively double the cost to implement. Integrity would be ranked lower than magnetic tape based on failure rate of magnetic discs.
3. SAN and NAS are both expensive to implement but also provide very high availability. Redundancy for these mediums substantially increases cost. Of the two, SAN could be considered to provide better integrity if the NAS solution is outsourced to a vendor.

Given that Moore’s Law has proved itself over the past two decades, speculate on what chip capabilities will be in 10 years. What might your desktop PC be able to do?
Moore’s Law suggests that the number of transistors that can effectively and cost efficiently be place on an integrated circuit will double every two years. If today’s high end processors have upwards of 2 billion transistors then effectively we should see about 64 billion transistors on processors in 10 years. Market trends will ultimately decide what desktop PC’s will be able to do in 10 years. If consumer demands require inexpensive PC’s, then it will be less likely to find a processor with 64 billion transistors in PC’s a decade down the road. If there is a small demand for ultimate performance, then those high end processors are likely to be much more expensive than today’s performance CPU’s. Another factor to consider would be if the rest of computer hardware advances at the same pace or lags behind in development. This shouldn’t be much of a factor for ROM devices with the increasing popularity of solid state drives, but the real test will be if motherboard circuitry will be able to keep up at an acceptable rate.

Investigate the status of cloud computing by researching the offerings of these leading vendors. Note any inhibitors to cloud computing.
Dell – Offers Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS).
Oracle - Provides SaaS and Hardware as a Service (HaaS).
IBM – Offering SaaS, IaaS, PaaS, and SmartCloud backup services.
Amazon – Offers a vast array of cloud services. A full list can be found here http://aws.amazon.com/products/
Microsoft – Azure would be considered PaaS. Microsoft also provides SaaS with Office 365. Hyper-V cloud is Microsoft’s IaaS platform providing virtualization.
Google – Provides SaaS with Google App Engine. Google Cloud Storage also offers storage and backup solutions.
Regardless of vendor, inhibitors include outages, network overhead and congestion, and security.