Escribir Aplicaciones Avanzadas Para La Plataforma Java

347
Escribir Aplicaciones Avanzadas para la Plataforma Java TM Como desarrollador experimentado sobre la plataforma Java TM , indudablemente sabes lo rápido que evoluciona esta plataforma. Sus muchos Interfaces de Programación de Aplicaciones (APIs) proporcionan una gran cantidad de funcionalidades para todos los aspectos de la programación de aplicaciones y nivel de sistema. Los desarrolladores del mundo real nunca usan uno o dos APIs para resolver un problema, sino que juntan la funcionalidad clave de la expansión de varios APIs. Conocer los APIs que necesitas, qué parte de esos APIs necesitas, y como los APIs funcionan juntos para crear la mejor solución puede ser una tarea intimidatoria. Para ayudarte a navegar por los APIs de Java y acortar el tiempo de desarrollo de tus proyectos, esta sección incluye las fases de diseño, desarrollo, prueba y despliegue para una aplicación de subastas. Durante esta aplicación de ejemplo, no cubriremos cada posible escenario de programación, explora muchas situaciones comunes y la discusión te dejará con una metodología sólida para diseñar y construir tus propias soluciones. Esta sección es para desarrolladores con un nivel un poco alto de entendimiento de la escritura de programas Java. El ejemplo está escrito con los APIs de la plataforma Java® 2 y explica en términos de funcionalidad el cómo y el por qué, por eso, si necesitas ayuda para instalar la plataforma Java, configurar tu entorno, o conseguir que tu primera aplicación funcione, primero deberías leer las secciones anteriores de este tutor... Índice de Contenidos Concordar los Requerimientos del Proyecto con la Tecnología Requerimientos del Proyecto Elegir el Software La Aplicación Casa de Subastas Una Aplicación Multi-Fila con JavaBeans Beans de Entidad y Sesión Examinar un Bean de Manejo de Contenedor Métodos de Búsqueda de Manejo de Contenedor Manejo de Datos y Transaciones Persistencia del Bean Manejar Transaciones

