Wednesday, December 21, 2011

MTConnect Is Not an Application - MTConnect Is Not Middleware

MTConnect Is Not an Application - MTConnect Is Not Middleware

Dec 15, 2011  (Note: I wrote this for the IMTS Insider)
By Dave Edstrom

Last month, I discussed what MTConnect is. This month I am going to discuss what MTConnect is not. 
Many times I am asked, “What is MTConnect?” I always enjoy the conversation, no matter how many times I am asked. Sometimes, it can be a little bit of a challenge describing what MTConnect is and is not, because it is not something that you can touch, like a machine tool, or see, such as a software application. MTConnect is the protocol, or the “rules of the road,” that connects these two together.
MTConnect is important for manufacturing because it is the game-changing protocol that is allowing plug-and-play connectivity for manufacturing equipment and applications. Think of MTConnect as the “Bluetooth for manufacturing.” MTConnect’s mantra is, “Different Devices, Common Connection.” Now let’s look at both ends of the “what MTConnect is not” spectrum.
At one end is the shop owner, plant manager or manufacturing professional who has just been introduced to MTConnect. At IMTS 2010, more than a few times someone would walk up and ask to buy a copy of it.  Sometimes, folks would even pull out their credit card. It is great that people are excited about MTConnect, but it is also important that it is clear what MTConnect is and is not — and it is not something you buy. But it is perfectly understandable that someone would look at the screens we had set up in the Emerging Technology Center at IMTS and assume that MTConnect is an application such as Microsoft Excel.
It can sometimes be a challenge to explain that MTConnect simply is the protocol or rules of the road on how an application speaks to a piece of manufacturing equipment. Sometimes it is helpful to show people what a protocol is. The easiest way to think about what a protocol does is a simple question and answer scenario between an application and a machine tool.
The diagram above shows the simple two-step MTConnect protocol:

1.    A client application makes a request – such as an MTConnect “sample” command.
2.    The MTConnect agent at the machine tool answers the sample command with an XML document that has all of the sample information in it.
That’s really all there is to it at the highest level — a simple request-reply protocol.  MTConnect is quite elegant in its simplicity. Simplicity is important when both deploying a technology as well as scaling a technology.  Complexity breaks protocols.  I wish my sons were MTConnect compliant because then I could put in a simple request and it would be done the first time.  I would not have to ask them 10 times (or more!).  But I digress from the topic at hand.
The other end of the spectrum is the software vendor in manufacturing.  It is not reasonable to expect an end user to understand what a protocol is, but it is certainly reasonable to expect someone in the business of software to understand.   Recently I was told, “Dave, MTConnect is middleware.”  I asked, “who told you that?”  When I was told it was a company that was supposed to be in the manufacturing software business, I knew there could only be two reasons for this.
First, this company, which should absolutely know better, took a cursory, 100,000-foot view of MTConnect for a fraction of a femtosecond and then jumped to the wrong conclusion.  The other possibility is that they view the open and royalty-free protocol of MTConnect as a competitor and stated this view to purposely confuse the marketplace.   Let’s give this company the benefit of the doubt and assume they were simply confused and take this opportunity to discuss what MTConnect is not.
I will provide a definition of what is middleware is so hopefully we can clear up this incorrect analysis of MTConnect.
A definition that is clear and well written definition of middleware is from webopedia:
(mid´&l-war) (n.) Software that connects two otherwise separate applications.  For example, there are a number of middleware products that link a database system to a Web server. This allows users to request data from the database using forms displayed on a Web browser, and it enables the Web server to return dynamic Web pages based on the user's requests and profile. 
The term middleware is used to describe separate products that serve as the glue between two applications. It is, therefore, distinct from import and export features that may be built into one of the applications. Middleware is sometimes called plumbing because it connects two sides of an application and passes data between them. Common middleware categories include:
  • ESBs
  • TP monitors
  • DCE environments
  • RPC systems
  • Object Request Brokers (ORBs)
  • Database access systems
  • Message Passing
The above definition is the most basic definition of middleware.  Middleware connects two applications with ANOTHER application.  MTConnect is a protocol.  MTConnect is not middleware, because MTConnect is not an application. MTConnect cannot control a machine tool or any other piece of manufacturing equipment. MTConnect is a very simple, read-only protocol based on http and XML that makes information available in a common universal format. 
A very simple example is that you could have a sensor that was MTConnect enabled.  Applications could simply ask the MTConnect enabled sensor for data and it is returned to the application.  That is not an example of two different applications that are speaking to a third middleware application.   The webopedia definition makes it clear that middleware is distinct from import and export features that may be built into applications. 
We are sometimes guilty of over simplifying MTConnect when we say, “think of MTConnect as a simple and secure webserver.”  That is not technically accurate, but it can sometimes help folks visualize MTConnect.  We do this because most people know what a web site is.  However, that does a disservice to those individuals who really want to know what MTConnect is. To state that MTConnect is a webserver is incorrect. The logic fallacy of this can be demonstrated by the following.  A Corvette is transportation. A boat is transportation. Therefore, a Corvette is a boat.   Just because a protocol CAN use a webserver does not mean that it is webserver.
To be 100% clear, MTConnect is a communications protocol. A communications protocol is simply the set of rules for exchanging messages.
MTConnect is not an application. MTConnect is not middleware.
For those not in technology, this might fall into the “who cares” category. The reason to care is that words and correct definitions of words matter – especially in technology. As MTConnect continues to grow globally, the proper definition becomes even more important when we introduce different country languages into the equation. MTConnect is an open and royalty-free protocol for manufacturing.

No comments:

Post a Comment