What is Business Process Automation?


Business Process Automation (abbreviated as BPA) is nothing more than the use of computer system to “automate” the work that is required to complete a “Business Process”. It can cover a wide range of work from computers on the factory floor counting raw materials, to the smallest one-person business generating a sales report. The most common meaning that I know of usually falls into the category of creating custom reports automatically. Usually this involves some form of Microsoft Office application like Word® or Excel® and a source of information like an internal database or web-based system.


How do I know that I need to Automate a Business Process?


This is usually very simple: If there is a process in your company where someone has to copy or cut/paste information from one computer system and put it into another computer system, then you need BPA. The very fact that you are using a person’s valuable time to move information from one computer to another shows that you have an opportunity save both time and money by automating the process.

How do I know that it is a Business Process worth Automating?


It is fairly easy to figure out what the ROI would be on a BPA project. First you need to figure out how much time is spent to generate the results each time. Then attach a dollar amount to the time people spend creating the result (or output in BPA parlance). This is your total cost to generate the result. Once you talk to your BPA professional, you should have a cost of the new system that you can compare with the cost of having your people transfer the information. Dividing the cost of the automated system by the cost to generate the result will give you a very simplified Return on Investment (or ROI) in terms of how may times your new system would need to be run in order to break even. Your ROI will actually be much greater if you add in other common factors that go into a normal ROI analysis. Your BPA Professional should be able to help you produce a more thorough ROI statement.

What’s some examples of BPA?


The following are some real-world examples of how BPA was implemented to reduce time and costs:

  1. The Loan Status Report Many large banks have large mainframe computers that hold tons and tons of information on the various loans the bank has outstanding. One of our customers was going into these systems and with pencil and paper copying down various data about each loan closed by their department so that a monthly status report could be created. It was taking the person “two or three days” a month to create this report. The information was stored on the bank’s mainframe computers, and a request to generate this report was deemed “too expensive” to create by the internal information systems personal. We sat down with the customer and determined it would take 50 hours of work to create a program that would query the mainframes like a terminal and retrieve all the information and paste it into an Excel spreadsheet just like the existing report. The report now takes under five minutes to complete, and their ROI was less than four months.

  2. The Project Status Report This medium-size company had a web-based project and work management system that was purchased from an outside company. They wanted to get a project status report, but the reports that came with the system did not provide the set of information that they were looking for. When they talked to the company about adding this report, the outside company responded with a six-figure proposal! Not wanting to pay that amount, they turned to us for options. The project task system was entirely web-based, so we wrote a program that would manipulate the web browser to call up all the information on each task, copy that information into an Excel spreadsheet, and when finished, open up Microsoft Outlook and email the status report! Since there were several people that were spending many hours looking at each task in the project system every day, the ROI was literally only one week!

What’s the next step if I want to explore BPA?


Contact your local BPA professional for a consultation! Be sure to have an idea about what you want the output to be like (you don’t have to stick with exactly what you have now!), and how much time is spent currently generating your result. The BPA professional should be able to analyze your systems and determine a cost for a new automated system. They should also be able to tell you what the expected ROI will be!

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 | Posted by MobileDataGuy | Categories: HowTos, Opinions | Tagged: , |

In the course of working on Mobile Data systems, there are times when we need to figure out what is going to and from a particular handset or mobile device. The problem is that when the system you are trying to troubleshoot has tens of millions of devices connecting to it through proxy servers, its a lot like a needle-in-the-haystack kind of problem.

We had to narrow the potential number of packets that we would be capturing using tcpdump to something under a GB of disk space. If we just did a generic capture, we would only get about four seconds of traffic….which would not be very helpful for our troubleshooting efforts. So we needed a way to reduce the packets just down to the HTTP ‘GET’ packets, and the HTTP response codes.

After digging around the tcpdump man pages for awhile, I came up with the following parameters to just capture those packets:

tcpdump -i eth0 -n -s 1400 -W troubleshoot.cap host {localhost IP} and \( tcp[20:2] = 18245 or tcp[20:2] = 18516 \)

  • The “-i eth0″ tells it to capture off the eth0 network device.
  • “-n” tells it not to expand the IP addresses into domain name. (Optional)
  • “-s 1400″ captures 1400 bytes of each packet.
  • “-W troubleshoot.cap” is the capture file.
  • {localhost IP} would be where you substitute the IP address of the host you are capturing from.
  • Now the meat of the command: the “tcp[20:2]” tells tcpdump to look at the 20th byte of the TCP field and get two bytes from there. 18245 => 0×4745 => “GE” as in “GET”. My version of tcpdump only allows for 1,2 or 4 bytes to be compared, so I settled for two. 18516 => 0×4854 = “HT” as in “HTTP”.

This should significantly reduce the number of packets captured. But be aware — getting tcpdump to look inside the TCP field of the IP packets requires a lot of CPU cycles to process all the incoming packets.

