remotingṩOlapԶӽӿ

1. RemoteInvoke:Զ̵ýӿڣԶRemoteConnectionʹãΪԶ̵ľ庬Ӧû
ҪӦʵԶ̵ýӿڣrpc񣬻socketȵ

2. RemoteConnection:ԶӣRemoteInvokeֻConnecitonһ

Ӧ
ˣ
	1.һOlap Connection
	Connection connection = Driver.openConnection(SchemaDef schemaDef,Map params);
	2.ݻỰϢcontextConnection
	connections.put(ctx,connection);
	
ͻˣ
	1.Ӧû(Rpc)SessionϢContextʵRemoteInvokeӿ
	RemoteInvoke remoteInvoke = createRemoteInvoke();
	2.Զ
	Connection connection = Driver.openRemoteConnection(remoteInvoke);
	

EAScreateRemoteInvoke()αʵ
	ȣһȫ
	class OlapConnectionManager
	{
		Map connections = new HashMap();
		void put(Context ctx,Connection connection);
		Connection get(Context ctx);
	}
	ȻдһFacade,һinvoke,
	Object invoke(Context ctx,String methodName,Class[] clazz,Object[] objects)
	{
		Connection connection = OlapConnectionManager.get(ctx);
		//
		Method method = Connection.class.getMethod(methodName);
		return method.invoke(connection,objects);
		//߲÷䣬ݷʽãܺ
	}
	дһRpcRemoteInvoke
	Class RpcRemoteInvoke implements RemoteInvoke
	{
		Object invoke(String method,Class[] argTypes,Object[] argValues) throws RemoteException
		{
			Facade facade = ...
			return facade.invoke();
		}
	}
	ע⣬ȫҪʱ