We are developing scientific software component technology to manage the complexity of modem, parallel simulation software and increase the interop- erability and re-use of scientific software packages. In this paper, we describe a language interoperability tool named Babel that enables the creation and dis- tribution of language-independent software libraries using interface definition language (IDL) techniques. We have created a scientific IDL that focuses on the unique interface description needs of scientific codes, such as complex numbers, dense multidimensional arrays, complicated data types, and parallelism. Prelim- inary results indicate that in addition to language interoperability, this approach provides useful tools for thinking about the design of modem object-oriented scientific software libraries. Finally, we also describe a web-based component repository called Alexandria that facilitates the distribution, documentation, and re-use of scientific components and libraries.