Sie sind auf Seite 1von 154

FUNDAMENTOS DE PROGRAMACI N

2013

Ing. Carlos E. Durand Flores

Introduccin a Java
Conceptos Bsicos

Que es Java

Java es un !engua"e de #rogra$aci%n &rientado a &'"etos desarrollado por (un )icros*ste$s. Java es una )a+uina ,irtual -entorno de e"ecuci%n. +ue puede ser integrada en los navegadores /e' -/e' 'ro/sers e"e$0 1etscape2 Internet E3plorer . * en diversos (iste$as &perativos. Java es un con"unto de Clases2 !i'rer4as estandari5adas -pa+uetes. 6#Is2 +ue per$iten i$ple$entar diversas 7uncionalidades.

Que es la plata7or$a Java

!a plata7or$a "ava es 7unda$ental$ente una nueva 7or$a de co$putaci%n2 'asada en el poder de las redes * la idea +ue el $is$o so7t/are pueda e"ecutarse en $uc8os * di7erentes tipos de co$putadores * otros dispositivos -#D62 tel97onos celulares2 etc.. . Con la tecnolog4a Java2 pode$os usar las $is$as aplicaciones en cual+uier clase de $a+uina0 una #C2 una )acintos82 una co$putadora de red2 o en tecnolog4as nuevas co$o los celulares con acceso a internet.

Caracter4sticas #rincipales

(encillo &rientado a o'"etos Distri'uido Interpretado :o'usto (eguro 6r+uitectura neutra #orta'le 6ltas prestaciones )ultit8read -$ulti8ilo. Din$ico

!a plata7or$a Java
!a plata7or$a de Java tiene dos Co$ponentes0 )a+uina ,irtual de Java Inter7a5 de #rogra$aci%n de 6plicaciones ; Java-6#I. ; ; ; ; ; ;

Java ,irtual )ac8ine

Java es co$pilado a '*te<codes para ser e"ecutado en la Java ,irtual )ac8ine -J,).. !a ,irtual )ac8ine es el procesador so're el cual el '*te<code de Java se e"ecuta. Este es un con"unto de instrucciones +ue el interprete $ane"a. !a ,irtual )ac8ine es integrada dentro de otros a$'ientes2 e"$0 /e' 'ro/sers * siste$as operativos.

Java ,irtual )ac8ine


#roceso de Desarrollo de una aplicaci%n

Java ,irtual )ac8ine


Con la J,) una $is$a aplicaci%n es capa5 de e"ecutarse en $=ltiples plata7or$as

Java 6#I

Est con7or$ado por un con"unto de clases +ue nos per$ite o'tener 7uncionalidades espec4>cas en el desarrollo de nuestras aplicaciones. &rgani5ada a trav9s de $%dulos +ue son incre$entales. #ueden ser una 6#I estndar o e3tendidas.

Que puede 8acer la tecnolog4a "ava El prop%sito general de Java es proveer una plata7or$a

de so7t/are de alto nivel. Java o7rece las caracter4sticas siguientes0 Herra ienta! de De!arro""o# ?erra$ientas para co$pilar2 e"ecutar2 $onitorear2 depurar2 * docu$entar aplicaciones. Inter$ace de Pro%ra acin de A&"icacione! 'API(# !as 6#Is proporcionan las 7uncionalidades Bsicas de Java. Tecno"o%)a de De!&"ie%ue# Java #roporciona )ecanis$os para el despliegue de las aplicaciones a los usuarios >nales. -Java @e' (tart2 Java #lug<In. *it de Herra ienta! &ara "a! GUI# #ara la creaci%n de ABI so>sticadas se puede usar (/ing * Java 2D.

Cipos de 6rc8ivo

-ava 0 es la e3tensi%n de los arc8ivos 7uente del lengua"e "ava2 e"e$. ?ello@orld6pp."ava 2 )*6pplet."ava. c"a!! . el resultado de co$pilar un arc8ivo 7uente "ava es un arc8ivo en '*te<code con e3tensi%n c"a!!2 e"e$. ?ello@orld6pp.class2 )*6pplet.class. El co$ando usado para co$pilar los ar8ivos con e3tensi%n "ava es -avac * para su e"ecuci%n el co$ando -ava +ue vienen incluidos en el JDD -Java Develop$ent Dit. de (un )icros*ste$s. -ar/0i& . las clases desarrolladas en "ava suelen por lo general guardarse en estos tipos

&rgani5aci%n

Pa1uete! 'Pac2a%e!( . son un grupo o li'rer4a de clases desarrolladas en "ava +ue se utili5an para algo espec4>co. !as principales clases de "ava son las siguientes -incluidas en el JDD. 0 "ava.applet Desarrollo de 6pplets. "ava.a/t 6'stract @indo/ CoolEit. "ava.a/t.event (oporte * procesa$iento de eventos. "ava.s/ing (oporte para co$ponentes gr>cos de Java. "ava.s/ing.event (oporte * procesa$iento de eventos para co$ponentes s/ing. "ava.io InputFoutput strea$s. "ava.lang Clases 7unda$entales del lengua"e J6,6. "ava.net (oporte para net/orEing.

&rgani5aci%n

C"a!e! . co$o J6,6 es un lengua"e && -&rientado a o'"etos. tipico su estructura esta 'asada en clases. Bna clase es una plantilla +ue de>ne las caracter4sticas de un o'"eto una ve5 +ue es instanciado. !a 8erencia * el nivel de acceso entre clases son soportados por J6,6.

&rgani5aci%n

M3todo! . los $9todos en J6,6 co$o en cual+uier lengua"e orientado a o'"etos se utili5an para reali5ar alguna acci%n espec4>ca2 estos se de>nen dentro de la clase * asi co$o las clases ta$'i9n poseen niveles de acceso. !os $9todos pueden reci'ir par$etros * retornar algun valor.

Teor)a de O,-eto!#
&rientaci%n a &'"etos

&rientaci%n a o'"etos

4Con-unto de di!ci&"ina! 1ue de!arro""an 5 ode"i0an !o$t6are 1ue $aci"itan "a con!truccin de !i!te a! a &artir de co &onente!#7

Funda$entos del $odelado &&

