Está en la página 1de 31

1.

La Arquitectura de Oracle Net


Las comunicaciones han evolucionado junto con las aplicaciones, desde programas bsicos locales a
aplicaciones complejas. Hoy en da las redes modernas se basan en varias computadoras interconectadas
con mltiples sistemas operativos a travs de variados protocolos de comunicacin brindando accesibilidad
en nodos distribuidos en distintos puntos geogrficos.
Con el advenimiento de Internet podemos ver una segunda evolucin en donde se tiende a la integracin
de los servicios y las comunicaciones, generando un gran impacto en la forma que se comunicaban las
aplicaciones.
Como administradores de bases de datos, necesitamos contar con los conocimientos para poder gestionar
las comunicaciones que el entorno requiera, acompaando al cambio constante.
Es preciso conocer los distintos escenarios con los que nos podemos encontrar y saber cul es la mejor
alternativa para aplicar, como as tambin poder definir topologas de comunicacin, incluyendo la expansin
constante de la utilizacin de Internet como soporte a las aplicaciones.
Muy ligado con las cuestiones de las comunicaciones se encuentra la autenticidad y veracidad de la
informacin que se transmite desde un servidor Oracle al cliente.

1.1 Generalidades de Oracle Net


En la figura se presenta una clasificacin de los contenidos tratados en esta subunidad, teniendo en cuenta,
la relacin de los mismos con el Material del Estudiante (kit).
Esta clasificacin sugiere diferentes momentos de lectura, estudio y revisin, entre los contenidos de este
currculo y el Material del Estudiante (Kit). Segn esta clasificacin los contenidos pueden ser de:
- Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas
o unidades asociados al Material del Estudiante (Kit).
- Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los
subtemas, temas o unidades asociados al Material del Estudiante (Kit).
- Lectura Adicional: Se sugiere la lectura posterior de estos contenidos, como material adicional a
los tratados en el Material del Estudiante (Kit).
- Prcticas : Actividades de laboratorios e interactivas incluidas como prctica adicional al Material
del Estudiante (Kit).

1.1 Generalidades de Oracle Net


1.1.1 Objetivos
Este captulo tiene como objetivo realizar una Introduccin a la arquitectura que provee Oracle para
administrar las conexiones de red a travs de las distintas soluciones que brinda.
Esta arquitectura es conocida con el nombre de Oracle Net
Conocer y entender los posibles escenarios donde se pueden aplicar las distintas configuraciones introducidas
en Oracle Net, teniendo en cuenta las nuevas caractersticas incorporadas en Oracle 9i

1.1 Generalidades de Oracle Net


1.1.2 Cuestionario de Iniciacin
Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas
de iniciacin. Si desea, puede desplegar su respuesta.

1.1 Generalidades de Oracle Net


1.1.3 Tipos de Arquitectura de Red Oracle
En la actualidad se presentan distintos escenarios en donde se puede disear una red informtica de acuerdo a
las necesidades de los negocios.
Estos escenarios responden a cuestiones de arquitectura que tienen que ver con la capacidad que se desea soportar,
su perspectiva de crecimiento, la seguridad y la heterogeneidad de protocolos y sistemas base.
En este curso nos vamos a basar en tres escenarios partiendo de configuraciones bsicas mnimas a configuraciones
distribuidas complejas y de alto rendimiento.
En la Figura podemos ver una arquitectura bsica de comunicacin, donde hay un cliente con una aplicacin
proceso que se comunica con un servidor para llevar a- delante su cometido. Esta tipologa se conoce
como Arquitectura Cliente Servidor.
Podemos destacar que en este escenario es necesario que ambos equipos utilicen el mismo protocolo de comunicacin.
Este tipo de escenario es til en un ambiente de una aplicacin chica con un nivel de transacciones bajo, generalmente
para pequeas a micro empresas.
Cuando las necesidades del negocio son ms exigentes en un ambiente de mayor envergadura y un nivel de
transacciones mayor, es conveniente pensar en una arquitectura en N-Capas. Como muestra la Figura , se introduce
entre el cliente y el servidor, al menos un servidor llamado agente, para que ste contenga las aplicaciones y/o
servicios estratificando de esta manera la arquitectura.
De esta forma, el cliente puede ser un cliente fino e independiente del protocolo que use el servidor, dejando al
agente administrar los servicios para cada lado.
Continuando con el nivel de exigencia, llegamos al escenario de mayor complejidad donde la conectividad es un
factor de mayor criticidad.
En la figura se puede ver un escenario de este tipo donde se tiene que tener en cuenta:

Distintas plataformas de hardware y software

Mltiples protocolos

Distintas ubicaciones geogrficas


Por ello es sabido que esta arquitectura puede soportar sistemas distribuidos de gran escala.

1.1 Generalidades de Oracle Net


1.1.4 Soluciones de Conectividad Oracle
Para poder solventar los escenarios comentados en el tem anterior, Oracle provee una tecnologa llamada
Oracle Net Services, a la cual podemos conceptualizarla como las caractersticas que abordan el crecimiento
de ambientes distribuidos y provee una serie de herramientas, las cuales se pueden catalogar enumerndolas
a continuacin:

Conectividad

Servicios de Directorio

Escalabilidad

Seguridad

Accesibilidad
En cuanto a conectividad, podemos mencionar que provee el soporte ms grande del mercado en cuanto
a protocolos de transporte (como ser TCP/IP, IBM LU6.2, DECnet, etc), habilitndolo para trabajar en
escenarios multiplataforma y multiprotocolo con una administracin robusta debido a su mecanismo de
configuracin centralizado. Cabe destacar que el protocolo de Novell IPX/SPX no est soportado por Oracle
Net
Adicionalmente a las comunicaciones va Oracle Net, los clientes pueden comunicarse a travs de protocolos
de Internet (ej: http) usando un cliente web montado sobre Transport Control Protocol Over Internet (TCP/IP)
como protocolo de transporte, Secure Socket Layers (SSL) como protocolo de seguridad y Enterprise Java
Beans EJB como protocolo de mensajera.
Tambin presenta compatibilidad con las tecnologas emergentes, como ser Java y Applets de Java.

1.1 Generalidades de Oracle Net


1.1.5 Directorio de Nombres
Cuando un cliente se desea conectar con una base de datos, ste lo hace por medio de una cadena de
conexin connection string, conteniendo un nombre de usuario, un password y un identificador de conexin
connect descriptor.
Un identificador de conexin contiene los datos necesarios para establecer la conexin necesaria, como
se ve en la Figura .
Otra forma simplificada de conectarse es usar un nombre que resuelva el identificador de conexin. De
esta forma se utiliza una relacin del identificador de conexin con un nombre de servicio de red (Net
Service Name). En la figura se puede ver como cambia la forma de conectarse usando este mtodo de
nomenclatura.
Cuando se utiliza un Nombre de Servicio de Red, ste es mapeado a un identificador de conexin ubicado
en un repositorio de informacin que es accedido por alguno de estos mtodos de nomenclatura:

Local Naming

Directory Naming

Oracle Names
Local Naming, almacena los identificadores de conexin asociados a los Net Service Names en un archivo
de texto llamado tnsnames.ora.
Directory Naming Directorio de Nombres, almacena los identificadores de conexin en un servidor LDAP
centralizado, utilizando como interface un estndar bien definido, como ser el Direcrorio de Internet de
Oracle. De esta forma simplifica la administracin del directorio
LDAP: Lightweight Directory Access Protocol (Protocolo liviano de acceso a directorio)
Oracle Names utiliza un sofrware propietario para almacenar los nombres y direcciones de todas las bases
de la red. Los clientes que se quieran conectar dirijen sus conexiones a un Servidor de Nombres de Oracle
Oracle Names Server para que resuelva el nombre por una direccin de red. Hay que tener en cuenta
que este servicio no va a ser soportado en futuras versiones.

1.1 Generalidades de Oracle Net


1.1.6 Directorio de Internet
Oracle Internet Dierctoy (OID) Directorio de Internet de Oracle obedece a la versin 3 de LDAP y est
integrado a partir de las versiones de Oracle 8i.
Es una estructura multiplataforma para internet que permite sincronizaciones en un ambiente distribuido
entre servidores OID.
Puede basarse en certificados de clave pblica para ganar seguridad.
La figura demuestra cmo es la secuencia de conexin de un cliente, utilizando cualquier mtodo de
resolucin de nombres.

