Chris Bell Chris Bell 'A business that makes nothing but money is a poor business.'
- Henry Ford

About Me >>   Bachelor's Degree >>   IT-431 Software Development in Distributed Systems

SNHU - IT-431 Software Development in Distributed Systems
Written by: Chris Bell - March, 2014

Distributed System Recommendation - Research Paper

We have numerous suggestions for Books-R-Us to implement technology into their increasing business model. We'll explain and recommend what we believe will help push them to the next level including distributed systems, networking and security, object oriented environment and Google Cloud service. Each piece of technology is explained in everyday terms in order to limit confusion. We're not coming to you with programming examples that you won't understand, we're here to discuss your business model, processes and procedures so that we can have our programmers create systems that will make it easier for you to grow.

Distributed System

Growing companies continue to look into distributed database systems in order to make current employees more efficient which, in turn, eliminates the need to hire additional employees. A distributed system has numerous benefits that analysts and management teams love to take advantage of, however they need to first make sure it's economically feasible. Resource and data sharing between company locations is second in line to the economics because it's somewhat of a priceless attribute for the company. Lastly, with a distributed system, there will be far less employee-to-employee and employee-to-customer interaction due to automatic invoice distribution, order tracking information and online order confirmations.

First and foremost, a company's return on investment will determine whether or not to proceed with the system. Let's assume a Pizza shop has grown over the last year from making 20 pizzas a day to making 60 pizzas a day. Last year one employee was making pizzas full time and produced all 20 each day. A simple calculation will tell you that the shop now needs 3 employees to each make 20 pizzas a day. However, instead of hiring two employees, a manufacturer wants to sell him a machine that will prepare 60 pizzas a day with one employee running it throughout the day. Well, even if that machine costs $50,000 the owner will make his money back in one year because two employees at $25,000 per year will be needed to prepare the additional volume. That's a basic way of determining if something electronic or automatic can take the place of human employees. Database systems aren't any different because they provide the company benefits that can eliminate the need for additional employees.

Resource sharing can help a company reply to customers quickly and electronically with less employees. For instance, a nationwide company with thousands of products may need specification data sheets for each product which can be in a shared folder in each location of the company. The mainframe computer holds all of the data and each command is sent to the mainframe to make the change throughout the company. When a sales person in CA makes an update, it's sent to the mainframe computer and the change is reverted back to all of the shared PC's within the network. It may sound like a process but it all happens within seconds. Another salesperson in NH will see the same update exactly as fast as the person that made the change in CA. New product specifications can be added or obsoleted in a single spot which will automatically update the entire network.

Other things included in the company network can be customer lists, vendor lists, inventory lists, past sales, current sales, budgets and much more. The main attraction for the company management is that each employee has real-time information about each customer and, therefore can answer any applicable questions related to their account. No matter what phone number the customer calls, any employee in the organization should be able to retrieve their account information within the distributed database.

UML Diagram by Actors

Reliability, speed and accuracy of information are unmatched compared to the old school (long hand) approach. Physical papers can be misread, misplaced, lost and unorganized. Most companies wonder where they'd be if they didn't upgrade to a distributed database.

A company with a distributed database system has more efficient employees that can handle more tasks on a day-to-day basis. The benefits are clear and they can be calculated to see exactly what they will save the company over time. Employees will spend less time asking for information from the accounting department, from management and from customers. Customer service agents won't have to get up from their desk as much because of the availability of information at their fingertips. Overall, the company will be able to do more with less.

Network and Security

Now that Books-R-Us has decided on a client server system we plan to recommend network and security features that will help protect their data. If there's a fire or a hacker situation Book-R-Us could be in big trouble if they haven't been storing and securing their files. There are also many practices their employees can take to make sure they input customer information to the correct location in the database. For instance, an encrypted input box can be created for credit card numbers that will only display the last four digits, however if employees enter credit card numbers in a "Note" section instead it won't be encrypted and they'll be at risk.

Due to multiple locations, Books-R-Us should look into campus networks and wide area networks (WAN). A college, or company, campus can use wireless connections to support the encompassed area of their campus. However, Books-R-Us will be looking to create new locations in different cities to gain additional business from those areas. In that case they should lean towards a WAN because every location will be connected to each other through leased T1 lines. From there they can have IT support to handle any location at any time, they can share broadband Internet and share or transfer files between each other.

I believe Books-R-Us should use Google Cloud services to back up all of their data each night. Once each of the locations closes down for the night the back-up process will begin transferring all of their files to the cloud service. Therefore, if a hacker gets into their database during the night or if the buildings burn to the ground, Books-R-Us will still be able to access all of their files from anywhere they choose. Google Cloud is a free service that offers more security than most companies can offer because they have the best programmers in the world working for them.

Additionally, I'll be sure to install anti-virus protection on each personal computer at each Books-R-Us location. It's free virus protection software that removes spyware, adware and other malicious bugs crawling through the PC. Again, there are still common practices that the user of each PC should be aware of such as avoiding to share passwords, avoiding suspicious links, emails and attachments that may harm your computer.

