<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TAO工作室</title>
	<atom:link href="http://www.tao-studio.net/myblog/index.php?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.tao-studio.net/myblog</link>
	<description>TAO Studio, 专注 DRE(Distributed Real-time and Embedded))</description>
	<lastBuildDate>Thu, 03 May 2012 02:26:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java與Python的CORBA解決方案執行效率實測對比 (转)</title>
		<link>http://www.tao-studio.net/myblog/?p=113</link>
		<comments>http://www.tao-studio.net/myblog/?p=113#comments</comments>
		<pubDate>Thu, 03 May 2012 02:26:07 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=113</guid>
		<description><![CDATA[因為最近及以後一些項目開發語言和環境逐步要向Java、Python上切，所以過年這幾天就花了點功夫研究了一下Java和Python，特別是對它們之間的互操作進行了研究。
由於我在HW從事電信系統開發，用CORBA用得比較多，所以就着重研究了一下兩者在CORBA方面的解決方案。
具體來講，做了以下實驗：
實驗環境：DUO2330 2&#215;1.6GHz, 2G, WindowsXP SP3, JDK1.6.0, Python2.6/omniORBpy-3.3
第一階段：
* 用Python/omniORBpy實現CORBA服務端
* 用Python/omniORBpy實現CORBA客戶端
* 使用omniNames名字服務器實現Python CORBA服務的發布和調用
第二階段：
* 用Java/org.omg.CORBA實現CORBA服務端
* 用Java/org.omg.CORBA實現CORBA客戶端
* 使用jdk/tnameserv名字服務器實現Java CORBA服務的發布和調用
第三階段：
* 使用ACE/TAO的nameservice實現Python CORBA服務的發布和調用
* 使用jdk/tnameserv名字服務器實現Python CORBA服務的發布和調用
* 使用Python CORBA客戶端調用Java CORBA服務
* 使用Java CORBA客戶端調用Python CORBA服務
第四階段：
* 測試Python CORBA客戶端調用Python CORBA服務的執行效率
* 測試Python CORBA客戶端調用Java CORBA服務的執行效率
* 測試Java CORBA客戶端調用Python CORBA服務的執行效率
* 測試Java CORBA客戶端調用Java CORBA服務的執行效率
實驗結果如下：
一、解決方案完整性：
* 使用Python/omniORBpy可以無障礙實現服務器、客戶端、名字服務器 &#8211; OK
* 使用Python/omniORBpy可以正確編譯TMF814指定的標準IDL文件 &#8211; OK
* 使用Java/org.omg.CORBA可以無障礙實現服務器、客戶端、名字服務器 &#8211; OK
* 使用Java/org.omg.CORBA可以正確編譯TMF814指定的標準IDL文件 &#8211; OK
二、互操作性：
* Python/omniORBpy可以正常使用ACE/TAO的nameservice &#8211; OK
* Python/omniORBpy可以正常使用jdk/tnameserv名字服務器 &#8211; OK
* [...]]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=113</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用omniORBpy开发简单CORBA程序 (转)</title>
		<link>http://www.tao-studio.net/myblog/?p=111</link>
		<comments>http://www.tao-studio.net/myblog/?p=111#comments</comments>
		<pubDate>Thu, 03 May 2012 02:24:21 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=111</guid>
		<description><![CDATA[使用omniORBpy开发简单CORBA程序
创建时间：2005-11-04 更新时间：2005-11-05
文章属性：原创
文章提交：r00t (shanleiguang_at_gmail.com)
CORBA被认为是企业级应用采取的技术，但发展到现在已经存在许多开源的CORBA软件，如Linux操作系统的桌面管理系统Gnome就是使用开源的ORBit开发。本文将介绍如何使用omniORBpy 和Python脚本语言来开发简单的CORBA程序，希望对大家理解和掌握CORBA技术有所帮助。
&#62;CORBA编程的基本概念
&#62;&#62;对象请求代理ORB（Object Request Broker）与接口定义语言IDL（Interface Defination Language）。
&#62;&#62;对象的引用（Object Reference）唯一定位分布的对象，是一个字符串。
&#62;&#62;客户程序（Client）可以直接使用对象引用定位、访问活动的服务对象。
&#62;&#62;命名服务（Naming Service）是定位分布对象的最佳手段，命名服务负责将对象的逻辑名解析为该对象的引用字符串，称为名字解析（Name resolving），可以联系主机域名和DNS服务器来理解。
&#62;&#62;服务程序（Servant）将服务对象注册到命名服务器并和一个逻辑名绑定，客户程序可以从命名服务器获得该服务对象逻辑名的对象引用字符串。
&#62;&#62;对象逻辑名由名字组件（Name compoment）组成，名字组件由ID、Kind两个域组成。
&#62;&#62;名字上下文（Name context）中包含对象逻辑名绑定的集合，同时一个名字上下文也可绑定到另一个名字上下文中，则对象逻辑名的绑定包括两类：对普通对象名的绑定和对一个名字上下文的绑定。
&#62;&#62;POA是服务程序与ORB（Object Request Broker）之间的媒介，提供对对象的管理、适配和Object Key的分配。
&#62;omniORBpy简介
工欲善其事、必先厉其器，进行CORBA开发你需要选择一个ORB和一种熟悉的编程语言，对于学习者而言，omniORBpy和Python就是一对很好的组合。omniORB的官方网站（http://omniorb.sourceforge.net）上是这样介绍omniORB的：omniORB is a robust high performance CORBA ORB for C++ and Python. It is freely available under the terms of the GNU Lesser General Public License (for the libraries), and GNU General Public License (for the tools).
&#62;Python简介
事实上我个人偏爱Perl这只“骆驼”－Perl在网络编程、文本解析和数据库处理方面的表现非常出色，可惜它对CORBA的支持一直做的不够好。Python这条“蟒蛇”在国外很流行，据说Yahoo是靠Perl起家、而Google则是靠的Python。Python是面向对象的脚本开发语言，语法非常精简，容易上手。
&#62;配置omniORBpy的开发环境
操作系统是Windows XP SP2，这样我就可以方便的一边调试这些脚本、一边编辑这篇文档，当然顺便再来点Music。
1、安装Python解释环境
a)到http://www.activestate.com 下载ActivePython2.4；
b)安装到C:\Python24目录下即可；
2、安装omniORBpy
a)到http://omniorb.sourceforge.net下载omniORBpy2.6，选择下载已经使用VC++编译好的二进制版本（如果使用C++编程则下载omniORB）；
b)从源代码编译omniORBpy时，需要omniORB的C++库，则还需要下载omniORB的源代码，操作系统上也要有VC++的编译环境；
c)下载完后解压到C:\omniORBpy目录下；
3、配置环境变量
a)首先将C:\omniORBpy\bin\x86_win32目录添加到环境变量PATH中，这样在命令行下就可以直接运行omniORBpy提供的命令，如用于编译IDL文件的omniidl和提供命名服务的omninames等；
b)PYTHONPATH变量是Python搜索模块的路径集合，将C:\ominiORBpy\lib\python和C:\omniORBpy\lib\x86_win32添加到PYTHONPATH中，使得Python可以搜索到omniORBpy提供的CORBA编程模块；
c)omniORB首先会读OMNIORB_CONF环境变量找配置文件，如果未设置该环境变量则到注册表的”HKEY_LOCAL_MACHINE/Software/omniORB”位置下读取相关配置信息；
d)“我的电脑－属性－高级－环境变量”中可以编辑环境变量；
4、配置命名服务器
若程序要用到命名服务，则可在创建命名服务对象时指定命名服务器的地址，也可以在注册表中添加。例如要使用本地的命名服务器“NameService”，则在HKEY_LOCAL_MACHINE/Software/omniORB/下创建名为“InitRef”，类型为字符串，值为“NameService=corbaname::localhost”的子键，在后面的例子中会看到如何使用命名服务绑定和解析对象逻辑名。
&#62;CORBA编程基本步骤
1、编写IDL接口描述文件；
2、将IDL编译成所用开发语言的库，如C++、Java、Python，omniORBpy用于编译IDL的命令为omniidl；
3、配置并启动Naming [...]]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=111</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACE/TAO/CIAO/DAnCE x.1.0 minor release available for downloa</title>
		<link>http://www.tao-studio.net/myblog/?p=107</link>
		<comments>http://www.tao-studio.net/myblog/?p=107#comments</comments>
		<pubDate>Thu, 08 Mar 2012 16:17:03 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=107</guid>
		<description><![CDATA[ACE/TAO/CIAO/DAnCE x.1.0 minor release available for downloa
新版本支持vxworks 6.9
]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=107</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>问：如何启动SSHd服务？</title>
		<link>http://www.tao-studio.net/myblog/?p=105</link>
		<comments>http://www.tao-studio.net/myblog/?p=105#comments</comments>
		<pubDate>Mon, 27 Feb 2012 06:26:10 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=105</guid>
		<description><![CDATA[答：
#rpm -qa &#124;grep ssh 检查是否装了SSH包
#chkconfig &#8211;list sshd 检查SSHD是否在本运行级别下设置为开机启动
#chkconfig &#8211;level 2345 sshd on  如果没设置启动就设置下.
#service sshd restart  重新启动
#netstat -antp &#124;grep sshd  看是否启动了22端口.确认下.
#iptables -nL  看看是否放行了22口.
#setup&#8212;-&#62;防火墙设置   如果没放行就设置放行.
]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=105</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenDDS version 3.0.1 发布</title>
		<link>http://www.tao-studio.net/myblog/?p=104</link>
		<comments>http://www.tao-studio.net/myblog/?p=104#comments</comments>
		<pubDate>Tue, 22 Nov 2011 04:44:30 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[OpenDDS]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=104</guid>
		<description><![CDATA[ The DCPSInfoRepo reassociates Built in Topic connections for existing
  datareaders and datawriters when restarted from persistence.
- The opendds_idl compiler will now print a warning about not including
  TAO&#8217;s orb.idl file when a file named orb.idl is included.
- Fixed a bug where the timeout for passive_connect_duration was
  ignored.
- Fixed multiple bugs in [...]]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=104</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenDDS 3.0发布</title>
		<link>http://www.tao-studio.net/myblog/?p=103</link>
		<comments>http://www.tao-studio.net/myblog/?p=103#comments</comments>
		<pubDate>Mon, 22 Aug 2011 15:28:25 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=103</guid>
		<description><![CDATA[OpenDDS 3.0发布.
可以用配置 文件 配置传输层；
SimpleTCP 改名为tcp，增加了 Excel的Add-in。
]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=103</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenDDS 2.3发布</title>
		<link>http://www.tao-studio.net/myblog/?p=97</link>
		<comments>http://www.tao-studio.net/myblog/?p=97#comments</comments>
		<pubDate>Sun, 20 Feb 2011 05:54:18 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[OpenDDS]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=97</guid>
		<description><![CDATA[OpenDDS 2.3于2011年2月18日发布。
(Stone Jiang 编译)

OpenDDS 建模开发库  (SDK)首次在本版中发布。使用该建模工具，应用程序员可以像使用UML建模工具那样定义中间件组件的需求和数据结构，然后生成相应的代码。生成的代码可以直接编译和链接进应用程序从而对应用程序提供无缝支 持。这里用到的建模工具用到的图形编译器是基于Eclips实现的。
使用Built-in Topic （内置主题时），DCPSInfoRepo 不再使用-ORBSvcConf 参数。而DCPSInfoRepo会谨慎的加载SimpleTCP库（当其未被加载时)
支持for Microsoft Visual Studio 2010 (vc10).

]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=97</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>转贴：在centos中编译安装emacs23</title>
		<link>http://www.tao-studio.net/myblog/?p=96</link>
		<comments>http://www.tao-studio.net/myblog/?p=96#comments</comments>
		<pubDate>Sat, 12 Feb 2011 10:36:49 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=96</guid>
		<description><![CDATA[Emacs 22 or 23 installation/upgrade possibility?
#5
Newbie
Joined: 2010/4/18
From
Posts: 6
1. Download the emacs-23.2.tar.gz package
a) open Konqueror
Konqueror &#038;
b) navigate to http://ftp.gnu.org/pub/gnu/emacs
c) download emacs-23.2.tar.gz to the desired directory
d) untar the tarball by entering the following command:
tar xvf emacs-23.2.tar.gz
e) change directory to the new emacs-23.2 directory that was created by the untar
cd /FullPath/emacs-23.3
2. Update packages on RHEL or CentOS Linux
From [...]]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=96</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Readline Error: readline/readline.h: No such file or directory</title>
		<link>http://www.tao-studio.net/myblog/?p=95</link>
		<comments>http://www.tao-studio.net/myblog/?p=95#comments</comments>
		<pubDate>Thu, 18 Nov 2010 03:13:57 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=95</guid>
		<description><![CDATA[Let’s take a simple readline program
#include 
#include 
#include 
int main() {
  char *s;
  s= readline(NULL);
  printf(&#8220;characters read: %s\n&#8221;, s);
}
On compiling this program
$ gcc readInput.c
readline.c:2: fatal error: readline/readline.h: No such file or directory
compilation terminated.
If you come across this error, you must install readline dev package
$ sudo apt-get install libreadline6 libreadline6-dev
]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=95</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACE+TAO+CIAO+DAnCE x.8.3 available for download</title>
		<link>http://www.tao-studio.net/myblog/?p=91</link>
		<comments>http://www.tao-studio.net/myblog/?p=91#comments</comments>
		<pubDate>Thu, 28 Oct 2010 02:13:27 +0000</pubDate>
		<dc:creator>stone</dc:creator>
				<category><![CDATA[ACE]]></category>
		<category><![CDATA[TAO]]></category>

		<guid isPermaLink="false">http://www.tao-studio.net/myblog/?p=91</guid>
		<description><![CDATA[ACE+TAO+CIAO+DAnCE x.8.3 available for download
==============
Changes to ACE
==============

. Two new methods were added to ACE_Pipe: close_read() and
close_write(). These methods can be used to close individual pipe handles.
. The ACE::handle_ready() family of methods was changed to prefer using
poll() over select() on platforms where poll() is available. This
preference was previously only used if ACE_HAS_LIMITED_SELECT was set.
The ACE_HAS_LIMITED_SELECT choice [...]]]></description>
		<wfw:commentRss>http://www.tao-studio.net/myblog/?feed=rss2&amp;p=91</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