Transcript of Escribir Aplicaciones Avanzadas Para La Plataforma Java

  • Escribir Aplicaciones Avanzadas para la PlataformaJavaTMComo desarrollador experimentado sobre la plataforma Java TM, indudablementesabes lo rpido que evoluciona esta plataforma. Sus muchos Interfaces deProgramacin de Aplicaciones (APIs) proporcionan una gran cantidad defuncionalidades para todos los aspectos de la programacin de aplicaciones y nivelde sistema. Los desarrolladores del mundo real nunca usan uno o dos APIs pararesolver un problema, sino que juntan la funcionalidad clave de la expansin devarios APIs. Conocer los APIs que necesitas, qu parte de esos APIs necesitas, ycomo los APIs funcionan juntos para crear la mejor solucin puede ser una tareaintimidatoria.

    Para ayudarte a navegar por los APIs de Java y acortar el tiempo de desarrollo detus proyectos, esta seccin incluye las fases de diseo, desarrollo, prueba ydespliegue para una aplicacin de subastas. Durante esta aplicacin de ejemplo, nocubriremos cada posible escenario de programacin, explora muchas situacionescomunes y la discusin te dejar con una metodologa slida para disear yconstruir tus propias soluciones.

    Esta seccin es para desarrolladores con un nivel un poco alto de entendimiento dela escritura de programas Java. El ejemplo est escrito con los APIs de laplataforma Java 2 y explica en trminos de funcionalidad el cmo y el por qu,por eso, si necesitas ayuda para instalar la plataforma Java, configurar tu entorno,o conseguir que tu primera aplicacin funcione, primero deberas leer las seccionesanteriores de este tutor...

    ndice de ContenidosConcordar los Requerimientos del Proyecto con la Tecnologa

    Requerimientos del Proyecto

    Elegir el Software

    La Aplicacin Casa de Subastas

    Una Aplicacin Multi-Fila con JavaBeans

    Beans de Entidad y Sesin

    Examinar un Bean de Manejo de Contenedor

    Mtodos de Bsqueda de Manejo de Contenedor

    Manejo de Datos y Transaciones

    Persistencia del Bean

    Manejar Transaciones

  • Mtodos de Bsqueda de Manejo del Bean

    Clculo Distribuido

    Servicios de Bsqueda

    RMI

    CORBA

    Tecnologa JDBC

    Servelts

    Tecnologa JNI

    Ejemplos JNI

    Strings y Arrays

    Otros Problemas de Programacin

    Proyecto Swing: Construir un Interface de Usuario

    Componentes y Modelos de Datos

    El API de Impresin

    Impresin Avanzada

    Depuracin de Applets, Aplicaciones y Servlets

    Recoleccin de Evidencias

    Ejecutar Tests y Analizar

    Depurar Servlets

    Depurar Eventos AWT

    Analizar la Pila

    Problemas de Versiones

    Tcnicas de Rendimiento

    Aumentar el Rendimiento por Diseo

    Trucos de Conexin

    Caractersticas de Rendimiento y Herramientas

    Anlisis de Rendimiento

    Enlazar Aplicaciones Cliente/Servidor

    Desarrollar la Aplicacin Subasta

    Archivos JAR

    Plataforma Solaris

    Plataforma Win32

    Ms Tpicos de Seguridad

  • Appelts Firmados

    Escribir un Controlador de Seguridad

    Apndice A: Seguridad y Permisos

    Apndice B: Clases, Mtodos y Permisos

    Apndice C: Mtodos de SecurityManager

    Eplogo

    Ozito

  • Concordar los Requerimientos del Proyecto con laTecnologaEl desafo de escribir un libro sobre el desarrollo de una aplicacin avanzada para laplataforma JavaTM es encontrar un proyecto lo suficientemente pequeo, pero almismo tiempo, los suficientemente completo para garantizar las tecnicas deprogramacin avanzadas.

    El proyecto presentado en este libro es una casa de subastas basada en web. Laaplicacin est inicialmente escrita para la plataforma Enterprise JavaBeansTM. Enlos captulos posteriores expandieremos el corazn del ejemplo descrito aquaadiendo funcionalidades avanzadas, mejoras y soluciones alternativas a algunasde las cosas que obtendrs gratis cuando use la plataforma Enterprise JavaBeans.

    Para mantener la explicacin sencilla, la aplicacin de ejemplo slo tiene unconjunto bsico de transaciones para poner y pujar tems a subasta. Sin embargo,la aplicacin escala para manejar mltiples usuarios, proporciona un entorno detres filas basado en transaciones, controla la seguirad, e integra sistemas basadosen la legalidad. Este captulo cubre cmo determinar los requerimientos delproyecto y el modelo de aplicacin -- pasos importantes que siempre deberanrealizarse antes de empezar a codificar.

    Requerimientos de Proyecto y Modelado

    Elegir el Software

    Tienes Prisa?Esta tabla te enlaza directamente con los tpicos especficos.

    Tpico SeccinDemostracin de Subasta La Subasta de DukeRequerimientos del Proyecto Entrevista Base

    Modelar el ProyectoModelado La Casa Identifica Compradores y Vendedores

    La Casa Determina la Mayor PujaLa Casa Notifica a Compradores y VendedoresAlguien Busca un temAlguien Ve un tem en VentaAlguien Ve los Detalles de un temEl Vendedor Pone un tem en VentaEl Compador Puja por temsDiagrama de Actividad

  • Elegir el Software Los APIs de JavaTM

    Ozito

  • Req

    uerim

    ient

    os d

    el P

    roye

    cto

    y M

    odel

    ado

    El prim

    er p

    aso p

    ara

    det

    erm

    inar

    los

    requer

    imie

    nto

    s del

    pro

    yect

    o e

    s la

    entr

    evis

    ta c

    on e

    l usu

    ario

    bas

    e par

    a sa

    ber

    que

    se e

    sper

    a de

    una

    subas

    ta o

    n-l

    ine.

    Est

    e es

    un p

    aso im

    port

    ante

    , y

    no p

    ued

    e pas

    arse

    por

    alto

    porq

    ue

    es u

    na

    bas

    e s

    lida

    de

    info

    rmac

    in q

    ue

    nos

    ayudar

    a

    def

    inir las

    cap

    acid

    ades

    cla

    ve d

    e nues

    tra

    aplic

    acio

    n.

    El ca

    ptulo

    2 p

    asea

    a t

    rav

    s del

    cdig

    o d

    e la

    aplic

    aci

    n,

    explic

    a co

    mo t

    rabaj

    a la

    pla

    tafo

    rma

    Ente

    rprise

    Jav

    aBea

    ns,

    y n

    os

    cuen

    ta c

    m

    o e

    jecu

    tar

    una

    dem

    ost

    raci

    n e

    n v

    ivo.

    Si nunca

    has

    vis

    to o

    usa

    do u

    na

    subas

    ta o

    n-l

    ine,

    aqu hay

    una

    maq

    uet

    a de

    las

    pg

    inas

    HTM

    L de

    la a

    plic

    aci

    n d

    e ej

    emplo

    .

    Entr

    evis

    ta a

    l usu

    ario

    Bas

    e

    Model

    o d

    e Pr

    oye

    cto

    Entr

    evis

    ta a

    l usu

    ario

    Bas

    ePo

    r la

    dic

    usi

    n y

    por

    man

    tener

    las

    cosa

    s se

    nci

    llas,

    est

    a ex

    plic

    aci

    n a

    sum

    e que

    en las

    entr

    evis

    tas

    con los

    usu

    ario

    s bas

    e se

    enco

    ntr

    aron los

    siguie

    nte

    s re

    quer

    imie

    nto

    s par

    a la

    cas

    a de

    subas

    tas:

    Req

    ueri

    mie

    nto

    s d

    e la C

    asa

    de S

    ub

    ast

    as

    Info

    rmac

    in N

    eces

    aria

    del

    Com

    pra

    dor

    y Ven

    ded

    or

    Nota

    s de

    Ven

    ded

    ore

    s par

    a post

    ear

    tem

    s

    Gra

    bar

    e I

    nfo

    rmar

    de

    las

    tran

    saci

    ones

    dia

    rias

    Req

    ueri

    mie

    nto

    s d

    el u

    suari

    oPu

    jar

    por

    o V

    ender

    un te

    m

    Busc

    ar o

    ver

    te

    ms

    en v

    enta

    Notifica

    r la

    s ve

    nta

    s al

    ven

    ded

    or

    y al

    com

    pra

    dor

    Mo

    delo

    de

    Proy

    ecto

    Des

    pus

    de

    anal

    izar

    los

    requer

    imie

    nto

    s, p

    odem

    os

    const

    ruir u

    n d

    iagra

    ma

    de

    flujo

    de

    la a

    plic

    aci

    n p

    ara

    obte

    ner

    un m

    ejor

    ente

    ndim

    iento

    de

    los

    elem

    ento

    s nec

    esar

    ios

    en la

    aplic

    aci

    ny

    cm

    o inte

    ract

    ua.

    Un d

    iagra

    ma

    de

    flujo

    mues

    tra

    la r

    elac

    in e

    ntr

    e lo

    s ac

    tore

    s y

    pro

    ceso

    s den

    tro d

    el s

    iste

    ma.

    Un p

    roce

    so e

    s una

    funci

    n

    nic

    a en

    un s

    iste

    ma,

    y u

    n a

    ctor

    es la

    per

    sona

    o s

    oft

    war

    e que

    real

    iza

    la a

    cci

    n o

    pro

    ceso

    . Po

    r ej

    emplo

    , un c

    om

    pra

    dor

    es e

    l ac

    tor

    que

    real

    iza

    la f

    unci

    n (

    pro

    ceso

    ) de

    puja

    r por

    un te

    m d

    e la

    subas

    ta,

    y el

    ven

    ded

    or

    es e

    l ac

    tor

    que

    real

    iza

    elpro

    ceso

    de

    post

    ear

    un te

    m p

    ara

    su s

    ubas

    ta.

    Aunque,

    no t

    odos

    los

    acto

    res

    son p

    erso

    nas

    . Po

    r ej

    emplo

    , el

    soft

    war

    e es

    el ac

    tor

    que

    det

    erm

    ina

    cuan

    do u

    n te

    m s

    e ha

    cerr

    ado,

    encu

    entr

    a la

    puja

    ms

    alta,

    y n

    otifica

    la

    venta

    al

    com

    pra

    dor

    y al

    ven

    ded

    or.

    ElU

    nifie

    d M

    odel

    ing L

    anguag

    e (U

    ML)

    es

    la h

    erra

    mie

    nta

    que

    se u

    sa p

    ara

    los

    dia

    gra

    mas

    de

    pro

    ceso

    s. E

    l si

    guie

    nte

    dia

    gra

    ma

    usa

    UM

    L par

    a des

    crib

    ir los

    pro

    ceso

    s del

    com

    pra

    dor

    y del

    vended

    or

    par

    a una

    aplic

    aci

    n d

    e su

    bas

    ta o

    n-l

    ine.

    En U

    ML,

    los

    sist

    emas

    se

    agru

    pan

    en c

    uad

    rados,

    los

    acto

    res

    se r

    epre

    senta

    s por

    figura

    s hum

    anas

    , lo

    s pro

    ceso

    s se

    den

    ota

    n m

    edia

    nte

    va

    los,

    y las

    ln

    eas

    mues

    tran

    com

    o los

    acto

    res

    usa

    n e

    l si

    stem

    a.

  • La s

    iguie

    nte

    des

    crip

    cin d

    efin

    e el

    pro

    yect

    o.

    Est

    as d

    escr

    ipci

    ones

    no s

    on p

    arte

    del

    UM

    L, p

    ero s

    on u

    na

    her

    ram

    ienta

    til par

    a la

    def

    inic

    in d

    e pro

    yect

    os.

    La C

    asa

    Iden

    tific

    a a

    Com

    prad

    ores

    y V

    ende

    dore

    s

    Una

    aplic

    aci

    n d

    e su

    bas

    tas

    es u

    sada

    por

    com

    pra

    dore

    s y

    vended

    ore

    s. U

    n c

    om

    pra

    dor

    nec

    esita

    saber

    que

    n e

    s el

    ven

    ded

    or

    a quie

    n t

    iene

    que

    pag

    arle

    , y

    el v

    ended

    or

    nec

    esita

    conoce

    r a

    los

    com

    pra

    dore

    s par

    a re

    sponder

    a s

    us

    pre

    gunta

    s so

    bre

    el pro

    duct

    o y

    par

    a final

    izar

    la

    venta

    . Po

    r es

    o,

    par

    a post

    ear

    o p

    uja

    r por

    un te

    m d

    e la

    subas

    ta,

    los

    com

    pra

    dore

    s y

    vended

    ore

    snec

    esitan

    est

    ar r

    egis

    trad

    os.

    El re

    gis

    tro n

    eces

    ita

    obte

    ner

    la

    siguie

    nte

    info

    rmac

    in s

    obre

    los

    com

    pra

    dore

    s y

    vended

    ore

    s:U

    ser

    ID y

    pas

    sword

    par

    a co

    mpra

    r y

    vender

    .

    Direc

    cin d

    e E-m

    ail par

    a que

    pued

    a co

    munic

    arse

    le la

    puja

    ms

    alta

    cuan

    do s

    e ci

    erre

    la

    subas

    ta.

    Info

    rmac

    in d

    e la

    tar

    jeta

    de

    crd

    ito p

    ara

    que

    la c

    asa

    de

    subas

    tas

    pued

    a co

    bra

    r al

    ven

    ded

    or

    por

    lista

    r su

    s tem

    s.

    Una

    vez

    regis

    trad

    o,

    el u

    suar

    io p

    ued

    e post

    ear

    o p

    uja

    r por

    un te

    m e

    n v

    enta

    .

    La C

    asa

    Dete

    rmin

    a la

    Puja

    ms

    alta

    La a

    plic

    aci

    n d

    e su

    bas

    tas

    hac

    e co

    nsu

    ltas

    a la

    bas

    e de

    dat

    os

    y gra

    ba

    e in

    form

    a de

    las

    tran

    saci

    ones

    dia

    rias

    . La

    aplic

    aci

    n b

    usc

    a tem

    s que

    se h

    an c

    erra

    do y

    det

    erm

    ina

    la p

    uja

    ms

    alta

    .

    La C

    asa

    Notit

    ica

    a lo

    s Co

    mpr

    ador

    es y

    Ven

    dedo

    res

    La a

    plic

    aci

    n s

    ubas

    ta u

    sa e

    l e-

    mai

    l par

    a notifica

    r al

    que

    ha

    puja

    do m

    s a

    lto y

    al ve

    nded

    or,

    y c

    obra

    rle

    al v

    ended

    or

    por

    los

    serv

    icio

    s.

    Alg

    uien

    Bus

    ca u

    n te

    mLo

    s co

    mpra

    dore

    s y

    vended

    ore

    s in

    troduce

    n u

    n s

    trin

    g d

    e bsq

    ued

    a par

    a lo

    caliz

    ar t

    odos

    los

    tem

    s en

    subas

    ta d

    e la

    bas

    e de

    dat

    os.

    Alg

    uien

    Ve

    los

    tems

    en V

    enta

    Para

    popula

    riza

    r la

    subas

    ta y

    conse

    guir n

    uev

    os

    vended

    ore

    s y

    com

    pra

    dore

    s, la

    aplic

    aci

    n p

    emite

    que

    cual

    quie

    ra v

    ea los

    tem

    s de

    la s

    ubas

    ta s

    in r

    equer

    ir q

    ue

    est

    reg

    istr

    ado.

    Para

    hac

    er e

    sto s

    enci

    llo,

    la s

    ubas

    ta p

    erm

    ite

    que

    cual

    quie

    ra v

    ea u

    na

    lista

    de

    los

    tem

    s de

    alguna

    de

    esta

    s tr

    es f

    orm

    as:

    Todos

    los

    tem

    s en

    subas

    ta.

    Nuev

    os

    tem

    s lis

    tados

    hoy.

    tem

    s que

    se c

    ierr

    an h

    oy.

    Alg

    uien

    Ve

    los

    Deta

    lles

    de u

    n te

    mLa

    lis

    ta s

    um

    ariz

    ada

    enla

    za c

    on la

    siguie

    nte

    info

    rmac

    in d

    etal

    lada

    de

    cada

    tem

    . Est

    a in

    form

    aci

    n e

    st

    dis

    ponib

    le p

    ara

    cual

    quie

    ra s

    in n

    eces

    idad

    de

    iden

    tifica

    cin.

    Sum

    ario

    del

    te

    m.

    Nm

    ero d

    el te

    m e

    n la

    subas

    ta.

    Prec

    io A

    ctual

    Nm

    ero d

    e puja

    s

    Fech

    a de

    pues

    ta e

    n s

    ubas

    ta

    Fech

    a de

    cier

    re d

    el te

    m

    ID d

    el v

    ended

    or

    Puja

    ms

    alta

    Des

    crip

    cin d

    el te

    m

    El V

    ende

    dor P

    oste

    a te

    ms pa

    ra su

    Ven

    taPa

    ra p

    ost

    ear

    un te

    m p

    ara

    su v

    enta

    , un v

    ended

    or

    nec

    esita

    iden

    tifica

    rse

    a s

    mis

    mo y

    des

    crib

    ir e

    l tem

    , de

    esta

    form

    a:U

    ser

    ID y

    pas

    sword

    par

    a la

    iden

    tifica

    cin d

    el v

    ended

    or

    Des

    crip

    cin s

    um

    aria

    de

    tem

    Prec

    io d

    e puja

    inic

    ial

    Des

    crip

    cin d

    etal

    lada

    del

    te

    m

    Nm

    ero d

    e da

    s que

    el te

    m e

    star

    en

    la

    subas

    ta

    El C

    ompr

    ador

    Puja

    por I

    tems

    Una

    pg

    ina

    de

    sum

    ario

    det

    alla

    do p

    or

    cada

    tem

    per

    mite

    a lo

    s usu

    ario

    s re

    gis

    trad

    os

    iden

    tifica

    rse

    a s

    mis

    mos

    y puja

    r por

    el te

    m p

    roporc

    ionan

    do la

    siguie

    nte

    info

    rmac

    in:

  • Use

    r ID

    Pass

    word

    Can

    tidad

    de

    la P

    uja

    Dia

    gram

    a de

    Act

    ivid

    ad

    El dia

    gra

    ma

    de

    activi

    dad

    mues

    tra

    el f

    lujo

    de

    tare

    as d

    entr

    o d

    e la

    cas

    a de

    subas

    tas

    com

    o u

    na

    tota

    lidad

    . Est

    e dia

    gra

    ma

    mues

    tra

    la a

    plic

    aci

    n s

    ubas

    ta.

    El c

    rculo

    neg

    ro d

    e la

    izq

    uie

    rda

    mues

    tra

    el p

    rinci

    pio

    de

    las

    activi

    dad

    es,

    y el

    crcu

    lo b

    lanco

    punte

    ado e

    n e

    l ce

    ntr

    o d

    enota

    donde

    term

    inan

    las

    act

    ivid

    ades

    .

  • Ozi

    to

  • Elegir el SoftwareCon la aplicacin modelada y los requerimientos del proyecto definidos, es hora depensar en los APIs de JavaTM que vamos a usar. La aplicacin est claramentebasada en cliente y servidor porque queremos acomodar desde 1 hasta ncompradores, vendedores y mirones al mismo tiempo. Como el registro de losdatos de los tems en subasta deben almacenarse y recuperarse de algunamanejar, necesitares el API para acceder a bases de datos.

    Los APIs de JavaTM

    El corazn de la aplicacin se puede crear de muchas formas usando uno de lossiguientes aPIs:

    APIs de Sockets, multithreads y JDBCTM.1.APIs de Remote Method Invocation (RMI) y JDBC.2.Plataforma Enterprise JavaBeansTM.3.

    Enterprise JavaBeans proporciona una forma sencilla de crear aplicaciones declientes multi hilos porque maneja transaciones y control de estado, multithreads,recursos y otros complejos detalles de bajo nivel. La forma ms sencilla paracodificar la aplicacin de subastas es con la plataforma Enterprise JavaBeans.

    El captulo 2 explica el cdigo del corazn de la aplicacin y como configurar yejecutar el ejemplo.

    Ozito

  • Cdi

    go d

    e la

    Apl

    icac

    in

    de la

    Cas

    a de

    Sub

    asta

    sLa

    aplic

    aci

    n d

    e ej

    emplo

    es

    una

    casa

    de

    subas

    tas

    bas

    ada

    en e

    l W

    eb y

    esc

    rita

    par

    a la

    pla

    tafo

    rma

    Ente

    rprise

    Jav

    aBea

    nsT

    M.

    El in

    terf

    ace

    de

    usu

    ario

    es

    un c

    onju

    nto

    de

    pg

    inas

    HTM

    Lque

    obtien

    en la

    entr

    ada

    del

    usu

    ario

    y le

    mues

    tran

    la

    info

    rmac

    in.

    Det

    rs

    de

    las

    pg

    inas

    HTM

    L h

    ay u

    n s

    erve

    lt q

    ue

    pas

    a dat

    os

    entr

    e el

    nav

    egad

    or

    y el

    ser

    vidor

    Ente

    rprise

    Jav

    aBea

    ns.

    Est

    e se

    rvid

    or

    man

    eja

    la lec

    tura

    y e

    scritu

    ra d

    e la

    bas

    e de

    dat

    os.

  • Est

    e ca

    ptulo

    des

    crib

    e el

    cdig

    o d

    e la

    aplic

    aci

    n,

    cm

    o f

    unci

    ona

    con e

    l se

    rvid

    or

    Ente

    rprise

    Jav

    aBea

    ns,

    y d

    nde

    obte

    ner

    est

    e se

    rvid

    or

    par

    a ej

    cuta

    r el

    eje

    mplo

    . O

    , si

    lo p

    refier

    es,

    aqu

    hay

    una

    maq

    uet

    a de

    la a

    plic

    aci

    n s

    ubas

    ta.

    Una

    Aplic

    aci

    n M

    ulti.H

    ilo c

    on E

    nte

    rprise

    Bea

    ns

    Bea

    ns

    de

    Entidad

    y d

    e Ses

    in

    Exa

    min

    ar u

    n B

    ean d

    e Conte

    ned

    or

    Contr

    ola

    dor

    Mt

    odos

    Busc

    adore

    s del

    Conte

    ndor

    Contr

    ola

    dor

    Tie

    nes

    Pris

    a?Est

    a ta

    bla

    contien

    e en

    lace

    s direc

    tos

    a lo

    s t

    pic

    os

    espec

    fic

    os.

    Tpi

    coSe

    cci

    nU

    na A

    plic

    aci

    n M

    ulti-

    Hilo

    con

    Ent

    erpr

    ise B

    eans

    El E

    nter

    prise

    Bea

    ns D

    efin

    ido

    Bea

    ns d

    e En

    tidad

    y d

    e Se

    sin

    La C

    asa

    de S

    ubas

    tas F

    unci

    ona

    Des

    arro

    llar y

    Ejec

    utar A

    plicac

    iones

    Cm

    o fu

    ncio

    nan

    las a

    plic

    acio

    nes M

    ulti-

    Hilo

    ?B

    eans

    de

    Entid

    ad y

    de

    Sesi

    nEl

    serv

    elt A

    uctio

    nB

    eans

    Ent

    ityB

    eans

    Ses

    sion

    Clas

    es C

    onte

    nedo

    rEx

    amin

    ar u

    n Be

    an d

    e Co

    nten

    edor

    Con

    trola

    dor

    Var

    iabl

    es M

    iem

    bro

    Mt

    odo

    Crea

    teM

    tod

    os d

    e Co

    ntex

    to d

    e En

    tidad

    Mt

    odo

    Load

    Mt

    odo

    Stor

    eG

    uard

    ar la

    Con

    exi

    nD

    escr

    ipto

    r de

    Des

    arro

    lloM

    tod

    os d

    el B

    usca

    dor d

    e Co

    nten

    edo

    Cont

    rola

    dor

    Auc

    tionS

    ervl

    et.se

    arch

    Item

    sB

    idde

    rBea

    n.ge

    tMat

    chin

    gIte

    msL

    istA

    uctio

    nIte

    mH

    ome.

    findA

    llMat

    chin

    gIte

    ms

    Auc

    tionI

    tem

    Bean

    Dep

    loym

    ent D

    escr

    ipto

    r

    Ozi

    to

  • Un A

    plic

    aci

    n M

    ulti-

    Fila

    con

    Bea

    ns d

    e En

    terp

    rise

    La p

    rolif

    erac

    in d

    e ap

    licac

    iones

    bas

    adas

    en inte

    rnet

    - e

    intr

    anet

    - h

    a cr

    eado u

    na

    gra

    n n

    eces

    idad

    de

    aplic

    acio

    nes

    tra

    nsa

    cional

    es d

    istr

    ibuid

    as q

    ue

    aum

    ente

    la

    velo

    cidad

    , se

    guridad

    yre

    ndim

    iento

    de

    la t

    ecnolo

    ga

    del

    lad

    o d

    el s

    ervi

    dor.

    Una

    form

    a de

    conse

    guir e

    stas

    nec

    esid

    ades

    es

    usa

    r un m

    odel

    o m

    ulti-

    fila

    donde

    una

    peq

    ue

    a ap

    licac

    in c

    liente

    invo

    ca lgic

    a de

    neg

    oci

    o q

    ue

    se e

    jecu

    ta e

    n e

    l se

    rvid

    or.

    Norm

    alm

    ente

    , la

    s peq

    ue

    as a

    plic

    acio

    nes

    clie

    nte

    s m

    ulti-

    hilo

    son d

    ific

    iles

    de

    escr

    ibir p

    orq

    ue

    se invo

    lucr

    an m

    uch

    as ln

    eas

    de

    cdig

    o intr

    inca

    do p

    ara

    man

    ejar

    la

    tran

    saci

    n,

    el c

    ontr

    ol de

    esta

    dos,

    multithre

    ads,

    sola

    pe

    de

    recu

    rsos

    y otr

    os

    det

    alle

    s co

    mple

    jos

    de

    baj

    o n

    ivel

    . Y p

    ara

    rem

    atar

    est

    as d

    ific

    ultad

    es,

    tenem

    os

    que

    retr

    abaj

    ar e

    ste

    cdig

    o c

    ada

    vez

    que

    escr

    ibam

    os

    una

    aplic

    aci

    n p

    orq

    ue

    es t

    an d

    e baj

    o n

    ivel

    que

    no e

    s re

    utiliz

    able

    .

    Si pudie

    ram

    os

    usa

    r un c

    dig

    o d

    e m

    anej

    o d

    e tr

    ansa

    ciones

    pre

    const

    ruid

    o p

    or

    alguie

    n o

    incl

    uso

    si pued

    iera

    mos

    reutiliz

    ar a

    lgo d

    e nues

    tro p

    ropio

    cdig

    o,

    ahorr

    aria

    mos

    much

    o t

    iem

    po y

    ener

    ga

    que

    podram

    os

    utiliz

    ar p

    ara

    reso

    lver

    otr

    os

    pro

    ble

    mas

    . Bie

    n,

    la t

    ecnolo

    ga

    Ente

    rprise

    Jav

    aBea

    nsT

    M p

    ued

    e dar

    nos

    la a

    yuda

    nec

    esar

    ia.

    Est

    a te

    cnolo

    ga

    hac

    e se

    nci

    llas

    de

    escr

    ibir

    las

    aplic

    acio

    nes

    tra

    nsa

    cional

    es d

    istr

    ibuid

    as p

    orq

    ue

    separ

    a lo

    s det

    alle

    s de

    baj

    o n

    ivel

    de

    la lgic

    a del

    neg

    oci

    o.

    Nos

    conce

    ntr

    amos

    en c

    rear

    la

    mej

    or

    solu

    cin p

    ara

    nues

    tro n

    egoci

    o y

    dej

    amos

    el r

    esto

    a la

    arquitec

    tura

    ocu

    lta.

    Est

    e ca

    ptulo

    des

    crib

    e c

    mo c

    rear

    la

    aplic

    aci

    n d

    e su

    bas

    tas

    del

    eje

    mplo

    usa

    ndo los

    serv

    icio

    s pro

    porc

    ionad

    os

    por

    la p

    lata

    form

    a Ente

    rprise

    Jav

    aBea

    ns.

    En los

    siguie

    nte

    s ca

    ptulo

    sve

    rem

    os

    com

    o p

    odem

    os

    per

    sonal

    izar

    est

    os

    serv

    icio

    s e

    inte

    gra

    r es

    tas

    cara

    cter

    stica

    s en

    aplic

    acio

    nes

    exi

    sten

    tes

    no E

    JB.

    Ente

    rprise

    Bea

    ns

    Def

    inid

    os

    Peque

    os

    Progra

    mas

    Clie

    nte

    s

    Arq

    uitec

    tur

    Multi-

    Hilo

    Bea

    ns

    de

    entidad

    y d

    e se

    sin

    La C

    asa

    de

    Subas

    tas

    Funci

    ona

    Des

    arro

    llar

    y Eje

    cuta

    r Aplic

    acio

    nes

    Cm

    o f

    unci

    onan

    las

    Aplic

    acio

    nes

    multi-

    hilo

    ?

    Ente

    rpris

    e Be

    ans

    Defin

    idos

    Un B

    ean E

    nte

    rprise

    es

    una

    clas

    e que

    pro

    porc

    iona

    dos

    tipos

    de

    mt

    odos:

    lgic

    a de

    neg

    oci

    o y

    cic

    lo d

    e vi

    da.

    Un p

    rogra

    ma

    clie

    nte

    lla

    ma

    a lo

    s m

    todos

    de

    la lgic

    a de

    neg

    oci

    o p

    ara

    inte

    ract

    uar

    con los

    dat

    os

    conte

    nid

    os

    en e

    l se

    rvid

    or.

    El co

    nte

    ned

    or

    llam

    a a

    los

    mt

    odos

    de

    cicl

    o d

    e vi

    da

    par

    a m

    anej

    ar e

    l Bea

    n e

    n e

    l se

    rvid

    or.

    Adem

    s d

    e es

    tos

    dos

    tipos

    de

    mt

    odos,

    un B

    ean E

    nte

    rprise

    tie

    ne

    un f

    icher

    o d

    e co

    nfigura

    cin a

    soci

    ado,

    llam

    ado u

    n d

    escr

    ipto

    r de

    des

    arro

    llo,

    se u

    sa p

    ara

    configura

    r el

    Bea

    n e

    n e

    l m

    om

    ento

    del

    des

    arro

    llo.

    As

    com

    o e

    s el

    res

    ponsa

    ble

    de

    la c

    reac

    cin y

    borr

    ado d

    e Bea

    ns,

    el se

    rvid

    or

    de

    Java

    Bea

    ns

    de

    Ente

    rprise

    tam

    bi

    n m

    anej

    a la

    s tr

    ansa

    ciones

    , la

    concu

    rren

    cia,

    la

    seguridad

    y la

    per

    sist

    enci

    a de

    dat

    os.

    Incl

    uso

    las

    conex

    iones

    entr

    e el

    clie

    nte

    y e

    l se

    rvid

    or

    se p

    roporc

    ionan

    usa

    ndo los

    API

    s de

    RM

    I y

    JND

    I y

    opc

    ional

    men

    te los

    serv

    idore

    s pued

    en p

    roporc

    ionar

    esca

    labili

    dad

    a t

    rav

    s del

    man

    ejo d

    e th

    read

    s.

    El ej

    emplo

    de

    la c

    asa

    de

    subas

    tas

    imple

    men

    ta u

    na

    com

    ple

    ta s

    olu

    cin d

    e Ja

    vaBea

    ns

    de

    Ente

    rprise

    que

    slo

    pro

    porc

    ionan

    la

    lgic

    a de

    neg

    oci

    o y

    usa

    los

    serv

    icio

    s ocu

    ltos

    pro

    porc

    ionad

    os

    por

    la a

    rquitec

    tura

    . Sin

    em

    bar

    go,

    podram

    os

    enco

    ntr

    ar q

    ue

    el s

    ervi

    cio d

    e co

    nte

    ned

    ore

    s co

    ntr

    ola

    dore

    s, a

    unque

    pro

    porc

    ionan

    do u

    na

    mx

    ima

    port

    abili

    dad

    , no c

    onsi

    gue

    todos

    los

    requer

    imie

    nto

    s de

    nues

    tra

    aplic

    aci

    n.

    En los

    pr

    xim

    os

    captulo

    s ve

    rem

    os

    cm

    o p

    roporc

    ionar

    est

    os

    serv

    icio

    s a

    nues

    tro B

    ean y

    tam

    bi

    n c

    om

    o u

    sar

    esto

    s se

    rvic

    ios

    enap

    licac

    iones

    que

    no u

    sen B

    eans

    de

    Ente

    rprise

    .

    Pequ

    eo

    Prog

    ram

    as C

    lient

    eU

    n p

    eque

    o c

    liente

    es

    un p

    rogra

    ma

    clie

    nte

    que

    invo

    ca a

    la

    lgic

    a de

    neg

    oci

    o q

    ue

    se e

    jecu

    ta e

    n e

    l se

    rvid

    or.

    Se

    llam

    a "p

    eque

    o"

    porq

    ue

    la m

    ayora

    del

    pro

    ceso

    suce

    de

    en e

    l se

    rvid

    or.

    En la

    siguie

    nte

    fig

    ura

    , el

    ser

    vlet

    es

    el c

    liente

    . In

    voca

    a los

    Bea

    ns

    Ente

    rprise

    que

    se e

    jecu

    tan s

    obre

    un s

    ervi

    dor

    de

    Java

    Bea

    ns

    Ente

    rprise

    . Tam

    bi

    n e

    jecu

    ta la

    lgic

    a que

    crea

    las

    pg

    inas

    web

    que

    apar

    ecen

    en e

    l nav

    egad

    or.

  • Arq

    uite

    ctur

    a M

    ulti-

    Fila

  • arquitec

    tura

    multi-

    fila

    o a

    rquitec

    tura

    de

    tres

    fila

    s des

    cien

    de

    del

    model

    o e

    stn

    dar

    d d

    e dos

    fila

    s de

    clie

    nte

    y s

    ervi

    dor

    situ

    ando

    una

    aplic

    aci

    n m

    ulti-

    fila

    entr

    e el

    clie

    nte

    y la

    bas

    e de

    dat

    os.

    Los

    pro

    gra

    mas

    clie

    nte

    s se

    com

    unic

    an c

    on la

    bas

    e de

    dat

    os

    a tr

    avs

    de

    la a

    plic

    aci

    n d

    el s

    ervi

    dor

    usa

    ndo lla

    mad

    as d

    e al

    to n

    ivel

    e indep

    endie

    nte

    s de

    la p

    lata

    form

    a. L

    a ap

    licac

    in

    serv

    idor

    resp

    onde

    a la

    s pet

    icio

    nes

    del

    clie

    nte

    , hac

    e la

    s lla

    mad

    as n

    eces

    aria

    s a

    la b

    ase

    de

    dat

    os

    den

    tro d

    e la

    bas

    e de

    dat

    os

    ocu

    lta,

    y r

    esponde

    al p

    rogra

    ma

    clie

    nte

    de

    la f

    orm

    aap

    ropia

    da.

    El ej

    emplo

    de

    casa

    de

    subas

    tas

    bas

    ado e

    n w

    eb d

    e tr

    es f

    ilas

    consi

    ste

    en e

    l se

    rvle

    t cl

    iente

    , el

    ser

    vidor

    Ente

    rprise

    Jav

    aBea

    ns

    (la

    aplic

    aci

    n s

    ervi

    dor)

    , y

    el s

    ervi

    dor

    de

    la b

    ase

    de

    dat

    os

    com

    o s

    e ve

    en la

    figura

    .

    Bea

    ns

    de E

    ntid

    ad y

    de

    Sesi

    nExi

    sten

    dos

    tipos

    de

    Bea

    ns

    Ente

    rprise

    : Bea

    ns

    de

    entidad

    y d

    e se

    sin.

    Un B

    ean E

    nte

    rprise

    que

    imple

    men

    ta u

    na

    entidad

    de

    neg

    oci

    o e

    s un B

    ean

    de E

    nti

    dad,

    y un B

    ean E

    nte

    rprise

    que

    imple

    men

    ta u

    na

    tare

    a de

    neg

    oci

    o e

    s un B

    ean

    de S

    esi

    n

    .

    Tp

    icam

    ente

    , un B

    ean d

    e en

    tidad

    rep

    rese

    nta

    una

    fila

    de

    dat

    os

    per

    sist

    ente

    s al

    mac

    enad

    os

    en u

    na

    tabla

    de

    la b

    ase

    de

    dat

    os.

    En e

    l ej

    emplo

    de

    la c

    asa

    de

    subas

    tas,

    Reg

    istr

    ati

    on

    Bean

    es u

    n B

    ean d

    e en

    tidad

    que

    repre

    senta

    los

    dat

    os

    de

    un u

    suar

    io r

    egis

    trad

    o,

    y A

    uct

    ion

    Item

    Bean

    es

    un B

    ean d

    e en

    tidad

    que

    repre

    sena

    los

    dat

    os

    de

    un te

    m d

    e la

    subas

    ta.

    Los

    Bea

    ns

    de

    entidad

    son t

    ransa

    cional

    es y

    de

    larg

    a vi

    da.

    Mie

    ntr

    as q

    ue

    los

    dat

    os

    per

    man

    ezca

    n,

    el B

    ean d

    e en

    tidad

    pued

    e ac

    ceder

    y a

    ctual

    izar

    los.

    Est

    o n

    o s

    ignific

    a que

    tengam

    os

    un B

    ean

    ejec

    ut

    ndose

    por

    cada

    fila

    de

    la t

    abla

    . Si no q

    ue

    los

    Bea

    ns

    Ente

    rprise

    se

    carg

    an y

    gra

    ban

    cuan

    do e

    s nec

    esar

    io.

    Un B

    ean d

    e se

    sin p

    odra

    ejec

    uta

    r una

    lect

    ura

    o e

    scritu

    ra e

    n la

    bas

    e de

    dat

    os,

    per

    o n

    o e

    s nec

    esar

    io.

    Un B

    ean d

    e se

    sin p

    odra

    invo

    car

    llam

    adas

    al JD

    BC p

    or

    s m

    ism

    o o

    podra

    usa

    run B

    ean d

    e en

    tidad

    par

    a hac

    er la

    llam

    ada,

    en c

    uyo

    cas

    o e

    l Bea

    n d

    e se

    sin e

    s un c

    liente

    del

    Bea

    n d

    e en

    tidad

    . U

    n c

    ampo d

    e Bea

    n c

    ontien

    e el

    est

    ado d

    e la

    conve

    rsac

    in y

    son

    tem

    pora

    les.

    Si el

    ser

    vidor

    o e

    l cl

    iente

    se

    blo

    quea

    n,

    el B

    ean d

    e se

    sin s

    e v

    . Fr

    ecuen

    tem

    ente

    se

    usa

    n los

    Bea

    ns

    de

    sesi

    n c

    on u

    no o

    ms

    Bea

    ns

    de

    entidad

    y p

    ara

    oper

    acio

    nes

    com

    ple

    jas

    con d

    atos.

    Bean

    s de

    Sesi

    nBe

    ans d

    e En

    tidad

    Cam

    pos

    que

    contien

    en e

    l es

    tado d

    e la

    conve

    rsac

    in

    Rep

    rese

    nta

    n d

    atos

    de

    la b

    ase

    de

    dat

    os

    Man

    ejan

    acc

    esos

    a la

    bas

    e de

    dat

    os

    por

    par

    te d

    el c

    liente

    Com

    par

    ten a

    cces

    os

    entr

    e m

    ltip

    les

    usu

    ario

    sLa

    vid

    a del

    clie

    nte

    es

    la v

    ida

    del

    Bea

    nPe

    sist

    e m

    ientr

    as e

    xist

    an los

    dat

    os

    Pued

    en p

    erder

    se c

    on la

    tran

    saci

    n

    Tra

    nsa

    cional

    No s

    obre

    vive

    a las

    ca

    das

    del

    ser

    vidor

    Sobre

    vive

    a las

    ca

    das

    del

    ser

    vidor

    No m

    anej

    a lo

    s dat

    os

    de

    form

    a fina

    Man

    ejo d

    e dat

    os

    de

    form

    a del

    icad

    a

    La C

    asa

    de S

    ubas

    tas

    Func

    iona

    El dia

    gra

    ma

    mues

    tra

    los

    Bea

    ns

    de

    Ente

    rprise

    par

    a la

    aplic

    aci

    n d

    e la

    cas

    a de

    subas

    tas

    y su

    rel

    aci

    n c

    on e

    l se

    rvid

    or

    de

    Java

    Bea

    ns

    de

    Ente

    rprise

    . El cl

    iente

    invo

    ca la

    lgic

    a de

    neg

    oci

    oen

    cuat

    ro B

    eans

    de

    Ente

    rprise

    a t

    rav

    s de

    sus

    inte

    rfac

    es h

    om

    e y

    rem

    oto

    . El se

    rvid

    or

    Java

    Bea

    ns

    de

    este

    eje

    mplo

    man

    eja

    los

    det

    alle

    s de

    baj

    o n

    ivel

    incl

    uye

    ndo las

    oper

    acio

    nes

    de

    lect

    ura

    y e

    scritu

    ra e

    n la

    bas

    e de

    dat

    os.

    Los

    cuat

    ro B

    eans

    del

    eje

    mplo

    son:

    Au

    ctio

    nIt

    em

    Bean

    un B

    ean d

    e en

    tidad

    que

    man

    tien

    e in

    form

    aci

    n s

    obre

    el tem

    de

    la s

    ubas

    ta.

    Reg

    istr

    ati

    on

    Bean

    un B

    ean d

    e en

    tidad

    que

    alm

    acen

    a in

    form

    aci

    n d

    e re

    gis

    tro d

    e lo

    s usu

    ario

    s.

    Bid

    derB

    ean

    un B

    ean d

    e se

    sin q

    ue

    usa

    Au

    ctio

    nIt

    em

    Bean

    par

    a re

    cuper

    ar u

    na

    listr

    a de

    los

    tem

    s de

    la s

    ubas

    tas,

    slo

    los

    nuev

    os

    tem

    s, te

    ms

    cerc

    a del

    cie

    rre,

    e te

    ms

    cuyo

    sum

    ario

    corr

    esponde

    con u

    na

    caden

    a de

    busq

    ued

    a en

    la

    bas

    e de

    dat

    os.

    Tam

    bi

    n c

    om

    pru

    eba

    la iden

    tidad

    del

    usu

    ario

    y la

    pas

    sword

    cuan

    do a

    lguie

    n h

    ace

    una

    puja

    , y

    alm

    acen

    ala

    s nuev

    as p

    uja

    s en

    la

    bas

    e de

    dat

    os.

    SellerB

    ean

    es

    un B

    ean d

    e se

    sin q

    ue

    usa

    Reg

    istr

    ati

    on

    Bean

    par

    a co

    mpro

    bar

    la

    iden

    tidad

    del

    usu

    ario

    y la

    pas

    sword

    cuan

    do a

    lguie

    n p

    ost

    ea u

    n te

    m p

    ara

    su s

    ubas

    ta,

    yA

    uct

    ion

    Item

    Bean

    par

    a a

    adir n

    uev

    os

    tem

    s a

    la b

    ase

    de

    dat

    os

    de

    la s

    ubas

    ta.

  • Com

    o s

    e ve

    en la

    figura

    super

    ior,

    un B

    ean d

    e en

    tidad

    o d

    e se

    sin r

    ealm

    ente

    es

    una

    cole

    cci

    n d

    e cl

    ases

    e inte

    rfac

    es.

    Todos

    los

    Bea

    ns

    de

    entidad

    y d

    e se

    sin c

    onsi

    sten

    en u

    n inte

    rfae

    rem

    oto

    , un inte

    rfac

    e hom

    e, y

    la

    clas

    e del

    Bea

    n.

    El se

    rvid

    or

    busc

    a el

    inte

    rfac

    e hom

    e del

    Bea

    n q

    ue

    est

    eje

    cut

    ndose

    en e

    l se

    rvid

    or

    Java

    Bea

    ns

    de

    Ente

    rprise

    , lo

    usa

    par

    a cr

    ear

    elin

    terf

    ace

    rem

    oto

    , e

    invo

    ca a

    los

    mt

    odos

    del

    Bea

    n a

    tra

    vs

    del

    inte

    rfac

    e re

    moto

    .U

    n I

    nte

    rfac

    e re

    moto

    de

    un B

    ean E

    nte

    rprise

    dec

    ribe

    los

    mt

    odos

    del

    Bea

    n,

    o q

    u

    hac

    e el

    Bea

    n.

    Un p

    rogra

    ma

    clie

    nte

    u o

    tro B

    ean E

    nte

    rprise

    lla

    ma

    a lo

    s m

    todos

    def

    inid

    os

    en e

    lin

    terf

    ace

    rem

    oto

    par

    a in

    voca

    r la

    lgic

    a de

    neg

    oci

    os

    imple

    men

    tada

    por

    el B

    ean.

    Un inte

    rfac

    e hom

    e de

    un B

    ean d

    e Ente

    rprise

    des

    crib

    e c

    mo u

    n p

    rogra

    ma

    clie

    nte

    u o

    tro B

    ean E

    nte

    rprise

    cre

    a, e

    ncu

    entr

    a (s

    lo

    los

    Bea

    ns

    de

    entidad

    ), y

    elim

    ina

    ese

    Bea

    n d

    eEnte

    rpis

    e de

    su c

    onte

    ned

    or.

    El co

    nte

    ned

    or,

    most

    rado e

    n c

    yan e

    n e

    l gr

    fico

    , pro

    porc

    iona

    el inte

    rfac

    e en

    tre

    el B

    ean I

    nte

    rfac

    e y

    las

    funci

    onal

    idad

    es d

    e baj

    o n

    ivel

    esp

    ecfic

    as d

    e la

    pla

    tafo

    rma

    que

    soport

    a el

    Bea

    n.

    Des

    arro

    llar y

    Ejec

    utar

    Apli

    cacio

    nes

    Las

    her

    ram

    ienta

    s de

    des

    arro

    llo y

    un s

    ervi

    dor

    de

    Java

    Bea

    ns

    Ente

    rprise

    es

    esen

    cial

    par

    a ej

    ecuta

    r ap

    licac

    iones

    con J

    avaB

    eans

    Ente

    rprise

    . La

    s her

    ram

    ienta

    s de

    des

    arro

    llo g

    ener

    anco

    nte

    ned

    ore

    s, q

    ue

    son c

    lase

    s que

    pro

    porc

    ionan

    un inte

    rfac

    e de

    imple

    men

    taci

    ones

    de

    baj

    o n

    ivel

    en u

    n s

    ervi

    dor

    Java

    Bea

    ns

    Ente

    rprise

    dad

    o.

    El se

    rvid

    or

    pro

    porc

    ionad

    o p

    ued

    e in

    cluir

    conte

    ned

    ore

    s y

    her

    ram

    ienta

    s de

    des

    arro

    llo p

    ara

    sus

    serv

    idore

    s y

    norm

    alm

    ente

    public

    ar

    los

    inte

    rfac

    es d

    e baj

    o n

    ivel

    par

    a que

    otr

    os

    vended

    ore

    s pued

    en d

    esar

    rolla

    r co

    nte

    ned

    ore

    s y

    her

    ram

    ienta

    s de

    des

    arro

    llo p

    ara

    sus

    serv

    idore

    s.

    El ej

    emplo

    de

    casa

    de

    subas

    tas

    usa

    el se

    rvid

    or

    Java

    Bea

    ns

    y la

    s her

    ram

    ienta

    s de

    des

    arro

    llo c

    read

    as p

    or

    BEA W

    eblo

    gic

    . Vis

    ita

    su s

    ite

    par

    a obte

    ner

    una

    dem

    o d

    e 30 d

    as.

    Com

    o t

    odo e

    st

    suje

    to a

    las

    esp

    ecific

    acio

    nes

    , to

    dos

    los

    Bea

    ns

    Ente

    rprise

    son inte

    rcam

    bia

    ble

    s co

    n c

    onte

    ned

    ore

    s, h

    erra

    mie

    nta

    s de

    des

    arro

    llo,

    y se

    rvid

    ore

    s cr

    eados

    por

    otr

    os

    vended

    ore

    s. D

    e hec

    ho,

    podriam

    os

    escr

    ibir n

    ues

    tro p

    ropio

    Bea

    n E

    nte

    rprise

    porq

    ue

    es p

    osi

    ble

    , y

    algunas

    vec

    es d

    esea

    ble

    , usa

    r Bea

    ns

    Ente

    rprise

    esc

    rito

    s por

    uno o

    ms

    pro

    veed

    ore

    sque

    ensa

    mbla

    rem

    os

    den

    tro d

    e una

    aplic

    aci

    n d

    e Ja

    vaBea

    ns

    Ente

    rprise

    .

    Cm

    o Fu

    ncio

    nan

    las

    Aplic

    acio

    nes

    Mul

    ti-Fi

    laEl obje

    tivo

    de

    una

    aplic

    aci

    n m

    ulti-

    fila

    es

    que

    el c

    liente

    pued

    a tr

    abaj

    ar c

    on los

    dat

    os

    de

    una

    aplic

    aci

    n s

    in c

    onoce

    r en

    el m

    om

    ento

    de

    la c

    onst

    rucc

    in d

    nde

    se e

    ncu

    entr

    an los

    dat

    os.

    Para

    hac

    er p

    osi

    ble

    est

    e niv

    el d

    e tr

    ansp

    aren

    cia,

    los

    serv

    icio

    s ocu

    ltos

    en u

    na

    arquitec

    tura

    multi-

    fila

    usa

    n s

    ervi

    cios

    de

    bsq

    ued

    a par

    a lo

    caliz

    ar los

    obje

    tos

    del

    ser

    vidor

    rem

    oto

    (el

    obje

    to inte

    rfac

    e del

    Bea

    n r

    emoto

    ), y

    los

    serv

    icio

    s de

    com

    unic

    aci

    n d

    e dat

    os

    par

    a m

    ove

    r lo

    s dat

    os

    des

    de

    el c

    liente

    , a

    trav

    s d

    el o

    bje

    to s

    ervi

    dor

    rem

    oto

    , has

    ta s

    u d

    estino f

    inal

    en e

    lm

    edio

    de

    alm

    acen

    aje.

    Serv

    icio

    de

    Bsq

    ueda

    Para

    enco

    ntr

    ar los

    obje

    tos

    del

    ser

    vidor

    rem

    oto

    en e

    l m

    om

    ento

    de

    la e

    jecu

    cin,

    el p

    rogra

    ma

    clie

    nte

    nec

    esita

    una

    form

    a de

    busc

    arlo

    s. U

    na

    de

    esta

    s fo

    rmas

    es

    usa

    r el

    API

    Jav

    aN

    amin

    g y

    Direc

    tory

    Inte

    rfac

    eTM (

    JND

    I).

    JND

    I es

    un inte

    rfac

    e co

    mn p

    ara

    inte

    rfac

    es e

    xist

    ente

    s de

    nom

    bre

    s y

    direc

    torios.

    Los

    conte

    ned

    ore

    s de

    los

    Java

    Bea

    ns

    de

    Ente

    rprise

    usa

    n J

    ND

    Ico

    mo inte

    rfac

    e par

    a el

    ser

    vici

    o d

    e nom

    bre

    s del

    Rem

    ote

    Met

    hod I

    nvo

    cation (

    RM

    I).

    Dura

    nte

    el des

    arro

    llo,

    el s

    ervi

    cio J

    ND

    I re

    gis

    tra

    el inte

    rfac

    e re

    moto

    con u

    n n

    om

    bre

    . Sie

    mpre

    que

    el p

    rogra

    ma

    clie

    nte

    use

    el m

    ism

    o s

    ervi

    cio d

    e nom

    bre

    s y

    pre

    gunte

    por

    el inte

    rfac

    ere

    moto

    con s

    u n

    om

    bre

    reg

    istr

    ado,

    podr

    enco

    ntr

    arlo

    . El pro

    gra

    ma

    clie

    nte

    lla

    ma

    al m

    todo lo

    oku

    p s

    obre

    un o

    bje

    to j

    avax.n

    am

    ing

    .Co

    nte

    xt

    par

    a pre

    gunta

    r por

    el inte

    rfac

    e re

    moto

    con s

    u n

    om

    bre

    reg

    istr

    ado.

    El obje

    to j

    avax.n

    am

    ing

    .Co

    nte

    xt

    es d

    onde

    se a

    lmac

    enan

    las

    unio

    nes

    y e

    s un o

    bje

    to d

    ifer

    ente

    del

    conte

    xto d

    el J

    avaB

    ean d

    e Ente

    rprise

    , que

    se c

    ubre

    ms

    adel

    ante

    ..

    Com

    un

    icac

    in

    de D

    atos

    Una

    vez

    que

    el p

    rogra

    ma

    clie

    nte

    obtien

    e una

    refe

    renci

    a al

    obje

    to s

    ervi

    dor

    rem

    oto

    , hac

    e lla

    mad

    as a

    los

    mt

    odos

    de

    este

    obje

    to.

    Com

    o e

    l pro

    gra

    ma

    clie

    nte

    tie

    ne

    una

    refe

    renci

    a al

    obje

    to s

    ervi

    dor

    rem

    oto

    , se

    usa

    una

    tcn

    ica

    llam

    ada

    "envo

    lver

    dat

    os"

    par

    a hac

    er q

    ue

    par

    ezca

    que

    el o

    bje

    to s

    ervi

    dor

    rem

    oto

    es

    loca

    l par

    a el

    pro

    gra

    ma

    clie

    nte

    .

    La "

    ord

    enac

    in d

    e dat

    os"

    es

    donde

    las

    llam

    adas

    a m

    todos

    del

    obje

    to s

    ervi

    dor

    rem

    oto

    se

    empaq

    uet

    an c

    on s

    us

    dat

    os

    y se

    env

    an a

    l obje

    to s

    ervi

    dor

    rem

    oto

    . El obje

    to s

    ervi

    dor

    rem

    oto

    des

    empaq

    uet

    a (d

    esord

    ena)

    los

    mt

    odos

    y lo

    s dat

    os,

    y lla

    ma

    al B

    ean E

    nte

    rprise

    . El re

    sultad

    o d

    e la

    lla

    mda

    al B

    ean e

    s em

    paq

    uet

    ado d

    e nuev

    o y

    pas

    ado d

    e vu

    elta

    al cl

    iente

    atr

    avs

    del

    obje

    to s

    ervi

    dor

    rem

    oto

    , y

    son d

    esem

    paq

    uet

    ados.

    Los

    conte

    ned

    ore

    s de

    Java

    Bea

    ns

    Ente

    rprise

    usa

    n s

    ervi

    cios

    RM

    I par

    a ord

    enar

    los

    dat

    os.

    Cuan

    do s

    e co

    mpila

    un B

    ean,

    se c

    rean

    unos

    ficher

    os

    stu

    b (

    tal

    n)

    y sk

    ele

    ton

    (es

    quel

    eto).

    El

    fich

    ero

    tal

    n p

    roporc

    iona

    la c

    onfigura

    cin d

    el e

    mpaq

    uet

    ado y

    des

    empaq

    uet

    ado d

    e dat

    os

    en e

    l cl

    iente

    , y

    el e

    squ

    ele

    to p

    roporc

    iona

    la m

    ism

    a in

    form

    aci

    n p

    ara

    el s

    ervi

    dor.

    Los

    dat

    os

    se p

    asan

    entr

    e el

    pro

    gra

    ma

    clie

    nte

    y e

    l se

    rvid

    or

    usa

    ndo s

    eria

    lizac

    in.

    La s

    eria

    lizac

    in e

    s una

    form

    a de

    repre

    senta

    r ob

    jeto

    s Ja

    vaTM c

    om

    o b

    ytes

    que

    pued

    en s

    er e

    nvi

    ados

    atr

    avs

    de

    la r

    ed c

    om

    o u

    n s

    trea

    m y

    pued

    en s

    er r

    econst

    uid

    os

    en e

    l m

    ism

    o e

    stad

    o e

    n e

    l que

    fuer

    on e

    nvi

    ados

    origin

    alm

    ente

    .

    Ozi

    to

  • Bea

    ns d

    e En

    tidad

    y d

    e Se

    sin

    El ej

    emplo

    usa

    dos

    Bea

    ns

    de

    entidad

    y d

    os

    de

    sesi

    n.

    Los

    Bea

    ns

    de

    entidad

    , A

    uct

    ion

    Item

    Bean

    y R

    eg

    istr

    ati

    on

    Bean

    , re

    pre

    senta

    n te

    ms

    per

    sist

    ente

    s que

    podran

    est

    aral

    mac

    enad

    os

    en u

    n b

    ase

    de

    dat

    os,

    y los

    Bea

    ns

    de

    sesi

    n,

    SellerB

    ean

    y B

    idd

    erB

    ean

    , re

    pre

    senta

    n o

    per

    acio

    nes

    de

    vida

    cort

    a co

    n e

    l cl

    iente

    y los

    dat

    os.

    Los

    Bea

    ns

    de

    sesi

    n s

    on e

    l in

    terf

    ace

    del

    clie

    nte

    hac

    ia los

    bea

    ns

    de

    entidad

    . El Sel

    lerB

    ean p

    roce

    sa p

    etic

    iones

    par

    a a

    adir n

    uev

    os te

    ms

    par

    a la

    subas

    ta.

    El Bid

    der

    Bea

    n p

    roce

    sapet

    icio

    nes

    par

    a re

    cuper

    ar te

    ms

    de

    la s

    ubas

    ta y

    situar

    las

    puja

    s por

    esos

    tem

    s. E

    l ca

    mbio

    o a

    dic

    in d

    e dat

    os

    a la

    bas

    e de

    dat

    os e

    n u

    n B

    ean c

    ontr

    ola

    do p

    or

    conte

    ned

    or

    se le

    dej

    a a

    los

    Bea

    ns

    de

    entidad

    :Auct

    ion S

    ervl

    et

    Bea

    ns

    de

    Entidad

    Bea

    ns

    de

    Ses

    in

    Cla

    ses

    Conte

    ned

    or

    Au

    ctio

    nSer

    vlet

    ElAuct

    ionSer

    vlet

    es

    esen

    cial

    men

    te la

    segunda

    fila

    en la

    aplic

    aci

    n y

    el punto

    foca

    l par

    a la

    s ac

    tivi

    dad

    es d

    e la

    subas

    ta.

    Ace

    pta

    entr

    adas

    fin

    ales

    del

    usu

    ario

    des

    de

    el n

    aveg

    ador

    med

    iante

    el pro

    toco

    lo d

    e tr

    ansf

    eren

    cia

    de

    hyp

    erte

    xto (

    HTTP

    ), p

    asa

    la e

    ntr

    ada

    al B

    ean E

    nte

    rprise

    apro

    pia

    do p

    ara

    su p

    roce

    so,

    y m

    ues

    tra

    el r

    esultad

    o d

    el p

    roce

    so a

    l usu

    ario

    fin

    al e

    nel

    nav

    egad

    or.

    Aqu hay

    un d

    iagra

    ma

    del

    tip

    o U

    nifie

    d M

    odel

    ing L

    anguag

    e (U

    ML)

    par

    a la

    cla

    se A

    uct

    ion

    Serv

    let.

  • Los

    mt

    odos

    de

    Au

    ctio

    nS

    erv

    let

    most

    rados

    arriba

    invo

    can a

    la

    lgic

    a del

    neg

    oci

    o q

    ue

    se e

    jecu

    ta e

    n e

    l se

    rvid

    or

    busc

    ando u

    n B

    ean E

    nte

    rprise

    y lla

    man

    do a

    uno o

    ms

    de

    sus

    mt

    odos.

    Cuan

    do e

    l se

    rvel

    t a

    ade

    cdig

    o H

    TM

    L a

    una

    pg

    ina

    par

    a m

    ost

    rars

    ela

    al u

    suar

    io,

    la lgic

    a se

    eje

    cuta

    en e

    l cl

    iente

    .

    Por

    ejem

    plo

    , el

    mt

    odo l

    istA

    llIt

    em

    s(o

    ut)

    eje

    cuta

    cdig

    o e

    n e

    l cl

    iente

    par

    a gen

    erar

    din

    mic

    amen

    te u

    na

    pg

    ina

    HTM

    L p

    ara

    que

    la v

    ea e

    l cl

    iente

    en u

    n n

    aveg

    ador.

    La

    pg

    ina

    HTM

    Lse

    rel

    lena

    con los

    resu

    ltad

    os

    de

    una

    llam

    ada

    a B

    idd

    erB

    ean

    que

    ejec

    uta

    la

    lgic

    a en

    el se

    rvid

    or

    par

    a gen

    erar

    una

    lista

    de

    todos

    los

    tem

    s de

    la s

    ubas

    ta.

    priv

    ate

    void

    lis

    tAll

    Item

    s(Se

    rvle

    tOut

    putS

    trea

    m ou

    t)

    thr

    ows

    IOEx

    cept

    ion{

    //Pu

    t te

    xt o

    n HT

    ML p

    age

    setTit

    le(o

    ut,

    "Auc

    tion

    res

    ults

    ");

    St

    ring

    tex

    t =

    "Cli

    ck I

    tem

    numb

    er f

    or d

    escr

    ipti

    on

    and

    to p

    lace

    bid

    .";

    try{

    add

    Line

    ("

    "+

    text

    , ou

    t);

    //Lo

    ok u

    p Bi

    dder

    bea

    n ho

    me i

    nter

    face

    . Bid

    derH

    ome

    bhom

    e=(B

    idde

    rHom

    e) c

    tx.l

    ooku

    p("b

    idde

    r");

    //Cr

    eate

    Bid

    der

    bean

    rem

    ote

    inte

    rfac

    e. Bid

    der

    bid=

    bhom

    e.cr

    eate

    ();

    //Ca

    ll B

    idde

    r be

    an m

    etho

    d th

    roug

    h re

    mote

    int

    erfa

    ce.

    Enumeratio

    n en

    um=(

    Enum

    erat

    ion)

    bid.

    getI

    temL

    ist(

    );

    if

    (enu

    m !=

    nul

    l) {

    //Pu

    t re

    trie

    ved

    item

    s on

    ser

    vlet

    pag

    e. di

    spla

    yite

    ms(e

    num,

    out

    ); add

    Line

    ("",

    out

    ); }

    }

    catc

    h (E

    xcep

    tion

    e)

    {//

    Prin

    g er

    ror

    on s

    ervl

    et p

    age.

    add

    Line

    ("Au

    ctio

    nSer

    vlet

    Lis

    t Al

    l It

    ems

    erro

    r",o

    ut);

    Sy

    stem

    .out

    .pri

    ntln

    ("Au

    ctio

    nSer

    vlet

    :

    "+e)

    ; }

    out.fl

    ush(

    );}

  • Bea

    ns d

    e En

    tidad

    Au

    ctio

    nIt

    em

    Bean

    y R

    eg

    istr

    ati

    on

    Bean

    son B

    eans

    de

    entidad

    . A

    uct

    ion

    Item

    Bean

    aad

    e nuev

    os

    tem

    s de

    subas

    ta a

    la

    bas

    e de

    dat

    os

    y ac

    tual

    iza

    la c

    antidad

    puja

    da

    por

    los

    usu

    ario

    s cu

    ando

    stos

    puja

    n p

    or

    el te

    m.

    Reg

    istr

    ati

    on

    Bean

    aad

    e in

    form

    aci

    n a

    la

    bas

    e de

    dat

    os

    sobre

    usu

    ario

    s re

    gis

    trad

    os.

    Am

    bos

    Bea

    ns

    consi

    sten

    en las

    cla

    ses

    des

    critas

    aqu.

    Au

    ctio

    nIte

    m E

    ntity

    Bea

    n

    Aqu es

    tn las

    cla

    se d

    e A

    uct

    ion

    Item

    Bean

    . Rec

    uer

    da

    que

    esto

    s Bea

    ns

    de

    Ente

    rprise

    son o

    bje

    tos

    dis

    trib

    uid

    os

    que

    usa

    n e

    l API

    RM

    I (I

    nvo

    caci

    n R

    emota

    de

    Mt

    odos)

    , por

    eso, cu

    ando

    ocu

    rre

    un e

    rror

    se lan

    za u

    na

    exce

    pci

    n R

    MI

    rem

    ota

    .Auct

    ionIt

    em.j

    ava

    Auct

    ionIt

    emH

    om

    e.ja

    va

    Auct

    ionIt

    emBea

    n.j

    ava

    Auct

    ionIt

    emPk

    .jav

    a

    Au

    ctio

    nIt

    em

    es

    un inte

    rfac

    e re

    moto

    . D

    escr

    ibe

    qu

    hac

    e el

    Bea

    n d

    ecla

    rando los

    mt

    odos

    def

    inid

    os

    por

    el u

    suar

    io q

    ue

    pro

    porc

    ionan

    la

    lgic

    a de

    neg

    oci

    o p

    ara

    este

    Bea

    n.

    Est

    os

    mt

    odos

    son u

    sados

    por

    el c

    liente

    par

    a in

    tera

    ctuar

    con e

    l Bea

    n s

    obre

    la

    conex

    in r

    emota

    . Su n

    om

    bre

    se

    map

    ea a

    la

    tabla

    AU

    CTIO

    NIT

    EM

    S q

    ue

    pued

    es v

    er a

    baj

    o.

    Au

    ctio

    nIt

    em

    Ho

    me e

    s el

    inte

    rfac

    e hom

    e. D

    escr

    ibe

    cm

    o s

    e cr

    ea e

    l Bea

    n,

    com

    o e

    nco

    ntr

    arlo

    , y

    elim

    inar

    lo d

    e su

    conte

    ned

    or.

    Las

    her

    ram

    ienta

    s de

    des

    arro

    llo d

    el s

    ervi

    dor

    de

    Bea

    ns

    de

    Ente

    rprise

    pro

    porc

    ionar

    n la

    imple

    men

    taci

    n p

    ara

    este

    inte

    rfac

    e.

    Au

    ctio

    nIt

    em

    Bean

    es

    el B

    ean d

    e Ente

    rprise

    . Im

    ple

    men

    ta E

    nti

    tyB

    ean

    , pro

    porc

    iona

    la lgic

    a de

    neg

    oci

    o p

    ara

    los

    mt

    odos

    def

    inid

    os

    por

    el d

    esar

    rolla

    dor,

    e im

    ple

    men

    ta los

    mt

    odos

    de

    En

    tity

    Bean

    par

    a cr

    ear

    el B

    ean y

    sel

    ecci

    onar

    el co

    nte

    xto d

    e se

    sin.

    Est

    a es

    una

    clas

    e que

    nec

    esita

    imple

    men

    tar

    el d

    esar

    rolla

    dor

    del

    Bea

    n. Sus

    cam

    pos

    variab

    les

    map

    ean a

    los

    cam

    pos

    de

    la t

    abla

    AU

    CTIO

    NIT

    EM

    S q

    ue

    pued

    es v

    er a

    baj

    o.

    Au

    ctio

    nIt

    em

    PK

    es

    la c

    lase

    cla

    ve p

    rim

    aria

    . El se

    rvid

    or

    de

    Bea

    ns

    Ente

    rprise

    req

    uie

    re q

    ue

    un B

    ean d

    e Entidad

    Man

    ejad

    o p

    or

    Conte

    ned

    or

    tenga

    una

    clas

    e cl

    ave

    prim

    aria

    con u

    nca

    mpo p

    blic

    o p

    rim

    ario

    (o c

    ampos,

    si se

    usa

    n c

    lave

    s prim

    aria

    s co

    mpues

    tas)

    . El des

    arro

    llador

    del

    Bea

    n im

    ple

    men

    ta e

    sta

    clas

    e. E

    l ca

    mpo I

    D e

    s la

    cla

    ve p

    rim

    aria

    en la

    tabla

    AU

    CTIO

    NIT

    EM

    S q

    ue

    pued

    es v

    er m

    s a

    baj

    o,

    por

    eso e

    l ca

    mpo i

    d e

    s un c

    ampo p

    blic

    o d

    e es

    ta c

    lase

    . Al ca

    mpo i

    d s

    e le

    asi

    gna

    un v

    alor

    cuan

    do s

    e co

    nst

    ruye

    la

    clas

    e de

    la c

    lave

    prim

    aria

    .

    Podem

    os

    ped

    irle

    al co

    nte

    ned

    or

    que

    man

    eje

    la p

    ersi

    sten

    cia

    de

    la b

    ase

    de

    dat

    os

    de

    un B

    ean E

    nte

    rprise

    o e

    scribir e

    l c

    dig

    o p

    ara

    man

    ejar

    la

    per

    sist

    enci

    a por

    noso

    tros

    mis

    mos.

    En e

    ste

    captulo

    , to

    dos

    los

    bea

    ns

    son m

    anej

    ados

    por

    el c

    onte

    ned

    or.

    Con e

    sto n

    oso

    tros

    slo

    dec

    imos

    qu

    cam

    pos

    son m

    anej

    ados

    por

    el c

    onte

    ned

    or

    y le

    dej

    amos

    al s

    ervi

    dor

    de

    Java

    Bea

    ns

    de

    Ente

    rprise

    que

    hag

    a el

    res

    to.

    Est

    o e

    s fe

    nom

    enal

    par

    a la

    s ap

    licac

    iones

    sen

    cilla

    s, p

    ero s

    i tu

    vier

    amos

    que

    codific

    ar a

    lgo m

    s c

    om

    plej

    o,

    nec

    esitar

    am

    os

    ms

    contr

    ol.

    Cm

    o e

    scribir los

    serv

    icio

    s ocu

    ltos

    de

    los

    Java

    Bea

    ns

    Ente

    rprise

    par

    a gan

    ar m

    s c

    ontr

    ol o p

    roporc

    ionar

    ser

    vici

    os

    sim

    ilare

    s par

    a la

    s ap

    licac

    iones

    que

    no u

    sen J

    avaB

    eans

    de

    Ente

    rprise

    se c

    ubre

    en e

    l ca

    ptulo

    3.

    Tabl

    a Au

    ctio

    n Ite

    ms

    Aqu es

    t la

    tabla

    AU

    CTIO

    NIT

    EM

    S.

    create tabl

    e AU

    CTIO

    NITE

    MS (

    SUMM

    ARY

    VARC

    HAR(

    80)

    ,ID INT ,

    COUNTER INT ,

    DESC

    RIPT

    ION

    VARC

    HAR(

    1000

    ) ,

    STAR

    TDAT

    E DA

    TE ,

    ENDDATE DATE ,

    STAR

    TPRI

    CE D

    OUBL

    E PR

    ECIS

    ION

    ,INCREMENT DOUBLE PRECISI

    ON ,

    SELL

    ER V

    ARCH

    AR(3

    0) ,

    MAXBID DOUBLE PRECISI

    ON,

    BIDCOUNT INT,

    HIGHBIDDER VARCHAR(3

    0) )

    Reg

    istra

    tion

    Entit

    y Be

    an

    Reg

    istr

    ati

    on

    Bean

    const

    a de

    las

    mis

    mas

    cla

    ses

    y ta

    bla

    s de

    bas

    e de

    dat

    os

    que

    el B

    ean A

    uct

    ion

    Item

    , ex

    cepto

    que

    la lgic

    a de

    neg

    oci

    o r

    eal, los

    cam

    pos

    de

    la t

    abla

    de

    la b

    ase

    de

    dat

    os,

    y la

    clav

    e prim

    aria

    son d

    e al

    guna

    form

    a difer

    ente

    s. E

    n v

    ez d

    e des

    crib

    ir las

    cla

    ses,

    podem

    os

    nav

    egar

    por

    ella

    s y

    lueg

    o v

    olve

    r a

    la d

    escr

    ipci

    n d

    e la

    s cl

    ases

    de

    Au

    ctio

    nIt

    em

    si

    tenem

    os

    alguna

    pre

    gunta

    .Reg

    istr

    atio

    n.j

    ava

    Reg

    istr

    atio

    nH

    om

    e.ja

    va

    Reg

    istr

    atio

    nBea

    n.j

    ava

    Reg

    istr

    atio

    nPK

    .jav

    a

  • Tabl

    a Re

    gist

    ratio

    n

    Aqu es

    t la

    tabla

    REG

    ISTR

    ATIO

    N.

    create tabl

    e RE

    GIST

    RATI

    ON (

    THEU

    SER

    VARC

    HAR(

    40)

    ,PASS

    WORD

    VAR

    CHAR

    (40)

    ,EMAILADDRESS

    VAR

    CHAR

    (80)

    ,CREDITCARD VARCHAR(4

    0) ,

    BALANCE DOUBLE PRECISI

    ON )

    Bea

    ns

    de S

    esi

    nB

    idd

    erB

    ean

    y S

    ellerB

    ean

    son los

    Bea

    ns

    de

    sesi

    n.

    Bid

    derB

    ean

    rec

    uper

    a una

    lista

    de

    los

    tem

    s de

    la s

    ubas

    ta,

    busc

    a tem

    s, c

    hueq

    uea

    el ID

    y la

    pas

    sword

    del

    usu

    ario

    cuan

    do

    alguie

    n h

    ace

    una

    puja

    , y

    alm

    acen

    a la

    s nuev

    as p

    uja

    s en

    la

    bas

    e de

    dat

    os.

    SellerB

    ean

    cheq

    uea

    el ID

    y la

    pas

    sword

    del

    usu

    ario

    cuan

    do a

    lguie

    n p

    ost

    ea u

    n te

    m p

    ara

    su s

    ubas

    ta,

    ya

    ade

    nuev

    os

    tem

    s par

    a su

    bas

    ta a

    la

    bas

    e de

    dat

    os.

    Am

    bos

    Bea

    ns

    de

    sesi

    n e

    stn

    des

    arro

    llados

    inic

    ialm

    ente

    com

    o B

    eans

    sin e

    stad

    o.

    Un B

    ean s

    in e

    stad

    o n

    o m

    antien

    e un r

    egis

    tro d

    e lo

    que

    hiz

    o e

    l cl

    iente

    en u

    na

    llam

    ada

    ante

    rior;

    mie

    ntr

    as q

    ue

    un B

    ean c

    on e

    stad

    o c

    om

    ple

    to s

    i lo

    hac

    e. L

    os

    Bea

    ns

    con e

    stad

    o c

    om

    ple

    to s

    on m

    uy

    tile

    s si

    la

    oper

    aci

    n e

    s al

    go m

    s q

    ue

    una

    sim

    ple

    bsq

    ued

    a y

    la o

    per

    aci

    n d

    el c

    liente

    dep

    ende

    de

    algo q

    ue

    ha

    suce

    did

    o e

    n u

    na

    llam

    ada

    ante

    rior.

    Bea

    n d

    e se

    sin

    Bid

    der

    Aqu es

    tn las

    cla

    se d

    e B

    idd

    erB

    ean

    . Rec

    uer

    da

    que

    esto

    s Bea

    ns

    de

    Ente

    rprise

    son o

    bje

    tos

    dis

    trib

    uid

    os

    que

    usa

    n e

    l API

    RM

    I (I

    nvo

    caci

    n R

    emota

    de

    Mt

    odos)

    , por

    eso, cu

    ando

    ocu

    rre

    un e

    rror

    se lan

    za u

    na

    exce

    pci

    n R

    MI

    rem

    ota

    .

    No e

    xite

    n c

    lave

    s prim

    aria

    s porq

    ue

    esto

    s Bea

    ns

    son t

    empora

    les

    y no h

    ay a

    cces

    os

    a la

    bas

    e de

    dat

    os.

    Par

    a re

    cuper

    ar te

    ms

    de

    la b

    ase

    de

    dat

    os,

    Bid

    derB

    ean

    cre

    a un e

    jem

    pla

    r de

    Au

    ctio

    nIt

    em

    Bean

    , y

    par

    a pro

    cesa

    r la

    s puja

    s, c

    rea

    un e

    jem

    pla

    r de

    Reg

    istr

    ati

    on

    Bean

    .Bid

    der

    .jav

    a

    Bid

    der

    Hom

    e.ja

    va

    Bid

    der

    Bea

    n.j

    ava

    Bid

    der

    es u

    n inte

    rfac

    e re

    moto

    . D

    escr

    ibe

    lo q

    ue

    hac

    e el

    Bea

    n d

    ecla

    rando los

    mt

    odos

    def

    inid

    os

    por

    el d

    esar

    rolla

    dor

    que

    pro

    porc

    ionan

    la

    lgic

    a de

    neg

    oci

    o p

    ara

    este

    Bea

    n.

    Est

    o s

    on

    los

    que

    que

    el c

    liente

    lla

    ma

    de

    form

    a re

    mota

    .

    Bid

    derH

    om

    e e

    s el

    inte

    rfac

    e hom

    e. D

    esci

    be

    cm

    o s

    e cr

    ear

    el B

    ean,

    com

    o s

    e busc

    a y

    com

    o s

    e el

    imin

    a de

    su c

    onte

    ned

    or.

    Bid

    derB

    ean

    es

    el B

    ean d

    e Ente

    rprise

    . Im

    ple

    men

    ta S

    ess

    ion

    Bean

    , pro

    porc

    iona

    la lgic

    a de

    neg

    oci

    o p

    ara

    los

    mt

    odos

    def

    inid

    os

    por

    el d

    esar

    rolla

    dor,

    e im

    ple

    men

    ta los

    mt

    odos

    de

    Sess

    ion

    Bean

    par

    a cr

    ear

    el B

    ean y

    sel

    ecci

    onar

    el co

    nte

    xto d

    e se

    sin.

    Bea

    n d

    e se

    sion

    Sel

    ler

    SellerB

    ean

    const

    a de

    los

    mis

    mos

    tipos

    de

    clas

    e que

    un B

    idd

    erB

    ean

    , ex

    cepto

    que

    la lgic

    a de

    neg

    oci

    o e

    s difer

    ente

    . En v

    ez d

    e des

    crib

    ir las

    cla

    ses,

    pued

    es n

    aveg

    ar p

    or

    ella

    s y

    lueg

    ovo

    lver

    a la

    explic

    aci

    n d

    e B

    idd

    erB

    ean

    si tien

    es a

    lguna

    duda.

    Sel

    ler.

    java

    Sel

    lerH

    om

    e.ja

    va

    Sel

    lerB

    ean.j

    ava

    Clas

    es C

    onte

    nedo

    rLa

    s cl

    ases

    que

    nec

    esita

    el c

    onte

    ned

    or

    par

    a des

    arro

    llar

    un B

    ean E

    nte

    rprise

    den

    tro d

    e un s

    ervi

    dor

    de

    Java

    Bea

    ns

    Ente

    rprise

    par

    ticu

    lar

    se g

    ener

    an c

    on u

    na

    her

    ram

    ienta

    de

    des

    arro

    llo.

    Las

    clas

    es incl

    uye

    n _

    Stu

    b.c

    lass

    y _

    Skel.

    class

    que

    pro

    porc

    ionan

    el RM

    I en

    el cl

    iente

    y e

    l se

    rvid

    or

    resp

    ectiva

    men

    te.

    Est

    as c

    lase

    s se

    utiliz

    an p

    ara

    move

    r dat

    os

    entr

    e el

    pro

    gra

    ma

    clie

    nte

    y e

    l se

    rvid

    or

    de

    Java

    Bea

    ns

    de

    Ente

    rprise

    . Adem

    s,

    la im

    ple

    men

    taci

    n d

    e la

    s cl

    ases

    se

    crea

    par

    a lo

    s in

    terf

    aces

    yla

    s re

    gla

    s de

    des

    arro

    llo d

    efin

    idas

    par

    a nues

    tro B

    ean.

    El obje

    to S

    tub s

    e in

    stal

    a o s

    e des

    carg

    a en

    el si

    stem

    a cl

    iente

    y p

    roporc

    iona

    un o

    bje

    to p

    roxy

    loca

    l par

    a el

    clie

    nte

    . Im

    ple

    men

    ta los

    inte

    rfac

    es r

    emoto

    s y

    del

    ega

    de

    form

    a tr

    ansp

    aren

    teto

    das

    las

    lla

    mad

    as a

    mt

    odos

    a tr

    avs

    de

    la r

    ed a

    l obje

    to r

    emoto

    .

    El obje

    to S

    kel se

    inst

    ala

    o s

    e des

    carg

    a en

    el si

    stem

    a se

    rvid

    or

    y pro

    porc

    iona

    un o

    bje

    to p

    roxy

    loca

    l par

    a el

    ser

    vidor.

    Des

    pem

    paq

    uet

    a lo

    s dat

    os

    reci

    bid

    os

    a tr

    avs

    de

    la r

    ed d

    esde

    elobje

    toS

    tub p

    ara

    pro

    cesa

    rlos

    en e

    l se

    rvid

    or.

    Ozi

    to

  • Examinar un Bean Controlado por ContenedorEsta seccin pasea a travs del cdigo de RegistrationBean.java para ver lo fcilque es hacer que el contenedor maneje la persistencia del almacenamiento dedatos en un medio oculto como una base de datos (por defecto).

    Variables Miembro

    Mtodo Create

    Mtodos de Contexto de Entidad

    Mtodo Load

    Mtodo Store

    Connection Pooling

    Descriptor de Desarrollo

    Variables MiembroUn entorno de contenedor controlador necesita saber qu variables son paraalmacenamiento persistente y cuales no. En el lenguaje JavaTM, la palabra clavetransient indica variables que no son incluidas cuando los datos de un objeto seserializan y escriben en un almacenamiento permanente. En la claseRegistrationBean.java, la variable EntityContext est marcada como transientpara indicar que su dato no ser escrito en ningn medio de almacenamiento.

    El dato de EntityContext no se escribe en el almacenamiento permanente porquesu propsito es proporcionar informacin sobre el contexto en el momento deejecucin del contenedor. Por lo tanto, no contiene datos sobre el usuarioregistrado y no debera grabarse en un medio de almacenamiento. Las otrasvariables estn declaradas como public, por lo que el contenedor de este ejemplopuede descubrirlas usando el API Reflection.

    protected transient EntityContext ctx; public String theuser, password, creditcard, emailaddress; public double balance;

    Mtodo CreateEl mtodo ejbCreate del Bean es llamado por el contenedor despus de que elprograma cliente llame al mtodo create sobre el interface remoto y pase losdatos de registro. Este mtodo asigna los valores de entrada a las variablesmiembro que representan los datos del usuario. El contenedor maneja elalmacenamiento y carga de los datos, y crea nuevas entradas en el medio de

  • almacenamiento oculto.

    public RegistrationPK ejbCreate(String theuser, String password, String emailaddress, String creditcard) throws CreateException, RemoteException {

    this.theuser=theuser; this.password=password; this.emailaddress=emailaddress; this.creditcard=creditcard; this.balance=0;

    Mtodos de Contexto de EntidadUn Bean de entidad tiene un ejemplar de EntityContext asociado que ofrece alBean acceso a la informacin del contenedor controlador en el momento de laejecucin, como el contexto de la transacin.

    public void setEntityContext( javax.ejb.EntityContext ctx) throws RemoteException { this.ctx = ctx; }

    public void unsetEntityContext() throws RemoteException{ ctx = null; }

    Mtodo LoadEl mtodo ejbLoad del Bean es llamado por el contenedor para cargar los datosdesde el medio de almacenamiento oculto. Esto sera necesario cuandoBidderBean o SellerBean necesiten chequear la ID y password del usuario.

    Not