1.1 Generalidades de Oracle Net


1.1.7 Escalabilidad
La Arquitectura Distribuida de Oracle Oracle Shared Server fue definida para ganar en escalabilidad
para el usuario, permitiendo mltiples conexiones simultneas al mismo proceso de servidor, mejorando
la utilizacin de memoria y procesos.
Para realizar esta tarea, Oracle utiliza un proceso llamado dispatcher mensajero para canalizar las
solicitudes de conexin de los clientes.
Oracle Connection Manager Administrador de Conexiones de Oracle es un proceso (CMGW y CMADMIN)
instalado y configurado en la capa del medio de una arquitectura en N-Capas, que provee multiplexacin
de las conexiones para transmitirlas simultneamente sobre una sola conexin (esta topologa slo es
posible sobre TCP/IP).
Tambin proporciona conectividad multiprotocolo para maximizar la flexibilidad entre redes, como as
tambin proporcionar acceso a redes sobre TCP/IP.
La figura muestra la arquitectura de Oracle Connection Manager.

1.1 Generalidades de Oracle Net


1.1.8 Seguridad
Una cuestin importante para tener en cuenta si vamos a trabajar en un escenario de mediana a alta
complejidad es en la seguridad, ya que para la mayora de las empresas que requieran este tipo de
arquitectura la informacin es un bien muy preciado.
Es por esto que como administradores de bases de datos, tenemos la responsabilidad de proteger dicha
informacin, tanto en su almacenamiento como en el momento de su comunicacin.
Oracle provee una herramienta que se llama Oracle Advanced Security, indispensable para otorgarnos:

Privacidad

Integridad

Autenticacin
En otras palabras, nos permite en el momento de comunicar nuestra informacin tener la tranquilidad que
slo el nodo origen y destino pueden entender la informacin que se transmite, que los datos que se
emiten son los mismos que se reciben (no se sufren modificaciones en el envo) y que los que enviamos
la informacin somos quienes decimos ser.
La privacidad se logra utilizando algoritmos de encriptacin como ser el (Data Encryption Standard) DES,
RSA (Rivest, Shamir y Adlman) 3DES (Triple Data Encryption Standard). En la figura se puede observar
cmo son los pasos de la encriptacin.
La integridad se maneja con algoritmos de hash funcin resumen que permite verificar matemticamente
que el mensaje de llegada es idntico al que sali.
La autenticacin se produce por medio de protocolos a tales fines, como ser Secure Socket Layer (SSL)
validndose por servicios pblicos, como ser Kerberos, Radius CyberSafe.
En cuanto al trfico de red de la base de datos, contamos con otra herramienta llamada Oracle Net Firewall
Proxy. Este producto est basado en el Oracle Connection Manager y habilita a los Firewalls de terceras
partes a realizar tareas de Proxy y verificar el trfico relevante a Oracle ya que verifican los encabezados
de los paquetes IP. Esta solucin es importante cuando se desea utilizar aplicaciones entre redes distantes.

1.1 Generalidades de Oracle Net


1.1.9 Accesibilidad
Como ltimo punto a tratar con respecto a los servicios de red de Oracle Oracle Net Services es la
capacidad con la que tiene que contar Oracle para integrarse con otros sistemas de bases de datos
procesos.
Esta capacidad se logra con Heterogeneous Services que provee las siguientes caractersticas:

Acceder a otros sistemas de base de datos, como ser DB2, Sql Server Sybase utilizando SQL

Acceder a otros procedimientos almacenados en otros sistemas, servicios Application Programming


Interface (API).
Estas facilidades son muy tiles para trabajar en ambientes distribuidos instalaciones de gran envergadura.
Para poder utilizar esta tecnologa, se debe tener instalado en el servidor, el servicio de Heterogeneidad
y en el cliente un agente de este servicio.
En la figura se puede ver cmo funciona este servicio.

1.1 Generalidades de Oracle Net