(ie$pre +ue algo se constru*e2 se reali5an di'u"os +ue descri'en su co$porta$iento * su apariencia. !os di'u"os tra'a"an co$o una especi>caci%n de c%$o +uere$os +ue se vea el producto ter$inado.

#rincipios del (@ &&


6'stracci%n Encapsula$iento #rincipio cliente<servidor Jerar+u4as #oli$or>s$o )odularidad #ersistencia

#rincipios del (@ &&


A,!traccin :epresentaci%n de las caracter4sticas esenciales de un o'"eto2 as4 co$o de su co$porta$iento. #rogra$as G descripci%n a'stracta de un procedi$iento del $undo real.

#rincipios del (@ &&


Enca&!u"a iento #ropiedad +ue per$ite asegurar +ue el contenido de la in7or$aci%n de un o'"eto est9 oculta al $undo e3terior. Es el proceso de ocultar los secretos de un o'"eto #er$ite la divisi%n de un progra$a en $%dulos.

#rincipios del (@ &&


Enca&!u"a iento !a encapsulaci%n presenta dos venta"as 'sicas0 (e protegen los datos de accesos inde'idos El acopla$iento entre las clases se dis$inu*e Favorece la $odularidad * el $anteni$iento

!os atri'utos de una clase no de'er4an ser $anipula'les directa$ente por el resto de o'"etos

#rincipios del (@ &&


Enca&!u"a iento !os niveles de encapsulaci%n estn 8eredados de los niveles de CHH0 '8( Privado 0 es el $s 7uerte. Esta parte es total$ente invisi'le -e3cepto para clases 7riends en ter$inolog4a CHH.. '9( !os atri'utosFoperaciones &rote%ido! estn visi'les para las clases 7riends * para las clases derivadas de la original. ':( !os atri'utosFoperaciones &;,"ico! son visi'les a otras clases -cuando se trata de atri'utos se est transgrediendo el principio de encapsulaci%n..

#rincipios del (@ &&


Enca&!u"a

iento
Reglas de visibilidad Atributo pblico : Integer Atributo protegido : Integer Atributo privado : Integer "Operacin pblica"() "Operacin protegida"() "Operacin privada"()

E"e$plo0

#rincipios del (@ &&


C"iente8!ervidor (e 'asa en la interacci%n de dos entidades0 El cliente 8ace solicitudes al servidor para +ue este realice servicios.

La aplicacin reside en la maquina del usuario

Los datos residen en el servidor

#rincipios del (@ &&


Jerar1u)a! #ropiedad +ue per$ite una ordenaci%n de las a'stracciones. E3isten 2 tipos0 Aenerali5aci%n F especiali5aci%n conocidas co$o 8erencia 6gregaci%n2 per$ite el agrupa$iento 74sico de estructuras relacionadas l%gica$ente.

#rincipios del (@ &&

Po"i

or<!

#ropiedad +ue indica la posi'ilidad +ue una entidad to$e diversas 7or$as #osi'ilidad de desencadenar operaciones distintas en respuesta a un $is$o $ensa"e

#rincipios del (@ &&


Po"i or<! o
Animal dormir()
Dormir() { }

Len dormir()
Dormir() { sobre el vientre }

Oso dormir()
Dormir() { sobrela espalda }

Tigre dormir()

Dormir() { en un rbol }

#rincipios del (@ &&


Modu"aridad #ropiedad +ue per$ite su'dividir una aplicaci%n en partes $as pe+ueIas -$%dulos. Cada $odulo es co$o sea posi'le tan independiente

#rincipios del (@ &&


Per!i!tencia Capacidad de un o'"eto de trascender en el tie$po * espacio Conserva su estado en un siste$a de al$acena$iento per$anente

Clasi>caci%n

El $undo real puede ser visto desde a'stracciones di7erentes -su'"etividad. )ecanis$os de a'stracci%n0 Clasi>caci%n F Instanciaci%n Co$posici%n F Desco$posici%n 6grupaci%n F Individuali5aci%n Especiali5aci%n F Aenerali5aci%n !a clasi>caci%n es uno de los $ecanis$os de a'stracci%n $s utili5ados. Bna a'stracci%n trata de $ostrar las propiedades * co$porta$ientos de un o'"eto +ue lo di7erencia de otro.

Clases

)odela una a'stracci%n de>niendo propiedades * co$porta$ientos para los o'"etos representados. !a clase de>ne el $'ito de de>nici%n de un con"unto de o'"etos. Cada o'"eto pertenece a una clase. !os o'"etos se crean por instanciaci%n de las clases.

Clases

Pro&iedade! . 6tri'utos2 varia'les. Co &orta iento! . &peraciones2 $9todos. Contrato! . De>ne +u9 servicios proporc una clase. I &"e entacin . De>ne c%$o se proporciona los servicios en una clase.

De>nici%n de o'"eto

JEnte real o conceptual +ue posea caracter4sticas * co$porta$iento propios2 =nicos e incon7undi'lesK Es una instancia concreta de la a'stracci%n +ue representa la clase.

uan !9re"

#omputador

Identidad de un o'"eto

Cada o'"eto tiene una identidad =nica2 incluso si su estado es id9ntico al de otro o'"eto.

Identi>cador de un o'"eto
Caracter4sticas del Identi>cador0

Lnico * glo'al Deter$inado en el $o$ento de su creaci%n Es independiente de la locali5aci%n 74sica del o'"eto Es independiente de las propiedades del o'"eto

Caracter4sticas * Co$porta$iento
Caracter)!tica! -atri'utos.0 1o$'re Estatura Edad Co &orta iento -operaci%n.0 Ca$inar ?a'lar (altar

Co$porta$iento * Estado
Co &orta iento 6grupa las co$petencias de un o'"eto2 Conocido co$o &#E:6CIM1 Es consecuencia de un est4$ulo e3terno -$ensa"e. E"e$plo0 #render C#B E!tado :epresentado por los valores de los atri'utos E"e$plo0 #rendido2 apagado

Identi>cando o'"etos
I$agine$os +ue tene$os estacionado en nuestra coc8era un 6udi < 6N O.0 PQ0C, +uattro color a5ul +ue corre 8asta 2Q0 E$F8.
Marca $ Audi Modelo $ A% &'( )*(#+ quattro Color $ A"ul Velocidad M i!a $ ,*( -m./

Cuando a las caracter)!tica! del o'"eto le asigna$os valores deci$os +ue el o'"eto tiene e!tado!.

Co$unicaci%n
(iste$a G Con"unto de o'"etos aut%no$os * concurrentes +ue tra'a"an de $anera coordinada en la consecuci%n de un >n especi>co. Men!a-e Bnidad de co$unicaci%n entre o'"etos #ara +ue e3ista un co$porta$iento -&peraci%n. es necesario +ue e3ista un $ensa"e

Co$unicaci%n

&'"etos0 B)!

En B)!2 un o'"eto se representa por un rectngulo con un no$'re su'ra*ado


Otro ob#eto

"n ob#eto

Otro ob#eto !s