Here’s a sample of a capture using the command above (and its only off my local office web server, so you won’t find any cellphone company secrets here):

21:02:58.807323 IP 192.168.22.27.55133 > 192.168.22.44.80: P 3493:4074(581) ack 1146 win 16138
0×0000: 4500 026d 7a60 4000 8006 d092 c0a8 161b E..mz`@………
0×0010: c0a8 162c d75d 0050 fe3a b4da 2337 2b65 …,.].P.:..#7+e
0×0020: 5018 3f0a 3e7c 0000 4745 5420 2f73 6d2f P.?.>|..GET./sm/
0×0030: 696d 6167 6573 2f70 6c75 732e 706e 6720 images/plus.png.
0×0040: 4854 5450 2f31 2e31 0d0a 486f 7374 3a20 HTTP/1.1..Host:.
0×0050: 3139 19
21:02:58.808107 IP 192.168.22.44.80 > 192.168.22.27.55133: P 1146:1337(191) ack 4074 win 3500
0×0000: 4500 00e7 5d80 4000 4006 2ef9 c0a8 162c E…].@.@……,
0×0010: c0a8 161b 0050 d75d 2337 2b65 fe3a b71f …..P.]#7+e.:..
0×0020: 5018 0dac 0c06 0000 4854 5450 2f31 2e31 P…….HTTP/1.1
0×0030: 2033 3034 204e 6f74 204d 6f64 6966 6965 .304.Not.Modifie
0×0040: 640d 0a44 6174 653a 2057 6564 2c20 3233 d..Date:.Wed,.23
0×0050: 204a .J

If you are counting out the packets by hand, the tcp[] option starts its counting at zero.

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 | Posted by MobileDataGuy | Categories: Cellphones, HowTos, Radio Data |

Sometimes I have the need for either temporary access, or a dedicated box to access a customer’s network remotely in a secure fashion. This remote access can be accomplished using software that I can install on a customer’s computer, but sometimes that is not possible….either the customer doesn’t want extra software running on their computers, or there’s not a good computer to install it on. In those cases I use a modified Linksys NSLU2 device running a version of Linux that is configured to provide for secure remote access.

Remote Access using a Linksys NSLU2

How it works

From my computer, I run an SSH Tunnel program (See my previous article Access data behind your Firewall from inside the customer’s location …its the same software) that uses the Secure Shell (SSH) protocol to establish a “Tunnel” between my computer and my Modified Linksys NSLU2 sitting on the inside of my customer’s network. The customer’s firewall does need to be modified to allow the connection to come in and get redirected to my NSLU2 device in order for this to all work correctly.
continue reading »

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 | Posted by MobileDataGuy | Categories: HowTos, Virtual Office |

Hi, this is Mobile Data…

5 December 2007

“Hi, this is Mobile Data Guy and I think I just found the an ultimate way to blog. I am using a service called Jott and I have tided in to my blog here at MobileDataGuy.com and I can dictate my blog postings while I am driving,r on the phone or walking down the street. It’s just got to be the ultimate in mobile blogging. listen

Powered by Jott”

Ok, so its not 100% perfect in translation, but that could be my fault in running words together (see above: “tided” => tied it “driving,r” => driving, or.) Either way, its a great way to capture an idea or get a start on a blog post and then revise and edit once you are someplace that you can do that from.

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 | Posted by MobileDataGuy | Categories: HowTos, OtherStuff |

In a previous post Access data behind your Firewall from inside the customer’s location I wrote about getting to my data that was behind my company firewall while located on the inside of my customer’s network behind their firewall/proxy server. This was accomplished by using a program called Tunnelier from a company called Bitvise. Tunnelier allows you to create an SSH tunnel through the local web proxy and over to my company SSH Server, while on my local laptop it starts a SOCKS proxy for local programs (like IE or Firefox) to connect to and thus be able to reach my company’s data while remote. A problem arises though when the program that you want to use….most notably Opera Web Browser in my case…does not support the use of SOCKS. Well, there’s a solution to this problem called ProxyCap. It will “Sockify” programs that are opening an outgoing IP connection and redirect it through a proxy. In my case I’m having it redirect to the local SOCKS proxy that Tunnelier has created locally.

So, to continue where my last article left off; To get Opera to use your SSH tunnel, you need to:


1. Define your local SOCKS proxy In this case I have defined a SOCKS v4 proxy on localhost (127.0.0.1) port 8081(I did have the port at 1080 in my last article, but had to change it to resolve a port conflict with another app I was running). Be sure and use SOCKS v4, and not SOCKS v5 as the current version of Tunnelier (11/2007) seems to have an issue with killing the SSH tunnel when too many SOCKS v5 clients are talking to it. SOCKS v4 does not exhibit this issue.

continue reading »

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 | Posted by MobileDataGuy | Categories: HowTos, Virtual Office |