分布计算环境作业(initial)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1分布计算环境作业
一.判断是非题
1)RDF没有描述资源间关系的能力,且不能描述两个类的互不相交关系、类的基数
和等价性等,因此在语义Web中需要引入本体。错
2)无状态会话Bean也可以用于实现有状态的应用。对
二.多项选择题
1)你认为BT可能是基于下面______D______结构实现的?
A. 中心化拓扑
B. 全分布式非结构化拓扑
C. 全分布式结构化拓扑
D. 半分布式拓扑
2)在五层沙漏结构中,位于___C________层的协议需要在所有提供共享资源的节点
上提供。
A. 资源层
B. 连接层
C. 构造层
D. 汇聚层
E. 应用层
三.问答题
1、(15分)试分析为什么近年来云计算发展得如此迅猛?
2、(15分)现要为某网上商城实现一个商品价格查询服务,该服务具有以下功能:
•用户可以主动查询某个商品的价格。
•用户可以订购某个商品的价格,当商品价格低于用户指定的阈值时,该服务通知订购用户当前的价格。
•多个用户可同时使用该服务。
现要使用面向对象的技术,如CORBA技术实现该服务:请描述该服务对象和客户端程序分别需要实现的接口。接口可以采用任何一种程序设计语言描述(甚至夹杂自然语言),但要明确每个接口名、接口中的方法名、方法的返回值和参数名以及类型。
首先是定义一个idl文件
{
interface DataService
{
double select(Double productid);
void recievenote(Double productid,Double value);
void buy(Double productid,Double value);
};
};
Server端代码:
//实现数据库查询基本类
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclass DBManager {
private static String user ="root";
private static String pass ="962464";
private static String className="com.mysql.jdbc.Driver";
private static String url ="jdbc:mysql://localhost:3306/students";
private static Connection conn;
private static java.sql.Statement state;
public static void init()
{
try {
Class.forName(className);
conn =DriverManager.getConnection(url,user,pass);
state =conn.createStatement();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catchblock
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catchblock
e.printStackTrace();
}
}
//插入订购记录
public static void buy(String Productnum,double Value)
{
String sql = "insert into stuScore values("+"'"+Productnum+"',"+Value+");";
try {
state.execute(sql);
} catch (SQLException e) {
// TODO Auto-generated catchblock
e.printStackTrace();
}
}
//查询产品价格
public static double select(String Productnum)
{
String sql = "select score from stuScore where num= '"+num+"';";
double Value= 0;
try {
ResultSet rs =state.executeQuery(sql);
while(rs.next())
{
result = rs.getDouble("score");
}
} catch (SQLException e) {
// TODO Auto-generated catchblock
e.printStackTrace();
}
return Value;
}
}
服务器端主函数:
/*服务端实现了Runnable接口,以便多线程扩展*/
public class CORBAServer implements Runnable
{
/*构造函数*/
public CORBAServer(String[] args)
{
initORB(args);
}
/*初始化ORB*/
private void initORB(String[] args)
{
try
{
//根据参数初始化ORB
ORB orb = ORB.init(args, null);
//新建一个服务实现对象
OperateImpl operateRef = new OperateImpl();
//连接该服务实现对象