A!ociacione!
:elaciones entre clases

Clases
Con"unto de o'"etos con caracter0sticas -atri'utos. * co$porta$ientos -operaciones. si$ilares.

uan Arias D12 (334*,,4 Ate

os5 Lpe" D12 (%%4&3,4 Lince

6ar7 8alcn D12 (*%4)),9 :an ;or<a

C$A%&: 'ersona

Clases0 1otaci%n Ar>ca

Cada clase se representa en un rectngulo con tres co$parti$ientos0


1o$'re de la clase. Estructura -atri'utos de la clase.. Co$porta$iento -operaciones de la clase..


Motocicleta color cilindrada velocidad ! i!a arrancar() acelerar() (renar()

:epresentaci%n B)!

Clases0 e"e$plo

Bna Cuenta Corriente +ue posee co$o caracter4stica Balance #uede reali5ar las siguientes operaciones Depositar Airar * Balance

:elaciones entre Clases

!os enlaces entre de o'"etos pueden representarse entre las respectivas clases For$as de relaci%n entre clases0

6sociaci%n2 Dependencia * 6gregaci%n -vista co$o un caso particular de asociaci%n. Aenerali5aci%nFEspeciali5aci%n

!as relaciones de 6gregaci%n * Aenerali5aci%n 7or$an "erar+u4as de clases

6sociaci%n

!a asociaci%n per$ite asociar o'"etos +ue cola'oran entre si. Ca'e destacar +ue no es una relaci%n 7uerte2 es decir2 el tie$po de vida de un o'"eto no depende del otro. Bna asociaci%n es una a'stracci%n de la relaci%n e3istente en los enlaces entre los o'"etos "n enlace
"niv) de Murcia : "niversidad Antonio : &studiante
"niversidad Una asociacin &studiante

6sociaci%n

Especi>caci%n de $ultiplicidad -$4ni$a...$3i$a. 1 0..1 )..1 R 0..R 1..R Bno * s%lo uno Cero o uno Desde ) 8asta 1 -enteros naturales. Cero o $uc8os Cero o $uc8os Bno o $uc8os -al $enos uno.

!a $ultiplicidad $4ni$a SG 1 esta'lece una restricci%n de e3istencia

6sociaci%n
E-e &"o Bn cliente puede tener asociadas $uc8as &rdenes de Co$pra2 en ca$'io una orden de co$pra solo puede tener asociado un cliente.

6sociaci%n
E-e &"o.
!arido casado-con !u#er
,)),))-

'ersona no!bre s)s)

e!plea/a

Co!pa*+a traba#a/para no!bre direccin .

#e(e Administra

,))-

e!pleado

Dependencia

!a relaci%n de Dependencia o ta$'i9n conocida co$o de instanciaci%n representa un tipo de relaci%n $u* particular2 en la +ue una clase es instanciada -su instanciaci%n es dependiente de otro o'"etoFclase.. (e denota por una Tec8a punteada.

Dependencia

El uso $s particular de este tipo de relaci%n es para denotar la dependencia +ue tiene una clase de otra2 co$o por e"e$plo una aplicaci%n gra>ca +ue instancia una ventana -la creaci%n del &'"eto ,entana esta condicionado a la instanciaci%n proveniente desde el o'"eto 6plicaci%n.0

6gregaci%n

!a agregaci%n representa una relaci%n parteUde entre o'"etos En B)! se proporciona una escasa caracteri5aci%n de la agregaci%n #uede ser caracteri5ada con precisi%n deter$inando las relaciones de co$porta$iento * estructura +ue e3isten entre el o'"eto agregado * cada uno de sus o'"etos co$ponentes

6gregaci%n

#ara $odelar o'"etos co$ple"os2 no 'astan los tipos de datos 'sicos +ue proveen los lengua"es -enteros2 reales * cadena de caracteres.. Cuando se re+uiere co$poner o'"etos +ue son instancias de clases de>nidas por el desarrollador de la aplicaci%n2 tene$os dos posi'ilidades0

#or ,alor. -Co$posici%n. #or :e7erencia. -6gregaci%n.

6gregaci%n

Por =a"or. Es un tipo de relaci%n esttica2 en donde el tie$po de vida del o'"eto incluido esta condicionado por el tie$po de vida del +ue lo inclu*e. Este tipo de relaci%n es co$=n$ente lla$ada Co &o!icin -el &'"eto 'ase se constru*e a partir del o'"eto incluido2 es decir2 es VparteFtodoV.. Por Re$erencia. Es un tipo de relaci%n din$ica2 en donde el tie$po de vida del o'"eto incluido es independiente del +ue lo inclu*e. Este tipo de relaci%n es co$=n$ente lla$ada A%re%acin -el o'"eto 'ase utili5a al incluido para su 7unciona$iento..

6gregaci%n0 E"e$plo
Bn 6l$ac9n posee Clientes * Cuentas2 cuando se destru*e el &'"eto 6l$ac9n ta$'i9n son destruidos los o'"etos Cuenta asociados2 en ca$'io no son a7ectados los o'"etos Cliente asociados. !a co$posici%n se destaca por un ro$'o relleno. !a agregaci%n se destaca por un ro$'o transparente.

6gregaci%n0 E"e$plo
0indo1 scrollbar234 : %lider title : 5eader bod6 : 'anel

0indo1
-

scrollbar %lider

title 5eader

body

'anel

?erencia

Es un concepto +ue deter$ina +ue una clase2 +ue en adelante lla$are$os su'clase2 puede 8eredar -Je3tenderseK. de una =nica clase principal2 a la +ue lla$are$os superclase2 reci'iendo las varia'les * $9todos visi'les de la (uperclase -pu'lic * protected.. El concepto de 8erencia es la verdadera 'ase de la &&#2 el cual per$ite la reutili5aci%n de c%digo de 7or$a natural.

?erencia

Aenerali5aci%n

#er$ite gestionar la co$ple"idad $ediante un ordena$iento ta3on%$ico de clases (e o'tiene usando los $ecanis$os de a'stracci%n de Aenerali5aci%n *Fo Especiali5aci%n !a Aenerali5aci%n consiste en 7actori5ar las propiedades co$unes de un con"unto de clases en una clase $s general

Aenerali5aci%n

1o$'res usados0 clase padre < clase 8i"a. &tros no$'res0 superclase < su'clase2 clase 'ase < clase derivada !as su'clases 8eredan propiedades de sus clases padre2 es decir2 atri'utos * operaciones -* asociaciones. de la clase padre estn disponi'les en sus clases 8i"as

Aenerali5aci%n
+e/0culo

+ei/0culo Terrestre

+e/0culo A5reo

#oc/e

#amin

Avin

=elicptero

Aenerali5aci%n

!a especiali5aci%n es una t9cnica $u* e>ca5 para la e3tensi%n * reutili5aci%n


#oc/e

8uncionando

>stropeado

:estricciones prede>nidas en B)!0 dis"unta < no dis"unta total -co$pleta. < parcial -inco$pleta.

