Como eu me conecto a uma fonte de dados Websphere com um nome JND

Estou usando o Websphere Portal 7.0 e criando um portlet com o RAD 8.0. Meu portlet está tentando fazer uma conexão db2 com um servidor remoto. Eu escrevi um programa java localmente para fazer uma conexão JDBC básica com o servidor e obter registros de uma tabela. O código funciona bem; no entanto, quando adiciono o código ao meu portlet e ao db2jcc4.jar, a conexão não funciona. Estou usando o básico:

Connection connection = DriverManager.getConnection("jdbc:db2://server:port/db:user=user;password=pw;");

Eu acho que usar a fonte de dados do Websphere é o caminho certo a seguir. Conheço o nome JNDI da fonte de dados, mas não estou encontrando exemplos claros de como fazer uma conexão. Vários exemplos usam uma classe DataSource (eu digitei isso e isso não parece vir de um pacote java nativo, então qual importação eu uso aqui?) Juntamente com um Contexto. Encontrei código como:

Context ctx = new InitialContext();
ctx.lookup("jdbc/xxxx");

... Alguém pode me explicar isso?

EDIT 1

Atualizei meu código de acordo com as respostas listadas. Eu realmente acho que estou chegando mais perto. Aqui está o meu método getConnection ():

private Connection getConnection() throws SQLException {
    javax.naming.InitialContext ctx = null;
    javax.sql.DataSource ds = null;
    System.out.println("Attempting connection..." + DateUtil.now() );
    try {
        ctx = new javax.naming.InitialContext();
        ds = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/db");
        connection = ds.getConnection();
    } catch (NamingException e) {
        System.out.println("peformanceappraisalstatus: COULDN'T CREATE CONNECTION!");
        e.printStackTrace();
    }       
    System.out.println("connection: " + connection.getClass().getName() + " at " + DateUtil.now());
    return connection;
}

Todo o meu arquivo web.xml se parece com:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>PeformanceAppraisalStatus</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <resource-ref>
        <description>
        Datasource connection to Db</description>
        <res-ref-name>jdbc/db</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
</web-app>

Estou vendo um erro que descreve exatamente o que vocês estão me dizendo que o Websphere deve solicitar que eu faça, mas não:

SRVE0169I: Loading Web Module: PeformanceAppraisalStatus.
[8/23/11 18:08:02:166 CDT] 00000009 InjectionProc E   CWNEN0044E: A resource reference binding could not be found for the jdbc/db resource reference, defined for the PeformanceAppraisalStatus component.
[8/23/11 18:08:02:169 CDT] 00000009 InjectionEngi E   CWNEN0011E:  The injection engine failed to process bindings for the metadata.

im, eu sei que escrevi incorretamente o desempenho como desempenho em todo o aplicativ

SOLUÇÃ

Eu estava tão perto. Aqui estão os bits ausentes que fizeram tudo se encaixar:

web.xml:
<resource-ref>      
    <description>
    Datasource connection to db</description>
    <res-ref-name>jdbc/db</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    <mapped-name>jdbc/db</mapped-name>      
</resource-ref>

ibm-web-bnd.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-bnd 
    xmlns="http://websphere.ibm.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-bnd_1_0.xsd"
    version="1.0">

    <virtual-host name="default_host" />


    <resource-ref name="jdbc/db" binding-name="jdbc/mydatasource" />
</web-bnd>

Parece que o arquivo ibm-web-bnd.xml lida com a ligação entre o nome do recurso do projeto e a fonte de dados no websphere. Depois de adicionar a linha:

<resource-ref name="jdbc/db" binding-name="jdbc/mydatasource" />

Portal @Websphere parecia satisfeito. Meu código está funcionando e se conectando ao banco de dados agor

questionAnswers(6)

yourAnswerToTheQuestion