1.1.10 Lectura adicional: Escenario N Capas
Teniendo en cuenta los componentes tratados, podemos mostrar un escenario con mltiples conexiones
a un Oracle Server y vemos cmo queda formada una arquitectura con Oracle Connection Manager y
Oracle Shared Server.
Oracle Connection Manager es utilizado para administrar las conexiones del Application y Web Server y
el Shared Server es utilizado para atender mltiples conexiones concurrentes.
En la figura se muestra una arquitectura punta a punta que incluye varios clientes utilizando una capa
intermedia con la aplicacin soportada por un Web Server y un Application Server administrando las
conexiones con un Oracle Connection Manager. Adicionalmente, las base de datos estn configuradas
como entorno distribuido.

1.1 Generalidades de Oracle Net


1.1.11 EI: Encriptacin
Identificar los pasos que se usan en el proceso de encriptacin de una comunicacin.

1.1 Generalidades de Oracle Net


1.1.12 Sntesis
En este captulo vimos como Oracle soporta las necesidades de comunicacin desde aplicaciones pequeas
y concretas a aplicaciones complejas distribuidas y vulnerables.
Identificamos los distintos componentes, como ser los servicios de nomenclatura, la conectividad para
Internet, cmo funcionan los entornos distribuidos utilizando Oracle Connection Manager.
Tambin hablamos sobre la importancia de la correcta administracin de la seguridad en las comunicaciones
y cmo hace Oracle para implementar relaciones heterogneas con otros servicios no-Oracle.

1.2 Arquitectura Oracle Net


En la figura se presenta una clasificacin de los contenidos tratados en esta subunidad, teniendo en cuenta,
la relacin de los mismos con el Material del Estudiante (kit).
Esta clasificacin sugiere diferentes momentos de lectura, estudio y revisin, entre los contenidos de este
currculo y el Material del Estudiante (Kit). Segn esta clasificacin los contenidos pueden ser de:

Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o
unidades asociados al Material del Estudiante (Kit).

Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los


subtemas, temas o unidades asociados al Material del Estudiante (Kit).

Lectura Adicional: Se sugiere la lectura posterior de estos contenidos, como material adicional a los
tratados en el Material del Estudiante (Kit).

Prcticas : Actividades de laboratorios e interactivas incluidas como prctica adicional al Material


del Estudiante (Kit).

1.2 Arquitectura Oracle Net


1.2.1 Objetivos
El objetivo de este captulo es conocer las caractersticas de la arquitectura de Oracle Net, tanto para los
ambientes cliente servidor, como para las conexiones establecidas por Internet.

1.2 Arquitectura Oracle Net


1.2.2 Cuestionario de Iniciacin
Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas
de iniciacin. Si desea, puede desplegar su respuesta.

1.2 Arquitectura Oracle Net


1.2.3 Tipos de conexiones
Como vimos en temas anteriores, en el contexto de la conectividad de un cliente con un servidor, introdujimos
el concepto de Oracle Net que es quien nos sirve de soporte al momento de comunicarnos brindndonos
la flexibilidad de poder conectarnos en varios tipos de redes, ubicaciones, aplicaciones protocolos.
En cuanto a los tipos de conexiones que podemos establecer, encontramos:

Conexiones Cliente Servidor


Aplicaciones Java
Aplicaciones Web

1.2 Arquitectura Oracle Net


1.2.4 Conexin Cliente - Servidor
Para que un cliente se conecte con un servidor, es necesario que del lado del servidor exista un proceso
que est escuchando la red para atender las solicitudes.
Este proceso es realizado por un servicio llamado Listener, en el servidor, y tiene como finalidad detectar
las conexiones entrantes y enrutarlas al proceso que corresponda.
Oracle Net es un programa que reside tanto en el cliente como en el servidor del protocolo que utilicen.
En la figura se puede ver cmo interactan las capas del protocolo Oracle Net con el stack del protocolo
de comunicaciones que se est utilizando:

Aplicacin: La aplicacin del cliente como SQL*Plus utiliza un componente para comunicarse con
el servidor que le brinda una interfaz, llamado OCI (Oracle Call Interface). Del lado del servidor responde
a las llamadas OCI la interfaz OPI (Oracle Programming Interface).

TTC: Esta capa provee las conversiones necesarias para los juegos de caracteres que pudieran
existir entre el cliente y el servidor.

