Sunday, August 31, 2014

InTouch Machine Edition's use of XML

XML is growing in importance in the industrial automation world from embedded systems to human machine interfaces, to distributed systems and database management. It has become the de facto standard for data communication between different applications, systems and throughout the Internet. XML is a huge opportunity for cost savings, interoperability and new opportunities. InTouch Machine Edition (ITME) brings XML support to the plant floor, allowing for dynamic, autonomous, and automated data exchange between applications (such as ITME to or from the Wonderware System Platform) . XML makes E-automation a reality by allowing plant-floor dynamic data in XML format to be accessed easily and incorporated in other software products and Web applications. This post covers the reasons for using XML as well as differences between XML and HTML in the industrial automation context.
Why XML?
The success and popularity of XML stems from its ability to be “self-describing.” For example, every piece of XML data contains information that describes exactly what it does. In turn, XML simplifies communications between non homogenous platforms and allows the vision of the virtual supply chain to become a reality. XML is not new, but started in 1996 and has been a World Wide Web Consortium (W3C) standard since February 1998. Before there was XML, there was SGML, developed in the early 80s, an ISO standard since 1986, and widely used for large documentation projects. HTML, which has evolved since 1990, is a widely popular for display data on the Web. The designers of XML simply took the best parts of SGML, and guided by HTML, produced XML.
XML came about because of the need to represent and manage data on the Web. HTML, GIF, and JScript™ have become the standard for visual display and user interface on the Web. These standards allow a page to be created once and be displayed at different times by many receivers. Now, the need exists to represent and manage the data between different platforms. For example, HTML does not provide a common way of representing data so software can search, move, display and manipulate data. 
XML and XML extensions have become the standard for Web-based data transactions such as managing e-commerce business processes that connect the enterprise with its suppliers and customers. In fact, companies have begun developing XML-based voice files to deliver information to wireless phones. Detroit-based General Motors Corporation has claimed that they will be providing OnStar XML-based wireless voice files to deliver weather forecasts, news, sports scores and stock updates to wireless phonesbuilt into 30 models of their premier cars. According to Daryl Plummer, an analyst at Gartner Group Inc. in Stamford, Conn., if a company strategy is to deliver Web content to devices, then they need to be using XML and XSL (Extensible Stylesheet Language) because 85% to 90 % of companies are committed to doing it that way.
XML is a subset of SGML optimized for delivery over the Web defined by W3C. XML improves upon some of the deficiencies found in SGML such as legacy requirements and features that make generating SGML-based documents easier, but complicates its use on the Web XML ensures that structured data will be uniform and independent of applications or vendors. The goal of XML is to provide:
- A method for putting structured data in a text document
XML is used to represent highly structured hierarchical information. Often times, we have data that is generated by an application such as Excel, Word, which can be viewed in either binary format or text. In text format, we can view the information without requiring the application that produced it, but often times it is inadequate because it loses the structure of the information. XML is a set of conventions for designing text formats for such data, in a way that produces files that are easy to generate and read by a computer. It avoids common pitfalls, such as lack of extensibility, lack of support for internationalization/localization, and platform-dependency.
- A format that is as easy to understand at HTML
Similar to HTML, XML uses tags and attributes to describe data. Tags indicates the characters that deliniate a particular markup element. For example, a FONT element is represented by a pair of tags, the start tag <FONT> and the end tag </FONT>. The text being marked up appears between the tags and is called the content. An attribute is the name of something that qualifies an element. Most attributes have either a discrete or infinite set of values (or no value at all). Attributes always appear within the start tag.  For example,<FONT SIZE=”3”> content goes here. <\FONT>. In other words, FONT element’s SIZE attribute is set to the value of 3. HTML markup describes what each tag and attribute means while XML uses the tags only to delimit pieces of data and leaves the interpretation of the data completely up to the application that uses it. An XML document also consists of two parts:
  • Prolog – declares element names, attributes, and rules for valid markup of data.
  • Document instance –data with markup has one root element with all other elements as children of the root; tree representation.
Other difference between HTML and XML are as follows: 
HTML
XML
For display
For data structure
No knowledge of data
Presentation independent

Closed language; Standard
Open Language

Case insensitive
Case sensitive (because of Unicode)

Empty tag like <BR> requires nothing special
Tags without content and those which are empty
elements must use “/>” notation

White space is ignored
White space, including

More information  
  • Microsoft's BizTalk (http://www.biztalk.org)
  • ebXML - electronic business XML (http://www.ebxml.org)
  • RosettaNet - (http://www.rosettanet.org)
  • OPC - (http://www.opcfoundation.org)
  • IETF - (http://www.ietf.org)
  • W3C - (http://www.w3.org)