初探CORBA组件化编程
1.掌握组件化开发的概念,了解CORBA模型及ORB机制;
2.掌握CORBA组件编程方法。
二、实验内容
(一)、步骤
1.配制环境JDK环境。
2.编写编译IDL接口。
3.编写编译服务端程序。
4.编写编译客户端程序。
5.运行测试与调试。
6.完成报告。
(二)、实验题目
1、使用CORBA编程实现显示“Hello,World!+班级+中文姓名”字符串
说明:CORBA处理字符串有:String和wstring两种类型,string类型主要
用于处理ASCII类型的字符串,wstring用于处理多字节的字符串,例如:中文。
2、要求:编写实现连加、连减和加减混合等数学++/- -运算
(三)、实验分析
(一)、程序分析
1、Hello,World实验
通过编译HelloWorld.idl文件(即编译IDL接口)生成module。包sample中包含(HelloWorldStub.java、HelloWorld.java、HelloWorldHelper.java、HelloWorldHolder.java、HelloWorldOperations.java、HelloWorldPOA.java)六个生成的java文件。
再通过编写并编译HelloWorldServer.java、HelloWorldClient.java文件生成Server和Client程序。
运行程序 (在源文件路径下):
启动名字服务器
tnameserv -ORBInitialPort 1050
1
启动服务端程序
java HelloWorldServer -ORBInitialPort 1050
1
启动客户端程序
java HelloWorldClient -ORBInitialPort 1050
1
2、Counter实验
通过编译counter.idl文件(即编译IDL接口)生成module。包sample中包含(CounterStub.java、Counter.java、CounterHelper.java、CounterHolder.java、CounterOperations.java、CounterPOA.java)六个生成的java文件。
再通过编写并编译Server.java、Client.java文件生成Server和Client程序。
运行程序 (在源文件路径下):
启动名字服务器
tnameserv -ORBInitialPort 1050
1
启动服务端程序
java Server -ORBInitialPort 1050
1
启动客户端程序
java Client -ORBInitialPort 1050
1
(四)、调试及测试
源文件请于腾讯云下载(链接:https://share.weiyun.com/5QLdVMJ 密码:zs4rvz)
1、进入目标文件夹(源文件所在文件夹)
2、成功编译
3、启动名字服务器
4、启动服务器端
5、启动客户端程序
发现出现乱码并解决
(查看cmd活动代码页为936(即GBK)并非65001(即UTF-8),故更改活动代码页为65001)
更改活动代码页所需代码:
chcp 65001
1
(五)、总结
通过这次上机逐渐熟悉了CORBA组件化编程,在学习组件化编程的过程中虽然是从未接触过的一种编程方式,但是回头想想CORBA编程并非难以理解。在上级过程中虽然出现了各种问题,但是在通过交流和查询主要知识点之后都将其逐一解决。在可课下完成熟悉实验中慢慢的发现CORBA组件化编程易于构造组装,普遍性比较高,标准规范也非常统一。
---------------------
初探CORBA组件化编程的更多相关文章
- React 面向组件化编程 - 封装了webpack - npm run build 产生的包的 /static 引用路径问题
React 面向组件化编程 面向对象 ----> 面向模块 ----> 面向组件 套路: 注意: 组件名必须大写开头: 只能有一个根标签: <input />虚拟DOM 元素必 ...
- vue组件化编程应用2
写几个小案例来理解vue的组件化编程思想,下面是一个demo. 效果图示: 需求: header部输入任务,进行添加,在list中显示; list中每个item项,鼠标移入时,背景变灰并显示delet ...
- vue组件化编程应用
写几个小案例来理解vue的组件化编程思想,下面是一个demo. 效果图示: 功能: Add组件用于添加用户评论,提交后右边评论回复会立马显示数据.Item组件点击删除可以删除当前用户评论.当List组 ...
- vue - Vue组件化编程
今天是对vue组件化的一个理解,最主要的单文件组件,然后就可以脚手架的学习了,本来昨晚就该上传的,但是用的那个上传博客园的Python脚本不行了,换了一个新的. 组件化让我越来越感觉到框架的力量了 一 ...
- vue组件化编程
vue文件包含3个部分 <template> <div></div> </template> <script> export default ...
- 谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo
前言 前端已经过了单兵作战的时代了,现在一个稍微复杂一点的项目都需要几个人协同开发,一个战略级别的APP的话分工会更细,比如携程: 携程app = 机票频道 + 酒店频道 + 旅游频道 + ..... ...
- C++ 类的动态组件化技术
序言: N年前,我们曾在软件开发上出现了这样的困惑,用VC开发COM组件过于复杂,用VB开发COM组件发现效率低,而且不能实现面向对象的很多特性,例如,继承,多态等.更况且如何快速封装利用历史遗留的大 ...
- 我所理解的Android组件化之通信机制
之前写过一篇关于Android组件化的文章,<Android组件化框架设计与实践>,之前没看过的小伙伴可以先点击阅读.那篇文章是从实战中进行总结得来,是公司的一个真实项目进行组件化架构改造 ...
- 得到、微信、美团、爱奇艺APP组件化架构实践
一.背景 随着项目逐渐扩展,业务功能越来越多,代码量越来越多,开发人员数量也越来越多.此过程中,你是否有过以下烦恼? 项目模块多且复杂,编译一次要5分钟甚至10分钟?太慢不能忍? 改了一行代码 或只调 ...
随机推荐
- nyoj_187_快速查找素数_201312042102
快速查找素数 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数. 输入 ...
- BZOJ——T 1800: [Ahoi2009]fly 飞行棋
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1767 Solved: 1395[Submit][Status][Discuss] Descripti ...
- Spring 新手教程(三) 注入和自己主动装配
Spring注入是指在启动Spring容器载入bean配置的时候.对类变量的赋值. 两种经常使用注入方式:设值注入和构造注入 以下就这部分知识看代码以及代码中的注解: 1.首先看Spring ...
- hibernate之关于一对一单向,双向关联映射
[hibernate]之关于一对一单向,双向关联映射 首先我们来看,Hibernate官方对于一对一单向关联的解释: 基于外键关联的单向一对一关联和单向多对一关联差点儿是一样的. 唯一的不同就是单向一 ...
- runloop简单介绍
runloop是iOS底层机制中保持我们的程序一直运行的机制.他可以让线程一直循环不退出.而在我们正常的编程中.线程其实是线性的,当线程处理完我们的代码以后就自动退出了.runloop就是保证我们的应 ...
- SEO优化之外链的末日来临
告诉大家一个好消息,以后不用再为外链的事情发愁了.难道是有好的外链工具?不是,而是百度已经取消外链了. 今天在百度上看到一篇文章:"SEO春天来了.百度取消外链".点击进去一看,吓 ...
- oc32--构造方法1
// // Person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property int ag ...
- bzoj2303
并查集+数学 这道题网上好像有两种解法. 这位写的很可读:http://blog.csdn.net/unicornt_/article/details/51901225 然后看完大概就懂了做法,但是实 ...
- ROS-节点-Topic
前言:本部分主要介绍ros一些基础功能的使用,包括创建和编译工作空间.功能包.节点以及话题. 第一种方式:使用roboware studio软件操作 1.1 创建工作空间 回车然后点击保存. 1.2 ...
- asp.net限制了上传文件大小为..M,解决方法
asp.net限制了上传文件大小为4M,在:在web.config里加下面一句,加在<System.web></System.web>之间如下:<system.web&g ...