¿Qué debes tener en cuenta para elegir el mejor Sistema de Gestión ERP para tu empresa?
Tal como ya se ha comentado en artículos anteriores, cada aplicación de gestión empresarial ofrece una funcionalidad determinada, agrupada en un conjunto de módulos. El nivel de funcionalidad ofrecido dependerá del segmento de mercado al que se dirija cada producto y también de la propia orientación que pueda tener el producto pudiendo encontrarnos diversas situaciones:
- Hay soluciones que están muy orientadas a un determinado sector, también denominadas “soluciones o aplicaciones verticales”. En este caso, el nivel de adecuación del producto a las necesidades de la empresa, suele ser muy superior al de los productos o soluciones multi-sectoriales.
- Algunos productos ofrecen un nivel muy elevado de funcionalidad en un área determinada respecto a otras soluciones existentes. El nivel de funcionalidad que ofrecen es muy elevado, respecto al resto de módulos.
- La dimensión de la empresa a la que se dirige el producto es otro factor importante determinante del nivel de funcionalidad ofrecido por el sistema. De este modo, no aportará el mismo nivel de funcionalidad un sistema orientado a empresas pequeñas, que un sistema orientado a empresas medianas o grandes corporaciones.
Las grandes empresas, optan en muchos casos por adquirir módulos de diferentes productos, en función del nivel de adaptación a las necesidades de cada proceso, desarrollando un interface para intercambiar información entre los distintos productos implantados.
En las empresas de menor dimensión esta situación no es tan frecuente y se trata de buscar el producto que globalmente mejor se adapta a la empresa, evitando en la medida posible la integración de diferentes productos. Se justifica porque el beneficio que se ganaría a nivel funcional, se perdería por la dificultad de integración de los sistemas y por el hecho de que la empresa tenga que manejar varios productos diferentes, con requisitos tecnológicos específicos, proveedores diferentes, interfaces de usuario diferentes, etc. Además, la problemática de una aplicación de software no es únicamente su puesta en marcha, sino también su mantenimiento y evolución, por lo que en el caso de existir varias aplicaciones diferentes, este aspecto se complica al tener que garantizar la integración de dichas aplicaciones a lo largo del tiempo.
¿Es necesario adquirir todos los módulos de un sistema de gestión ERP?
Las empresas suelen implantar su sistema de gestión de una forma gradual, comenzando por unos determinados módulos.
Asimismo, algunas empresas optan por implantar determinados módulos de un software de gestión empresarial, integrando módulos de otros productos. En este caso, la empresa debe prever que el sistema deberá integrar ambos productos, para evitar la existencia de “islas de información”. A los programas que se encargan de llevar a cabo la integración entre dos aplicaciones diferentes se les denomina interfaces.
Actualmente, el intercambio de información entre programas se realiza en muchos casos a través de lo que se conoce como servicios web o “web services”.[:en]En un mundo en el que el mercado es cada vez más complejo y cambiante resulta vital para la supervivencia de una organización tomar las decisiones correctas en el momento más adecuado. Teniendo esta premisa presente, la información sobre el mercado y los clientes se convierte en un recurso básico e indispensable para asegurar el futuro de una organización.
No obstante, muchas organizaciones pese a la acumulación de datos desconocen verdaderamente a sus clientes. Esto se convierte en un gran handicap para las organizaciones si tenemos en cuenta quela clave del éxito en muchos negocios pasa por realizar una oferta personalizada y adaptada a cada cliente en el momento oportuno.
Teniendo esto en cuenta, la pregunta que toda empresa debería hacerse es la siguiente: ¿Qué información es la que me resultará útil y de qué manera o dónde puedo conseguirla?
Parte de esa información útil para la organización se puede extraer de los datos que recoge la propia empresa mediante sus actividades comerciales básicas como pueden ser la venta, los servicios postventa o incluso las reclamaciones. No obstante, existen muchos datos que llegan a la empresa pero no acaban de registrarse en en el Sistema de Información implantado, por lo que no se acaba de conseguir una visión completa de cada uno de sus clientes.
En pocas palabras, las empresas necesitan conocer más y mejor a sus clientes para poder anticiparse a sus futuras necesidades, siempre en la medida de lo posible. Así pues, algunas de las preguntas que una organización debería tener presentes son las siguientes:
- ¿Quién nos compra?
- ¿Por qué nos elige a nosotros?
- ¿Con qué frecuencia nos compra?
- ¿Qué es lo que busca y qué necesita?
- ¿Podríamos llegar a predecir su comportamiento?
Las empresas también deberían tener muy en cuenta las tendencias de los mercados y los movimientos de sus competidores.
Una de las herramientas que nos puede ayudar a disponer de la información necesaria en poco tiempo y con el mínimo esfuerzo es un buen
Cambios en el modelo 303 en el mes de Febrero
Para las presentaciones del modelo 303 de este año 2018 y debido a los cambios realizados en el mes de enero por parte de la AEAT será necesario aplicar una actualización del modelo en Libra.
Dicha actualización ya está disponible para su aplicación, por lo que pueden ponerse en contacto con el departamento de soporte. La aplicación del parche supondrá muy poco tiempo en aquellas empresas que cuenten con una conexión adecuada.
Se trata de una actualización que hace referencia a un cambio del "formato del fichero" y por tanto no será necesario hacer cambios a nivel parametrización, como ocurrió en el período anterior.
Aprovechamos para informar que en el mes de marzo, Hacienda ha previsto incorporar un nuevo campo de información en el modelo, para recoger aquellas empresas que se han adherido voluntariamente al SII.
Las soluciones ERP y CRM siguen siendo las más solicitadas entre las empresas
Un año más, SoftDoit nos presenta su informe sobre la Demanda de Software de este último año 2017. Entre las principales conclusiones de este contundente informe realizado a 20 mil empresas se destaca que las soluciones de ERP y CRM son las más demandadas, por el 61% y el 19% de las empresas que han realizado una consulta en el comparador durante este último año, respectivamente. Seguidas de las soluciones de Gestión de Almacen(6%) y de RRHH (5%). En cuanto a las soluciones de TPV y Call Centre la demanda es del 4% y del 3%. Finalmente, el estudio concluye que los softwares de Gestión Documental y los de e-commerce son los menos demandados, con un porcentaje de tan solo el 1%.
Cabe destacar la facturación de las empresas que forman parte de la muestra. Y es que de las 20 mil encuestadas el 72% tiene una facturación inferior al millón de euros. Así mismo el 12% factura entre 1 y 2 millones de euros y el 9% entre 2 y 5 millones. Por último, tan solo el 7% de las empresas que han realizado la consulta tiene una facturación de más de 10 millones. Por lo que concluimos que la gran mayoría de las empresas que han consultado en el comparador SoftDoit son PYMES.
Esta tercera edición del informe dedica especial atención a la demanda de software en la nube, concluyendo que las pequeñas y medianas empresas siguen siendo las más interesadas en implantar soluciones cloud. Esto tiene sentido si tenemos en cuenta que este tipo de solución es más económica y rentable para PYMES. Destacamos que durante este año, la demanda de soluciones cloud en los negocios con una facturación inferior al millón de euros es del 89% en CRM y del 82% en las de ERP.
No obstante, entre las empresas con una facturación mayor la demanda del cloud también es muy elevada, de más del 50% en todos los casos. Así pues, entre las empresas que facturan entre 1 y 2 millones las solicitudes de un CRM en la nube han sido del 87% y del 70% en el caso del ERP. Por otro lado, cabe destacar que en el caso de las empresas de más de 2 millones de facturación la demanda para este 2017 tanto de soluciones CRM como de ERP es del 71%.
Este año SoftDoit ha incorporado un nuevo apartado en su análisis que trata la demanda de los módulos que las empresas solicitan. En el apartado de ERP, se ha detectado que el 94% de las consultas ha sido sobre los módulos de facturación y ventas, seguidos de los módulos de contabilidad.
En cuanto a los módulos demandados de CRM las principales solicitudes realizadas han sido de ventas y campañas de marketing tales como el e-mailing y el telemarketing. Así mismo y en último lugar, los módulos de emisión de facturas se sitúan en la última posición de las búsquedas con un porcentaje del 44%.
Si quiere tener una visión global de este estudio, SoftDoit pone a su disposición una infografía que le mostrará gráficamente los datos del estudio realizado.
¿Qué debe tener un buen CRM para cumplir con los objetivos comerciales?
Hoy en día, el equipo de ventas es uno de los pilares más importantes en las organizaciones. Así que disponer de las herramientas necesarias para lograr buenas relaciones con el cliente, con el objetivo de conseguir una mayor fidelidad y calidad en el servicio para así incrementar el volumen de ventas se convierte en el objetivo final de cualquier buen equipo comercial y de ventas.
En definitiva, para construir una excelente atención y servicio al cliente una de las herramientas clave para conseguirlo es el software CRM (Custormer Relationship Management) necesario en cualquier empresa para gestionar sus clientes e identificar las futuras oportunidades de venta dentro de la compañía.
A menudo suelen surgir dudas acerca de qué debe tener un buen CRM para lograr los objetivos del equipo de ventas y marketing propuestos dentro de la compañía.
Sabemos que la captación de nuevos leads, la atención al cliente y la fidelidad son cuestiones críticas para cualquier negocio. Así que, un buen CRM debe ser capaz de proporcionar las herramientas adecuadas para crear y organizar fuertes lazos con nuestros clientes actuales y potenciales oportunidades futuras.
Veamos algunos consejos acerca de qué debe tener o aportar un buen CRM para nuestra organización:
- Un buen CRM debe permitir personalizar la ficha de empresa añadiendo todos los campos que cada entidad estime como necesarios.
- Debe tener acceso a los contactos de forma ágil y sencilla. Un plus en este punto sería la opción de escaneado de tarjetas de visita.
- Debe permitir personalizar la tipología de acciones comerciales a realizar en las diferentes entidades y en las posibles oportunidades comerciales.
- Debe permitir calendarizar las acciones y asignarlas a personas o equipos.
- Resulta de gran ayuda que disponga de un panel de control que permita gestionar el día a día del departamento comercial, pudiendo visualizar las acciones pendientes o reasignarse entre los usuarios.
- Debe poder programar automáticamente las tareas de envío de correos electrónicos a los diferentes usuarios en función de determinadas reglas o eventos.
- Es de gran ayuda si permite la integración con las aplicaciones habituales de la agenda, con el objetivo de facilitar el envío de notificaciones de una acción a un conjunto de usuarios.
- ¡MUY IMPORTANTE! Debe permitir el seguimiento de oportunidades comerciales y la gestión del forecast de ventas.
- Debe permitir definir campañas que generen acciones definidas.
- Se contempla como un gran plus el hecho de poder establecer un presupuesto para cada campaña, pudiéndose comparar posteriormente con los resultados obtenidos.
- Debe permitir gestionar toda la relación postventa con los clientes: gestión de reclamaciones, incidencias, solicitudes de servicios, etc.
Por último y no menos importante, resulta muy útil, a la vez que significativo, si el software CRM está integrado con el ERP.
Cerca del 60% de las empresas utilizan un software de gestión de almacenes a medida
SoftDoit nos presenta su primer estudio sobre el uso del software de gestión de almacenes (SGA) en España. Entre las principales conclusiones de este elaborado informe realizado a 50 empresas se destaca que el 59,6% de las compañías encuestadas utilizan un software de gestión de almacenes hecho a medida, mientras que el 40,4% restante cuenta con una solución estandarizada, como LIBRA, .
Entre la muestra de esta encuesta encontramos empresas pertenecientes al sector fabricación (76%), distribución (20%) y operadores logísticos (4%), de las cuales el 44,7% factura más de 20 millones de euros, el 53,2% entre 1 y 10 M€ y tan solo el 2,1% de 10 a 20 M€.
Cabe destacar que el 66% asegura que el software de gestión de almacenes que utilizan es del mismo fabricante que el de su ERP, frente al 34% que afirma lo contrario. En cuanto a integraciones, el 74,5% de los encuestados tiene integrado su ERP con el SGA, mientras que un 12,8% afirma que solo ha integrado una parte y el 6,4% señala no tener integrada ninguna de las dos soluciones.
Este estudio pone énfasis en el aumento de confianza de las empresas en la nube o el cloud computing como almacenamiento de su software de gestión de almacenes, siendo el 38,3% los que afirman confiar en la nube y no descartan implantar su SGA bajo la modalidad de Cloud. No obstante no todos están tan convencidos, el 21,3% asegura que confía pero no alojaría su SGA en la nube y el 40,4% directamente señala que no confía en la nube. No obstante, frente a esta estadística, tan solo el 16,66% de los encuestados afirma tener almacenado su SGA en la nube.
En cuanto a la vida de los sistemas de gestión de almacenes en sus respectivas empresas el 28,94% afirma que hace más de 10 años que usan la misma solución frente al 23,68% qué señal que su SGA tiene de 1 a 3 años. Así mismo el 13,15% afirman que su software de gestión de almacenes tiene una antigüedad de 3 a 5 años, mismo porcentaje que asegura que su SGA tiene entre 5 y 7 años o de 7 a 10.
En cuanto a lo que valoran los encuestados respecto a qué debe aportar un software SGA, encontramos que el 51,1% aprecia la eficiencia y control de errores, el 25,5% prioriza la eliminación de las tareas de administración, el 19,1% el aumento de la productividad y el 10,6% la optimización de recursos.
Si quiere tener una visión global de este estudio, SoftDoit pone a su disposición una infografía que le mostrará gráficamente los datos del estudio realizado.
Conoce cómo nuestro software de gestión de almacenes de LIBRA puede ayudar a su empresa a unificar, automatizar y eliminar duplicidad de datos con una única herramienta.
Tiempo y precio: principales obstáculos de la implantación del SII
La entrada en vigor del Sistema Inmediato de Información (SSI) cada vez está más cerca. A partir del 1 de julio, todas las empresas que facturen más de seis millones de euros o sean exportadoras deberán comunicar el IVA de todas las facturas emitidas y recibidas, en un plazo de cuatro días, a la Agencia Tributaria.
Bajo esta realidad crece la preocupación entre las empresas, especialmente entre las más pequeñas, ya que el desarrollo de la normativa no se publicó en BOE hasta el pasado 15 de mayo y Hacienda sigue introduciendo pequeños cambios en la información que debe ser suministrada.
No obstante, aunque las principales quejas son por el tiempo del que disponen para ponerlo en marcha, este no es el único obstáculo con el que se están encontrando, y es que el coste medio y el personal necesario para llevar el SII en marcha suponen un gasto muy elevado para las empresas.
Según una encuesta realizada por Pimerc entre más de 200 compañías, el coste medio para una empresa mediana rondará los 12.000 euros, no obstante en algunos casos esta factura podría superar los 60.000 euros, cifras que, en caso de poder ser asumidas, supondrán un gran esfuerzo para estas empresas.
Fuente: La Vanguardia
La Unión Europea actualiza sus leyes sobre firma electrónica para facilitar el comercio online
Desde el pasado 1 de julio de 2016 la Unión Europea cuenta con una nueva normativa de firma electrónica, conocida como eIDAS, y que viene a reemplazar a la anterior Directiva del año 1999.
Este nuevo marco legal pretende extender el uso de la firma electrónica, el comercio electrónico seguro y la Administración Electrónica en todos los Estados miembros de la Unión Europea, garantizando que una firma electrónica de un país será reconocida en cualquier otro país de la UE sin excepciones, y además tendrá el mismo valor que una firma escrita.
Se trata de un aspecto de gran importancia, que afecta mucho a los sistemas informáticos de gestión. En los últimos años, EDISA ha tenido que hacer una gran cantidad de desarrollos en el sistema LIBRA para ajustarse a las normativas de la administración electrónica de los 25 países en los que tenemos implantaciones, existiendo muy poca compatibilidad entre los sistemas de los distintos países. Se trata de una noticia alentadora y que consideramos que supondrá un gran avance no solo en materia de comercio electrónico, sino en todo lo relativo al intercambio de información con las administraciones públicas.
Fuente original:
¿Que aporta la nueva versión de vSphere 6?
Desde EDISA se ha apostado por vSphere desde hace años como hipervisor de referencia, con excelentes resultados.
Ahora se ha anunciado oficialmente la nueva versión vSphere 6, algo más de 3 años después de vSphere 5. Ha pasado mucho tiempo, el mundo tecnológico ha siguiendo viviendo sus revoluciones de manera casi diaria, en pocos años hemos pasado de infraestructuras físicas, a infraestructuras convergentes y estamos empezando con infraestructuras hiperconvergentes en soluciones de software defined datacenter.
¿Qué trae de nuevo vSphere 6?
Entre la larga lista de novedades estas son novedades más importantes:
- Han añadido soportepara las últimas versiones de sistemas operativos huésped, así como el aprovechamiento de los últimos chipset a nivel hardware.
- Monster VMs y Monster Clusters. Los clusters ahora soportan hasta 64 nodos y 6000 VMs. Las máquinas virtuales soportan hasta 128 vCPUs y 4TB de vRAM.
- Soporte para vGPUs con Nvidia. Equiparando su soporte a otros hipervisores como XenServer o Hyper-V. La tecnología de vGPUs permite con aceleradoras gráficas adecuadas un rendimiento gráfico baremetal para aplicaciones con grandes necesidades de rendimiento gráfico.
- VVOLs. Permite a los almacenamientos que se adapten a vVOLS, granularidad en el almacenamiento a nivel de máquina virtual, proporcionando a los administradores de las máquinas virtuales flexibilidad e independencia de los administradores de almacenamiento, y a los administradores de almacenamiento aplicar tecnologías como un simple backup/snapshot de una máquina virtual a nivel de almacenamiento. Es un cambio importante en la gestión del almacenamiento como una de las soluciones de Software Defined Storage (SDS).
- Storage IO Controls. Mejoras en los controles de I/O permitiendo hacer reservas a nivel de máquina virtual permitiendo mejorar en grandes entornos garantizar los SLAs.
- Mejoras de vMotion. Aquí también tenemos grandes avances.
- vMotion entre servidores vCenter. Permite realizar vMotion de VMs entre vCenters.
- vMotion entre virtual switches.
- vMotion en redes de area extensa. vMotion incluso con RTT superior a 100ms.
- vSphere Fault Tolerance para VMs de varias vCPUs. Requiere conectividad 10Gbps dedicada. Un límite máximo de 4VMs por host o 8vCPUs.
- vSphere Replication. Mejoras de rendimiento y escalabilidad permitiendo RTOs de hasta 5 minutos y 2000 VMs replicadas por vCenter.
- Mejor integración con vCloud Air permitiendo failover / failback desde vCloud Air.
- Librería de contenidos multisitio. Permite un repositorio único, sincronizado entre diferentes vCenters, almacenar scripts, plantillas de VMs, vApps o ISOs simplificando la gestión en administración y los despliegues en grandes entornos.
- vSphere Web Client. Mejoras de rendimiento y mejoras en la usabilidad.
- vSphere C# Client. Soporte para máquinas virtuales con hardware hasta versión 11 (vSphere 6).
Datacenters heterogéneos
El mundo de las tecnologías de la información actual es un mundo que cambia con mucha rapidez. Las empresas tecnológicas debemos participar en dichos cambios al mismo tiempo que nos adaptamos a procesos disruptivos.
Uno de los grandes retos tecnológicos es ofrecer la integración de diferentes fabricantes tanto de hardware como de software como una solución integrada que funcione de manera armoniosa como si hubiese sido diseñada por único equipo, tarea no siempre sencilla, debido a que las matrices de compatibilidad hardware y software no siempre no hacen que sea una tarea fácil.
En EDISA nos apoyamos por algunos de los mejores fabricantes del mercado (Oracle, VMware, Microsoft, etc) para poder ofrecer soluciones de Datacenter que se adapten a las necesidades de negocio de cada cliente proporcionando simplicidad, disponibilidad y flexibilidad y movilidad.
Video grabado en el VMworld 2014 sobre los entornos de datacenter heterogéneos y tecnologías emergentes.
https://www.youtube.com/watch?v=4L_ZIQOXrVA
La importancia de seguir los Ciclos de Soporte de Fabricantes de Software
Todos los fabricantes de software tenemos unos ciclos de soporte para nuestros productos donde, durante ese período se mantienen actualizaciones de seguridad, corrección de errores, nuevas funcionalidades, etc.
En el caso de Oracle tienen referenciado su soporte en su página web en http://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf y concretamente la versión 10gR2 de base de datos ha terminado soporte extendido en Julio de 2013.
EDISA incorpora las nuevas funcionalidades a LIBRA aprovechando las funcionalidades que ofrecen las versiones soportadas por Oracle por lo que para garantizar el correcto funcionamiento de LIBRA y actualizaciones futuras en este momento la versión de base de datos soportada por EDISA para ejecutar LIBRA sería 11gR2.
La versión de base de datos de Oracle se puede comprobar desde LIBRA en el menú Ayuda -> Acerca
Por su parte, Microsoft ha anunciado el fin de soporte de Windows XP para el 1 de Abril de 2014, por lo que dejará de recibir actualizaciones de seguridad a partir de ese momento. Esto tiene una importancia clave ya que los puestos de trabajo donde los usuarios navegan, descargan programas quedarán expuestos a amenazas externas (virus, troyanos, etc). La actualización de Windows XP a Windows 8 es recomendable para aprovechar tanto las nuevas funcionalidades que ofrece como para garantizar la seguridad del entorno.
En caso de cualquier duda pueden contactar con nosotros para buscar la solución más adecuada a su entorno.
Actualización de Java 1.7.0_45 y Libra sobre Forms 11g
Desde la actualización de java a Java 1.7.0_45 los clientes que tienen una versión de Libra sobre Forms 11g les muestra un mensaje similar al siguiente:

Enero del 2014 es la fecha que ha puesto Oracle a la actualización que bloqueará las aplicaciones que no cumplan con los requisitos de seguridad marcados: https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias.
Oracle ya ha publicado el parche 16837591 de Forms 11.1.2.1.0 y en Edisa el entorno 6.1.2 de Libra ya incluye las modificaciones necesarias para adaptarse a las nuevas exigencias de seguridad de Java. Durante los próximos días técnicos de Edisa se pondrán en contacto con todos los clientes que tienen Libra desplegado sobre la plataforma de Forms 11g, para realizar la actualización necesaria.
Aprovechando la necesidad de esta actualización, hemos ampliado la duración de nuestro certificado de firma de código al máximo posible de 3 años, por lo que la actualización que se efectuará será válida hasta Octubre del año 2016.
Para más información pueden ponerse en contacto con nuestro departamento de soporte.
ORACLE anuncia que tras Forms 11, vendrá Forms 12 y también una nueva versión de Reports
ORACLE ha publicado una guía tecnológica que coincide con la línea de evolución que está siguiendo LIBRA desde el punto de vista técnico.
En este primer trimestre de 2012, EDISA ha sacado la versión de LIBRA para forms 11, a la que se pretende ir evolucionando a los clientes en los próximos años. Se trata del último entorno disponible en ORACLE, que utiliza WEB LOGIC como servidor de aplicaciones y que permite combinar aplicaciones desarrolladas en el entorno Java de Oracle (ADF), en el que también se está trabajando.
Ahora ORACLE anuncia que tras esta versión 11, vendrá una versión 12, lo que supone el respaldo decidido por parte de ORACLE a este entorno para los próximos años. ORACLE justifica esta apuesta, porque se trata de la tecnología utilizada en las aplicaciones de gestión de una gran cantidad de empresas medianas y grandes a nivel mundial, incluyendo entre otras las propias aplicaciones de gestión de ORACLE.
Además, el soporte se extiende también a Reports, si bien se propone B.I Publisher como una alternativa para enriquecer la capacidad de generación de informes del entorno de trabajo propuesto.
http://www.oracle.com/technetwork/issue-archive/2010/toolssod-3-129969.pdf
Taller de ADF Framework , Jdeveloper y Weblogic Primeros pasos
Introducción:
Oracle Fusion Middleware es la consolidación de un gran número de productos que se ejecutan sobre el servidor de Aplicaciones WebLogic.
http://www.oracle.com/technetwork/middleware/fusion-middleware/overview/index.html
Todos los productos son J2EE y Jdeveloper es la herramienta de desarrollo de Oracle Fusion Midleware.
El framework recomendado por Oracle es el ADF Framework
Con Jdeveloper y ADF Framework podemos crear aplicaciones java:
- Aplicaciones de escritorio
- Aplicaciones Web con ADF
A partir de ahora hablaremos solo de aplicaciones Web y en concreto de aplicaciones web con ADF Framework
- ADF BC (Bussines Components)
- ADF FACES ( Componentes JSF para utilizarlos en las páginas ) (JSF=Java Server Faces)
Las aplicaciones Web son aplicaciones que corren en un browser , en el browser se ejecuta Html y JavaScript, no requieren en el cliente de ningún runtime ( simplemente un browser )
En java en web primero aparecieron los servlets , después las paginas JSP , después las paginas JSF ( java server faces ) y ahora Oracle ha evolucionado las JSF a ADF Faces.
Oracle está migrando todas sus aplicaciones a ADF Faces en web.
Jdeveloper
Página de Jdeveloper http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html
La versión actual de Jdeveloper es la 11.1.2.1.0 , incluye un servidor de aplicaciones “Weblogic” integrado para desarrollar ( versión de Weblogic 10.3.5.0 )
Con ese servidor de WebLogic podemos crear un WebLogic StandAlone independiente para desplegar nuestras aplicaciones sin tener arrancado Jdeveloper.
También es posible arrancar el IntegratedWebLogic desde fuera de jdeveloper ejecutando el comando: C:\Users\xavieredisa\AppData\Roaming\JDeveloper\system11.1.2.1.38.60.81\DefaultDomain\bin\startWebLogic.cmd
El pc debe de tener como mínimo 2G de RAM
En cuanto al monitor cuanto mas grande mejor ( incluso 22’’ )
Instalación de Jdeveloper:
Ir a la página de Oracle , descargar Jdeveloper
http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html?ssSourceSiteId=ocomen
La instalación se instala por defecto en la carpeta C:\Oracle\Middleware
La instalación es simple como cualquier instalación en Windows
Introducción a ADF Framework
ADF es un framework de desarrollo java (propietario de Oracle) para realizar aplicaciones Web de una forma rápida y simple.
ADF se ejecuta (sin coste adicional) sobre WebLogic Standard o WebLogic Enterprise y no sobre sobre WebLogic Basic
Las aplicaciones web con ADF Framework implementan el modelo MVC Modelo Vista Controlador
La aplicación consta de dos Proyectos
1) El Modelo
Para crear el modelo se utilizan los ADF BC ( Bussines Components ) a través de asistentes y se definen una serie de clases como:
- Entidades -> Clases Java que representan una tabla
- ViewObjects -> Clases Java que representan una vista o Query ( En forms serían los bloques )
- ViewLinks -> Relaciones ( En forms serían las relaciones )
- etc
En el modelo se definen todas las tablas , vistas , relaciones , listas de valores y atributos de campos , validaciones y toda la lógica del negocio en forma declarativa ( o sea sin programar ) informando propiedades. También podemos validar contra métodos java.
2) La Vista-Controlador
En el controlador definimos el flujo de las paginas mediante Task Flows
En la vista diseñamos las páginas que se mostraran en el browser , existe el área de diseño , la paleta de componentes y la página de propiedades , como en forms.
ADF está pensado para definir tanto el modelo como la vista controlador de forma declarativa , informando propiedades , arrastrando objetos.
Podemos crear una aplicación sin rascar ni una sola línea de código.
Primero se crea el modelo con ADB BC , una vez el modelo es consistente pasamos a crear la Vista-Controlador con ADF-TaskFlows y ADF-Faces.
Lo ideal es partir del modelo de datos definitivo (ADF BC) para empezar a definir la VISTA o las paginas
La mejor manera de aprender a utilizar el ADF es realizando los tutoriales que hay en la web de Oracle , es un tema muy complejo y abstracto para aprender solamente leyendo un libro o un pdf , al realizar las practicas usamos los componentes y entonces entendemos el funcionamiento del componente y cómo se comporta en modo de ejecución.
Primer Programa con ADF Framework
Tutoriales http://download.oracle.com/docs/cd/E18941_01/tutorials/toc.htm
Primer programa Developing Rich Web Applications with Oracle ADF
Build an end-to-end rich Internet application that interacts with a database using Oracle ADF.
Este tutorial muestra cómo crear una aplicacion web con ADF utilizando el MVC , se crean los Bussines Objects , Se crean Task flows , Se crean 2 Páginas web en las cuales se colocan componentes y se arrastran los componentes del modelo de datos.
En este tutorial no se rasca ni una sola línea de código.
El tutorial marca 2h aunque puedes estar tranquilamente 4h.
Despliegue ( deploy ) de la aplicación en un servidor WebLogic
Jdeveloper incorpora un WebLogic completo
Dentro de jdeveloper usa IntegratedWebLogicServer que es un weblogic que funciona mientras tienes el IDE de jdeveloper abierto
Para poder probar la aplicación en un servidor WebLogic necesitamos instalar o configurar un WebLogic para ejecutar aplicaciones ADF.
Podemos descargar de Oracle el software para instalar WebLogic , instalar WebLogic en una máquina y después instalar las librerías de ADF
Configuring WebLogic Server Domain/Machine/Server instances with the JDeveloper 11g ADF installer
http://chrismuir.sys-con.com/node/952411/mobile
Podemos utilizar el WebLogic que viene con Jdeveloper y crear un StandaloneWebLogicServer.
FAQ #1 – How to configue the standalone WebLogic server for deploying ADF applications from JDeveloper 11g R1
http://jdeveloperfaq.blogspot.com/2009/12/faq-1-how-to-configue-stand-alone.html
FAQ #3 - How to deploy an ADF application on a standalone WebLogic server directly from JDeveloper
http://jdeveloperfaq.blogspot.com/2009/12/faq-3-how-to-deploy-adf-application-on.html
En cuanto al archivo startWebLogic.cmd
set ADF_JAVA_OPTIONS=-Djrf.version=11.1.1 -Djrockit.optfile=%MIDDLEWARE_HOME%\oracle_common\modules\oracle.jrf_11.1.1\jrocket_optfile.txt
set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS% %ADF_JAVA_OPTIONS%
@REM set JAVA_OPTIONS=%JAVA_OPTIONS% -Dlaunch.main.class=%SERVER_CLASS% -Dlaunch.class.path="%CLASSPATH%" -Dlaunch.complete=weblogic.store.internal.LockManagerImpl -cp %WL_HOME%\server\lib\pcl2.jar
Y
@REM set CLASSPATH=%SAVE_CLASSPATH%
set CLASSPATH=%SAVE_CLASSPATH%;%MIDDLEWARE_HOME%\oracle_common\modules\oracle.jrf_11.1.1\jrf.jar
Web Context Name ->Nombre de la aplicación:
http://<hostname>:7001/<web_context_name>/faces/<PageName>
Ejemplo:
http://127.0.0.1:7001/HRtest/faces/DeptEmpPage
Métodos para desplegar aplicaciones
http://onlineappsdba.com/index.php/2008/08/12/deploy-application-on-oracle-weblogic-server/
WebLogic
Una vez está instalado el WebLogic
Arrancamos weblogic
%MIDDLEWARE_HOME%\user_projects\domains\%NOMBRE_DOMINIO%\bin\startWebLogic.cmd
C:\Oracle\Middleware\user_projects\domains\base_domain\bin\startWebLogic.cmd
Accedemos a el servidor integrado “IntegratedWebLogicServer”
Accedemos al StandAloneWebLogicServer
Configuración del Origen de Datos en WebLogic
En Jdeveloper , Application , Application Properties , desmarcar “Auto Generate and Synchronize WebLogic JDBC During Deployment”
De este modo no se crea la conexión a nivel de aplicación al desplegar la aplicación y utiliza los datos del origen de datos definido a nivel de WebLogic
Demo de todos los controles de ADF
ATENCIÓN esta demo a veces no funciona.
http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx?gallery=true
Prueba del tutorial realizado
http://ip:7001/HRtest/faces/DeptEmpPage
Fujitsu f-07LOOX con Windows 7. El PC llega al móvil
2011 está siendo un año de transición en el mercado de los sistemas operativos móviles con todos los competidores (menos Meego) implantados en el mercado y moviendo ficha para ir ganando o al menos manteniendo cuotas. Es un momento difícil para decantarse por una plataforma u otra, lo que obliga a fabricantes de software y de dispositivos a pensarse muy bien sus movimientos. Cada fabricante está jugando sus cartas, y aunque Microsoft arrancó con desventaja con respecto a sus competidores, podría tener un as en la manga por si Windows Phone 7 no tiene el éxito que los de Redmond esperan tener.
El nuevo Fujitsu f-07LOOX acerca la plataforma pc a los dispositivos móviles, ya que prescinde de los clásicos ARM y en su lugar incorpora un Intel Atom de 1,2 Ghz, que supone el ansiado salto de Intel desde los Netbooks a los dispositivos móviles.
El Fujitsu f-07LOOX viene con Windows 7 instalado, y como detalle de originalidad, le ha preinstalando también Symbian, dejando un arranque dual para que los usuarios elijan qué sistema operativo desean usar. En cuanto al resto de características del dispositivo no destaca especialmente en prestaciones (1 Gb de ram, 32 Gb de almacenamiento, Wifi, 3G, pantalla táctil) aunque sorprende especialmente el teclado físico QWERTY que esconde debajo de la pantalla, gracias a su diseño tipo slide. Es casi seguro que este aspecto hará furor entre todos esos reacios de los teclados virtuales.
Habrá que ver el éxito de este modelo, y otros que puedan surgir iguales, ya que podrían suponer un giro radical en el enfoque actual de los dispositivos móviles y la aparición de nuevos actores en la guerra que mantienen los fabricantes de sistemas operativos móviles.Por el momento, tocará esperar para verlo por Europa, si es que llega, ya que saldrá a la venta únicamente en Japón y por un precio equivalente a los 700€.
Cambiar icono de Java en Forms 10g y 11g
Cuando se ejecuta una aplicación en Forms 10g ó 11g en una ventana independiente del navegador, es decir, con separateframe=true, el icono que se le asigna a la ventana en la barra de tareas es el de la taza de café de Java.
Este icono se puede modificar para poner uno personalizado. Ejemplo:
Para cambiar el icono hay que utilizar el procedimiento WebUtil_SeparateFrame.SetIcon de la librería WEBUTIL.PLL.
Ejemplo: WebUtil_SeparateFrame.SetIcon('/forms/java/libra_menu.gif');
El icono que se indica por parámetro debe de tener formato GIF o JPG y debe de encontrarse en la carpeta en donde están los jar de Java ($ORACLE_HOME/forms/java). En caso de no encontrar el archivo en esa carpeta dará el siguiente error: "WUB-603: No se ha podido cargar la imagen del icono ....."
El icono quedará guardado en la caché de Java para futuras ejecuciones:
Ejemplo de llamada a una función Java desde Oracle
Oracle permite integrar código Java en el propio motor de base de datos, en esta entrada se muestra un pequeño ejemplo.
El código Java a ejecutar se puede incorporar a la base de datos cargando un archivo .jar mediante la instrucción loadjava (comando de sistema operativo que se encuentra en el directorio BIN de la base de datos) o creándolo directamente de forma similar a como se crea una función, procedimiento o paquete. En este ejemplo se usa esta segunda opción.
El siguiente código recibe por parámetro una fecha, desglosada en 6 campos numéricos (año, mes, día, hora, minuto y segundo) y la devuelve en formato texto:
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "JavaDate" AS
package pruebas;
import java.util.Calendar;
public class JavaDate {
public static String getString(int anho, int mes, int dia, int hora, int minuto, int segundo) {
Calendar calendar;
calendar = Calendar.getInstance();
calendar.set(anho, mes, dia, hora, minuto, segundo);
return calendar.getTime().toString();
}
}
Una vez está el código Java creado en la base de datos, hay que crear una función o procedimiento para llamarlo:
CREATE OR REPLACE FUNCTION f_javadate(p_anho NUMBER,
p_mes NUMBER,
p_dia NUMBER,
p_hora NUMBER,
p_minuto NUMBER,
p_segundo NUMBER) RETURN VARCHAR2 IS LANGUAGE JAVA
NAME 'pruebas.JavaDate.getString(int, int, int, int, int, int) return String';
Oracle devuelve OpenOffice a la comunidad open source
Cuando Oracle realizó la compra de Sun hubo dos grandes proyectos que se vieron afectados: la base de datos MySQL y la suite ofimática OpenOffice. En relación con la suite, Oracle intentó convertirla en una aplicación comercial adoptando una serie de medidas contrarias al pensamiento de los desarrolladores independientes que llevaban trabajando en el proyecto desde hacía años.
Estos desarrolladores, miembros de la Document Foundation, decidieron hace unos meses desvincularse totalmente de Oracle y publicar LibreOffice, una adaptación de OpenOffice pero libre de las decisiones de la compañía.
Ahora Oracle parece que ha comprendido lo valioso que es tener una comunidad open source detrás de un proyecto y ha decidido no ofrecer más versiones comerciales de OpenOffice, devolviendo la dirección del proyecto de nuevo a la comunidad.
Maximizar Ventana MDI en Forms 11
En Forms 11 una de las novedades es la integración con JavaScript y eso se puede aprovechar para forzar el maximizado completo de la ventana MDI cuando que ejecuta en una ventana separada del navegador, es decir, cuando se ejecuta con el parámetro separateframe=true
Al ejecutar SET_WINDOW_PROPERTY(forms_mdi_window, window_state, maximize); el maximizado no es completo, hace un ajuste según el tamaño de la pantalla, pero no es equivalente a que si el usuario pulsa el botón de maximizado.
Para que sea equivalente a que el usuario pulse el botón de maximizar hay que realizar lo siguiente:
- En el archivo formsweb.cfg añadir la siguiente línea a la sección de la configuración (El nombre que se le asigne a la variable es indiferente, pero tiene que ser el mismo dos sitios que están resaltados en negrita):
- applet_name=OracleApplet
- Desde Forms ejecutar:
- web.javascript_eval_expr('document.OracleApplet.getFrame().setExtendedState(6)');
Ejemplo con SET_WINDOW_PROPERTY(forms_mdi_window, window_state, maximize);
Ejemplo ejecutando web.javascript_eval_expr('document.OracleApplet.getFrame().setExtendedState(6)');
Otro ejemplo similar se puede ver en: http://blog.avanttic.com/2010/07/30/integracion-forms-11g-con-javascript-maximizar-forms_mdi_window/[:]
Ejemplo de consulta desde Oracle a un webservice para obtener el cambio de divisas del EURO
El Banco Central Europeo dispone de un webservice en donde publica el cambio diario de divisas del Euro a otras divisas, para acceder a esa información se dispone de esta URL: http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
En este ejemplo se busca obtener de forma muy simple mediante una SELECT la lista de divisas y su correspondiente cambio.
Read more
Configuración y uso de JMAIL
Para que Libra pueda gestionar el envío y recepción de correos electrónicos es necesario configurar la base de datos para que el paquete JMAIL se ejecute de forma correcta.
IMPORTANTE: Este procedimiento no es válido para versiones Oracle 11.2.0.4.0 o posteriores (incluida cualquier versión de Oracle 12c).
Primero hay que asignar permisos de Java al usuario de base de datos en que reside Libra, para ello pasaremos la sql permisos_java.sql. Hay que usar el sqlplus de Oracle 10g o superior, es decir, no usar el sqlplus que viene con Oracle Forms 6. Esta sql pide los siguientes parámetros: [Descarga no encontrada]
- usuario_sys: SYS
- password_sys: especificar la contraseña del usuario SYS de la base de datos.
- Cadena_conexion: Cadena de conexión para conectar con la base de datos, por ejemplo si para conectar como libra ponemos LIBRA/PASSWORD@EDISA, pondríamos EDISA.
- usuario_bd_libra: Usuario de base de datos de libra, normalmente será LIBRA
Si después de indicar la cadena de conexión al pasar el permisos_java.sql da el error ORA-01031 es que se está usando un sqlplus de Oracle 8 (por ejemplo el que trae forms), hay que usar el de Oracle 10g o superior.
Introduzca un valor para usuario_sys: SYS
Introduzca un valor para password_sys: PASSWORDESYS
Introduzca un valor para cadena_conexion: EDISA
ERROR:
ORA-01031: privilegios insuficientes
En caso de estar usando Oracle 11g hay que cargar las librerías mail.jar y activation.jar. En caso de no cargarlas al intentar usar JMAIL nos dará el error: javax.mail.NoSuchProviderException: No provider for Address type: rfc822
Para cargar las librerías hay que copiarlas en una carpeta del servidor de base de datos y por línea de comandos (una vez nos situamos en el directorio en donde se encuentran los archivos) se ejecuta los siguiente (reemplazar <PASSWORD> y <CADENA_CONEXION> por los valores correspondientes):
loadjava -u SYS/<PASSWORD>@<CADENA_CONEXION> -o -r -v -f -noverify -synonym -g public activation.jar
loadjava -u SYS/<PASSWORD>@<CADENA_CONEXION> -o -r -v -f -noverify -synonym -g public mail.jar
Los archivos mail.jar y activation.jar se pueden descargar de este enlace:[Descarga no encontrada]
Los permisos se tendrán en cuenta en la próxima conexión por lo que si tenemos alguna conexión abierta hay que cerrarla y volver abrirla.
Uso de JMAIL para enviar correo electrónico
IMPORTANTE: Desde Líbra nunca se debe de ejecutar directamente ninguna función del paquete JMAIL, siempre se debe de ejecutar a través del paquete PK_EMAIL. Para más información dirigirse a la documentación de desarrollo, al apartado "Gestión de correos electrónicos".
Una vez configurado en la base de datos para usarlo hay que ejecutar una llamadaa JMAIL.SENDMAIL:
DECLARE
rdo VARCHAR2(30);
v_errormessage VARCHAR2(4000);
BEGIN
rdo := jmail.sendmail(<servidor_smtp>,
<puerto>,
<usuario_validación_smtp>,
<password_validación_smtp>,
<acuse_recibo>,
<dirección_email_remitente>,
<dirección_email_destino>,
<dirección_email_cc>,
<direccion_email_bcc>,
<asunto>,
<cuerpo>,
v_errormessage,
<adjuntos>,
<grabar_log>);
END;
- <servidor_smtp>: Dirección del servidor de SMTP.
- <puerto>: Puerto TCP en el que escucha el servidor SMTP, normalmente el 25
- <usuario_validación_smtp>: Usuario para validarse en el servidor SMTP, se pasará NULL en caso de que el servidor SMTP no necesite validación
- <password_validación_smtp>: Contraseña del usuario del parámetro anterior.Se pasará NULL en caso de que el servidor SMTP no necesite validación
- <acuse_recibo>: Acuse de recibo. Si se pasa S se solicitará confirmación al receptor del mensaje.
- <dirección_email_remitente>: Dirección de correo electrónico del que envía el mensaje
- <dirección_email_destino>: Dirección de correo electrónico de destino
- <dirección_email_cc>: Dirección de correo electrónico para enviar copia CC
- <dirección_email_bcc>: Dirección de correo electrónico oculta para enviar copia BCC
- <asunto>: Asunto del correo electrónico
- <cuerpo>: Cuerpo del mensaje del correo electrónico
- v_errormessage: Parámetro de retorno, en caso de producirse un error devolverá el texto del error producido.
- <adjuntos>: Lista de adjuntos. Ver "Tratamiento de adjuntos". Se pasará NULL en caso de no haber adjuntos.
- <grabar_log>: Grabar LOG en la tabla ed_mail_log
Tratamiento de adjuntos
DECLARE
v_attachments jmail.attachments_list;
rdo VARCHAR2(4000);
BEGIN
v_attachments := jmail.attachments_list('/oracle/archivo1.txt');
v_attachments := jmail.attachments_list('/oracle/archivo2.txt');
rdo := jmail.sendmail(..., v_attachements, ..);
END;
/
IMPORTANTE: Al directorio en donde se encuentran los archivos a adjuntar hay que darle permisos de lectura con la siguiente instrucción desde SYS:
exec dbms_java.grant_permission('<usuario LIBRA en mayúsculas>','java.io.FilePermission', '<directorio>\*', 'read');
Si la base de datos está en Linux cambiar '<directorio>*' por '<directorio>/*' Ejemplo:
Ver los permisos que hay aplicados a Java
Se pueden consultar en la vista DBA_JAVA_POLICY
















