Este contenido ha sido escrito por un miembro de la comunidad de
BigAdmin. Nadie dentro de Sun Microsystems lo ha revisado. Si Ud
encuentra un error o quiere comentar sobre el contenido del articulo,
mandenos un email a "multilingual [at] sun.com."
Funcionalidades Básicas para Creación de Dominios con Sun Java System Application Server
Branko Fiorilo Drakic, agosto 2008
Introducción
Con el Sun Java System Application Server, es posible crear varios dominios y tener estos corriendo simultaneamente. Las
funcionalidades pueden ser varias y en muchos casos útiles
para explotar un equipo y tener fases de desarrollo testing y
posiblemente producción en un mismo equipo y sistema
operativo.
Puertos
Para poder cumplir esta meta, se debe tener en cuenta que lo más
importante son los puertos que opera el Application Server, estos
deben ser únicos y estar asignados a un único dominio
(tomar en cuenta como una buena práctica puertos mayores al
1000).
Existen dos maneras de poder realizar esta tarea; tal vez la mas sencilla es la de crear un dominio, iniciar el mismo antes de crear el segundo y así sucesivamente. Esto evitaría que existan cruces de
puertos entre dominios que uno desee se encuentren funcionado en
simultánea.
Siempre se debe tener en cuenta de que se debe especificar obligatoriamente un puerto administrativo y óptimamente un puerto operativo, para poder contar con un estándar, se podría utilizar
una nomenclatura estándar creciente, por ejemplo:
Es también importante revisar antes de utilizar cualquier puerto,
revisar que este se encuentra disponible, para tal acometido
utilizar:
Solaris 10 OS
# netstat -a
Verificar que el puerto no este en la lista, ejemplo, revisaremos si el puerto 7878 se encuentra disponible. Para simplificar la busqueda utilizamos
|grep:
En este caso el puerto, esta siendo utilizado por el servidor y tiene
dos conexiones activas, por lo cual no puede ser utilizado para la
creación de un nuevo dominio.
Microsoft Windows
En el caso de Windows, es un poco mas complicado, al no contar con un
filtro tipo grep.
:> netstat /a
Existen otros puertos adicionales que son de igual importancia, pero que se asocian de manera automática al crear el dominio, estos
puertos y los estándares son:
Default port 7676 for JMS
Default port 7676 for JMS
Default port 3700 for IIOP
Default port 8181 for HTTP_SSL
Default port 3820 for IIOP_SSL
Default port 3920 for IIOP_MUTUALAUTH
Default port 8686 for JMX_ADMIN
Opciones del asadmin para creación
asadmin es la herramienta que nos permite administrar, crear y eliminar
dominios, es utilizada desde línea de comando, y se usa de
igual manera en todos los sistemas operativos, a continuación
describiremos la opciones mas importantes:
--user (nombre de usuario)
--adminport (puerto administrativo) (DAS)
--domaindir (directorio donde se desea crear el dominio, es util cuando se utiliza directorios distintos al que se usa de manera estándar)
--instanceport (puerto por donde se publican las aplicaciones)
--checkports=true (es por default y muy util a la vez de revisar si los puertos están usados)
Si bien existen mas opciones que nos dan mayor flexibilidad, con estas
opciones estaremos seguros de que los dominios que creemos serán
completamente funcionales.
Un ejemplo
Supongamos que deseamos crear dos dominios para un ambiente de pruebas, uno será para el desarrollador (denominado desarrollo) y otro será para el personal encargado de pruebas (testeo). Para utilizar todas las opciones, utilizaremos directorios distintos de modo tal de que se
pueda tener un control mas adecuado, adicionalmente utilizaremos
usuarios y contraseñas distintas para el DAS de cada dominio.
El Application Server se encuentra instalado por default en:
/opt/SUNWappsserv (Solaris OS)
c:\Sun\Application Server\ (Windows)
Adaptar según la implementación.
Creando el dominio de desarrollo
bash-3.00#
/opt/SUNWappserver/bin/asadmin create-domain --domaindir \
/sbvirt/ --user desarrollo --instanceport 1234 --adminport 1235 \
--checkports=true desarrollo
Please enter the admin password>
Please enter the admin password again>
Please enter the master password [Enter to accept the default]:>
Please enter the master password again [Enter to accept the default]:>
Using port 1235 for Admin.
Using port 1234 for HTTP Instance.
Default port 7676 for JMS is in use. Using 34310
Default port 3700 for IIOP is in use. Using 34311
Default port 8181 for HTTP_SSL is in use. Using 34312
Default port 3820 for IIOP_SSL is in use. Using 34313
Default port 3920 for IIOP_MUTUALAUTH is in use. Using 34314
Default port 8686 for JMX_ADMIN is in use. Using 34315
Domain being created with profile:enterprise, as specified by
variable AS_ADMIN_PROFILE in configuration file.
Security Store uses: NSS
Como se puede ver en la salida por terminal, pide un password administrativo, para este caso será desarrollo, el master password, es aquel que sirve para crear nodos de balancemiento de carga y HA. Notese que también se chequean los puertos.
Ahora bien, para continuar de la manera sencilla, es necesario que el dominio, este iniciado, se logra emitiendo el siguiente comando:
bash-3.00#
/opt/SUNWappserver/bin/asadmin start-domain --domaindir \
/sbvirt/ --user desarrollo desarrollo
Notese que incluimos el usuario y el directorio, ya que estamos utilizando uno distinto, en la salida, podemos ver, una serie de información que puede ser útil, si olvidamos algún puerto del
Application Server (esto tambien se puede revisar en el domain.xml
dentro del directorio config del Application Server).
Starting Domain desarrollo, please wait.
Log redirected to /sbvirt//desarrollo/logs/server.log.
Please enter the admin password>
Redirecting output to /sbvirt/desarrollo/logs/server.log
Domain desarrollo started.
Domain [desarrollo] is running [Sun Java System Application Server 9.1
(build b58g-fcs)] with its configuration and logs at: [/sbvirt/].
Admin Console is available at [https://localhost:1235].
Use the same port [1235] for "asadmin" commands.
User web applications are available at these URLs:
[http://localhost:1234 https://localhost:34312 ].
Following web-contexts are available:
[/web1 /__wstx-services ].
Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
[service:jmx:rmi:///jndi/rmi://genesis.cadebsa.com:34315/jmxrmi] for
domain management purposes.
Domain listens on at least following ports for connections:
[1234 34312 1235 34311 34313 34314 34315 ].
Domain supports application server clusters and other standalone
instances.
Ahora la creación del segundo domÃnio, en este caso el de quality. Lo unico que cambia es:
bash-3.00#
/opt/SUNWappserver/bin/asadmin create-domain --domaindir /sbvirt/ \
--user quality --instanceport 1222 --adminport 1220 \
--checkports=true quality
Please enter the admin password>
Please enter the admin password again>
Please enter the master password [Enter to accept the default]:>
Please enter the master password again [Enter to accept the default]:>
Using port 1220 for Admin.
Using port 1222 for HTTP Instance.
Default port 7676 for JMS is in use. Using 34474
Default port 3700 for IIOP is in use. Using 34475
Default port 8181 for HTTP_SSL is in use. Using 34476
Default port 3820 for IIOP_SSL is in use. Using 34477
Default port 3920 for IIOP_MUTUALAUTH is in use. Using 34478
Default port 8686 for JMX_ADMIN is in use. Using 34479
Domain being created with profile:enterprise, as specified by variable
AS_ADMIN_PROFILE in configuration file.
Security Store uses: NSS
Posteriormente subimos el dominio emitiendo el comando start-domain y adaptandolo a este dominio.
Creación de un dominio que tiene conflictos con otro dominio u
aplicación
Existe muchos casos que por cualquier motivo (un dominio se encontraba
abajo) o una nueva aplicación instalada, pueden existir
problemas con alguno de los puertos del dominio, si nuestra
aplicación lo permite, es posible cambiar estos puertos de
manera manual evitando una nueva creación y proceso de
deployment en un nuevo dominio, esto lo logramos editando el
domain.xml y cambiando la entrada que nos da fallo, por ejemplo:
Un domain xml, del ejemplo anterior se presenta de la siguiente manera
(para los puertos).
Solaris OS
vi /sbvirt/desarrollo/config/domain.xml
Microsoft Windows
En el caso Windows, buscar el directorio y la estructura es la misma, utilizar por ejemplo:
edit c:\dominios\desarrollo\config\domain.xml
Notese que existe un puerto de los descritos, el 1234, suponiendo que este sea el puerto con fallas (el Application Server avisa cual es),
simplemente debemos cambiarlo por uno nuevo (con la técnica
del netstat descrito líneas arriba), una vez efectuado los
cambios, el dominio queda listo para usarse sin perder ninguna
aplicación que hubiese tenido anteriormente.
Sobre el Autor
Branko Fiorilo Drakic. Evangelista tecnológico de la tecnología
Sun y Java en Bolivia, impulsor de varios proyectos basados en
Solaris y Java, demostrando el ahorro fiabilidad, robustez y calidad
al utilizar una combinación explosiva, actualmente trabajando
como Encargado de Nuevas Tecnologias de CADEB S.A. Grupo Iberdrola
Bolivia.
The information and links on this page have been provided by a BigAdmin user. The submitter is solely responsible for such information and links. Sun is not responsible for the availability of external sites or resources, and does not endorse and is not responsible or liable for any content, advertising, products, or other materials on or available from such sites or resources. Sun will not be responsible or liable, directly or indirectly, for any actual or alleged damage or loss caused by or in connection with use of or reliance on the information posted here, or goods or services available on or through any external site or resource.
Comments (latest comments first)
Discuss and comment on this resource in the BigAdmin Wiki
Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.