Symphony支持C/C++,Java,C#等多种编程语言,并为程序员提供了相应的代码实例。读者可以在Symphony的安装目录中找到这些实例代码(C:\SymphonyDE\DE50\5.0\samples)。
本节仍然使用Java程序为例讲解。
打开Eclipse,单击File→Import→Existing Projects into Workspace,将示例代码C:\Sym-phonyDE\DE50\5.0\samples\Java\SampleApp加入工程,如图3-16所示。
Symphony中的Java实例提供了Ant工程构建文件,读者可以用Eclipse集成的Ant工具编译并打包工程,输出如下所示。
图3-16 SampleApp实例
现在将SampleApp部署到Symphony上运行。右击Symphony运行图标,选择Add or Re-move Application,如图3-17所示。
图3-17 添加应用
Symphony DE会单击一个添加应用向导,这里会要求用户添加应用配置文件,用户可以选择使用C:\SymphonyDE\DE50\5.0\samples\Java\SampleApp\SampleAppJava.xml,如图3-18所示。
图3-18 添加应用向导
接下来就是选择应用程序包,这里选择C:\SymphonyDE\DE50\5.0\samples\Java\Sam-pleApp\SampleServiceJavaPackage.jar,如图3-19所示。
图3-19 选择应用程序包
Symphony DE的集成环境很容易使用,一直单击Continue,直到最后确认。整个过程全部通过鼠标完成。部署成功后,可以在SymphonyDE管理界面看到应用,如图3-20所示。
图3-20 SampleApp部署成功
现在应用程序已经作为服务部署在Symphony环境中,随时等待用户的调用。
现在可以运行客户端类com.platform.symphony.samples.SampleApp.client.SyncClient,用户将看到10个任务被发送给Symphony并得到执行结果其源代码如代码清单3-10所示。
【代码清单3-10】
(1)编程模型(www.xing528.com)
与MapReduce架构类似,Symphony也提供了相应的并行开发编程模型。用户将能够并行计算的逻辑封装在任务(Task)中。通过建立与Symphony运行环境间的连接(Connec- tion)创建会话(Session)。使用Session与Symhony交互发送任务并接收任务的运行结果。与MapReduce相比,Task的编程接口相对直接。
(2)分析SampleApp程序
下面来分析一下SampleApp中的SyncClient客户端程序,如代码清单3-11所示。
【代码清单3-11】
上面的客户端程序说明Symphony客户端通过消息封装的形式将输入参数发送给服务端。
输入消息封装,如代码清单3-12所示。
【代码清单3-12】
SampleApp的服务端程序接收数据,经相应处理后将结果封装在com.platform.sympho-ny.samples.SampleApp.common.MyOutput(参见SampleApp实例程序)中并传给客户端,其代码如代码清单3-13所示。
【代码清单3-13】
笔者比较喜欢通过消息封装输入输出参数的做法,这种封装方式很方便与老业务集成(在稍后的应用章节中将会详细介绍),并且在进行集成时,对开发人员来说也很顺理成章。
此外,针对Java语言,Symphony还提供Eclipse集成开发插件供Java开发人员使用。插件的目录为C:\SymphonyDE\DE50\5.0\win32-vc7\plugins\eclipse。安装后可以创建Sym-phony工程,如图3-21所示。
图3-21 在Eclipse中创建Symphony工程
总的来说,Symphony为开发人员提供了一种有商业支持的并行计算软件。这款软件拥有较好的集成开发环境,可以免费使用,遇到问题时还可以选择商业支持。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。