The Three Open Pillars of MTConnect
Nov 10, 2011 – Dave Edstrom
MTConnect is based on three open pillars of technology: HTTP, XML and open source. While many readers will understand what these technologies are, the most important point to understand are the key implications of these three technologies to manufacturing from a business standpoint.
As a brief reminder, let’s define these terms before we look at the implications.
HTTP stands for Hyper Text Transfer Protocol. HTTP is simply the protocol or rules of the road for communications on the web. HTTP is what you type in your browser when you go to http://MTConnectConference.org for example. HTTP has a small number of verbs to get information from a website such as get, put and post. When you enter in your favorite website in the browser window, what happens below the covers is our browser sends an HTTP “GET” command to your favorite website and website returns the text and images back to your browser for display. A very simple protocol that just works.
XML stands eXtensible Markup Language. XML is THE language and data dictionary of the Internet that is used for exchange of information between computers and applications. One of the unique aspects of XML is that it is both human and machine-readable. Another way of saying this is to state that XML is self-describing. The absolute key part of XML is the eXtensible part. What eXtensible means is the ability for anyone to add their new words and definitions by simply using XML. There are literally millions of examples of companies, organizations and individuals using XML for the exchange of information on the Internet. This exchange can be between devices, applications and anything that wants to exchange information in a clean simple format so that no bits are dropped in meaning. A simple example would be this snippet of XML:
Humans and computers can easily read the XML. This example could be used to exchange information on the MC2 conference’s presenters with two pieces of data for each presenter – first_name and age. The age is obviously my age in years and first_name is my first name, but how does a computer easily know that? Because there is another file that is basically the XML dictionary or schema for this simple five line XML example that defines that age must be an integer and first_name must be characters in the alphabet. If someone would put in a number or special character for the first_name that would not be valid in XML. If someone were to type in “Fifty-two” for age that would not be valid because that is not how we defined age. The tag simply means, “I am defining an element called “MC2”. What comes after the are the parts that make up “MC.” The tagsimply means, “I am finished defining an element called “MC2.” There is obviously more to know on XML, but these are the basics that one needs.
Humans and computers can easily read the XML. This example could be used to exchange information on the MC2 conference’s presenters with two pieces of data for each presenter – first_name and age. The age is obviously my age in years and first_name is my first name, but how does a computer easily know that? Because there is another file that is basically the XML dictionary or schema for this simple five line XML example that defines that age must be an integer and first_name must be characters in the alphabet. If someone would put in a number or special character for the first_name that would not be valid in XML. If someone were to type in “Fifty-two” for age that would not be valid because that is not how we defined age. The tag simply means, “I am defining an element called “MC2”. What comes after the are the parts that make up “MC.” The tagsimply means, “I am finished defining an element called “MC2.” There is obviously more to know on XML, but these are the basics that one needs.
What exactly does open source mean? Open source refers to how others are able to use the source code or the instructions that a programmer types in to create software. The important part of open source is not simply making those instructions available for individuals to read, but also for others to take that software and build upon that software. There is an official definition of open source at the Open Source Initiative atOpenSource.org.
The definition provided by the Open Source Initiative is simply one organization's definition of the principles that must be followed if organization is going to call its software open source. There are a lot of different source code licenses out there that have their different twists on those ten definitions, but the overall principles remain the same.
Now that we know what these technologies are and how they basically work, let’s examine the most important question – what are the business implications of MTConnect using these technologies.
For the most part, end users typically do not care about protocols. Protocols are the details that are below the covers. Do you really care about the protocol that is used for your mass air flow sensor on your car’s engine when it speaks to your car’s various computer systems in the engine compartment? Not unless you are a true gear head do you care.
However, there are examples where users absolutely do care about protocols. What end users do care about is choice. When someone buys a new cellphone they expect it to have Bluetooth. When someone purchases a new notebook computer, they expect it to come with Wi-Fi. When someone downloads a new browser, they expect it to support HTTP. Why do users care about these protocols? Simple, they want connectivity to a huge number of devices, hotspots and websites – they want choice. The key business implication of using HTTP and XML for MTConnect is that by using the protocol and language of the Internet we are providing tremendous choice of applications.
The first key business implication of the power of MTConnect using HTTP and XML is very easy to show. Let’s look at the most ubiquitous applications out there – browsers. Pull up your favorite browser and type in http://agent.mtconnect.org/probe. What do you see? You will see a few pages of XML that are basically describing three things. First, you will see general XML explaining where the schema or dictionary for this device lives on the Internet. Second, you will see Components which is a physical description of this device. Third, you will see Data Items which simply describe what information can be read from this device. Even if you know absolutely zero about XML, you can read this file and understand to a large degree what this device is and what information can be read from it. This is quite obviously not an end user application because this is not how you want information presented to users. They key point here is that you did not have to have a special program just to read the data, the browser easily read the data when you just pointed your browser at the MTConnect simulator.
Another example is that you can go into Excel to easily read MTConnect data. Here is the url http://photonsandelectrons.blogspot.com/2011/06/easy-mtconnect-and-microsoft-excel.html to see the exact steps.
Are you going to be using just a browser or Excel as your manufacturing floor dashboard? No, of course not. You will be using one of the many monitoring programs out there that support MTConnect. ALL applications on the Internet today that were not written in a cave in the 1960s can speak XML and use HTTP right out of the box. What this means is that it is just brain dead easy for software developers to EASILY add the ability to read MTConnect data. When I have conversations with software vendors about MTConnect and explain how we designed MTConnect with HTTP and XML, the response is universal “this will not be a problem at all for us to add MTConnect support because we support HTTP and XML today.” It’s all about applications and when you make it brain dead easy for application providers to embrace your protocol that means choice for end users.
The second business implication of using HTTP and XML for MTConnect is that it is NOT an either/or proposition with a company which has a proprietary mechanism to connect to their manufacturing equipment. This is a BIG area of confusion. Some manufacturing equipment providers are even confused. For example, some manufacturing equipment providers think, “well, if I support MTConnect, that means I can’t support my current proprietary protocol.” That makes about as much sense as saying, “well, if I put the Firefox browser on my PC I have to then take off Internet Explorer.” No, you don’t. The two are not mutually exclusive. As a matter of fact, providing BOTH is the best strategy in the beginning. In this way, the maker of the manufacturing equipment can offer the benefits of a truly open protocol that is easily capable of talking to countless applications along with their legacy, proprietary protocol. What does this do for customers? It gives them choice!
If you are a shop owner, plant manager or anyone in manufacturing for that matter, the question you should be asking all of your manufacturing equipment providers and your software companies is, “do you also support MTConnect?” If the answer is no, then your follow up response should be, “you should because MTConnect is an open and royalty free protocol that gives users choice and it opens up a world of applications.” You can have them checkout MTConnect.org or drop me a note and I will reach out to them to them if they need further convincing.
No comments:
Post a Comment