﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Harsha on IA</title>
    <description>My View goes here</description>
    <link>http://industrial-automation-software.com/industrial-automation-software/Home/tabid/36/BlogId/4/Default.aspx</link>
    <language>en-US</language>
    <webMaster>admin@industrial-automation-software.com</webMaster>
    <pubDate>Thu, 20 Nov 2008 03:43:32 GMT</pubDate>
    <lastBuildDate>Thu, 20 Nov 2008 03:43:32 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.2.0.29758</generator>
    <item>
      <title>Add-ins Plug-ins Extensions </title>
      <description>&lt;p&gt;I cant find any reference which explains how Add-ins, Plug-ins and Extensions differ from one other. I just cant accept them to be synonyms.&lt;br /&gt;
&lt;br /&gt;
Here is an account of how I interpret each one. Please correct me or point me to appropriate source.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Add-ins&lt;/strong&gt;&lt;br /&gt;
I guess add-ins are those modules which bring-in a specific fuctionality, at runtime, for such requirements which are unknown at build time. That mean Application is unaware about source of Add-ins. Normally they are chosen from list to add. eg.Excel Ad-Ins&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Plug-ins&lt;/strong&gt;&lt;br /&gt;
I guess Plug-ins are those modules for which an adapter is built inside the application at build time. Thus a trust relation ship exists between application and Plug-In at Runtime.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Extensions&lt;/strong&gt;&lt;br /&gt;
I guess Extensions are those modules which are added to bring in additional functionality by installation and probably with a restart of main application. Extensions operate in isolation with build time functionality.&lt;/p&gt;</description>
      <link>http://industrial-automation-software.com/industrial-automation-software/Home/tabid/36/EntryID/27/Default.aspx</link>
      <comments>http://industrial-automation-software.com/industrial-automation-software/Home/tabid/36/EntryID/27/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://industrial-automation-software.com/industrial-automation-software/Default.aspx?tabid=36&amp;EntryID=27</guid>
      <pubDate>Tue, 17 Jul 2007 19:00:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://industrial-automation-software.com/industrial-automation-software/DesktopModules/Blog/Trackback.aspx?id=27</trackback:ping>
    </item>
    <item>
      <title>Why Net DDE</title>
      <description>&lt;p&gt;Last week some one tried to make a joke about usage of Net DDE in WW products. Actually I was also not so convinced why WW still supports DDE and SuiteLink (DDE+ avatar). Since then I was trying to collect some information to educate myself on DDE. &lt;/p&gt;
&lt;p&gt;I have been using DDE since 1998. Then I used it to create some custom report formats for customers. I used to collect information from DCS Systems to populate excel sheets. Those were the times OPC (OLE for Process Control) is stabilizing. OPC is COM based as the name itself contains OLE. Every DCS system is offered with DDE support for connectivity to excel. A simple formula in excel to access data made is quite a suitable approach. Like Application!Topic.Item for local DDE. and &lt;a href="http://industrial-automation-software.comfile:///serverndde$%7Cshare_name!tag_name"&gt;\\server\ndde$|share_name!tag_name&lt;/a&gt; for Net DDE. This is simplified by WW to be &lt;a href="http://industrial-automation-software.comfile://nodename/application_name%7Ctopic!'tag'"&gt;\\nodename\application_name|topic!'tag'&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;WW DAServers offer all the three protocols. DDE, Suitelink and OPC. Older IO servers offers prior two and DAServers offer last one too. Thus the question about why Net DDE sounded quite logical.&lt;/p&gt;
&lt;p&gt;Couple of reasons can be quoted here. a) It is developed by WW and then incorporated into Microsoft Windows. So importance of this protocol differs from WW to Microsoft. 2) InTouch understands Suitelink and DDE only. But some questions here.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is DDE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dynamic Data Exchange is developed by Microsoft during 1989. It is based on Windows Messages. It offers simple infrastructure to communicate between processes. So it is an IPC. Yes it is an IPC.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is Net DDE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Net DDE is an extension for DDE for IPC across hosts. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Where is it used&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Copy Paste. Everyone uses it. Copy Paste is achieved by DDE. Start Menu is populated with DDE. And in Industrial Automation sphere, it is used extensively.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is the architecture&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; DDE operates in Client Server mode. But unlike COM it doesn't have any broker service. It uses windows infrastructure to queue up Windows Messages. When client want to communicate with server it posts a message and then carries on with its work. Then System processes this and sends it to Server. Server receives it as a message and processes request. From then on Server post messages to client about the information requested periodically. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So it is different from COM&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes it is different from COM in many aspects. DDE operates in advise mode and it is more suitable for continuous communication rather than transaction based communication. Industrial Automation relies on continuous communication. COM is best suited for transactions. COM is synchronous where as DDE is asynchronous. So for continuous communication DDE eliminates frequent poll requests. &lt;/p&gt;
&lt;p&gt;In COM,  client can interact with object in server's address space. There the need is to operate on objects via interfaces. Mean data access is restricted. Where as DDE exchanges current state of data. So predominantly COM is more suitable for state transition whereas DDE is suitable for State monitoring.&lt;/p&gt;
&lt;p&gt;COM client can not decide timeout for connection with  server, where as DDE clients can.&lt;/p&gt;
&lt;p&gt;COM requires supporting runtime infrastructure, whereas DDE applications are light weight and easy to develop.&lt;/p&gt;
&lt;p&gt; So I feel that using Net DDE based protocols is advantageous in some scenarios. But as world moves ahead with new technologies one need to convince upon continuing with old ones. &lt;/p&gt;
&lt;p&gt;Every technology got a span. Beyond which either it should go to museums or or take a new avatar and contest for acceptance in new world. &lt;/p&gt;
&lt;p&gt;Microsoft clarified that Net DDE will not be supported from Vista.  Rather not distributed with Vista. But WW can still distribute the Net DDE installer and install on Vista machines. So from now on Net DDE becomes a WW product than a Microsoft product. &lt;/p&gt;
&lt;p&gt;Hope WW will find some new avatar for it to continue selling their star product InTouch !&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;more about Net DDE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;http://www.angelfire.com/biz/rhaminisys/ddeinfo.html&lt;/p&gt;</description>
      <link>http://industrial-automation-software.com/industrial-automation-software/Home/tabid/36/EntryID/26/Default.aspx</link>
      <comments>http://industrial-automation-software.com/industrial-automation-software/Home/tabid/36/EntryID/26/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://industrial-automation-software.com/industrial-automation-software/Default.aspx?tabid=36&amp;EntryID=26</guid>
      <pubDate>Mon, 16 Jul 2007 19:00:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://industrial-automation-software.com/industrial-automation-software/DesktopModules/Blog/Trackback.aspx?id=26</trackback:ping>
    </item>
    <item>
      <title>OPC Analyser</title>
      <description>A self certification tool for OPC Clients</description>
      <link>http://industrial-automation-software.com/industrial-automation-software/Home/tabid/36/EntryID/6/Default.aspx</link>
      <comments>http://industrial-automation-software.com/industrial-automation-software/Home/tabid/36/EntryID/6/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://industrial-automation-software.com/industrial-automation-software/Default.aspx?tabid=36&amp;EntryID=6</guid>
      <pubDate>Tue, 09 Jan 2007 07:00:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://industrial-automation-software.com/industrial-automation-software/DesktopModules/Blog/Trackback.aspx?id=6</trackback:ping>
    </item>
  </channel>
</rss>