|
PRIDES cuenta con personal altamente calificado en el desarrollo de aplicaciones con tecnologías basadas en el lenguaje Java. Esta situación se da principalmente por nuestra determinación de mantenernos al lado de las tecnologías exitosas probadas en el mercado, tratando siempre de ofrecerle a nuestros clientes, las ventajas que dichas tecnologías ofrecen.
En este caso, las tecnologías basadas en el lenguaje Java, presentes en el mercado desde la década de los 90’s, han demostrado ser plataformas de desarrollo de software de gran solidez y versatilidad, cuyas características principales indican lo siguiente:
- Es una plataforma estándar para el desarrollo y funcionamiento de aplicaciones, sin importar que sean desarrolladas con distintas herramientas y para distintos ambientes operativos, siempre que cumplan con los estándares establecidos mediante el Java Community Process (JCP).
- Se pueden desarrollar aplicaciones completamente portables. Esto garantiza que una aplicación, que se adhiere a los lineamientos establecidos en los estándares, podrá funcionar sin modificaciones en varios ambientes (sistemas operativos), sobre distintas infraestructuras (servidores de aplicaciones, servidores de mensajería por colas) con mecanismos de persistencia de datos diferentes (bases de datos relacionales, XML, sistemas “legacy”).
- La plataforma establece mecanismos de seguridad desde el más bajo nivel que garantizan que se pueda implementar políticas de seguridad en las aplicaciones que permitan tener autenticación y autorización, de los usuarios o sistemas que se interrelacionan con la aplicación, e integridad en los datos que se deban transmitir y procesar, según sea el caso.
Otra de las grandes ventajas que posee esta plataforma es que está pensada para funcionar sobre distintos dispositivos, los cuales van desde computadoras de escritorio, servidores y “mainframes”, y finalmente dispositivos móviles como teléfonos celulares, agendas electrónicas, entre otras. Esto se logra a través de las diferentes plataformas basadas en el lenguaje Java, las cuales se describen a continuación:
- J2SE (Java 2 Standard Edition), esta plataforma esta orientada a funcionar en cualquier computadora, desde una de escritorio hasta un servidor con alta capacidad de procesamiento. Sobre ésta se desarrollan aplicaciones de todo tipo, como por ejemplo, clientes delgados de sistemas complejos, o clientes gruesos que interactúan con sistemas de bases de datos, por ejemplo. Esta plataforma es la base de las demás plataformas basadas en el lenguaje Java.
- J2EE (Java 2 Enterprise Edition), esta plataforma es la que define la especificación de las características que debe poseer un servidor de aplicaciones, que desee proveer los servicios necesarios para construir aplicaciones multicapas de gran escala a nivel empresarial, con el lenguaje Java. En esta plataforma se especifican los servicios que se encargan de manejar páginas dinámicas y componentes del lado del servidor para aplicaciones Web, conectores para sistemas “legacy”, componentes remotos, entre otros.
- J2ME (Java 2 Micro Edition), esta es la plataforma dirigida a dispositivos con poco poder de procesamiento, como por ejemplo, teléfonos celulares, agendas electrónicas, electrodomésticos inteligentes, entre otros. Comprende un conjunto reducido de las otras versiones, pero que es suficiente para crear aplicaciones de gran valor agregado.
Luego de conocer estos aspectos sobre la plataforma Java, a continuación se muestran las habilidades y características que tiene nuestro personal encargado de los desarrollos con dicha plataforma, lo cual nos hace una empresa que puede responder a las exigencias de un cliente que desee utilizar esta tecnología para la construcción de sus sistemas de información.
Dominio de las plataformas principales del lenguaje Java
Nuestro personal cuenta con un amplio dominio de todas las plataformas basadas en el lenguaje Java, en sus últimas versiones:
- J2SE
- J2EE
- J2ME (CLDC y MIDP)
Esto se puede comprobar por medio de la experiencia que han tenido los miembros del equipo, así como de las certificaciones oficiales que algunos poseen (obtenidas al ganar los exámenes aplicados por Sun Microsystems, ente controlador de la plataforma).
En cuanto a la plataforma J2SE, tenemos experiencia con las máquinas virtuales desarrolladas por Sun Microsystems, Oracle e IBM, para los sistemas operativos Windows, Linux, Unix, HP-UX, Solaris, entre otros.
Sobre J2EE, tenemos experiencia con los siguientes servidores de aplicaciones:
- Jakarta Tomcat (contenedor web para JSP/Servlets).
- Oracle iAS
- IBM Websphere AS
- BEA Weblogic AS
- JBoss
- Orion AS
Poseemos experiencia con otras herramientas utilizadas para la integración de sistemas, como por ejemplo, IBM Websphere MQ (antes conocido como MQSeries), que también se apegan a estándares establecidos por la plataforma para su utilización de manera transparente (por medio de la especificación JMS: Java Messaging Service, o de JCA: Java Connector Architecture).
Sobre J2ME contamos con experiencia utilizando varios dispositivos móviles que cumplen con la especificación MIDP y CLDC, como por ejemplo, las PDAs que utilizan la máquina virtual de Sun, que funciona sobre Palm OS, y varios teléfonos celulares de fabricantes como Motorola, Siemens, Nokia y Sony-Ericsson.
Conocimiento de las mejores herramientas de desarrollo integrado
El personal de nuestra empresa, encargado de esta tecnología, ha tenido que involucrarse, a lo largo de su experiencia con gran cantidad de herramientas de desarrollo, debido a la gran cantidad de opciones que existen, y las características que cada una de ellas poseen.
Dentro de las herramientas que dominamos, están:
- Oracle JDeveloper
- Wesphere Application Developer Studio
- Eclipse
- Borland JBuilder
- Netbeans
- BEA Workshop
Dominio y utilización de los frameworks y herramientas de apoyo más exitosas en el mercado
Teniendo en cuenta que la comunidad Java genera artefactos que comprueban su calidad en los desarrollos de software, y sabiendo que son de carácter público, nos hemos dado a la tarea de conocer y utilizar, en nuestras aplicaciones los mejores frameworks y herramientas de apoyo reconocidas en el mercado, para el desarrollo de dichas aplicaciones. Unido a esto, también poseemos nuestro propio framework y nuestro conjunto de herramientas de apoyo (por ejemplo, generadores de código), creadas a lo interno, lo que le garantiza la aplicación de las mejores prácticas y la utilización de soluciones previamente probadas a los problemas más comunes que se conocen, durante la implementación de los sistema de información de nuestros clientes.
Dentro de los frameworks y herramientas de apoyo que manejamos se pueden citar los siguientes:
- Prides framework y generador de código interno.
- Struts
- JUnit
- Commons
- Digester
- Hibernate
- Apache ORB
- Apache AXIS
- Xalam, Xerces
- Jdom
- Ant
- Xdoclet
Utilización de estándares de codificación y prácticas probadas para la revisión de los artefactos de software.
Dentro de las políticas de aseguramiento de calidad de nuestra empresa, en cuanto a las labores de programación, se tienen establecidas dos prácticas de suma importancia.
La primera consiste en la utilización del estándar oficial de codificación del lenguaje Java, creado por Sun Microsystems. Este garantiza una mejor comprensión y mayor facilidad de revisión de programas, en un ambiente que involucra a más de un programador. Esto garantiza la calidad del código generado por cada uno de los miembros del equipo de trabajo.
La segunda práctica utilizada es la revisión periódica de los artefactos generados por cada programador por parte de los otros miembros del equipo de trabajo. Dichas revisiones son conocidas como “code reviews” y lo que buscan es someter a consenso decisiones importantes en la implementación de un sistema, poner al tanto a todos los miembros del equipo de las labores que los otros miembros están realizando, y revisar otros detalles como estilos de programación, prácticas particulares, lecciones aprendidas, entre otros.
Utilización de patrones de diseño y mejores prácticas en el desarrollo de software con tecnología Java
Debido a las tendencias y paradigmas utilizados en la actualidad para desarrollar software, nos hemos visto en la necesidad de conocer y aplicar las prácticas que, en la industria, otras entidades han utilizado con éxito en sus tareas de desarrollo de sistemas de información, o en la creación de componentes de software, en general.
Unido a lo anterior, y más específicamente en el desarrollo de software con tecnologías orientadas a objetos, se han estado mostrando prácticas repetitivas en la implementación conocidas como patrones de diseño, que han venido a demostrar que se puede lograr la reutilización de ideas, conceptos y demás a la hora de resolver problemas o situaciones similares, a otras resueltas en el pasado. Por ello, contamos con un amplio conocimiento y dominio de los patrones de diseño más importantes, utilizados en el desarrollo de aplicaciones con tecnologías orientadas a objetos, basadas en arquitecturas de N-capas.
Apego a una metodología de desarrollo interno comprobada
A lo largo de nuestra trayectoria en el desarrollo de software, hemos utilizado diversas metodologías para el desarrollo de los proyectos para nuestros clientes. Debido a esta situación, poco a poco, fuimos estableciendo una metodología propia de nuestra empresa para llevar a cabo el ciclo completo de desarrollo de las mismas.
Parte del éxito de los proyectos desarrollados por nosotros, en los últimos años, se debe en gran parte, al apego que se ha tenido durante cada proyecto, a dicha metodología, lo que garantiza en mayor grado, la repetición del éxito conseguido en cada uno de dichas contrataciones. Esta situación no es diferente para el equipo de desarrollo de aplicaciones Java, el cual, conoce y aplica a cabalidad cada una de las tareas y fases que la metodología de desarrollo interno indica.
Aplicación de prácticas establecidas por el modelo CMM.
Unido a lo anterior, y en busca siempre de la excelencia y la calidad en sus proyectos, y productos, hemos venido formalizando nuestra adaptación al modelo de capacidad y madurez de software CMM. Este modelo, reconocido a nivel mundial, establece una serie de prácticas y políticas, complementarias a las metodologías utilizadas por la empresa, que buscan garantizar la mayor calidad posible en la consecución de sus proyectos de desarrollo de software. Esto garantiza que, tanto los proyectos realizados por el equipo de desarrollo java, como el resto de nuestro personal, se rijan por los más estrictas políticas de aseguramiento de calidad establecidas por el modelo CMM, desde la concepción de cada proyectos, hasta su finalización, buscando siempre, la satisfacción completa de los requerimientos de nuestros clientes.
|
|