Distributed Computing in Life Science Research -Presenter: Yijian Yang
Motivation Huge computational task in life science research Heterogeneous, distributed computing environment
Problem Unix Linux Windows
CORBA What is CORBA? Common Object Request Broker Architecture.
CORBA (cont.) It can be simply conceptualized as a communication bus for client-server object. Object Request Invoke function Run() on Z Z Run() IDL
CORBA (cont.)
How to develop CORBA applications 1. Define interface 2. Write the.idl file Module XXX{ interface YYY{ Method1(); Method2(); }; 3. Compile it with an idl compiler 4. Use the output to build the server and the client
Server.idl specification file Compilation A package of empty source code for server skeleton Implement the object Create and register the object to CORBA server Ready for client request
Client Start locator service Bind to CORBA server Invoke remote method
Example European Bioinformatics Institute: corba.ebi.ac.uk For example: To get the access number of a sequence, the corresponding function: getEmblSeq EmblSeqEmblSeq getEmblSeq(in string bio_seq_id) raises(type::NoResult, Superceded);type::NoResultSuperceded
Example (cont.) In client program, if we want to use remote object Embl in EBI EMBL CORBA server, we should do: 1.org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(); 2.Embl sample = EmblHelper.bind(orb, “Embl”) ; //bind to server orb 3.sample.start(); 4.sample.getEmblSeq(arg[0]);
Example (cont.)
Other Method Microsoft’s DCOM (Distributed Component Object Model) Java RMI (Remote Method Invocation)
Conclusion CORBA is a promising technology for distributed object computing in life science research and has provided pointers to further information.
Reference e.html e.html
Thanks