首页 理论教育 使用SymphonyDE编写云计算应用

使用SymphonyDE编写云计算应用

时间:2023-11-20 理论教育 版权反馈
【摘要】:Symphony支持C/C++,Java,C#等多种编程语言,并为程序员提供了相应的代码实例。图3-18 添加应用向导接下来就是选择应用程序包,这里选择C:\SymphonyDE\DE50\5.0\samples\Java\Sam-pleApp\SampleServiceJavaPackage.jar,如图3-19所示。图3-20 SampleApp部署成功现在应用程序已经作为服务部署在Symphony环境中,随时等待用户的调用。使用Session与Symhony交互发送任务并接收任务的运行结果。此外,针对Java语言,Symphony还提供Eclipse集成开发插件供Java开发人员使用。图3-21 在Eclipse中创建Symphony工程总的来说,Symphony为开发人员提供了一种有商业支持的并行计算软件。

使用SymphonyDE编写云计算应用

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工具编译并打包工程,输出如下所示。

978-7-111-36687-4-Chapter03-42.jpg

978-7-111-36687-4-Chapter03-43.jpg

图3-16 SampleApp实例

现在将SampleApp部署到Symphony上运行。右击Symphony运行图标,选择Add or Re-move Application,如图3-17所示。

978-7-111-36687-4-Chapter03-44.jpg

图3-17 添加应用

Symphony DE会单击一个添加应用向导,这里会要求用户添加应用配置文件,用户可以选择使用C:\SymphonyDE\DE50\5.0\samples\Java\SampleApp\SampleAppJava.xml,如图3-18所示。

978-7-111-36687-4-Chapter03-45.jpg

图3-18 添加应用向导

接下来就是选择应用程序包,这里选择C:\SymphonyDE\DE50\5.0\samples\Java\Sam-pleApp\SampleServiceJavaPackage.jar,如图3-19所示。

978-7-111-36687-4-Chapter03-46.jpg

图3-19 选择应用程序包

Symphony DE的集成环境很容易使用,一直单击Continue,直到最后确认。整个过程全部通过鼠标完成。部署成功后,可以在SymphonyDE管理界面看到应用,如图3-20所示。

978-7-111-36687-4-Chapter03-47.jpg

图3-20 SampleApp部署成功

现在应用程序已经作为服务部署在Symphony环境中,随时等待用户的调用。

现在可以运行客户端类com.platform.symphony.samples.SampleApp.client.SyncClient,用户将看到10个任务被发送给Symphony并得到执行结果其源代码如代码清单3-10所示。

【代码清单3-10】

978-7-111-36687-4-Chapter03-48.jpg

(1)编程模型(www.xing528.com)

与MapReduce架构类似,Symphony也提供了相应的并行开发编程模型。用户将能够并行计算的逻辑封装在任务(Task)中。通过建立与Symphony运行环境间的连接(Connec- tion)创建会话(Session)。使用Session与Symhony交互发送任务并接收任务的运行结果。与MapReduce相比,Task的编程接口相对直接。

(2)分析SampleApp程序

下面来分析一下SampleApp中的SyncClient客户端程序,如代码清单3-11所示。

【代码清单3-11】

978-7-111-36687-4-Chapter03-49.jpg

978-7-111-36687-4-Chapter03-50.jpg

978-7-111-36687-4-Chapter03-51.jpg

978-7-111-36687-4-Chapter03-52.jpg

上面的客户端程序说明Symphony客户端通过消息封装的形式将输入参数发送给服务端。

输入消息封装,如代码清单3-12所示。

【代码清单3-12】

978-7-111-36687-4-Chapter03-53.jpg

978-7-111-36687-4-Chapter03-54.jpg

SampleApp的服务端程序接收数据,经相应处理后将结果封装在com.platform.sympho-ny.samples.SampleApp.common.MyOutput(参见SampleApp实例程序)中并传给客户端,其代码如代码清单3-13所示。

【代码清单3-13】

978-7-111-36687-4-Chapter03-55.jpg

978-7-111-36687-4-Chapter03-56.jpg

笔者比较喜欢通过消息封装输入输出参数的做法,这种封装方式很方便与老业务集成(在稍后的应用章节中将会详细介绍),并且在进行集成时,对开发人员来说也很顺理成章。

此外,针对Java语言,Symphony还提供Eclipse集成开发插件供Java开发人员使用。插件的目录为C:\SymphonyDE\DE50\5.0\win32-vc7\plugins\eclipse。安装后可以创建Sym-phony工程,如图3-21所示。

978-7-111-36687-4-Chapter03-57.jpg

图3-21 在Eclipse中创建Symphony工程

总的来说,Symphony为开发人员提供了一种有商业支持的并行计算软件。这款软件拥有较好的集成开发环境,可以免费使用,遇到问题时还可以选择商业支持。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