Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

16
Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003

description

Problem Unix Linux Windows

Transcript of Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Page 1: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Distributed Computing in Life Science Research

-Presenter: Yijian Yang4-28-2003

Page 2: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Motivation

Huge computational task in life science research

Heterogeneous, distributed computing environment

Page 3: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Problem

Unix

Linux

Windows

Page 4: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

CORBA

What is CORBA?

Common Object Request Broker Architecture.

Page 5: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

CORBA (cont.)

It can be simply conceptualized as a communication bus for client-server object.

Object Request

Invoke function Run() on Z

ZRun()

IDL IDL

Page 6: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

CORBA (cont.)

Page 7: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

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

Page 8: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

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

Page 9: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Client

Start locator service

Bind to CORBA server

Invoke remote method

Page 10: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Example

European Bioinformatics Institute: corba.ebi.ac.uk

For example: http://corba.ebi.ac.uk/idl/doc/nsdb.Embl.htmlTo get the access number of a sequence, the

corresponding function:getEmblSeq

EmblSeq getEmblSeq(in string bio_seq_id) raises(type::NoResult, Superceded);

Page 11: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

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 orb3. sample.start(); 4. sample.getEmblSeq(arg[0]);

Page 12: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Example (cont.)

Page 13: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Other Method

Microsoft’s DCOM (Distributed Component Object Model)

Java RMI (Remote Method Invocation)

Page 14: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Conclusion

CORBA is a promising technology for distributed object computing in life science research and has provided pointers to further information.

Page 15: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Reference

http://bioinformer.ebi.ac.uk/newsletter/archives/3/lead_article.html

http://www.corba.org/

http://www.omg.org

http://corba.ebi.ac.uk/

Page 16: Distributed Computing in Life Science Research -Presenter: Yijian Yang 4-28-2003.

Thanks