40 likes | 48 Views
Megamodules - Definition. from different providers : several services from different providers available for same tasks autonomous : maintenance of megamodule and control over resources remains with provider heterogeneous : accessible by various distribution protocols like RMI, DCE, CORBA
E N D
Megamodules - Definition • from different providers: several services from different providers available for same tasks • autonomous: maintenance of megamodule and control over resources remains with provider • heterogeneous: accessible by various distribution protocols like RMI, DCE, CORBA • distributed: to be used by more than one client • large: computation intensive, data intensive, ongoing processes Megamodules are large, autonomous, distributed, heterogeneous services or processes. CHAIMS
Examples of Megamodules General I/O-megamodule Travel information: • Computing all possible routes between two cities • Computing the air and ground cost for each route given data about the goods to be transported RoutePlan - AllRoutes - CityPairList - ... RouteCost - OneRoute- Cost - ... Calculating optimal routes • Two megamodules from different suppliers offering similar services BestPick - Optimum - ... RouteChoose - BestRoute - ... InputOutput - write - ask - ... CHAIMS
Wrapper: CHAIMS Compliance • CHAIMS protocol- knowing all primitives of CPAM • State management and asynchrony: • clientId (megamodule handle in CLAM) • callId (invocation handle in CLAM) • results must be stored for possible extraction(s) until termination of the invocation • Data transformation: • all parameters of type blob (ANS.1/BER-encoded Gentype) must be converted into the megamodule specific data types (combination of hand-coding and provided decoding routines) CHAIMS
key ChaimsCallRecord methodID status paramCont resCont Thread ObjectWrapper MethodWrapper callID clientID ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ n-1 n createNewCallEntry setResultContainer ServerObject ChaimsThread LocalMethodWrapper LocalObjectWrapper setResultDone MethodXWrapper 7 9 8 6 5 4 3 2 1 setStatus( DONE ) callLocalMethod 10 start setPartialResult callMethod -> result methodX RMI Wrapper: Invoke a Method Interaction diagram for the CPAM primitive INVOKE( clientID, methodName,attrValContainer) CHAIMS