Académique Documents
Professionnel Documents
Culture Documents
v1.1
Página 1/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
SOAr v1.1
(SOA recargada)
Autor
César Obach-Renner
Junio 2008
Página 2/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 3/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
1 Contenido
1 CONTENIDO..............................................................................................................................4
2 PRÓLOGO..................................................................................................................................7
3 PREFACIO.................................................................................................................................8
3.1 SOBRE GURULAB..........................................................................................................................8
3.2 ¿QUIÉN DEBE LEER ESTE LIBRO?.....................................................................................................9
3.3 SITIO WEB DE APOYO E INFORMACIÓN DE CONTACTO.........................................................................10
3.4 SOBRE LOS TÉRMINOS EN INGLÉS...................................................................................................10
3.5 WATERMARK..............................................................................................................................10
3.6 DEDICATORIA Y AGRADECIMIENTOS...............................................................................................11
4 INTRODUCCIÓN....................................................................................................................12
5 ¿QUÉ ES SOAR?......................................................................................................................19
5.1 SOAR COMO 4TA GENERACIÓN DE EAI........................................................................................23
5.1.1 Primera generación: Integración punto a punto..........................................................23
5.1.2 Segunda generación: Integración por Broker..............................................................24
5.1.3 Tercera generación: SOA............................................................................................25
5.1.4 Cuarta generación: SOAr............................................................................................27
5.2 BENEFICIOS DE SOAR................................................................................................................30
5.3 SOAR Y BPM..........................................................................................................................32
5.4 ELEMENTOS CLAVES DE UNA IMPLEMENTACIÓN EXITOSA DE SOAR.....................................................33
6 ESPECIFICACIÓN DE SERVICIOS DEL NEGOCIO (BSI)..............................................34
6.1 CALIDAD DE LA BSI...................................................................................................................34
6.1.1 Fenómeno del Cernido.................................................................................................35
6.1.2 Criterios para generar una BSI de buena calidad........................................................37
6.2 HERENCIA FUNCIONAL.................................................................................................................38
6.2.1 Agregación de funcionalidades ortogonales................................................................39
6.2.2 Agregación de funcionalidades no ortogonales...........................................................39
6.3 ESPECIFICACIONES ESTÁNDARES DE INDUSTRIA.................................................................................40
6.3.1 Telecomunicaciones.....................................................................................................40
6.3.1.1 eTOM....................................................................................................................41
6.3.1.2 TAM.....................................................................................................................42
6.3.1.3 SID........................................................................................................................43
6.3.1.4 MTOSI..................................................................................................................44
6.3.1.5 OSS/J....................................................................................................................45
6.4 OTRAS INDUSTRIAS.....................................................................................................................48
7 ASPECTOS TÉCNICOS..........................................................................................................50
7.1 ANATOMÍA DE LA PLATAFORMA DE INTEGRACIÓN............................................................................50
7.1.1 Nivel 1..........................................................................................................................51
7.1.2 Nivel 2..........................................................................................................................53
7.1.3 Plataforma ideal..........................................................................................................54
7.2 DESARROLLO DE CONECTORES.......................................................................................................55
7.2.1 Características técnicas ..............................................................................................55
7.2.2 Características funcionales..........................................................................................57
7.3 IMPLEMENTACIÓN DE SERVICIOS DEL NEGOCIO..................................................................................58
Página 4/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
8 CONSIDERACIONES ESTRATÉGICAS..............................................................................59
8.1 SISTEMA NERVIOSO EMPRESARIAL................................................................................................59
8.2 ESTRATEGIA DE IMPLEMENTACIÓN..................................................................................................60
8.2.1 Ejemplo de una Iteración.............................................................................................60
8.3 ENFOQUE PRAGMÁTICO................................................................................................................64
8.4 MODELO DE SERVICIO..................................................................................................................67
9 RECOMENDACIONES DE IMPLEMENTACIÓN..............................................................69
9.1 MODELAJE DE PROCESOS..............................................................................................................69
9.1.1 Definición....................................................................................................................69
9.1.2 Componentes básicos...................................................................................................69
9.1.3 Consideraciones...........................................................................................................70
9.1.4 Actores.........................................................................................................................70
9.1.5 ¿Cómo identificar un proceso?....................................................................................71
9.1.6 Aspectos relevantes......................................................................................................71
9.1.7 Representación gráfica ...............................................................................................72
9.1.7.1 El diagrama...........................................................................................................72
9.1.7.2 Características.......................................................................................................72
9.1.7.3 Ventajas................................................................................................................72
9.1.8 Recomendaciones.........................................................................................................73
9.2 NOMENCLATURA.........................................................................................................................73
9.2.1 Flujos de Servicios.......................................................................................................74
9.2.2 Nodos (N** )................................................................................................................75
9.2.3 Nodos de Entrada/Salida (NIN_ / NOU_ )...................................................................76
9.2.4 Nodos de Mapeo (NMP_).............................................................................................76
9.2.5 Nodos de Transformación (NT*_)................................................................................76
9.2.6 Servicios Genéricos & Servicios Específicos...............................................................77
10 METODOLOGÍA...................................................................................................................78
10.1 PREMISAS................................................................................................................................78
10.2 COMPARACIÓN CON OTROS MODELOS............................................................................................79
10.2.1 IBM............................................................................................................................80
10.2.2 RUP...........................................................................................................................80
10.2.3 Sun Microsystems.......................................................................................................80
10.2.4 SOA Institute..............................................................................................................81
10.2.5 SAP............................................................................................................................82
10.3 CICLO DE VIDA DE UN SERVICIO..................................................................................................82
10.4 GOBERNABILIDAD.....................................................................................................................84
10.4.1 Roles..........................................................................................................................84
10.4.2 Funciograma..............................................................................................................84
10.5 PROCESO.................................................................................................................................85
10.5.1 Documentación del requerimiento.............................................................................88
10.5.2 Análisis......................................................................................................................88
10.5.2.1 Criterios de Alcance de Integración....................................................................89
10.5.3 Arquitectura...............................................................................................................89
10.5.4 Diseño........................................................................................................................90
10.5.5 Construcción y pruebas..............................................................................................90
10.5.6 Pase a producción......................................................................................................90
10.5.7 Herramientas de Software Libre................................................................................91
11 GLOSARIO.............................................................................................................................92
11.1 PROCESO.................................................................................................................................92
Página 5/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
11.2 PROCEDIMIENTO.......................................................................................................................92
11.3 DIAGRAMA DE FLUJO.................................................................................................................92
11.4 INTERCAMBIOS VS SERVICIOS VS INTERACCIÓN..............................................................................92
11.5 WEBSERVICES..........................................................................................................................94
12 GNU FREE DOCUMENTATION LICENSE.......................................................................95
Página 6/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
2 Prólogo
Página 7/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
3 Prefacio
Luego de tres años en el proceso de conceptualización, ingeniería básica y
detallada de una Arquitectura de Integración Orientada a Servicios, he
sintetizado una aproximación a la integración de aplicaciones empresariales
(EAI) que se basa en la implementación de una Arquitectura Orientada a
Servicios (SOA).
Página 8/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
El vehículo que Gurulab.org utiliza para entregar sus innovaciones son las licencias
del proyecto GNU (http://www.gnu.org/) GPL para el software, y FDL para las
practicas y documentaciones como SOAr.
Por ser introductorio, este documento puede ser una referencia para todo
aquel que quiera extender sus conocimientos en los temas de SOA e
integración de aplicaciones empresariales.
Página 9/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
3.5 watermark
Minor Earth Mayor Sky @A-Ha
Thought That It Was You @A-Ha
She's Madonna @Robbie Williams
The 80's @Robbie Williams
Página 10/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Quiero agradecer a todas las personas que han apoyado el proyecto de desarrollar
este libro y de manera especial a las siguientes personas quienes le han dedicado
tiempo ayudándome a mejorar su calidad de una u otra forma; en particular a mi
amigo Argenis Gomez quien me dio la infraestructura para comenzar este proyecto
y a quien le debo el nombre de este proyecto, a mis colaboradores Cesar Olivar,
Jorlette Martinez, Santiago Ventura, Rossana Diaz y Danny Rodriguez, a Ana
Isabel Rodriguez por su revisión; gracias a Antonio Plutino, Phillipe Lalande
Christophe Ebro y el resto de los compañeros de OSS/J; muchas gracias a todos
los que ayudaron a probar el concepto utilizando plataformas de Software Libre así
como con software propietario, y a todos los lectores que durante este año han
estado esperando pacientes por su publicación; muchas gracias a todos ustedes!
Página 11/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
4 Introducción
A nivel mundial, todas las empresas se enfrentan a un reto que con los años
se ha venido intensificando independientemente del sector o industria; esto
es, la reducción de sus costos mientras aumentan su agilidad y velocidad para
innovar respecto a su oferta en el mercado.
La respuesta que las grandes consultoras y los analistas han encontrado está
en la optimización de los procesos a todo nivel de la empresa y el uso de
plataformas tecnológicas extremadamente flexibles y poderosas sin dejar de
ser simples. Han logrado mediante la mejora de procesos claves del negocio
una respuesta sustancial respecto a la mejora del valor de sus clientes.
1
Existen empresas que para optimizar sus flujos de salida utilizan un criterio puramente
económico reduciendo los gastos e inversión en todas sus unidades incluyendo Tecnología, en vez
de un criterio Sistémico de optimización de sus procesos lo cual apalancado en una inversión
mayor en el área de tecnología permite resultados interesantísimos en el costo total de operación
de toda la empresa.
Página 12/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Nivel de Madurez
c1 c1 c1 c1
GUI App 1 GUI App 2 … GUI App n
Página 13/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
o deseados, o sean buenos o malos, estén en la caja o fuera de ella), sino que
le proveería de una gran flexibilidad en la modificación de sus procesos como
respuesta a ambientes y mercados cambiantes y dinámicos.
Bastaría con conseguir una aplicación que tuviese esa capacidad “súper
configurable” y lograríamos el objetivo; sin embargo nos topamos con una
realidad inevitable: en ambientes empresariales de mediana complejidad en
adelante, nos conseguimos con el hecho ineludible de que no existe un solo
fabricante que provea todos los componentes de la plataforma de TI
cumpliendo con todos los requerimientos del negocio que van más allá de los
técnicos como por ejemplo, seguridad, calidad, precios, soporte, relación, etc.
La mayoría de las empresas que hoy en día tienen una práctica madura de
integración se encuentran en este estadio, la cual corresponde
independientemente de que las aplicaciones sean “súper configurables” o no,
al nivel 2 del modelo de madurez del NGITP (ver Figura 2)
Página 14/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Nivel de Madurez
c1 c1 c1 c1
GUI App 1 GUI App 2 … GUI App n
Bus 2 - EAI
Página 15/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Nivel de Madurez
c1 c1 c1 c1
GUI App 1 GUI App 2 … GUI App n
Servicios
S1 S2 S3 … Sm 3-
Corporativos
Bus 2 - EAI
Página 16/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Nivel de Madurez
c1 c1 c1 c1
GUI p1 GUI p2 … GUI pj
Servicios
S1 S2 S3 … Sm 3-
Corporativos
Bus 2 - EAI
Página 17/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Nivel de Madurez
c1 c2 … ci
SmartInterface 5 - SmartInterface
Servicios
S1 S2 S3 … Sm 3-
Corporativos
Bus 2 - EAI
En la figura del nivel 5, se puede observar que existe una sola lógica de
interfaz que se adapta a todos los procesos por cada canal. En particular, el
primer canal ejemplificado es el canal Web.
Página 18/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
5 ¿Qué es SOAr?
SOAr es una forma de integrar aplicaciones y procesos basado en una
Arquitectura Orientada a Servicios (SOA), la cual tiene como objetivo principal
aislar toda aplicación de la plataforma de tecnología o proceso del negocio,
del resto de la arquitectura; SOAr logra esto simplificando de manera
importante cualquier esfuerzo de integración empresarial, logrando:
Para entender bien como funciona SOAr, imaginemos el caso (ver Figura X)
de integrar los procesos de una empresa (por ejemplo, a través de una
plataforma de gestión de procesos -BPM-) o una nueva aplicación, a su
plataforma de Tecnologías de Información (TI).
Página 19/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 20/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 21/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 22/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
i) Punto a Punto
ii) Broker
iii) SOA
iv) SOAr
2
C n=
n
=
n!
2 2 !− n−2 !
2
EAI por sus siglas en inglés de Enterprise Application Integration.
Página 23/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Los mensajes que cada una de las aplicaciones envía al broker, además de
contener la información que el Broker interpreta para saber hacia qué
aplicación enviarlos, contiene la estructura y mensaje que la aplicación
destino espera recibir; es decir, el mensaje que una aplicación envía al Broker
cumple con el Contrato establecido por la aplicación destino.
Debido a que entonces todas las aplicaciones solo requieren conectarse con el
Broker, entonces en este modelo la cantidad de conexiones se simplifica a n,
donde n es la cantidad de aplicaciones a interconectar.
Página 24/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Sin generar ningún juicio de valor, Gurulab ha catalogado esta práctica como
tercera generación de EAI, mejor conocido como integración SOA, una
colección de servicios que colaboran entre si.
Página 25/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Esto provee una gran ventaja en la práctica de EAI ya que esa “reutilización”
de servicios representa menos trabajo a llevar a cabo la próxima vez que se
requiera integrar una aplicación que desee consumir justamente el mismo
servicio ya expuesto.
A finales de los años 90, IBM en conjunto con Microsoft desarrollaron una
especificación de distribución de servicios con la simplicidad en mente para
resolver los problemas que CORBA enfrentaba; de aquí nació la tecnología de
Servicios Web, la cual se apalanca en tres elementos fundamentales: el
3
CORBA, del inglés “Common Object Request Broker Architecture”
4
OMG, Organización internacional de estandarización de manejo de objetos. Siglas del inglés
Object Management Group. http://www.omg.org/
Página 26/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
De aquí se desprende la pregunta: ¿qué ventaja nos daría el contar con una
especificación de contratos estándar que no cambie independientemente de
que se cambien las aplicaciones proveedoras?
5
SOAP (siglas de Simple Object Access Protocol): protocolo estándar que define cómo dos
objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML
6
WSDL (siglas de Web Services Description Language): formato XML que se utiliza para
describir servicios Web.
7
UDDI (siglas de Universal Description, Discovery, and Integration) : es un Directorio en línea
que las aplicaciones utilizan para descubrir de forma dinámica otros servicios en línea.
8
DNS (siglas de Domain Name System): Sistema de nombre de dominios, provee una taxonomía
de etiquetas alfanuméricas que permiten asociar un servicio en Internet sin la necesidad de utilizar
la dirección física.
Página 27/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
9
Dicha duplicidad funcional no es necesariamente una consecuencia de una plataforma inmadura;
condiciones del negocio pueden implicar que dicha duplicidad funcional represente el estado del
arte en cuanto a la solución tecnológica.
Página 28/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10
BSI (del inglés Corporate Service Interface): Es la especificación o contratos de los servicios
corporativos.
Página 29/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 30/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Nivel de Madurez
c1 c2 … ci
SmartInterface 5 - SmartInterface
SOAr Servicios
S1 S2 S3 … Sm 3-
Corporativos
Bus 2 - EAI
Página 31/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
11
ITIL (del inglés IT Infrastructure Library): es un modelo de referencia operacional para servicios
de TI.
Página 32/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
En los siguientes capítulos se verán en detalle cada uno de estos temas con el
fin de proveer al lector de los criterios suficientes para proveerse de dichos
componentes y asegurar un exitoso proyecto.
La aproximación que este libro tiene a cada uno de estos elementos claves es
de manera estructural, es decir, independiente de estándar, tecnología o
proveedor. En el sitio web www.soarframework.org además estar disponible
este documento están disponibles registros de experiencias que se han tenido
con tecnologías, estándares y proveedores específicos; de esta manera usted
posee tanto los criterios como las referencias para tomar sus propias
decisiones respecto a cómo considera más conveniente llevar a cabo una
implementación de un EAI basado en SOA.
Página 33/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Este capítulo le presentará los criterios que le permitirán asegurar que la BSI
que usted utilice tenga la mejor calidad posible y por ende garantizar el éxito
de la promesa de su Plataforma de Integración basada en una Arquitectura
Orientada a Servicios.
Página 34/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Composición de Funcionalidades
Se dice que una funcionalidad es “Compuesta” cuando ésta puede
expresarse en función de la ejecución de otras funcionalidades diferentes a
ella.
Derivación Funcional
Se dice que una función F es derivable cuando existe un conjunto de
funciones Fi diferentes de F tales que F es la composición de las Fi.
Funcionalidad Atómica
Se dice que una funcionalidad F0 es atómica si y sólo si no existen otras n
funcionalidades F1, F2, ..., Fn diferentes a partir de las cuales se puede
derivar F1.
Subconjunto Funcional
Se dice que una funcionalidad F1 es subconjunto funcional de una
funcionalidad F2 sí y sólo si la F2 es derivable a partir de un conjunto de
funcionalidades entre las cuales se encuentra F1.
Funcionalidades Ortogonales
Corolario
Dos funcionalidades son “no ortogonales” si alguna de ellas es subconjunto
funcional de la otra.
Página 35/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 36/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Los patrones son referencias generales las cuales pueden estar expresadas en
términos de lenguajes específicos como Java, o pueden estar expresados en
términos agnósticos como UML. Como referencia a continuación se presentan
fuentes de información de patrones de diseño orientado a objetos:
● http://java.sun.com/developer/technicalArticles/J2EE/patterns/
● http://www.research.ibm.com/designpatterns/
12
API; del inglés Application Program Interface.
Página 37/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Los cambios que puede sufrir la BSI pueden clasificarse de dos tipo:
● Agregación de funcionalidades ortogonales.
● Agregación de funcionalidades no ortogonales.
Página 38/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 39/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
6.3.1 Telecomunicaciones
TeleManagement Forum (http://www.tmforum.org/) es para las TI de la
industria de Telecomunicaciones, los que la ITU es para las redes de la misma
industria, o la ISO para cualquier industria.; agrupa un conjunto de artefactos
estándares y mejores prácticas que permiten lograr una plataforma
tecnológica de operaciones de nueva generación.
Página 40/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
6.3.1.1 eTOM
eTOM, componente del marco de referencia NGOSS del TMForum, es un
marco referencial de procesos de una empresa de telecomunicaciones. Este
marco referencial clasifica todos los procesos hasta un nivel de detalle casi de
la especificación de tareas específicas.
Página 41/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
6.3.1.2 TAM
El Telecom Operations Map representa un catálogo que identifica y clasifica el
conjunto de Componentes Funcionales de una empresa de
Telecomunicaciones. A continuación se presenta la figura que muestra la
clasificación actual.
Página 42/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
6.3.1.3 SID
Siendo también elemento de NGOSS del TMForum, SID es un modelo
canónico de datos, agnóstico de tecnología, representado en modelos UML. La
Figura 14 muestra los dominios de SID que clasifican todas las clases (modelo
orientado a objetos) que representan el estándar.
Página 43/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
6.3.1.4 MTOSI
Al igual que eTOM y el SID, MTOSI es una especificación agnóstica de
tecnología que define las interfaces entre elementos de la plataforma
operativa de una telco. En particular representa la especificación que SOAr
Página 44/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
6.3.1.5 OSS/J
Originalmente una iniciativa independiente del TMForum, fue desarrollando a
lo lardo del tiempo una implementación concreta del SID y de interfaces de
servicios (lo que MTOSI busca lograr) para aplicaciones concretas como
Gestor de Problemas (Trouble Ticket), Inventario, Gestor de Ordenes de
Servicio, Facturador, etc. Desde el 1 de Julio del 2006 es un capítulo oficial
del TMForum y además de ser accesible a través de la página oficial del
TMForum (http://www.tmforum.org/) es accesible a través de su URL propio
http://www.ossj.org/.
Página 45/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Figura 15 Mapa visual que muestra cómo OSS/J cubre los dominio de proceso
eTOM
Página 46/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 47/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Sin embargo, así como hemos evaluado que la propuesta de TMForum para la
industria de Telecomunicaciones puede ser aplicada para la industria de Banca
con unas pequeñas modificaciones, podría evaluarse para resolver otras ; es
previsible que dicha extrapolación funcione muy bien al menos en los
dominios independiente de industria como Contabilidad, RRHH, Facturación,
CRM, etc.
Página 48/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 49/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
7 Aspectos técnicos
7.1 Anatomía de la Plataforma de Integración
Como premisa fundamental de SOAr se tiene que es posible implementarlo
sobre cualquier plataforma tecnológica que la empresa tenga. Ya sea que
utilice herramientas de alto nivel como productos especializados para
integración basado en SOA, o utilice un simple compilador de su lenguaje de
preferencia y un editor del código fuente.
Página 50/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Aclaratoria Importante
7.1.1 Nivel 1
Tal como se muestra en la Figura 18, la arquitectura de la plataforma de
integración tiene dos elementos fundamentales: i) la plataforma (mostrado en
el centro de la figura) y ii) las aplicaciones (satélites a la plataforma).
Página 51/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Los aplicativos son los elementos de Software tal como lo conocemos, sin
embargo, destacamos de ellos los que denominaremos el Canal. El Canal es la
colección de recursos de una aplicación específica que se encuentran
disponible para los objetivos de integración. Como ejemplo de estos recursos
se encuentran:
Transacciones CICS
Procedimientos Almacenados en un DBMS
Dataschema e instancia de un DBMS
Archivo plano
Procedimientos disponibles en librerías
Agentes de RPC estándares (SunRPC según RFC 1057, DCOM de
Microsoft, CORBA, Servicios Web, etc.) o propietarios (SAP RFC, SAP
BAPIS, etc.)
La plataforma es un agente que está compuesta a nivel macro por tres capas:
capa de conexión, capa de adaptación y núcleo.
Página 52/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
7.1.2 Nivel 2
Explotando la figura de la plataforma nivel 1, se tiene el nivel 2 el cual se
muestra en la Figura 19. La diferencia fundamental entre los dos niveles está
en la diferenciación de sub-capas.
Página 53/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 54/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Como ya hemos visto en este libro, SOAr plantea hacer uso únicamente de las
funcionalidades de Conexión de estas tecnologías, delegando al ESB las
funciones de Adaptación. Es por esto que en el planteamiento de SOAr, se
hace referencia a Conectores (cosas) y a Adaptación (función, que es llevada
a cabo en el ESB), y nunca se hace referencia a Adaptadores.
Página 55/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
13
La forma para medir la disponibilidad de un sistema es a través del cálculo del
porcentaje de tiempo activa en un período de un año, este cálculo se hace dividiendo el
número total de minutos de actividad por el total de minutos en el año ( aprox 525.600 ),
el resultado se expresa comúnmente por el número de 9's seguidos que la expresión
resultante tiene, así por ej.
1. 99,9% = 525,6 minutos de inactividad / año, 43.8 minutos de inactividad / mes,
es llamado tres nueves ( tres 9's )
2. 99,99% = 52,5 minutos de inactividad / año, 4,38 minutos de inactividad / mes,
es llamado cuatro nueves ( cuatro 9's )
3. 99,999% = 5,25 minutos de inactividad / año, 0,44 minutos de inactividad / mes,
es llamado cinco nueves ( cinco 9's )
Página 56/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
En general, los fabricantes proveen junto con su ESB una lista pequeña de
conectores fundamentales; es relevante que a esa lista inicial se le incorporen
los conectores adicionales requeridos para integrar todas las plataformas de
su ambiente.
Página 57/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 58/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
8 Consideraciones estratégicas
A continuación se presentan un conjunto de herramientas estratégicas que le
permitirán planificar y ejecutar un proyecto de implementación de SOAr.
Los proyectos que consideran SOAr pueden tenerla como meta a nivel
corporativo, o como una solución de integración para una solución de negocio
específica. En el primer caso, el objetivo al final del día es la implementación
del Sistema Nervioso Empresarial, lo cual es muy adecuado como práctica de
Arquitectura Empresarial.
14
Del inglés ENS, Enterprise Nerve System
Página 59/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 60/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 61/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 62/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Como siguiente paso (paso 5), la plataforma de integración con cada solicitud
de los servicios del negocio relacionados con la Función a sustituir emite una
copia de la solicitud a la nueva aplicación, con el fin de generar un paralelo.
Página 63/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 64/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 65/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 66/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 67/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 68/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
9 Recomendaciones de implementación
9.1 Modelaje de procesos
9.1.1 Definición
Tres definiciones de proceso:
Página 69/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
● Quién (Recursos)
● Cuándo (Tiempo)
● Dónde (Ubicación)
● Cómo (Documentos de Entrada, Salida, Métodos manual /
automatizado / combinado)
9.1.3 Consideraciones
● No se concibe un proceso sin un objetivo.
● Las actividades de un proceso deben estar escritas en infinitivo y
deben plasmar el fin que se busca. Ejemplo: “Verificar la morosidad
del cliente”.
● El documento o insumo inicial se convierte en valor agregado.
● Tienen un principio y un fin: inician con determinada acción o evento
y finalizan en otro.
● Cada paso se ubica en determinado lugar, por eso es importante la
secuencia dentro del proceso.
9.1.4 Actores
Cuando se define un proceso es indispensable identificar los actores que
participan en cada una de las actividades del mismo, típicamente son los
siguientes:
Página 70/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
lograr que el resultado cumpla con todos los requisitos exigidos por el
cliente.
● Los clientes: Los destinatarios finales del producto o servicio y los que
en definitiva juzgan su calidad, en la medida en que satisface sus
necesidades y expectativas.
Página 71/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
9.1.7.1 El diagrama
La representación gráfica del proceso, se convierte en un instrumento muy
importante para guiar su ejecución en forma ordenada; busca mostrar en
forma dinámica y lógica la secuencia del trabajo, permitiendo conocer y
comprender el proceso que se describe, a través de los elementos como las
actividades, los documentos y las unidades administrativas y cargos que
intervienen en él.
9.1.7.2 Características
El flujograma es una herramienta de representación gráfica de gran
importancia para el levantamiento, análisis, diseño, mejoramiento y control
de los procesos.
9.1.7.3 Ventajas
Describe en forma sencilla el paso a paso de cada proceso y complementa la
descripción literal, facilitando su consulta
Página 72/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
9.1.8 Recomendaciones
● Todos los pasos del proceso deben estar organizados en una
secuencia lógica
● Todos los pasos deben agregan valor
● Los procesos deben medirse o controlarse
● No se concibe un proceso sin un objetivo.
● Las actividades de un proceso deben estar escritas en infinitivo y
deben plasmar el fin que se busca.
● El lenguaje de actividades del proceso debe ser cónsono con la cultura
organizacional
9.2 Nomenclatura
Para todo proyecto de integración es siempre recomendable establecer un
conjunto de convenciones de nombre que ayuden a mantener de forma
ordenada y auto-descriptible los objetos, los nombres escogidos serán
utilizados a lo largo de diversas plataformas por lo cual debe escoger una
convención que sea transparente y desvinculada de la tecnología subyacente.
Página 73/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Debido a las restricciones recogidas de los ESB mas populares, los caracteres
permitidos para los nombres de los elementos a lo largo de la plataforma son
los caracteres del alfabeto inglés, números, el subrayado (_) y el punto (.)
exclusivamente; el largo de los nombres esta delimitado en algunas
ocasiones.
Página 74/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
El esquema general para definir los objetos dentro del ESB sigue la siguiente
definición:
[Proyecto/Proceso]_<funcionalidad>_<nombreObjeto><TipoObjeto>.<versió
n>, donde:
Los nodos personalizados son los que ofrecen la capacidad de generar código
específico a una acción determinada no contemplada en los nodos del
fabricante, estos nodos deberán contener el prefijo NPR_ en el nombre del
objeto. La mayoría de los ESB contemplan esquemas que permiten programar
a cualquier nivel los nodos, esta opción debe ser sin embargo tomada con
cautela y generar un registro de nodos personalizados creados. Los nodos del
fabricante pueden ser de entrada o salida, mapeo o transformaciones, las
Página 75/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Los componentes del mensaje de salida se pueden definir usando los mapeos
que se basan en elementos del mensaje y de los datos de la entrada de una
fuente externa. Se pueden modificar las asignaciones hechas por estos
mapeos utilizando funciones propietarias definidas por el usuario o de la
librería del fabricante.
Página 76/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
<siglasProceso>_<funcionalidad>_[<funcionalidad nivel
inferior>_]_<nombreObjeto>
donde,
Página 77/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10 Metodología
Esta sección presenta la metodología de SOAr, el cual documenta la
metodología de implementación de SOAr que se creó basado en la experiencia
lograda en el proyecto de sustitución del Facturador, Recaudador y Gestor de
Crédito de CANTV.
10.1 Premisas
Página 78/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Página 79/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10.2.1IBM
10.2.2RUP
10.2.3Sun Microsystems
Página 80/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10.2.4SOA Institute
Página 81/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10.2.5SAP
Página 82/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
● Descubrir
● En esta etapa el servicio se ha descubierto del análisis de los
procesos del negocio.
● Especificar
● El servicio ha sido especificado desde el punto de vista del
requerimiento del proceso.
● Refactorizar
● Los arquitectos han generado la refactorización que identifica
el contrato que ha de ser “realizado”.
● Realizar (Creación / Evolución)
● Cumplimiento del contrato basado en la evolución de
contratos existentes o creación de uno nuevo.
● Disponibilizar
● Disponibilidad del servicio que implementa el contrato en la
plataforma de ESB
● Desincorporar
● Desincorporación del servicio de la plataforma de ESB
Página 83/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10.4 Gobernabilidad
La ejecución de un proyecto de SOA / BPM requiere la participación de un
equipo de personas con roles variados, teniendo cada rol funciones y
exigencias de conocimientos y competencias diferentes.
10.4.1Roles
A continuación se listan los roles principales que deben ser suplidos por el
equipo; las personas pueden ser las mismas para varios roles siempre que
entiendan las distintas necesidades de cada rol que asumen en cada instante
del tiempo.
● Funcionales
● Representantes del “negocio”; dueños de los procesos.
● Analista, de procesos
● Encargado de entender el proceso del negocio, modelarlo en la
herramienta y proponer oportunidades de eficiencia
● Arquitecto, de servicios
● Encargado de llevar a cabo el análisis de brecha,
refactorización e ingeniería de los servicios.
● Especialista, de conexión
● Encargado de disponibilizar el “canal” de las aplicaciones como
proxies del ESB.
● Probador
● Encargado de ejecutar los protocolos de prueba
● Operador, de plataforma
● Encargado de mantener la plataforma de ESB y BPM
funcionando y disponible.
10.4.2Funciograma
El equipo puede estar organizado de manera tal que sus funciones puedan ser
coordinadas por agregación funcional hasta llegar al gerente del proyecto o
encargado del grupo que atiende los requerimientos.
Página 84/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10.5 Proceso
Página 85/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Plan
● Planificación de tiempo y
recursos
● Personas claves en múltiples
lugares al mismo tiempo!
Página 86/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
0. Definición funcional
● Procesos y funcionalidades To-
Be.
● Requerimientos técnicos
previstos
Página 87/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10.5.2Análisis
Para cada “Caso de Uso” identificado en la etapa anterior, el grupo
responsable de lleva a cabo el análisis lleva a cabo las siguientes actividades:
Página 88/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10.5.3Arquitectura
● Identifica la realización de cada spec de interacción.
● Eliminación de redundancias dentro del lote de
requerimientos.
● Reuso y extensión de servicios existentes (Ciclo de vida de
servicios). Considerar aplicación de refactorización para
mantener servicios genéricos y cumplir con los nuevos
requerimientos al mismo tiempo.
Página 89/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
10.5.4Diseño
10.5.5Construcción y pruebas
El proceso de construcción y ejecución de pruebas es específico de la
plataforma y en la medida que se realice con herramientas de mayor nivel,
menor su tiempo y pruebas del código de integración.
10.5.6Pase a producción
Una vez entrado en producción un nuevo servicio debe asegurarse un correcto
seguimiento de la Gestión del Ciclo de Vida del Servicio:
Página 90/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
● Fin de Vida
Página 91/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
11 Glosario
11.1 Proceso
Serie de actividades secuenciales e interdependientes, orientadas a la
consecución de un resultado, en el que se agrega valor a un insumo y se
contribuye a satisfacer una necesidad.
11.2 Procedimiento
Conjunto o sucesión de pasos, ampliamente vinculados y cronológicamente
dispuestos, realizados al interior de la entidad por el servidor público y
dirigidos a precisar la forma de hacer algo, incluyendo el qué, cómo y a quién
corresponde el desarrollo de la tarea.
15
Intercambio: es la interacción entre dos sistemas o envío de información de un sistema a otro
mediante un mediador ya sea on line o batch.
Página 92/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
16
El cliente (C) es un consumidor de servicios.
17
El servidor (S) es un proveedor de servicios.
Página 93/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
11.5 Webservices
18
Interacción: Es la acción que se ejecuta entre una aplicación y la capa de
integración, que forman parte de un intercambio. Todo intercambio tiene como
mínimo 2 interacciones.
Página 94/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
0. PREAMBLE
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free program
should come with manuals providing the same freedoms that the software
does. But this License is not limited to software manuals; it can be used
for any textual work, regardless of subject matter or whether it is
published as a printed book. We recommend this License principally for
works whose purpose is instruction or reference.
Página 95/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a world-
wide, royalty-free license, unlimited in duration, to use that work under
the conditions stated herein. The "Document", below, refers to any such
manual or work. Any member of the public is a licensee, and is addressed
as "you". You accept the license if you copy, modify or distribute the
work in a way requiring permission under copyright law.
The "Invariant Sections" are certain Secondary Sections whose titles are
designated, as being those of Invariant Sections, in the notice that says
that the Document is released under this License. If a section does not fit
the above definition of Secondary then it is not allowed to be designated
as Invariant. The Document may contain zero Invariant Sections. If the
Document does not identify any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed, as
Front-Cover Texts or Back-Cover Texts, in the notice that says that the
Document is released under this License. A Front-Cover Text may be at
most 5 words, and a Back-Cover Text may be at most 25 words.
Página 96/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
The "Title Page" means, for a printed book, the title page itself, plus such
following pages as are needed to hold, legibly, the material this License
requires to appear in the title page. For works in formats which do not
have any title page as such, "Title Page" means the text near the most
prominent appearance of the work's title, preceding the beginning of the
body of the text.
Página 97/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies to the
Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use technical
measures to obstruct or control the reading or further copying of the
copies you make or distribute. However, you may accept compensation in
exchange for copies. If you distribute a large enough number of copies
you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover Texts:
Front-Cover Texts on the front cover, and Back-Cover Texts on the back
cover. Both covers must also clearly and legibly identify you as the
publisher of these copies. The front cover must present the full title with
all words of the title equally prominent and visible. You may add other
material on the covers in addition. Copying with changes limited to the
covers, as long as they preserve the title of the Document and satisfy
these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you
should put the first ones listed (as many as fit reasonably) on the actual
cover, and continue the rest onto adjacent pages.
Página 98/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release the
Modified Version under precisely this License, with the Modified Version
filling the role of the Document, thus licensing distribution and
modification of the Modified Version to whoever possesses a copy of it.
In addition, you must do these things in the Modified Version:
• A. Use in the Title Page (and on the covers, if any) a title distinct from
that of the Document, and from those of previous versions (which
should, if there were any, be listed in the History section of the
Document). You may use the same title as a previous version if the
original publisher of that version gives permission.
• B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified Version,
together with at least five of the principal authors of the Document
(all of its principal authors, if it has fewer than five), unless they
release you from this requirement.
• C. State on the Title page the name of the publisher of the Modified
Version, as the publisher.
• D. Preserve all the copyright notices of the Document.
• E. Add an appropriate copyright notice for your modifications adjacent
to the other copyright notices.
• F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
• G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
• H. Include an unaltered copy of this License.
• I. Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If there is
no section Entitled "History" in the Document, create one stating the
title, year, authors, and publisher of the Document as given on its
Página 99/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
Title Page, then add an item describing the Modified Version as stated
in the previous sentence.
• J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise the
network locations given in the Document for previous versions it was
based on. These may be placed in the "History" section. You may omit
a network location for a work that was published at least four years
before the Document itself, or if the original publisher of the version it
refers to gives permission.
• K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements and/
or dedications given therein.
• L. Preserve all the Invariant Sections of the Document, unaltered in
their text and in their titles. Section numbers or the equivalent are
not considered part of the section titles.
• M. Delete any section Entitled "Endorsements". Such a section may
not be included in the Modified Version.
• N. Do not retitle any existing section to be Entitled "Endorsements" or
to conflict in title with any Invariant Section.
• O. Preserve any Warranty Disclaimers.
Página 100/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under
this License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the Invariant
Sections of all of the original documents, unmodified, and list them all as
Invariant Sections of your combined work in its license notice, and that
you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single copy.
If there are multiple Invariant Sections with the same name but different
contents, make the title of each such section unique by adding at the end
of it, in parentheses, the name of the original author or publisher of that
section if known, or else a unique number. Make the same adjustment to
the section titles in the list of Invariant Sections in the license notice of
the combined work.
6. COLLECTIONS OF DOCUMENTS
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
Página 101/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
License into the extracted document, and follow this License in all other
respects regarding verbatim copying of that document.
8. TRANSLATION
Página 102/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/
SOAr
v1.1
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to copy,
modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will not
have their licenses terminated so long as such parties remain in full
compliance.
The Free Software Foundation may publish new, revised versions of the
GNU Free Documentation License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns. See http://www.gnu.org/copyleft/.
Página 103/103
Copyright (c) 2007-2008 Cesar Obach-Renner, Gurulab.org
info@gurulab.org, http://www.gurulab.org/