... Aenerali5aci%n

!a noci%n de clase est pr%3i$a a la de con"unto Dada una clase2 pode$os ver el con"unto relativo a las instancias +ue posee o 'ien relativo a las propiedades de la clase Aenerali5aci%n * especiali5aci%n e3presan relaciones de inclusi%n entre con"untos

... Aenerali5aci%n

#articiona$iento del espacio de o'"etos GS Clasi>caci%n Esttica #articiona$iento del espacio de estados de los o'"etos GS Clasi>caci%n Din$ica En a$'os casos se reco$ienda considerar generali5acionesFespeciali5aciones dis"untas

... Aenerali5aci%n

Bn e"e$plo de Clasi>caci%n Esttica0


+e/0culo A5reo
W esttica X

Avin

=elicptero

... Aenerali5aci%n

Bn e"e$plo de Clasi>caci%n Din$ica0


#oc/e
W din$ica X

8uncionando

>stropeado

... Aenerali5aci%n

E"e$plo0 varias especiali5aciones a partir de la $is$a clase padre2 usando discri$inadores0


#omercial 6ilitar

uso +e/0culo A5reo

estructura

Avin

=elicptero

Clasi>caci%n )=ltiple -8erencia $=ltiple.

(e presenta cuando una su'clase tiene $s de una superclase !a 8erencia $=ltiple de'e $ane"arse con precauci%n. 6lgunos pro'le$as son el conTicto de no$'re * el conTicto de precedencia (e reco$ienda un uso restringido * disciplinado de la 8erencia. Java * 6da YQ si$ple$ente no o7recen 8erencia $=ltiple

Z ?erencia )=ltiple

Bso disciplinado de la 8erencia $=ltiple0 clasi>caciones dis"untas con clases padre en 8o"as de "erar+u4as alternativas
;0pedo nro patas #on !elos cubertura #on !lumas cobertura cobertura #on >scamas Animal comida #arn0voro comida #uadr?pedo nro patas =erb0voro

#one<o

Diagra$a de Clases * &'"etos

Diagra$a de Clases * Diagra$as de &'"etos pertenecen a dos vistas co$ple$entarias del $odelo Bn Diagra$a de Clases $uestra la a'stracci%n de una parte del do$inio Bn Diagra$a de &'"etos representa una situaci%n concreta del do$inio !as clases a'stractas no son instanciadas

Net,ean!
Inter7a5 de Desarrollo

///.net'eans.org

Qu9 es 1etBeans

