modulo 04 presentaciones aplicaciones empresariales v1
TRANSCRIPT
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
1/62
Temario Aplicaciones Empresariales Middleware Plataformas de Desarrollo
Empresarial .NET Framework
Java GeneXus SOA Y ESB Escenarios de integracin Testing
Aplicaciones EmpresarialesQUE SON LAS APLICACIONES EMPRESARIALES?
Son sistemas que abarcan todas las reas!uncionales con la tarea de e"ecutar #rocesos dene$ocios atra%esando toda la em#resa einclu&endo todos los ni%eles de laadministraci'n(
A&udan a las em#resas a %ol%erse ms!le)ibles & #roducti%as #or medio de lacoordinaci'n ms estrec*a de sus #rocesos dene$ocios & la inte$raci'n de $ru#os de#rocesos+ de modo que se en!oquen en laadministraci'n e!iciente de recursos &ser%icios al cliente(
QUE U,ILI-A- ,IENE SU MANE.O?
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
2/62
Aplicaciones Empresariales
Una Aplicacin Empresarial es unaaplicacion de software desarrollada para
administrar las operaciones, activos yrecursos de una empresa
Algunos ejemplos:o Contabilidad
o Seguimiento de envos
o Servicio al cliente
o Nomina de empleados
Empresariales Caractersticas
Las aplicaciones empresariales tienen en generallas siguientes caractersticas:o lnvolucran persistencia de datoso Manejan grandes cantidades de datoso Existen varias interfaces de usuario, paradistintos tipos de usuarioo En general deben integrarse con otrasaplicacioneso Se accede a los datos de forma concurrente
INCO - Facultad de Ingeniera Montevideo, Uruguay 6
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
3/62
Tipos de Sistemas de Informacin y niveles de la organizacin
Grupos a los quesirven
Areas
Funcionales
Ventas yMarketing
Manufactura Finanzas Contabilidad RecursosHumanos
Tipos de S.I.
Directores
Gerentesde nivelmedio
Trabajadoresdelconocimiento yde datos
Gerentesoperativos
NivelEstratgico
Niveladministrativo
Nivel delconocimiento
Niveloperativo
Aplicaciones Empresariales
Clasificacin.
Gestiones empresariales.
Aplicaciones Industriales.
Aplicaciones tcnico-cientficas.Aplicaciones mdicas.
Aplicaciones militares.
Aplicaciones financieras.
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
4/62
Aplicaciones Empresariales
Gestiones empresariales: Trabajos administrativos ode oficina. Pueden realizar gestin de personal, controlde inventarios, gestin de almacn, facturacin,contabilidad, administrar gestin de comunicaciones,gestin administrativa en los sistemas de informacin,etc.
Aplicaciones Industriales: Procesos defabricacin. En la industria para controlar tareasdonde la exactitud y la velocidad de respuesta sonmuy importantes. Para controlar robots que realizanoperaciones automticas de montaje, movimiento, etc.Ej industria automotriz.
Aplicaciones Empresariales
Aplicaciones tcnico-cientficas: Participan en laconfeccin de pronsticos meteorolgicos, controlambiental, de trnsito, de comunicaciones,satlites artificiales, aeronavegacin,reconocimiento de materiales, simulacin deprocesos, pagos automticos variados, etc.
Aplicaciones mdicas: Control clnico depacientes investigacin y desarrollo de nuevosmtodos para tratar enfermedades y pacientes.,diagnsticos clnicos, historias clnicas, monitoreode pacientes en terapia intensiva, anlisis clnicos,ecografas, diagnsticos por imgenes,tomografas, resonancias magnticas, etc.
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
5/62
Aplicaciones Empresariales
Aplicaciones militares: El campo militar ha sidopionero y predecesor de las dems aplicaciones.Se destacan los sistemas de radar, conduccinautomatizada de misiles, espionaje por satlite,sistemas de comunicaciones, sistemas deseguridad y defensa, etc.
Aplicaciones financieras: El mercado financiero
mundial es manejado por tecnologasinformticas. Sistemas de transferenciaelectrnica de fondos para simplificar larealizacin de movimientos de dinero bancario.Dinero plstico, banca electrnica o dineroelectrnico, cajeros automticos.
A#licaciones Em#resariales
Al$unas denominaciones(
Sistemas Em#resariales /ERP0
Sistemas de In!ormaci'n 1erencial/MIS0 Mana$ementIn!ormation S&stems
Sistemas de a#o&o a la toma de decisiones/-SS0-ecisi'n Su##ort S&stems
Sistemas de Adm(Cadena Suministro /SCM0
Sistemas de Adm( de la relaciones con el cliente/CRM0
Sistemas de Adm( del Conocimiento /2MS0
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
6/62
ERP ERP( Enter#rise Resource Plannin$+ o So!t3are de $esti'n
inte$rada+ se de!ine como un $ru#o de m'dulos conectadosa una 4nica base de datos(
Es un #aquete de so!t3are que #ermite administrar todoslos #rocesos o#erati%os de una em#resa( Re#resenta la5columna %ertebral6 de una em#resa & de!ine se$4n dos#rinci#ios bsicos7
A#licaciones in!ormticas como m'dulos inde#endientes+#ero #er!ectamente com#atibles en una 4nica base de datoscom4n(
El uso de un motor de !lu"os de traba"o que debe #ermitirde!inir todas las tareas de un #roceso & $estionar sua#licaci'n en todos los m'dulos del sistema(
ERP
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
7/62
SCM
Sistemas de administraci'n de la cadena desuministro( SCMSCM
A&udan a las em#resas a mane"ar las relacionescon sus #ro%eedores(
Constitu&en un ti#o de sistemainteror$ani8acional+ #orque automati8an el !lu"o dela in!ormaci'n a tra%9s de los l:mites de laor$ani8aci'n(
CRM
Sistemas de Administraci'n de las relaciones conel cliente CRM.CRM.
A#ortan in!ormaci'n #ara coordinar todos los#rocesos de ne$ocios relacionados con losclientes en las reas de %entas+ mar;etin$ &
ser%icio al cliente+ a#untan a o#timi8ar losin$resos + al i$ual que la satis!acci'n & laretenci'n del cliente(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
8/62
2MS
Sistemas de Administraci'n del conocimiento KMSKMS(
Permiten a las or$ani8aciones mane"ar de me"ormanera sus #rocesos #ara ca#tar & a#licar elconocimiento & la e)#eriencia(
A#o&an #rocesos #ara adquirir+ almacenar+distribuir & a#licar el conocimiento+ al i$ual quelos #rocesos #ara $enerar nue%o conocimiento einte$rarlo a la or$ani8aci'n(
N
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
9/62
A#licaciones em#resariales Cr:ticas Abordar el #roblema de las AEC+ requieren la
continuidad o#eracional de los ne$ocios so#ortadoscuando la no dis#onibilidad+ total o #arcial+ de losmismos a!ecta seriamente a los resultados de estosne$ocios
Problema en!ocado desde los #rinci#ales sta;e*olders/interesados0 de esta !unci'n7 los $erentes del ne$ocio+
analistas & usuarios en $eneral( Es con quienes se debe establecer /& se$uramente
ne$ociar0 un Acuerdo de Ni%el de Ser%icios /Ser%iceLe%el A$reement o SLA0( Partiendo del ni%el ms alto+menos t9cnico
El rol de la !unci'n de los sistemas de
in!ormaci'n en la em#resa( El de#artamento de sistemas de in!ormaci'n es la
unidad res#onsable de los ser%icios de tecnolo$:ade in!ormaci'n(
Est inte$rado #or es#ecialistas como#ro$ramadores+ analistas de sistemas+ lideres de
#ro&ecto+ $erentes de sistemas de in!ormaci'n+ &con !recuencia est a car$o de un director dein!ormaci'n(
La !unci'n de sistemas de in!ormaci'n #odr:amane"arse como un de#artamento inde#endienteseme"ante a los dems de#artamentos!uncionales(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
10/62
Inclu&e in%ersiones en
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
11/62
@irtuali8aci'n
Virtualizacin es la t9cnica em#leada sobre lascaracter:sticas !:sicas de al$unos recursoscom#utacionales+ #ara ocultarlas de otrossistemas+ a#licaciones o usuarios que interact4encon ellos( Esto implica hacer que un recursofsico, como un ser%idor+ un sistema o#erati%o o
un dis#ositi%o de almacenamiento+ aparezcacomo si fuera varios recursos lgicos a la vez, oque %arios recursos !:sicos+ como ser%idores odis#ositi%os de almacenamiento+ a#are8can comoun 4nico recurso l'$ico(
Retos del de#artamento de I, en las em#resas
CrecimientoCrecimiento
Servicio al clienteServicio al cliente
Conformidad conConformidad conregulaciregulacin legaln legal
GestiGestin de dispositivosn de dispositivos
Cambios en losCambios en losconocimientos necesariosconocimientos necesarios
MovilidadMovilidad
Mantenimiento de equiposMantenimiento de equipos
ExpansiExpansin descontroladan descontroladade servidoresde servidores
Plataformas obsoletasPlataformas obsoletas
Despliegue yDespliegue ymantenimientomantenimiento
GestiGestin de identidadesn de identidades
ActualizaciActualizacin de softwaren de software
Ataques, Malware, virus,Ataques, Malware, virus,spam, etc.spam, etc.
Amenazas cambiantesAmenazas cambiantes
GestiGestin de actualizaciones,n de actualizaciones,VPN, etc.VPN, etc.
Acceso seguro deAcceso seguro deempleados, socios yempleados, socios yclientesclientes
Simplificar laInfraestructura y su
Administracin
Reducir costes yComplejidad
Mejorar la Seguridad
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
12/62
Escenarios de @irtuali8aci'n
Pruebas & desarrolloPruebas & desarrollo
Continuidad delContinuidad delne$ocione$ocio
-ele$aciones Remotas-ele$aciones Remotas
ConsolidaciConsolidaci''nnde Ser%idoresde Ser%idores
Proceso de @irtuali8aci'n
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
13/62
,iers
Estndar llamado ANSI,IABD ,elecommunicationsIn!rastructure Standard !or -ata Centers+ creado#or miembros de la industria+ consultores &usuarios+ que intenta estandari8ar el #roceso dediseo de los CP-(
,ier F7 CP- Gsico7 -is#onibilidad del BB(HFJ(
,ier D7 CP- Redundante7 -is#onibilidad delBB(FJ(
,ier K7 CP- Concurrente mantenibles7-is#onibilidad del BB(BDJ /F *ora & media0(
,ier 7 CP- ,olerante a !allos7 -is#onibilidad delBB(BBJ /DH minutos al ao0
,endencias de las a#licaciones(eb D((
Mo%ilidad(
1eolocali8aci'n(
.ue$os OnLine (
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
14/62
Aplicaciones Empresariales
El proceso de desarrollo de una aplicacionempresarial involucra al menos:
o Programadores de aplicacioneso Administradores de base de datos
o Diseadores de interfaz de usuarioo lntegradores de aplicacioneso Arquitectos de software, entre otros
INCO - Facultad de Ingeniera Montevideo, Uruguay 7
Aplicaciones Empresariales
La creacin y mantenimiento de lasaplicaciones presentao Administracin
o Mantenibilidad
o Escalabilidad
o lnteroperabilidado Seguridad
o Confiabilidad
varias complejidades:
o Accesibilidad y usabilidado Internacionalizacino Testing
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
15/62
Integracin de Aplicaciones -Definicin
lntegracion de Aplicaciones Empresariales(EAl)
Es la tarea de hacer que aplicacionesdesarrolladas de forma independiente trabajende forma conjunta con el fin de compartir datos y
procesos de negocio
INCO - Facultad de Ingeniera Montevideo, Uruguay 14
Inte$raci'n de A#licaciones La inte$raci'n de a#licaciones em#resariales o
EAI /enter#rise a##lication inte$ration0 se de!inecomo el uso de so!t3are & #rinci#ios dearquitectura de sistemas #ara consolidar ointe$rar un con"unto de a#licaciones+ dentro decualquier em#resa(
El n4mero de cone)iones necesario #ara tener
com#letamente conectados %arios sistemas#unto a #unto crece $eom9tricamente( Pore"em#lo7 #ara tener F a#licacionescom#letamente conectadas se requieren cone)iones #unto a #unto(
La !'rmula es n/nF0D
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
16/62
Integracin de Aplicaciones
Al integrar Aplicaciones Empresarialessurgen varios desafos:
o Laso Las
o Las
redes no son confiables
redes son lentasaplicaciones son diferentes
a nivel de lenguajes de programacion,datos, etc
formato de
INCO - Facultad de Ingeniera Montevideo, Uruguay 15
Integracin de Aplicaciones
Historicamente se han utilizado distintosenfoques para la integracion:o Transferencia de archivos
o Base de datos compartida
o lnvocacion de procedimientos Comunicacion sincronicao Mensajera Comunicacion asincronica
Antes de continuar con integracinrequerimos conocer de Arquitecturade sistemas
remotos
INCO - Facultad de Ingeniera Montevideo, Uruguay 16
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
17/62
Arquitectura de So!t3are
Una de las de!iniciones ms ace#tadas es la delSo!t3are En$ineerin$ Institute /SEI0 de laUni%ersidad de Carne$ieMellon
5La arquitectura de un sistema de so!t3are es la
estructura o estructuras del sistema+ que
com#rende elementos e soft!are+ laspropieaes visi"les e#ternamente de dic*oselementos & la relacin entre ellos6
A(S Por qu9 es im#ortante?
Como cualquier otra estructura com#le"a+ el Sdebe ser construido sobre una base s'lida(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
18/62
A(S Porque es Im#ortante?
Gien de!inida+ la arquitectura #ermite $uiarel #roceso de construcci'n de la a#licaci'n
Una arquitectura #obre atenta contra7
la sim#le8a+ e)tensibilidad &mantenibilidad de la a#licaci'n
Si bien las #lata!ormas & *erramientasmodernas sim#li!ican la construcci'n dea#licaciones+ si$ue siendo necesario undiseo cuidadoso basado en escenarios &requerimientos es#ec:!icos
Gene!icios Arquitectura
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
19/62
Arquitectura de So!t3are
Los sistemas deben ser diseados teniendo en cuenta7El usuario del mismo
La in!raestructura tecnol'$ica e)istente
Las metas del ne$ocio
E)iste un 5trade o!!6 entre
todos estos #artici#antes
Arquitectura de So!t3are
La arquitectura debe7
E)#oner la estructura del sistema #ero esconderlos detalles de im#lementaci'n
Reali8ar todos los casos de uso & escenarios dene$ocio
Cum#lir con los requerimientos de losin%olucrados en el sistema
Mane"ar requerimientos !uncionales & no!uncionales
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
20/62
Arquitectura de So!t3are
Construir #ara cambiar+ en lu$ar de #aradurar
Modelar #ara anali8ar & reducir ries$os
Utili8ar modelos & %isuali8aciones como una*erramienta de comunicaci'n & colaboraci'n
Identi!icar las decisiones arquitect'nicas#rinci#ales
Considerar el utili8ar un en!oque iterati%oincremental #ara re!inar la arquitectura
A(S Princi#ios Cla%es
La Arquitectura de S se describeusualmente como la or$ani8aci'n oestructura de un sistema+ donde el sistemare#resenta una colecci'n de com#onentesque reali8a una !unci'n es#ec:!ica(
La Arquitectura se en!oca entonces en
or$ani8ar com#onentes #ara dar so#orte auna !uncionalidad es#ec:!ica(A esta or$ani8aci'n de !uncionalidad se la
conoce en $eneral como a$ru#aci'n decom#onentes en reas de inter9s(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
21/62
Arquitectura de So!t3are ,:#ica $.S % &rincipios Claves
Separacin 'reas e inter(s.
-i%idir la a#licaci'n en di!erentes bloques+ con elm:nimo de sola#amiento !uncional #osible
Lo$rar alta co*esi'n+ ba"o aco#lamiento
Responsa"ilia iniviual.
Cada com#onente debe ser res#onsable de una4nica !uncionalidad+ o ser a$re$ador de!uncionalidad co*esi%a
Menor conocimiento )*e+ e Demeter.
Un com#onente no debe conocer detallesinternos de otro com#onente
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
22/62
$.S % &rincipios Claves
-o repetir
La !uncionalidad no debe ser du#licada endi!erentes com#onentes
-o controlar lo que no se necesita.
E%itar reali8ar un es!uer8o e)cesi%o en eldiseo+ sobre todo si los requerimientos noestn claros+ o si #ueden *aber #osibilidadesde e%oluci'n
A(S Patrones Estilos Arquitect'nicos
Un #atr'n o!rece soluciones a #roblemas conocidosPermiten clasi!icar & rea#ro%ec*ar el conocimiento
1eneran %ocabulario
Patrones arquitect'nicos dado un conte)to dea#licaci'n
Pro#onen la or$ani8aci'n estructural & el
com#ortamiento del so!t3areEs#eci!ican las #ro#iedades que tendr el sistema alincor#orarlos
Pro%ee un marco abstracto #ara una !amilia desistemas
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
23/62
&atrones /stilos $rquitectnicos /0emplos
Cliente Ser%idor Arquitectura Gasada en Com#onentes -iseo -iri$ido #or Modelos Arquitectura en Ca#as Arquitectura Orientada a Ser%icios /SOA0
Messa$e Gus
La arquitectura de un sistema de so!t3are esuna combinaci'n de estilos #ara !ormar elsistema com#leto(
Arquitectura en Capas (Layers)
Layers es un estilo arquitectonico quecomnmente se utiliza para las AplicacionesEmpresariales
En este esquema las capas ms altas utilizanservicios definidos por las capas ms bajas
Esta division lgica entre capas defuncionalidad pueda basarse en distintasresponsabilidades
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
24/62
Arquitectura en Capas (Layers)
Tres capas comnmente presentes en unaAplicacion Empresarial, son las capas de:o Presentacion
Proveer servicios, presentar informacin, ej,pedidos de usuarios
o Logica de Negocio Reglas que gobiernan los procesos de negocio,objetivo de la aplicacion
o Datos Comunicacion con bases de datos, sistemas demensajera, etc.
$rquitectura en Capas
Ca#a de #resentaci'nContiene la !uncionalidad res#onsable de $estionar lainteracci'n del usuario con el sistema
Act4a como #uente entre el usuario & la l'$ica dene$ocio
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
25/62
$rquitectura en Capas
Ca#a de ne$ocio
Im#lementa la !uncionalidad central de laa#licaci'n
Enca#sula la l'$ica de ne$ocio rele%ante #ara la
a#licaci'n Consiste en com#onentes+ los cuales e)#onen
/en al$unos casos0 inter!aces #ara que otrosutilicen
$rquitectura en Capas
Ca#a de acceso a datos
Pro%ee acceso a los datos almacenados en las!ronteras de la a#licaci'n+ as: como a los datose)#uestos #or otros sistemas de in!ormaci'n a
los que se tiene cone)i'n Los com#onentes en la ca#a de ne$ocio *acen
uso de los datos #ro%istos #or estos com#onentes
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
26/62
Deplo+ment
Las ca#as antes #resentadas #ueden estarubicadas en la misma ubicaci'n !:sica o endi!erentes locaciones !:sicas
Si se encuentran en locaciones !:sicasdi!erentes+ e)isten !ronteras !:sicas quedeben ser tomadas en cuenta en el diseo
Al de!inir la estrate$ia de de#lo&ment *a&que o#tar #or un esquema distribuido o nodistribuido
Deplo+ment
Si se trata de una a#licaci'n #ara unaIntranet+ accedida #or un con"unto#equeo de usuarios+ en $eneral escon%eniente considerar un en!oque nodistribuido
Si la a#licaci'n es mas com#le"a+ la cualdebe ser mantenible & escalable+ unen!oque distribuido deber:a ser la elecci'n
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
27/62
Deplo+ment no Distri"uio
Este en!oque minimi8a el n4mero deser%idores requeridos
Minimi8a el im#acto en #er!ormancein*erente a la comunicaci'n entre ca#as de
di!erentes lu$ares !:sicosSin embar$o+ com#artir el mismo*ard3are+ #uede im#actar la #er!ormance+#or e"em#lo+ al acceder a recursoscom#artidos
Re#resentaci'n @istas
Modelo F %istas #ara la arquitectura deso!t3are
Pro#uesto #or P*illi#e 2ruc*ten /FBB0
Im#ulsa !uertemente la noci'n de %istas comomodelo de re#resentaci'n de arquitecturas de
so!t3areSu$iere
%istas del sistema
F %ista de casos de uso
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
28/62
Representacin % Vistas Arquitectura @istas F
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
29/62
Arquitectura @istas F
1. $rquitectura *gica )*ogical $rchitecture
So#orta el anlisis & la es#eci!icaci'n de losrequisitos !uncionales7 lo que el sistema deber:a#ro#orcionar en t9rminos de ser%icios a sususuarios(( En esta %ista se usan com4nmente losdia$ramas de clases+ los de interacci'n &
ob"etos( Notaci'n7 La notaci'n ms usada es UML+ &
dentro de esta dia$ramas de clases & #aquetes(
Estilo7 El estilo ms usado #ara la %ista l'$ica esel Orientado a Ob"etos(
Arquitectura @istas F 2. $rquitectura e &rocesos )&rocess $rchitecture
Se tratan al$unos requisitos no !uncionales( E"ecuci'n+dis#onibilidad+ tolerancia a !allos+ inte$ridad+ etc( Esta%ista tambi9n es#eci!ica que *ilo de control e"ecuta cadao#eraci'n identi!icada en cada clase en la %ista l'$ica(La %ista se centra en la concurrencia & distribuci'nde #rocesos(
Notaci'n7 La notaci'n ms usada es UML+ & dentro deesta dia$ramas estados+ acti%idad & similares(
Estilo7 #ueden enca"ar %arios estilos( tuber:as & !iltros/#i#es and !iltres0 o Cliente Ser%idor /con %ariantes dem4lti#les clientes sim#le ser%idor & m4lti#les clientes m4lti#les ser%idores0(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
30/62
Arquitectura @istas F
3. $rquitectura e Desarrollo )DevelopmentEn!ocada en la or$ani8aci'n de los m'dulos so!t3are enel entorno de desarrollo( Es em#aquetado en #equeostro8os /librer:as de #ro$rama+ subsistemas+ com#onentes0+los subsistemas se or$ani8an en ca#as "errquicas+ & cadaca#a #ro#orciona una inter!a8 bien de!inida a sus ca#assu#eriores
Requisitos internos relacionados con !acilidad dedesarrollo+ $esti'n del so!t3are /re#arto de requisitos0+e%aluaci'n+ #lani!icaci'n+ monitori8aci'n del#ro$reso+ reutili8aci'n+ #ortabilidad+ se$uridad& restricciones #or *erramientas o #or el len$ua"e de#ro$ramaci'n
Arquitectura @istas F3. $rquitectura e Desarrollo )Development
Esta or$ani8aci'n del so!t3are se suele a#o&aren dia$ramas de m'dulos o de subsistemas que muestranlas relaciones de e)#ortaci'n e im#ortaci'n(Se #odr describirse la %ista de desarrollo #or com#letosolamente des#u9s de *aber identi!icado todos loselementos so!t3are(
Notaci'n7 La notaci'n ms usada es UML+ & dentro deesta+ dia$ramas de com#onentes & #aquetes(Estilo7 se recomienda de!inir de cuatro a seis ca#as desubsistemas( Una re$la de diseo es que un subsistema#uede solamente de#ender de subsistemas en la mismaca#a o en las menores( Esto minimi8a las de#endenciasentre m'dulos a !a%or de una ms sim#le estrate$ia ca#a ca#a(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
31/62
Arquitectura @istas F
4. $rquitectura 5sica )&h+sical $rchitecture
La %ista !:sica se centra en los requisitos no !uncionales+tales como la dis#onibilidad del sistema+ la !iabilidad/tolerancia a !allos0+ e"ecuci'n & escalabilidad( Presentac'mo los #rocesos+ ob"etos+ etc(+ corres#onden a nodos de#roceso7
Conectores7 LAN+ AN+ bus+ etc(
Contenedores7 subsistemas !:sico
@arias con!i$uraciones !:sicas #ueden usarse( Lacorres#ondencia del so!t3are a los nodos debe seraltamente !le)ible & tener el m:nimo im#acto en el c'di$o!uente(
Arquitectura @istas F
6. /scenarios )Scenarios
La %ista de escenarios corres#onde con instancias decasos de uso que uni!ican todas las %istas( As:+ desde casosde uso se debiera #oder *acer una tra8abilidad a todos loscom#onentes del sistema so!t3are+ %iendo+ #or e"em#lo+que mquinas+ o clases+ o com#onentes+ o ("ar+ o
#rocesos+ son los res#onsables de que el sistema cubra unacierta !uncionalidad(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
32/62
Arquitectura @istas F
7. Relacin entre las vistas
Si bien el modelo no es una metodolo$:a + su$iere unm9todo de traba"o( Parece l'$ico que la %ista deescenarios o casos de uso sea la de arranque+ & que dea*: se #ase a la %ista l'$ica( -esde la %ista l'$icaa!rontaremos la de desarrollo & #rocesos+ una %e8 que
tenemos #or e"em#lo las clases de!iniremos maneras dea$ru#arlas & modos de e"ecuci'n( Para con todo concluiren la %ista !:sica( ,odo ello+ ob%iamente+ con suscorres#ondientes & t:#icas iteraciones(
Middleware Middleware es una capa de software
distribuida, situada entre el sistemaoperativo y las aplicaciones, diseado paramanejar la heterogeneidad y complejidadinherente a los sistemas distribuidos
Sistem
INCO - Facultad de Ingeniera Montevideo, Uruguay 18
Programa
Middleware
Sistema de Red
Programa
Middleware
Sistem a
de Red
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
33/62
Middleware
El rol principal del middleware es facilitar latarea de disear, programar, y administrar
aplicaciones distribuidas, proveyendo unambiente de programacion distribuido simple,consistente e integrado.
INCO - Facultad de Ingeniera Montevideo, Uruguay 19
Message Oriented Middleware
Los MOMs proveen comunicacionasincronica a travs de mensajes, utilizando
colas de mensajes para su almacenamientotemporal
INCO - Facultad de Ingeniera Montevideo, Uruguay 21
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
34/62
Message Oriented Middleware
El principal objetivo de un MOM estransportar mensajes desde el equipo
remitente al equipo receptor de unaconfiable
Algunos Patrones de Mensajera
o Point to pointo Request Response
o Request Callback
o Publish - Subscribe
manera
Middleware - Ejemplos O-GC+ #ara bases de datos+
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
35/62
Application Servers
Los servidores de aplicaciones proveenmecanismos para manejar toda o la mayora de
las interacciones entre los componentes de unaaplicacion distribuida
Proveen varias tecnologas de middleware
junto con el concepto de contenedor, quebrinda un entorno de ejecucion para loscomponentes de una aplicacion
INCO - Facultad de Ingeniera Montevideo, Uruguay 23
Application Servers
En general se puede encontrar soporte paraseguridad, transacciones, administracion de
aplicaciones, recursos y balanceo de carga
Proveen una solucion completa para laconstruccion e integracion de aplicaciones
empresariales
INCO - Facultad de Ingeniera Montevideo, Uruguay 24
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
36/62
Arquitectura Orientada a Ser%icios /SOA0
Una Arquitectura Orientada a Ser%icios/Ser%ice Oriented Arc*itecture+ SOA0 es una!orma l'$ica de disear un sistema deso!t3are #ara #ro%eer ser%icios+ aa#licaciones u otros ser%icios distribuidosen la red+ a tra%9s de inter!aces que son#ublicadas & #uede ser descubiertas
SOAP
Provee una forma estndar de estructurarmensajes utilizando XML
Define mecanismos para utilizar distintosprotocolos de transporte para el envo demensajes
Especifica un modelo de procesamiento queindica como se deben procesar los mensajes
INCO - Facultad de Ingeniera Montevideo, Uruguay 27
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
37/62
Roles en una S8$
Pro%eedor de Ser%icios
Re$istro de Ser%icios
Consumidor de Ser%icios
9eneficios S8$
SOA !acilita %arias tareas del desarrollo de a#licacionesem#resariales distribuidas7
la inte$raci'n+ la im#lementaci'n de #rocesos de ne$ocios &el a#ro%ec*amiento de sistemas le$ados
SOA #ro%ee la !le)ibilidad & a$ilidad que requieren losusuarios de ne$ocio7
Permite de!inir ser%icios de alta $ranularidad que #ueden
ser combinados & reutili8ados #ara abordar necesidades dene$ocio actuales & !uturas
El #aradi$ma SOA es mu& $eneral & de carcter mu&abstracto+ sin que estable8ca una tecnolo$:a es#ec:!ica deim#lementaci'n del mismo(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
38/62
Capas e una S8$
*tt#7333(ibm(comde%elo#er3or;slibrar&3ssoadesi$nF
eb Ser%ices -e!iniciones Sim#les
Un ser%icio 3eb es un com#onente #ro$ramable que#ro#orciona un ser%icio & es accesible #or Internet(
Los ser%icios 3eb #ueden !uncionar de manerainde#endiente o #ueden estar conectados entre s: #ara#ro#orcionar una !uncionalidad ma&or(
5Un sistema de So!t3are identi!icado #or una URI+ cu&ainter!a8 #4blica & enlaces son de!inidos & descritosutili8ando ML( Su de!inici'n #uede ser descubierta #orotros sistemas de so!t3are+ quienes #osteriormente#ueden interactuar con el ser%icio 3eb se$4n la !ormaes#eci!icada #or su de!inici'n+ utili8ando mensa"esbasados en ML trans#ortados #or #rotocolos deInternet6
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
39/62
Web Services
Un Web Service es una aplicacion desoftware identificada por una URl, cuyasinterfaces y formas de acceso pueden serdefinidas, descriptas y descubiertas comoartefactos XML, soporta la interaccion directacon otros componentes de software utilizandomensajes basados en XML, intercambiados atravs de protocolos basados en internethttp://www.w3.org/TR/ws-desc-reqs/#definitions
INCO - Facultad de Ingeniera Montevideo, Uruguay 25
Primera Generacin
de WS
Universal Description,
Discovery andIntegration
(UDDI)
Web Services
DescriptionLanguage
(WSDL)Publish
Find
HTTPSimple Object
Access Protocol
(SOAP)
SOAP
FTP, SMTP, etc.
WSDL
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
40/62
Mensaje SOAP
INCO - Facultad de Ingeniera Montevideo, Uruguay 28
...
...
...
WSDL
Lenguaje basado en XML que permitedescribir la interfaz y otras caractersticas de un
Web Service
Un documento WSDL puede dividirse en dospartes:
o descripcion abstractao descripcion concreta
INCO - Facultad de Ingeniera Montevideo, Uruguay 29
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
41/62
WSDL
La descripcion abstracta describe de formageneral la estructura de la interfaz del Web Service,
que incluye operaciones, parmetros y tipos dedatos abstractos
La descripcion concreta asocia a una descripcionabstracta una direccion de red concreta, unprotocolo de comunicacin y estructuras de datosconcretas
INCO - Facultad de Ingeniera Montevideo, Uruguay 3
UDDI
Especificacion que provee una formaestndar de publicar y descubrir WebServices
UDDl define
o un modelo de datos para almacenar
informacion de servicios y negocioso dos interfaces para utilizar el registro UDDl lnquiry Publish
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
42/62
Segunda Generacin de WS
Surgen como forma de abordarproblemticas comunes en contextos
empresariales Se les conoce como WS-*
Cada una aborda una problemtica
especfica:o Seguridad, Transacciones, Mensajera,etc
INCO - Facultad de Ingeniera Montevideo, Uruguay 33
WS-BPEL
Web Services Business Process ExecutionLanguage es un lenguaje para orquestar Web
Services
WS-BPEL es un lenguaje de flujo basado enXML para la especificacin formal de procesosde negocio y protocolos de interaccin denegocio
INCO - Facultad de Ingeniera Montevideo, Uruguay 34
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
43/62
Mensajera WS-Addressing WS-Addressing (WS-A) provee unmecanismo estndar para direccionar
mensajes y Web Services Define dos construcciones bsicaso endpoint reference
Address, Reference Parameters,Metadatao addressing properties To, From, ReplyTo, FaultTo, Action, MessagelD, RelatesTo ReferenceParametersINCO - Facultad de Ingeniera Montevideo, Uruguay 35
Metadata WS-Policy Define un modelo abstracto, independientedel dominio, que permite describir caractersticas,
requerimientos y capacidades de un WebService
Delega a otras especificaciones la definicionde polticas particulares a un dominio.
o WS-SecurityPolicyo WS-ReliableMessagingPolicy
INCO - Facultad de Ingeniera Montevideo, Uruguay 36
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
44/62
Transacciones en WS Transaccion Atomica: WS-AtomicTransactiono Propiedades AClDo Corta Duraciono Ambiente seguro
o Diseado principalmente para dar soporte a la
interoperabilidad Actividad de Negocio: WS-BusinessActivityo Larga Duraciono Se define un mecanismo de compensacion
INCO - Facultad de Ingeniera Montevideo, Uruguay 37
WS-Security Define un conjunto de extensiones SOAP
para brindar seguridad a nivel de mensaje
Se especifica como:o utilizar XML Signature en mensajes SOAPo utilizar XML Encryption en mensajes SOAP
o incluir Tokens de Seguridad en mensajesSOAP
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
45/62
WS-Trust WS-Trust es una especificacion que extiendeWS-Security y provee:o mtodos para la expedicion, renovacion yvalidacion de tokens de seguridad
o formas para establecer, evaluar y administrar
relaciones de confianza
INCO - Facultad de Ingeniera Montevideo, Uruguay 39
Especificaciones de WS Actualmente la tecnologa de Web Services
est basada en un gran nmero deespecificaciones que:
o en general, son propuestas por la industria Microsoft, lBM, Oracle, etc.
o son estandarizadas por distintas organizaciones W3C, OASlS, etc.o son implementadas por distintos proveedores Apache, JBoss, Sun, Microsoft, lBM, Oracle,
etc.
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
46/62
Web Services REST REST (REpresentational State Transfer)o Estilo arquitectonico para sistemas de
hipermedia distribuidoso Todo es tratado como recursos que se
identifican por URls
o Toma ventaja de los verbos HTTP GET, POST, PUT, DELETE
INCO - Facultad de Ingeniera Montevideo, Uruguay 42
Web Services REST La intencion de una llamada a un RESTfulService, se obtiene del verbo HTTP
o GET (recuperar), DELETE (eliminar)
Java Web Services: Up and Running, 1st Edition. Martin Kalin. O'ReillY. 2009
Verbo HTTP Significado en trminos de CRUD (Create, Read, Update, Delete)
POST Crear un nuevo recurso a partir de los datos de la solicitud.
GET Leer un recurso.
PUT Actualizar un recurso a partir de los datos de la solicitud.
DELETE Eliminar un recurso.
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
47/62
Web Services REST
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
48/62
.NET Framework Es un Framework desarrollado por Microsoft,disponible en plataforma Windows
lncluye
o Una biblioteca de clases orientada alprogramador a fin de facilitar los problemas
tpicos de programaciono Una maquina virtual que administra la ejecucionde programas escritos para esta plataforma
.NET Framework La biblioteca de clases provee una gran
variedadincluyeno lnterfaz
o Acceso
de funcionalidades, entre las que se
de usuarioa datos
o Conectividado Aplicaciones web
o Seguridad
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
49/62
.NET Framework Los programas escritos para el framework.NET ejecutan en un ambiente de software que
administra los requerimientos de dicho programa Este ambiente de ejecucion, se denominaCommon Language Runtime (CLR)
INCO - Facultad de Ingeniera Montevideo, Uruguay 48
Common Language Runtime Otros servicios que proveeo Seguridado Manejo de memoriao Control de excepcioneso Performance
INCO - Facultad de Ingeniera Montevideo, Uruguay 49
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
50/62
Java Enterprise Edition
Definicion de Sun Microsystems Java Platform, Enterprise Edition 5 (JavaEE 5) define el estndar para el desarrollode aplicaciones empresariales distribuidas,basadas en componentes, utilizando unmodelo de mltiples capas
INCO - Facultad de Ingeniera Montevideo, Uruguay 51
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
51/62
Independencia del proveedorLa plataforma promueve la construccion desistemas independientes de la plataformao Heredado de Java
La especificacion es abierta, puede serimplementada por cualquier proveedor
ste deber cumplir dicho estndaro Hay procesos de certificacion
o No implica que solo debe soportar lo queel estndar establece
Servidores Java EE
Representa el ambiente en el que ejecutan loscomponentes Java
Estos componentes se denominan componentesserver-side o componentes de aplicacion JEE
Pueden tomaro Componentes
o Componentes
la forma deweb (JSP / Servlets / JSF)
de negocio (EJB)Estos componentes ejecutan en un runtimedenominado contenedor
INCO - Facultad de Ingeniera Montevideo, Uruguay 53
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
52/62
Servidores Java EE Certificados
.OnAS+ ser%idor de c'di$o abierto de Ob"ecteb(
.Goss+ Red
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
53/62
Contenedores Java EE
Los componentes web y de negocio, existeny ejecutan dentro de contenedores
Los componentes de aplicacion JEE nuncainteractan directamente entre s
o utilizan protocolos y mtodos del contenedorpara interactuar entre ellos y con servicios de laplataforma
o este rol de intermediario le permite alcontenedor inyectar servicios requeridos por loscomponentes
Contenedores Java EE
Un contenedor permite a los componentesinteractuar con los serviciosservidor de aplicacioneso Seguridad
o Acceso a datos
o Transacciones
o Acceso a recursos
o Comunicaciones
brindados por el
INCO - Facultad de Ingeniera Montevideo, Uruguay 56
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
54/62
1eneus
La idea bsica de GeneXus es automatizartodo aquello que es automatizable:normalizacin de los datos y diseo,generacin y mantenimiento de la base dedatos y de los programas de aplicacin. Deesta manera se evita que el analista deba
dedicarse a tareas rutinarias y tediosas,permitindole poner toda su atencin enaquello que nunca un programa podrhacer: entender los problemas delusuario.
1eneusMltiples plataformas:
Servidores con Sistemas Operativos: IBM OS/400, UNIX, LINUX,Windows NT/2000 Servers.
Sistemas de Gerencia de Base de Datos: IBM DB2 UDB,Informix, Oracle, Microsoft SQL Server.
Lenguajes: Java, C#, Visual Basic, C/SQL, RPG, etctera.
Internet: C#, JAVA, Visual Basic (ASP), C/SQL, HTML.
Web Servers: Microsoft IIS, Apache, WebSphere.Mltiples arquitecturas:
Centralizada (iSeries), Cliente/ Servidor de dos o tres capas,Sistemas distribuidos en mltiples capas en .NET, Multi Servidororientada a Internet, Intranet, Extranet, Data Warehouse yWorkflow para todos los servidores soportados.
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
55/62
MAN,ENIMIEN,O
Esta es quizs la caracterstica ms importantede Geneus! y la que lo diferencia de manerams clara de sus competidores" el
mantenimiento! tanto de la #ase de datos$estructura y contenido% como de losprogramas! es totalmente automtico&
,estin$( Cem 2aner de!ine el testin$ como una in%esti$aci'n
t9cnica de un #roducto ba"o #rueba con el !in debrindar in!ormaci'n relati%a a la calidad del so!t3are+ alos di!erentes actores in%olucrados en un #ro&ecto(
A #artir de la in!ormaci'n obtenida del testin$ se#ueden tomar decisiones( Las decisiones #ueden serdesde cundo liberar un #roducto a #roducci'n+conociendo los ries$os que esto im#lica+ *asta c'mo
me"orar las di!erentes reas dentro de la em#resa( Se$4n CES *tt#7333(ces(com(u&inde)(#*#iquees
eltestin$nuestra%ision
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
56/62
,estin$(
En de!initi%a el testin$ es un a$ente de cambio+ loim#ortante es inter#retar la in!ormaci'n obtenida #araque todos los actores #uedan actuar en !orma o#ortunadonde sea necesario(
En el so!t3are la con!ian8a es un elemento im#ortante&a que ciertas !allas #ueden tener consecuenciasindeseables como #9rdidas de dinero+ ne$ocios e incluso
de %idas+ de#endiendo de qu9 tan cr:tico sea el dominioen el cual el so!t3are interact4a( Las #ruebas le dan%alor a$re$ado a cada #ro&ecto brindando con!ian8a alos distintos actores(
Arquitectura Orientada a Servicios
Si bien los principios de SOA no dependende una tecnologa en particular, los Web Services se han
convertido en el mecanismo preferido para suimplementacion
Actualmente, la forma ms comn de proveer unainfraestructura de integracion administrable, para Web
Services y SOA, es a travs de un ESB
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
57/62
Arquitectura Orientada a Servicios
Arquitectura Orientada a Servicioso forma logica de disear sistemas de
software para proveer servicios a travs deinterfaces pblicas y descubribles
INCO - Facultad de Ingeniera Montevideo, Uruguay 62
Orientacin a Servicios Computacin Orientada a Servicioso paradigma que basa el diseo de aplicaciones en servicios
para dar soporte al desarrollo gil y flexible de aplicacionesdistribuidas en ambientes heterogneos
Un Servicio es una entidad de computo que expone unafuncionalidad de negocio y es:
o autonomao independiente de la plataformao puede ser descripta, publicada, descubierta ycombinada
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
58/62
Enterprise Service Bus (ESB)
Un ESB es una plataforma de integracionbasada en estndares que combina
mensajera, Web Services, transformaciondatos, y ruteo inteligente, para conectar ycoordinar de forma confiable la interaccion
de
deun gran nmero de aplicaciones a travs deempresas con integridad transaccional
INCO - Facultad de Ingeniera Montevideo, Uruguay 65
Enterprise Service Bus (ESB)
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
59/62
Enterprise Service Bus (ESB)
En lugar de interactuar directamente lasaplicaciones se comunican enviando mensajes
a travs del ESB Los mensajes que fluyen a travs del ESBson en general mensajes XML
Funcionalidades de ESB
Conectividad / Adaptadores Transformacion de Mensajes
Ruteo lntermediario
Flujos de Mediacion
Mensajera Asincronica
Monitoreo y Administracion Otras
INCO - Facultad de Ingeniera Montevideo, Uruguay 69
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
60/62
Conectividad y Adaptadores Permiten satisfacer un requerimiento deintegracion comn conocido como conversion de
protocolo (protocol switch). Este requerimiento se da cuando dos
aplicaciones que necesitan integrarse no manejanun protocolo de comunicacion comn.
Transformacin de Mensajes Los ESBs tambin incluyen capacidades de
transformacion de mensajes. Estas capacidades posibilitan, por ejemplo,
que aplicaciones que utilizan distintosformatos o modelos de datos puedancomunicarse.
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
61/62
1
32
Ruteo(
El ruteo inteli$ente #ermitedeterminar dinamicamente eldestino de un mensa"e/seleccionandolo de %arios #osibles0(
Gasado en contenido+ conte)to+
balance de car$a+ etc(
-
7/23/2019 Modulo 04 Presentaciones Aplicaciones Empresariales V1
62/62
Monitoreo y Administracin
Los ESB incluyen funcionalidades demonitoreo que proveen valores para distintas
mtricaso tiempos de respuesta,o cantidad de mensajes procesados por servicio,o errores en la invocacion de servicios, etc
Esto permite detectar:o cuellos de botella,o incumplimiento de requerimientos de calidad de
servicio, etc
INCO - Facultad de Ingeniera Montevideo, Uruguay 74
Escenarios de Inte$raci'n
Casos t:#icos de com#onentes de la