brerias, ete
cing itemprops"inge" sre="catcher-in-the-rye-book-cover. jpg” /> 5
The Catcher in the Rye - De esa forma, en el aiticulo ‘New Vo
Ccabularies for Technical Publishing" (6),
Hass Warket Paperback by
2.D. Salinger del blog oficial de Scherma.org. se pro-
‘tiv dtemprop-"aggregateRating™ itenscope ponen soluciones para a matca seman
tentypec"http://schena.ong/Aggregatenating">
stars = tica de versiones (lstado 2), de referen
ashen MEMO evescount” 377 /spam reviews Cias a librerias (Istado 3), 0 de descrip.
ciones de cédig alojado en un sitio web
(istado 4, donde, como vernos.se com-
“fais plermentala descripcionindicada en ati
butos, con otros elementos de tipo
ede 1 Fregmento del cigs fuente que colatioran en aportar mas
contenido semantico a lo publicado.
Ademas del soporte que el usuario
Puede obtener desde el propio VisLal St
‘neta itemprope"currentProduct™ content=".NET Framework 45° /> dio Uotras herrarrientas, como WebMa
tuk existenherrarienias online que pue-
den ayudar en la migracion de sitios exis
tentes deforma que aprovechen esta ca
raceristca y que sugieren algunas tans:
Seater proromminaerie caren renee Formaciones, como Live Microdata [5]
Aitenprope"assenbly" contents*nscorlib.d11" />
SE ee oa siti susvinrerscne J '89°er ener ymin
Some : te delesténdar HTMLS, que puede apor-
ae itemprop="sampleType" content="Visual Studio solution(SLN)" /> tarmucho més valor SEO a nuestros si-
abandonar €5a6).
(figura 4}. De hecho la propia dacumen:
tacién que enconamos en estas pig
nas ncue agmentos de cécigo oro- EL] “The Semsnic Web An nnacicton”nep/Snfoerh et /2981 stare
‘ctpo pars expicarcémopueden gre
sa¥se as ide2s,conceptos,entidades
citemscemaneresemartiatalycomo E31 Alsop. “Mlsefomats:Empowsing Your Nap fr Yeb 20"
sean endl cddia lenis benscnone tp Pon ogee eka about crores hike LAEghnct.
pagina ates cada (tac)
Ls propuesta ademas anima 2165 P59 Lstacompeta depos dsponblesen a jeraraulade Schema
readoreswebaiiizarestascategoriss — epe/rchem.orfanc/ Fal hem
encualquer tino de contenica,y de esa
forma promover vas exegarias Ente
clas cabladestacar lade los formatos E71 "Le Mout" nee: //Yochipog/nterodease/1ive
cdemarcado para cuando una pagina in-
chive cécgo fuente yla manera comecta
NiCaxmp
Buenas practicas
de codificacion
pera capas de acceso a datos de aplicaciones II!)
En nuestras eniregas anteriores, tado lo que hemos visto ha sido un deserralo manual de le capa
de acceso a datos. Decimas que es un madelo de desarralla manual porque son los desarroladares
los responsables de implementar tacos las elementos que componen esta capa. Ya bien decidemas
utlizar consuttas adhoc, consuls paramelrizadas 0 procedimientos almacenados, somas nosotros
{uienes tenemos que disefer dichos elementos y progremer el cidiga NET neceserio pare
efecutarios y recoger los resuitados. Este mes nos ceniraremos en un modelo de desarrollo
ferente el basado en la ullizacién de un sistema ORM [Objec-Retalional Mapping)
El desarallo de capas de acceso a datos con ORM
NO es otra cosa que una técnica de programacion
‘quemapea.unabasede datos relacionala una serie
de objetos que pueden ser manipulados desde las
lenguajes de programacion orientados a objetos
utlizados tradicionalmente hay en cia para eldesa-
roll Lo que se persigue con los ORMes Faciitat
yautomatizar el proceso de desarollomanual que
‘velamas en nuestros aticules anteriores,
RENEE
‘Cuando se trata de desarrollar aplicaciones de
‘acceso a datos hay que teneren cuenta que inter-
vvienen dos elementos fundamentales para el
desarrollo de dicha aplicacién (figura I.E prime-
10.85 elaplicativo, odo lo que sean [as lineas de
digo y los elementos necesarias para ensam-
bar la apicacion El sequndo es labase de datos,
donde tendriamos todos fas datos a los que la
aplcacion necesita acceder.
Vervique Puig Novsetios
‘ercen SOI MCT Wiaosoh Cette Ta
rs)y MAP vices Acre fessor 200,
(aa Pafrm Enghesren Sle MTP de SOL
SereryMAP 2022
q
[4
Figura 1 ejemplo de arquitecture de apiicacion
Debido a esta separacién de elementos, nos
lencantrames con dos perfiles muy diferenclados
para el desarrolio de dichas aplicaciones:
1. Desarrollador £specialistas en lenguajes de pro-
‘gramacion deciarativos u orientados a objetos,
como por elemplo C, C++, VBINET, Ci, Java, etc
2. DBA (Database Administrator) / DBD (Data-
base Developer) Fspecialistas en pragrama-
ign y desarrollo orientados a base de datos
mediante el uso del estandar SQLEl pel del desarrollador se encar-
d1.DepartmentID == depID);
son
‘tx. Departnents Deleteobject(4);
‘etx Savechanges();
|. Instanciar el EDM, como si fuera una
base de datos virtual.
2. Insertar esta nueva entidaden|acolec
cién de departamentos del modelo
[base de datos virtual} Esta base de
datos vitual poseevariascolecciones _faria el cédigo T-SQL del listado 3,en el Nuevamente, vemos como ambas
de entidades, y cada coleccién ofte- que pademos ver como se ejecuta una __sentencias se implementan mediante
ceunmétodo denominado AddOb- sentenciainsertparametizada median- _sentencias parametiizadas ejecutadas a
ject, que sirve para insertar nuevos tee! procecirmiento'sp_executesqlioque _travésclel pracedimiento sp_executesql,
registros, ofiece todas las ventajas que hemos lo que ofiece todas las ventajas que
3 Ejecutar SaveChanges Este métoda _comentado al estudiar los patrones de hemos comentada al estudiar ls patro-
hace que secconfimelainsercién yse bajo nivel en articulos anteriores ines de bajo nivelen articulos anteriores.
ejecut acarenceenla base de datos
Borrado
5jlanzamos el SQL. Profiler y capt Ao d = new 080093
remoselcédiga T-SQL quenos gene _—Paravealzarelborado de unregis- ff. ¢.Deletevepartnent(s);
EF, veremos que paralalamadaenC# —twodela base de datos tenciemos el cad
uesemuestiaenellistado2,segene- _goquesepresentaenellistaco4 ElcodSolidQ
Business Intelligence
Consulting
Mision Critica
7 pal Training
Gestion de portales°
| Seleccionar los datos de la entidad
~ seleceiona la entidad a nodificar on ide5 para cargar el objeto con ia
exec spevecutesql N’SELECT TOP (1) informacién actual
[etn L Lage tet [eer 2. Meciante una simple asignacién cam.
ph feictecostoeect de ene biar et nombre del departamenta,
WERE [Extentt).[DepartnentID] = fp_ing_',
W'gp_Ling_@ Ant",O>_Ling_es Una vez mas, pademos ver como
‘ambassenrencasse mmpiementan median
‘esentencias parametrzadas ejecutadasa
~ hace el borrado
exec sp_executesgl W’delete [dbo] [Departnent]
wach tpigaetuertse] 6 Bic aa ne oo ‘raves del procecirriento sp_executesqh 0
queaseguratadssias ventajasquehemos
Ustad 6 ccomentado alestuciarlosparones debajo
nivel en aticulos anteriores.
public vod UpdateDepartnent(int depID, string nex mane)
(
using (Conpanysalestntities etx « neu CoopanySalesEntities()) solafeeni aie
{
Departaent d= En nuestra proxima entrega, nos introdu=
CtX.Departnents.First(d1 => ol, DepartnentID == depl0); Cciemos de lena en las distintas técnicas
name = new ane; ‘omecanismos que nos proporciona EF
Percent para realizar consuitas sobre nuestias,
} bases dedatos Veremos que alterativas
hayy como seuutizan y haemos.una com
parativa de rendlimientos para ver cusl es
més éptima.e
Mosificacian
El cédigo para realizar la modifica Dai a se IC
én de un registra seria similar al del is- eee Sac c
lado 7, Parala modificacién vemos que
noes necesario invocar a ningun mete.
do de actuaizacion, simplemente reali
zamos los siguientes pasos:
= selecetona la entidad a nedificar
|, Seleccionamos a entidad a modificar exec sp_executesgl N'SELECT TOP (1)
(através de sui [Extent2].Departnent10} AS [DepartmentD),
2. Modificamos la entidad (en este caso, [estent2]. mane] AS (nane]
FROM [abo]. [Department] aS (Extent)
WERE [Extont1].[DepartmentI0] = é_ling_2',
N'@>_Aing_s int’ @p_ting_055
solo el nombre}
3, Llamarios a SaveChanges para con-
firmar la operacién.
= hace 1a modificacion
Capturando con el SQL Profiler el cédigo exec sp_executesgl N'update [dbo] [Department]
‘generac por EF [istado 9} para la modi- set [rane] = @@
fiacién de unaentdadtal y como semues. vere ([DepartnentID] = @1)",
ra enelliszado 8 veremos coma en este N'@@ varehar(3e),@2 int*,@0="Dep nod ficado’ f-5
caso se realizan dos operacionesObjects, avalados por
nuestras Certificaciones
oficiales
Olen see ere cert a
Intelligence: desde la inclusion de reporting en
Set kia on
eet}
Dee amet eae ce
formacién, consuttoria, desarrollo laves en mano,
re tet
ee ee eo
Peco ee ara
pproporcionaremos la mejor solucién para gestionar
us proyectos de desarrollo de software
@certia
Se eeEmbarcadero RAD Studio XE3 {Il)
Prism
El mes pasado comenzamos la
diseccién de la mas reciente
version de la suite de
herramientas de desarrollo
integradas de Embarcadero,
RAD Studio XE3, presentando el
soporte para los lenguajes de
programatién que permiten
desarrollar aplicaciones de
cédigo native, Delphi y C++
Builder. Este mes continuamas
con la presentacion de la parte
del producto que tiene que ver
con el desarrollo de aplicaciones
{servicios basados en cécigo
manejado, canacida como
Prism XE3.
Aroetevie Hernsaces
‘Sifereb-pre en arceiBas
Reser ech
CL Red
Breve descripelon Suite inteayada de
desarrollo que inclye editores,cormpila:
‘ores tiple ibrerias,marores de ges
lion de datos enlazacores, cepuracores
y ottas herramientas de producividad
para ciferentes lengusjes y marcos de trabajo: Delph y C++ Buller (cdigo nativoh
Prism (INET Framevortey Mono) y HTMLS Builder (HIMLS/lavaScnpt)
Fabricamte Embarcadero Technologies (San Francisco, USA}
Distibuidor en Espaita Danycof Internacional Web hetp://wis.danysoft. com
Teléfono: (+34) 91-5638683.
Piismes una solucién integrada basada
fen un lenguaje de progiamacion des-
cendiente de Pascal y Delphi llamado
Oxygene y su correspondiente compi
ladora CiL (Common intermediare Lan-
guage) Se trata de un lenguaje con mas
de una década de existenca,que ha sido
licenciado por Embarcadero ala empre
53 RemObjects [http://ww.renob-
jects. com/} y que offece précticamen-
te tadas las posibilidades actuales de
C# 0 Visual Basic [en lo adelante, VB),
incluyenda genéricos, métodos anéni-
mos y consultas integradas (LINQ),
‘ademas de otras caracteristicas que
en NET se implementan mediante
librrias del frameworteo de terceros,
Addspenb
tambien integyacion con eh
como las tuplas, construcciones para la
computacién paralela o caracteristicas
de Programacién Orientada a Aspectos
Como parte de Embarcadero RAD Stu
dio XE3, se suministra una excelente
integracién con Visual Studio 2012 (en
lo adelante, VS 2012), de manera que
sea posible desarrollar aplicaciones y
servicios con este lenguaje como si de
Uno de los lenguajes de Microsoft se
watara.
Gracias fundamentalmente alas bon-
dads del cédigo manejado, el desarto
llormut-platforma se hace ficon Prism
vy Oxygene, y siempre que las apicacio-
res y servicios creados con estasherra-
Tientas usen los subconjuntos adecua.