Who has access to what? The management team can decide which employees can access each portion of the system and we'll create the code accordingly. Floor employees should have minimal access to the system including search, customer information and open orders. Managers have additional access to accounting, company profits and sales-by-employee. "Users," or online customers, will have access to their own accounts through their login information. Customers will be able to search for books online, enter orders and cancel orders if necessary. A unified modeling language (UML) diagram will help Books-R-Us understand this better. Upon viewing the diagram they can make adjustments as they see fit, after all, it's their company so they get the final call as to who can view what.

UML Diagram by Actors

We'll be looking for any and all client feedback so that we can better understand what their wants and goals are as a company.

As Books-R-Us grows from 2 to 10 locations they'll require updates to their network, security and database along the way. Im glad we know their growth plan so we can plan our future services for them accordingly. We aren't here to tell Books-R-Us what to do with their company, we're here to listen to their 5-year plan and help them get there at the lowest possible cost. If we try to rob them blind we'll both lose as companies in the end. As they approach 10 locations they'll be making more money and need far more advanced systems that we'll also be involved with if we keep honest and faithful to them.

Object Oriented Environment

As a growing and changing company, Book-R-Us should opt into a J2EE object oriented development environment to run their applications. I'll start by saying it's the least expensive option on the table because that's what business owners like to hear. They won't have to pay for any proprietary software and there are more programmers proficient in J2EE than competitor versions such as Microsoft's .NET. It's been around the longest, it uses programming code that was developed while the Internet was being developed and it can be easily updated and changed when Books-R-Us opens their new locations.

We understand that Books-R-Us is trying to save every penny during the next few years because they're investing plenty already. With that in mind, we want to be able to incorporate each new location with the same J2EE environment so that each location runs simultaneously. If they decided to use .NET they will be paying additional money with each additional location. For instance, when one location with 10 personal computers needs Microsoft Office it will be a total of 10 separate fees. Opening a second location with another 10 personal computers will cost Books-R-Us another 10 fees, and so on. The same concept is applied to Microsoft .NET's environment and it could be an expense that they won't want to pay the third, fourth, fifth and tenth time they open a new location.

Books-R-Us' owners and management will be looking to access data on the fly. Instead of being in a single location they will be bouncing from one to the other to make sure everything is in good condition. Should they each have to wait until they get back to the office to view their company information? Of course they shouldn't. If they opt into J2EE they won't have to because they can access their information anywhere in an open source environment. However, with .NET they pay additional fees to have their information set up on each additional device. Essentially, the .NET platform will have to be downloaded onto each and every computer and device at an additional cost. J2EE has an open door policy that's password protected, but .NET has a closed door policy, period. J2EE will be available at any time on any device immediately after being implemented.

Many programmers are able to dive in and make changes to J2EE environments. Therefore, when current employees leave, or threaten to leave, you can easily replace them and your information systems won't skip a beat. Microsoft .NET can be more difficult because it's a specific proprietary software. Think about how well you can maneuver around on your Windows desktop operating system then imagine switching to MAC iOS. If we were discussing operating systems I'd be pushing Microsoft so I'm not against them in any way, I simply think J2EE is better and easier to work with.

Things are changing for Books-R-Us, and changes usually prompt issues, unannounced fees, and difficult decisions. But why believe me? Am I trying to gain from telling Books-R-Us to use J2EE instead of .NET? No, I'm not trying to run their business in any form. I'm trying to help foresee their future issues related to technology before they come up and start eating away at their budgets and goals. Books-R-Us already has their business goals laid out on paper which is a great start for programmers to foresee particular issues that may arise throughout their journey.

Web Service and Cloud

The entire system being created for Books-R-Us must reside in the cloud in order for each location and device to access up-to-date data. It can be difficult to understand what a cloud is and why it's there, but it was named "cloud" for a reason. For instance, in order to prevent losing everything in a fire one must back up every file and store it in the cloud. Imagine that Google has actually assigned a cloud in the sky to Books-R-Us, and their information is duplicated and sitting in that cloud. Then, after a fire, you can go home, sign in to Google, and access your particular cloud of information. At that point you can download all of it onto your desktop even though all of your computers were destroyed in the fire.

The cloud can also be used to help Books-R-Us share information faster and easier. Now that you understand that information can be transferred from your store computers to the cloud, you can understand that the cloud has the most up-to-date information from each of the 10 locations. While each store location is open the employees are making updates and changes to the information, and the updates are all sent to the cloud. When the cloud receives updates from Store 1 it sends the updates back to Stores 2 through 10 so that the information is synchronized across the board. Therefore, up-to-date information can be viewed at any time, from any location, from any computer within the network.

In conclusion, I believe Books-R-Us will benefit greatly from updating their technology. Doing everything "by hand" for a few more years will make it more and more difficult to implement technology. While they’re still in a single location they should prepare for the long term goals they already have in place as a business. Therefore, opening Store 2 and 3 will be much easier to adapt to with computers systems already in place. Essentially, each time they “hire a computer” they avoid hiring 5 employees. It will benefit them more and more as they grow to 10 locations.


Courlouris, G. & Dollimore, J. & Kindber, T. & Blair, G. (2012) Distributed Systems: Concepts and Design. Fifth Edition. Published by Pearson.