Oracle Net
o
Foundation Layer: Es la capa responsable de establecer la conexin y mantenerla. Del lado del
cliente se encarga de ubicar el servidor y el protocolo, y administrar las interrupciones. Del lado del servidor
se encarga de recibir las conexiones.
En esta capa tambin se verifica la serguridad ligada a Oracle Advanced Security.
o
Soporte del Protocolo: Esta capa mapea las funcionalidades con los protocolos del mercado, como
ser TCP/IP, Named Pipes.

1.2 Arquitectura Oracle Net


1.2.5 Tipos de Conexiones Web
Cambiando el mbito de la arquitectura, analizaremos qu pasa con las conexiones en una aplicacin web.
Este tipo de conexiones son similares a las de tipo cliente servidor. Los pasos para establecer la
comunicacin son:
1.
2.

Un cliente web se comunica con un Web Application Server


El Servidor se comunica con la base de datos usando Oracle Net

1.2 Arquitectura Oracle Net


1.2.6 Conexiones Web
Continuando con el ambiente web, existen varias alternativas que pueden convivir en una aplicacin de
estas caractersticas.
Cuando se utiliza una aplicacin Java en el cliente web, al conectarse con un Web Server, ste se convierte
en cliente de Oracle Server utilizando JDBC (Java Data Base Connection). La figura demuestra esta
topologa.
Desde el punto de vista del Application Web Server, si se ejecuta un Applet de Java, ste tambin acta
como cliente contra Oracle Server pero en lugar de usar JDBC utiliza una versin fina liviana de este
driver que es una implementacin de la capa Oracle Net Foundation. En la figura podemos visualizar estos
cambios.
Por el contrario, cuando no interviene un Application Web Server (por ejemplo al utilizar iSQL*Plus), se
puede realizar una conexin directa con el servicio, ya que Oracle Server soporta http directamente. En
la figura se puede ver cmo acta el listener en este caso.

1.2 Arquitectura Oracle Net


1.2.7 Lectura Adicional: El proceso Listener
En el momento de la comunicacin intervienen una serie de objetos para resolver el nombre del servidor.
Una base de datos de Oracle Server se presenta una red como un servicio. Este servicio lleva un nombre
que lo identifica (Service Name). Este nombre se define en el momento de la instalacin y forma parte de
la descripcin de la conexin.
Durante el proceso de comunicacin hay un dilogo entre el cliente, el Listener y el servidor. Una vez
validada y establecida la conexin, el cliente se comunica directamente con el servidor.
El proceso Listener est gobernado por Oracle Server ya que dinmicamente registra los accesos. ste
proceso se llama Servicio de Registracin Service Registration.
La configuracin que necesita un cliente para conectarse puede estar, como vimos en captulos anteriores,
en forma local (descentralizada) en un entorno centralizado (con un servidor LDAP Oracle Names).
Internamente, dependiendo del mtodo de nomenclatura utilizado, se gestiona con archivos de texto para
su configuracin. Podemos describirlos de la siguiente manera:

ldap.ora: Opciones de configuracin centralizadas en el servidor para acceder al directorio.

listener.ora: Es el archivo de configuracin del Listener donde se define el protocolo, los servicios
y parmetros de control.

names.ora: Utilizado en los servicios de Oracle Names Server y se utiliza para configurar este servicio

tnsnames.ora: Ubicado del lado del cliente para definir los nombres de servicio mapeados con el
Identificador de la Conexin.

sqlnet.ora: Del lado del cliente y del servidor para definir los servicios de nomenclatura.

1.2 Arquitectura Oracle Net


1.2.8 EI: Componentes de Oracle Net
Definir las capas que utiliza Oracle Net para una aplicacin que utiliza una conexin Cliente Servidor.

1.2 Arquitectura Oracle Net


1.2.9 EI: Arquitectura Web
Ejercicio interactivo para definir los componentes del captulo 2-7 del kit

1.2 Arquitectura Oracle Net

1.2.10 Sntesis

En esta seccin vimos los distintos tipos de configuraciones que se pueden utilizar para trabajar con una
base de datos en cuanto a la comunicacin. Ligados a las responsabilidades que desean de un administrador
de bases de datos.

Definimos los conceptos para establecer estas comunicaciones

Analizamos cmo se utilizan los distintos protocolos dependiendo del tipo de conexin ya sea un ambiente
cliente servidor, Web browser, aplicacin Java Applet.

También podría gustarte