Process Architecture

As an organization grows it must develop processes to deal with the work that needs to be done. Those processes are either created internally or brought in from the outside. While most organizations will have some processes from both sources, they will usually lean toward one source or another. When their value to the consumer is based on having a unique product, organizations tend to use generic processes because their product is what differentiates them in the marketplace. When they offer a product that has become a commodity or is readily available from other vendors they tend to use custom processes in order to differentiate themselves to customers.

Progressive Insurance is a good example of a company that is using custom processes while a Rogers and Holland Jewelry is an example of a company that uses generic processes. Progressive works hard to create processes that add value. Their basic product is available from numerous other sources and there is very little differentiation. However their process of sending adjustors to the wreck site with the ability to issue a check to their client on the spot is what allows them to be much more efficient than their competitors. Their processes are what allow them to have lower prices in an industry where everyone offers an identical product.

Rogers and Holland on the other hand uses pretty much the same processes as the rest of their competitors. They differentiate themselves by their product not their process. The processes that support a purchase from Rogers and Holland are not significantly different than those at Zales or any other jewelry store. The product is what varies.
Continue reading “Process Architecture”

Triggering actions by email

Sometimes you need to trigger events by sending email. For example lets say you want to create an email address that will accept messages and show them on some type of LED display. There are a number of ways to do this, but the simplest is to set the .forward file for the email account to pipe the contents of every message it gets into a program. The program can parse the message and do whatever else you want it to do.
Continue reading “Triggering actions by email”

Simple Introduction to Reflection

Reflection is a mechanism in java that allows to to get information about a class without needing to know the type of the class. The program below takes a java class name as a command line argument and shows you all of the methods and field names that are in the class.

You call the sample program like this:
java ReflectionTest java.util.Calendar

ReflectionTest takes the string you pass in on the command line and attempts to find a class by that name. If it finds one it gets an array of all the fields and displays their name and their values. It then gets an array of all the methods and displays their name and their return type.
Continue reading “Simple Introduction to Reflection”

CheckStyle

I’ve been using Eclipse and it is a very nice IDE. I’m very impressed with the number of plugin’s available for it. One of the plugins I’ve been using is called CheckStyle. Basically it can check your code for errors whenever you save it. The errors are configurable and it comes with a default implementation of the Sun Java coding style. It can be very annoying to apply it to code that you have already written, but if you use it as you are writing code it makes it much easier to make sure you are coding in a consistent way.
Continue reading “CheckStyle”