1etBeans es un pro*ecto e3itoso de c%digo a'ierto con una gran 'ase de usuarios * una co$unidad en constante creci$iento. (un )icro(*ste$s 7und% el pro*ecto de c%digo a'ierto 1etBeans en "unio 2000 * contin=a siendo el patrocinador principal de los pro*ectos. 6l d4a de 8o* 8a* disponi'les dos productos0 el 1etBeans;IDE * 1etBeans #lat7or$.

1etBeans IDE

Es una 8erra$ienta para +ue los progra$adores puedan escri'ir2 co$pilar2 depurar * e"ecutar progra$as. Es un entorno de desarrollo * est escrito en Java pero puede servir para cual+uier otro lengua"e de progra$aci%n. E3iste ade$s un n=$ero i$portante de $%dulos para e3tender el 1etBeans;IDE. Es un producto li're * gratuito sin restricciones de uso.

1etBeans IDE

#artes del IDE 1et'eans


#anel de #ro*ecto. #anel de 6rc8ivos. #anel de (ervicios. Editor de C%digo. 1avegador. ,entana de (alida -output.. #aleta de Controles -(/ing2 6/t2 ?t$l.. #anel de #ropiedades.

Sinta>i! 5 Re$erencia
Estructura del !engua"e Java

Conceptos Bsicos de la #&&

O,-eto. (on usados para $odelar los o'"etos del $undo real +ue tienen un estado * un co$porta$iento. C"a!e. Es un #lano o prototipo de c%$o los o'"etos sern creados. Herencia. #rovee un poderoso * natural $ecanis$o para reutili5ar2 organi5ar * estructurar el (o7t/are. Inter$ace. Es el contrato entre una clase * el $undo e3terior2 para cu$plir los acuerdos del contrato. Pa1uete. Es un no$'re de espacio para

Estndares de #rogra$aci%n

Pa1uete!0 1o$'re =nico se escri'e todo en $in=sculas. C"a!e!0 1o$'res sustantivos siendo la pri$era letra de cada pala'ra con )a*=scula. Inter$ace!0 (i$ilar a de las Clases. M3todo!0 De'e co$en5ar con un ver'o en $in=scula * la pri$era letra de las siguientes pala'ras -di7erentes al ver'o. con $a*=scula. =aria,"e!0 !a pri$era letra con $in=scula2 las pala'ras internas e$pie5an con $a*=scula. Con!tante!0 De'en estar todas con $a*=sculas *

Identi>cadores

Caracteres Bnicode 0 1O 'its El pri$er carcter no puede ser un d4gito #ueden e$pe5ar con un su'ra*ado o un d%lar -U.-[. Java es Case<(ensitive 0 se distinguen $a*=scula de $in=sculas #ueden ser de cual+uier longitud. 1o puede ser una pala'ra reservada o -true2 7alse2null.

Clases
No ,ra iento -Estndar. Bsar el sustantivo singular !os no$'res de la clase de'en e$pe5ar con $a*=sculas 1o de'e usarse el su'ra*ado !os no$'res co$puestos se ponen "untos * la pri$era pala'ra se escri'ir con $a*=scula E"e$plo0 6lu$no2 (iste$aDe#ago

)odi>cadores de 6cceso

De>nen el grado de co$unicaci%n * visi'ilidad de los atri'utos * $9todos de ellos con el entorno2 estos son0 &u,"ic -H.0 Indica +ue el atri'uto ser visi'le tanto dentro co$o 7uera de la clase2 es decir2 es accsesi'le desde todos lados sin restricciones. &rivate -<.0 Indica +ue el atri'uto s%lo ser accesi'le desde dentro de la clase +ue lo declara -s%lo sus $9todos lo pueden acceder..

Clases 0 1iveles de 6cceso

NIVELES DE ACCESO CLASE private 7 protected 7 public 7 de@ault 7

&rotected -\.0 Indica +ue el atri'uto es accesi'le desde cual+uier su'clase -tanto dentro co$o 7uera del pa+uete. * a todo $9todo dentro del pa+uete. Pac2a%e0 El ca$po es accesi'le a todos los $9todos dentro del pa+uete. Es el acceso por de7ecto.
SUBCLASE PAQUE E 7 7 7 7 7 O !OS

Clases 0 (inta3is
Sinta>i! . ]$odi>cadorR^ c"a!! _no$'reDeClaseS ]e>tend! _no$'reDeClaseS^ ]i &"e ent! _no$'reDeInter7aceRS^ W ### X Modi<cadore! . A,!tract. 1o se pueden instanciar o'"etos. (ola$ente una clase a'stracta puede declarar $9todos a'stractos. Fina". 1o per$ite su'clases. Pu,"ic. 6cceso general.

,aria'les
(inta3is 0
]$odi>cador^ _no$'reDeCipoS _no$'reDe,aria'leS ]G _iniciali5adorS^` 6dicional$ente a las declaraciones de 6cceso2 las varia'les pueden ser declaradas co$o0
(tatic .< ,aria'le de clase.-(olo e3iste un copia por clase con acceso co$partido entre todas las instancias de la $is$a.. Final .< Declara la varia'le co$o constante.

En caso de +ue sea una varia'le de tipo pri$itivo indica +ue el valor no podr ser ca$'iado. #ara o'"etos2 la re7erencia del $is$o no podr apuntar a un nuevo o'"eto2 pero el o'"eto aun es capa5 de ser $odi>cado.

Cipos de Datos #ri$itivos

Cipos #ri$itivos 0

B*te (8ort Int !ong C8ar Float Dou'le Boolean

int i = 102 i 102

a Declarar un varia'le de tipo pri$itiva reserva de por si el espacio de $e$oria necesario.

Cipos de Datos #ri$itivos


Cipos
B*te (8ort Int !ong C8ar Float Dou'le Boolean

#recisi%n
N 'its 1O 'its 32 'its OP 'its 1O 'its 32 'its OP 'its <

,alor #or De7ecto


0 0 0 0 bu0000 H0.07 H0.0d 7alse

a De no asignarse un valor de inicio2 el co$pilador por de7ecto asignar uno.

Cipo de Datos &'"eto

Declarar un varia'le de tipo o'"eto no crea un o'"eto2 solo una re7erencia al $is$o. !a pala'ra reservada ne6 8ace +ue el siste$a cree2 instancie * reserve la $e$oria para el nuevo o'"eto.

String cadena = new String (Java) String cadena


Java

6$'ito de las ,aria'les

=aria,"e! Mie ,ro0 #uede ser declarada en cual+uier lugar de una clase2 $enos dentro de un $9todo. =aria,"e +oca"e!0 6+uellas declaradas dentro de un $9todo o dentro de un 'lo+ue de c%digo. Par? etro! de M3todo!0 #asan valores entre $9todos. Mane-adore! de E>ce&cione!0 (i$ilar al anterior2 salvo +ue son par$etros de una e3cepci%n. !as varia'les locales * las $ie$'ro pueden ser iniciali5adas cuando son declaradas0 s8ort tipode6siento G 0`

6$'ito de las ,aria'les

)9todos
(inta3is 0 ]$odi>cadorR^ _no$'reDeCipoS _no$'reDe)etodoS -]_argsRS^. ]t8ro/s _no$'reDeE3cepcionRS^ W ... X c ` 6dicional$ente a las declaraciones de 6cceso2 las varia'les pueden ser declaradas co$o0 (tatic )9todo de clase. 1o re+uiere de un o'"eto de la clase para su e"ecuci%n. (olo tiene acceso a ca$pos * )9todos d(tatice. 6'stract 1o i$ple$enta c%digo dentro de si2 sus su'clases de'en de i$ple$entarlo o declararse co$o da'stacte. Final 1o puede ser so'reescrito. 1ative Declara una re7erencia para un c%digo

Constructores
Es un tipo especial de $9todo +ue se e"ecuta al crear una nueva instancia de una clase. (inta3is 0 ]$odi>cadorR^ _no$'reDeClaseS -]_argsRS^. ]t8ro/s _no$'reDeE3cepcionRS^ W...X

(i ning=n constructor es creado2 uno por de7ecto es ela'orado por el co$pilador2 sin argu$entos * lla$ando al constructor por de7ecto de la superclase super-.. (i se especi>ca un constructor no *a no se crea el constructor por de7ecto.

Constructores

Bn constructor de'e de tener el $is$o no$'re +ue la clase * no de'e especi>car un tipo de retorno2 si es especi>cado2 el co$pilador *a no lo reconoce co$o un constructor. #ara toda clase de>nida 2 la pri$er instrucci%n de todos los constructores es una lla$ada a otro constructor. Esta lla$ada puede ser la invocaci%n por de7ecto de super-. 2 o puede ser0 Bna invocaci%n a otro constructor presente en la clase0 t8is-_para$etrosRS.` Bna invocaci%n a un constructor de la superclase0

E3presiones * Blo+ues
Bna e3presi%n es una serie de varia'le2 operadores * lla$adas de $9todos -i$ple$entadas de acuerdo al lengua"e. +ue eval=a * da co$o resultado un =nico valor.

E>&re!ione !

int au3 G 100` (*ste$.out.println-J)i c%digo es 0 J H au3.`

I7 -alu$no.validarCodigo-i)iCodigo. W ................. ................. X

@"o1ue

Bn 'lo+ue es una colecci%n de sentencias encerradas entre llave

&peradores
&peradores 0

:: incre ento 88 decre ento :A adicin -JaGaH'K es e+uivalente a JaHG'K. 8A !u!traccin -JaGa<'K es e+uivalente a Ja<G'K . BA u"ti&"icacin -JaGaR'K es e+uivalente a JaRG'K . /A divi!in -JaGaF'K es e+uivalente a JaFG'K . CA odu"o -JaGaR'K es e+uivalente a JaRG'K . DD AND +%ico EE OR +%ico

Co$entarios

!os co$entarios de docu$entaci%n2 colocados in$ediata$ente antes de una declaraci%n -de varia'le o 7unci%n.2 indican +ue ese co$entario 8a de ser colocado en la docu$entaci%n +ue se genera auto$tica$ente cuando se utili5a la 8erra$ienta de Java2 "avadoc. FF co$entarios para una sola l4nea FR co$entarios de una o $s l4neas RF; FRR co$entario de docu$entaci%n2 de una o $s l4neas RF

(entencias de Control de Flu"o


IPO DE SEN ENCIA Loop Toma de Decisiones 6ane<o de >Acepciones ;ranc/ing PALAB!AS CLAVES while do - while for if - else switch - case try - catch - finally throw break continue label: return

/8ile -condici%n. W ............. ............. X

i7 W

7or -inicio ` t9r$ino ` ............. incre$ento. W X else W ............. ............. ............. X X

(entencias de Control de Flu"o


do W ............. ............. X /8ile -condici%n. `
s/itc8 -varia'le. W case valor1 0 sentencias case valor2 0 sentencias 'reaE` case valor3 0 sentencias 'reaE` ............. de7ault 0 X sentencias

tr* W sentencias` ............. X catc8 -E3cepcion e0. W sentencias` ............. X catc8 -E3cepcion e1. W .............. X >nall* W sentencias` X

Estructura i7 < else


i$ ',oo"ean( F ### F e"!e i$ ',oo"ean( F ### G e"!e F ### G R 6l contrario del C2 en Java solo se puede evaluar una e3presi%n 'ooleana en una sentencia i7.

Estructura s/itc8
S6itcH 'e>&re!ion( F ca!e Co!tanteI. ### ,rea2J ca!e Con!tanteK. ### ,rea2J # # # de$au"t. ### ,rea2J G

Estructura /8ile * do</8ile


6Hi"e ',oo"ean( F ### G do F ### G 6Hi"e ',oo"ean(J
!a e3presi%n a evaluar de'e de tener co$o resultado un valor de tipo 'oolean.

Estructura 7or
$or ' e>&re!ion J ,oo"ean J e>&re!ion( F ### G
6 di7erencia del C2 el Java per$ite iniciali5ar la varia'le dentro de la sentencia 7or2 por e"e$plo0 7or -int 3 G 0` 3 _ 20` 3HH. !a varia'le 3 sola$ente ser valida dentro del cuerpo del 'ucle.

#a+uetes
Bn pa+uetes es un con"unto de clases e inter7aces relacionadas +ue proporcionan protecci%n * ad$inistraci%n en el acceso a ellas. #ara declararlas se usa la pala'ra reservada pacEage Esto se coloca al inicio de todo progra$a 7uente. #ara acceder a un pa+uete utili5a$os la notaci%n del punto. pa+uete1.pa+uete2.$iClase`

:e7erencias

tHi! ?ace re7erencia al $is$o o'"eto2 se puede invocar a atri'utos o $etodos de la clase. !u&er ?ace re7erencia al o'"eto padre2 se puede invocar a atri'utos o $etodos de la clase padre.

tHi!#dato A datoPara !u&er#unMetodo'(J

etroJ

?erencia
Es la capacidad de crear una nueva clase a partir de otra. !a clase creada puede utili5ar las propiedades * los $9todos de la anterior2 as4 co$o los propios +ue 8a*a creado. !a clase padre se deno$ina superclase * la 8i"a2 su'clase. En Java la 8erencia es lineal -s%lo e3iste un superclase para una su'clase. * se Btili5a la pala'ra clave e3tends. (e 8eredan los $9todos per$itidos2 a $enos +ue se so'reescri'a alguno.

:eglas de la ?erencia0 (u'Clase


Bna clase puede so'rescri'ir un $9todo 8eredado pero no esconderlo. Lnica$ente desde dentro de una clase se puede lla$ar a $9todos de su superclase usando la instrucci%n 0 !u&er#no ,reLde"L etodo'(J !os constructores no son 8eredados` pero2 la clase puede i$ple$entar constructores e+uivalentes reenviado los par$etros respectivos con la instrucci%n0 !u&er'&ar IM&ar K(J en la pri$er l4nea del Constructor.

:eglas de la ?erencia0 (uperClase

Bna clase puede prevenir la 8erencia de si $is$a o de sus $9todos e$pleando la pala'ra reservada d<na"N en su declaraci%n. E"e$plo 0 >nal (tring ,elocidad-Toat d2 dou'le t. W ... X Bna clase puede 7or5ar la so're escritura de si $is$a * de sus $9todos e$pleando la pala'ra reservada a,!tract en sus declaraciones. En este caso no es necesario incluir c%digo. E"e$plo 0 a'stract (tring ,elocidad-Toat d2 dou'le t. W X

Lnica$ente una clase de tipo da,!tracte puede contener $9todos de tipo da,!tracte.

Inter7aces -)ulti8erencia.
Bna inter7a5 es si$ple$ente un arc8ivo +ue esta'lece un tipo de o'"eto * los $9todos necesarios para su e$pleo2 sin i$ple$entarlos. (inta3is 0 ]$odi>cadorR^ _no$'reDeInter7a5S ]e3tends _no$'reDeInter7a5S^ W...X Cuando una clase i$ple$enta una inter7a5 necesaria$ente de'e i$ple$entar los $9todos esta'lecidos en ella.

(o'reescritura de )9todos

#ara so'rescri'ir un $9todo de'e$os de tener en cuenta algunas condiciones0

De'e$os revisar el nivel de accesi'ilidad para co$pro'ar +ue pode$os so'reescri'ir el $9todo. El $9todo de'e tener la $is$a J>r$aK +ue el de la clase padre. Desde el $9todo J8i"oK pode$os e"ecutar el $9todo JpadreK si es necesario.

#rincipio de (ustituci%n

El #rincipio de (ustituci%n de !isEo/ a>r$a +ue0

JDe'e ser posi'le utili5ar cual+uier o'"eto instancia de una su'clase en el lugar de cual+uier o'"eto instancia de su superclase sin +ue la se$ntica del progra$a escrito en los t9r$inos de la superclase se vea a7ectado.K

Z #rincipio de (ustituci%n

Dado +ue los progra$adores pueden introducir c%digo en las su'clases rede>niendo las operaciones2 es posi'le introducir involuntaria<$ente inco8erencias +ue violen el principio de sustituci%n

El poli$or>s$o +ue vere$os a continuaci%n no de'er4a i$ple$entarse sin este principio

#oli$or>s$o

El t9r$ino poli$or>s$o se re>ere a +ue una caracter4stica de una clase puede to$ar varias 7or$as El poli$or>s$o representa en nuestro caso la posi'ilidad de desencadenar operaciones distintas en respuesta a un $is$o $ensa"e Cada su'clase 8ereda las operaciones pero tiene la posi'ilidad de $odi>car local$ente el co$porta$iento de estas operaciones

Z #oli$or>s$o

E"e$plo0 todo ani$al duer$e2 pero cada clase lo 8ace de 7or$a distinta

Animal dormir()

?
dor$ir

?
Len Oso Tigre

Z #oli$or>s$o
Animal dormir()
Dormir() { }

Len dormir()
Dormir() { sobre el vientre }

Oso dormir()
Dormir() { sobrela espalda }

Tigre dormir()
Dormir() { en un rbol }

Z #oli$or>s$o

!a '=s+ueda auto$tica del c%digo +ue en cada $o$ento se va a e"ecutar es 7ruto del enlace din$ico El cu$pli$iento del #rincipio de (ustituci%n per$ite o'tener un co$porta$iento * diseIo co8erente

(o'recarga * (o'reescritura

(o'recarga-&verloading. .<
)=ltiples

$9todos declarados en la $is$a clase con el $is$o no$'re2 pero con di7erente tipo * nu$ero de argu$entos. E"e$plo 0

void g-int E. .. void g-(tring c2 int 7. ..

(o'rescritura-&verriding. .<
Bn

$9todo declarado en una su'clase con el $is$o no$'re * tipo de argu$entos +ue su superclase

Estructura de Datos0 Cadenas


(e encuentran dentro del pa+uete 0 "ava.lang Dos clases 0 (tring * (tringBufer !as crea$os con el operador 0 ne/ Concatena$os dos cadenas con el operador 0 H (tring $iCadena G ne/ (tring-.` (tring $iCadena2 G J?&!6K` (tring $iCadena3 G ne/ (tring-J?&!6K. )9todos principales 0 lengt8 c8ar6t-posicion. inde3&7-carcter. lastInde3&7-carcter. su'string value&7-valor.

Estructura de Datos0 6rreglo


Un arre%"o es una estructura de datos +ue contiene ele$entos de un $is$o tipo de dato. !a longitud del arreglo de'e ser especi>cada al $o$ento de la creaci%n (on de longitud >"a. _tipoUdeUdatoS] ^ $i6rreglo` $i6rreglo G ne/ _tipoUdeUdatoS]longitud^` Ca$'i9n 0 _tipoUdeUdatoS] ^ $i6rreglo G ne/ _tipoUdeUdatoS]longitud^` Ca$'i9n tene$os arreglos en tie$po de co$pilaci%n co$o 0 int]^ posicionesFi"as G W020202020202020X` 6ccesa$os al arreglo con 0 $i,aria'le G

Estructura de Datos0 ,ector


&l vector es una derivacin del arregloB salvo que guarda ob<etos en ve" de datos 7 es dinmico en cuanto a su tamaCo' :e obtiene de la clase D <ava'?til'+ectorE

E3cepciones * su gesti%n
Bna e3cepci%n es un o'"eto +ue avisa +ue 8a ocurrido alguna condici%n inusual. Java tiene $uc8os o'"etos de e3cepci%n prede>nidos * ta$'i9n pode$os crear los nuestros propios para gestionar personali5ada$ente su trata$iento. #ara utili5ar e3cepciones2 tene$os +ue 8acer cuatro cosas0 Intentar0 crear un 'lo+ue alrededor de la instrucci%n donde puedan ocurrir e3cepciones * precederlas con la pala'ra clave tr* Ca&turar0 colocar a continuaci%n de la instrucci%n tr* otro 'lo+ue precedido por la

E3cepciones * su gesti%n
+an0ar0 si no se trata la e3cepci%n2 9sta pasar auto$tica$ente al $9todo lla$ador` si la captura$os * la trata$os parcial$ente2 pode$os de todas 7or$as pasarla con una instrucci%n t8ro/. Dec"arar0 $encionar en la declaraci%n del $9todo +u9 e3cepciones se devolvern al $9todo lla$ador. tr*W Xcatc8- .W X>nall*W X

E3cepciones < E"e$plo


pu'lic void lee6rc8ivo-(tring no$'re. t8ro/s I&E3ception W Bufered:eader >n G ne6 Bufered:eader-ne6 File:eader-no$'re..` tr* W /8ile-true. W cadena G >n.read!ine-.` (*ste$.out.println-cadena.` X X catc8 -E&FE3ception e. W (*ste$.out.println-VFin del arc8ivoV.` X X

6serciones
Bna aserci%n es una instrucci%n +ue contiene una e3presi%n 'ooleana de la +ue el progra$ador sa'e +ue en un $o$ento dado de la e"ecuci%n del progra$a este de'e ser verdadero.

(u uso esta centrado en la 7ase de desarrollo * con ellos pode$os veri>car +ue el progra$a se e"ecuta dentro de los l4$ites +ue el progra$ador le $arca reduciendo la posi'ilidad de errores.

#ara declarar un aserto en una clase Java2 se usa la pala'ra clave assert0 assert E3presion1` assert E3presi%n10E3presi%n2`

6serciones
En cual+uiera de los dos casos E3presi%n1 tiene +ue ser una e3presi%n 'ooleana o se producir un error de co$pilaci%n. Cuando se eval=a un aserto +ue solo tenga E3presi%n12 se co$prue'a la veracidad de la e3presi%n * si es verdadera se contin=a la e"ecuci%n del progra$a2 pero si es 7alsa2 se lan5a una e3cepci%n de tipo 6ssertionError. (i el aserto contiene ade$s una E3presi%n2 * E3presi%n1 es 7alsa2 se eval=a E3presion2 * se le pasa co$o par$etro al constructor del 6ssertionError -(i E3presion1 se eval=a co$o cierto2 la segunda e3presi%n no se eval=a.. #ara usar en 1et'eans las 6serciones se de'e especi>car

Qu9 es Deprecated .
JDeprecatedK es un /arning diciendo +ue el soporte de esos $9todos ser retirado del n=cleo del J,)2 * +ue e3isten clases $as apropiadas2 o nuevas 7or$as de reali5ar la la'or deseada. 6 pesar de ello2 el 7uente "ava es pre<co$pilado a un class * aun es posi'le e"ecutarlo. El Java reci'e $odi>caciones constante$ente` nuevas clases2 nuevas inter7aces2 nuevos $9todos $as verstiles2 son desarrollados * pu'licados 7recuente$ente2 as4 co$o li'rer4as son ane3adas al siste$a - caso (@I1A..

@a!e de Dato!
6r+uitectura de (o7t/are Escala'le

6genda

JDBC. Drivers de terceros. )anteni$ientos * consultas. Cursores * #rocedi$ientos 6l$acenados.

&'"etivos

:econocer los o'"etos para tra'a"ar con 'ases de datos. Desarrollar aplicaciones +ue tra'a"en con 'ases de datos.

JDBC

E3isten P 7or$as de usar JDBC para cone3i%n con la BD0 El puente JDBC<&DBC -&DBC de )icroso7t. Driver de Java parcial$ente nativo -Drivers 1ativos. Driver JDBC de Java puro - Cone3i%n directa. Driver de protocolo de Java puro - Driver en Java.

El puente JDBC<&DBC

E"e$plo de Cone3i%n a una BD

Drivers de terceros

8ttp0FFdevelopers.sun.co$FproductF"d'cFdri vers

)ane"ando datos en Java


Connection cn G ne/ ConectaDB-..getConnection-.` E"ecutar sentencia0 (tate$ent st G cn.create(tate$ent-.` st.e3ecute-Jsentencia a e"ecutarK.` :ecuperar datos0 (tate$ent st G cn.create(tate$ent-.` :esult(et rs G st.e3ecuteQuer*-JQuer*K.` /8ile -rs.ne3t-..

)anteni$ientos * consultas -(Q!.


I1(E:C I1C& 1o$'reDeCa'la-Colu$nasDeCa'la. ,6!BE(-DatosDeColu$nas. B#D6CE 1o$'reDeCa'la (EC Colu$na1G E3presi%n 2 Colu$na2G E3presi%n .... @?E:E Condici%nDeB=s+ueda DE!ECE F:&) 1o$'reDeCa'la @?E:E Condici%nDeB=s+ueda

#rocedi$ientos al$acenados
#repared(tate$ent ps G cn.prepare(tate$ent-J(elect R 7ro$ alu$no /8ere codigoG K.` ps.set(tring-12 123.` :esult(et rs G ps.e3ecuteQuer*-.`

Cursores * (#

create(tate$ent-int result(etC*pe2 int result(etConcurrenc*.` :esult(et.Cg#EUF&:@6:DU&1!g :esult(et.Cg#EU(C:&!!UI1(E1(ICI,E :esult(et.Cg#EU(C:&!!U(E1(ICI,E

#rocedi$ientos al$acenados
(tate$ent st$t G con.create(tate$ent-:esult(et.Cg#EU(C:&!!U(E 1(ICI,E2 :esult(et.C&1CB:UB#D6C6B!E.` :esult(et uprs G st$t.e3ecuteQuer*-V(E!ECC R F:&) C&FFEE(V.` FFInsertando un registro uprs.$oveCoInsert:o/-.` uprs.update(tring-VC&FU16)EV2 VDonaV.` uprs.updateInt-V(B#UIDV2 1Q0.` uprs.updateFloat-V#:ICEV2 10.YY.` uprs.insert:o/-.`

#rocedi$ientos al$acenados
(tate$ent st$t G con.create(tate$ent-:esult(et.Cg#EU(C:&!!U(E 1(ICI,E2 :esult(et.C&1CB:UB#D6C6B!E.` :esult(et uprs G st$t.e3ecuteQuer*-V(E!ECC R F:&) C&FFEE(V.` FF6ctuali5ando un registro uprs.last-.` uprs.updateFloat-V#:ICEV2 10.YY.` uprs.update:o/-.`

#rocedi$ientos al$acenados
Create #rocedure spU#ro$edio halu$no varc8ar-30.2 hpro$edio real &utput 6s Declare hsu$a real (elect hsu$aG -(elect nota1Hnota2Hnota3 Fro$ notas @8ere alu$noGhalu$no. (elect hpro$edioG hsu$aF3

#rocedi$ientos al$acenados
DE!I)ICE: FF C:E6CE #:&CEDB:E Aet&iceB*Countr* -I1 countr*1a$e ,6:C?6:-2QQ.. BEAI1 (E!ECC cit*2 p8one F:&) oices @?E:E countr* G countr*1a$e` E1D FF DE!I)ICE: `

#rocedi$ientos al$acenados
DE!I)ICE: [[ C:E6CE #:&CEDB:E Count&rderB*(tatus - I1 order(tatus ,6:C?6:-2Q.2 &BC total I1C. BEAI1 (E!ECC count-order1u$'er. I1C& total F:&) orders @?E:E status G order(tatus` E1D[[ DE!I)ICE: `

#rocedi$ientos al$acenados
(tate$ent st G cn.create(tate$ent-.` :esult(et rs G st.e3ecuteQuer*-JWcall spUlista6lu$nosXK.` <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<< Calla'le(tate$ent cs G cn.prepareCall-JWcall spUpro$edio- 2 .XK.` cs.set(tring-12 codigo.` cs.register&ut#ara$eter-22 "ava.s+l.C*pes.D&BB!E.` cs.e3ecute-.`

A&"icacione! en Ca&a!
6r+uitectura de (o7t/are Escala'le

Capas en 6plicaciones
1uevas plata@ormas de /ardFare para clientes 7 servidores a menos costo' >l avance de las tecnolog0as de redes' #entrali"acin de !rocesos en :ervidores >speciali"ados' Automati"acin de las empresas'

Capas en 6plicaciones
"8A CA'A Gn solo programa se encarga de generar desde la inter@a" gra@icaB pasando por el proceso de la in@ormacin 7 el control de su almacenamiento' Gn programa /ec/o en # que lea los datos de un arc/ivo de teAto los ordene 7 los muestre por pantalla'

Capas en 6plicaciones
9O% CA'A% >l ob<etivo es @acilitar el traba<o de las !# #lientes 7 centrali"ar ciertos procesosB este esquema podr0a aumenta el tra@ico de la red si se generan m?ltiples peticiones Gn sistema +isual ;asic que se conecta a una ;ase de Datos Oracle

Capas en 6plicaciones
Aplicacin Aplicacin

9: Gna #apa Dos #apas

Capas en 6plicaciones
;R&% CA'A% La aplicacin se divide en tres capas lgicas distintasB cada una de estas con una inter@aces per@ectamente de@inidasB com?nmente se de@inen de la siguiente maneraD H !resentacin H Lgica H Datos

Capas en 6plicaciones
Inter(a< de "suario

Tres #apas

$gica de Aplicacin

9:

9ocu!entos 7M$

Capas en 6plicaciones
8 CA'A% >n una arquitectura de 1 nivelesB la lgica del negocio esta lgicamente dividida por @unciones (no necesariamente divisiones @0sicas)' 1o /a7 un modo preciso para de@inir las capasB el arquitecto de so@tFare las de@inir de acuerdo al requerimiento'

Capas en 6plicaciones
Inter(a< de "suario

1 #apas

=enerador de 'resentacin

$gica de Aplicacin

Acceso a 9atos

9:

9ocu!entos 7M$

Gracia!

Das könnte Ihnen auch gefallen