Download Proyecto para Obtención de Grado: Certificación Internacional
Document related concepts
no text concepts found
Transcript
UNIVERSIDAD DE GUADALAJARA Centro Universitario de Ciencias Económico-Administrativas Maestría en Tecnologías de Información Propuesta de Proyecto para Obtención de Grado Certificación Internacional: “Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer” y “Oracle Certified Expert, Java EE 6 Java Persistence API Developer”. Postulante: L.I. Rodrigo Gómez Quirarte 20 – Mayo – 2013 Proyecto para Obtención de Grado: Certificación Internacional Abstract (Resumen) El presente documento es una postulación formal de proyecto para obtención del grado de Maestro en Tecnologías de Información, que consiste en la obtención de dos certificados de tecnologías con validez internacional, concretamente “Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer” y “Oracle Certified Expert, Java EE 6 Java Persistence API Developer”, ambas basadas en la plataforma Java. Para contextualizar, este documento presenta una síntesis sobre el origen de las certificaciones en el campo de T.I., así como su impacto y relevancia en la industria, además de revisar el programa de certificación Java, ofrecido por Oracle Corporation, como una herramienta de evaluación estándar en el uso de esta tecnología. Página 2 Proyecto para Obtención de Grado: Certificación Internacional Índice Introducción .................................................................................................. 4 Justificación ................................................................................................... 8 Marco Teórico.............................................................................................. 10 Plan de Trabajo ............................................................................................ 17 Bibliografía .................................................................................................. 18 Página 3 Proyecto para Obtención de Grado: Certificación Internacional 1. Introducción 1.1 Las certificaciones en el campo de las Tecnologías de Información Tecnología de Información (T.I.) es, básicamente, el uso de sistemas de cómputo y telecomunicaciones para guardar, extraer, transmitir y manipular información. 1 En un sentido más amplio se define como el estudio, diseño, desarrollo, implementación, soporte ó administración de sistemas de información basados en computadoras, particularmente aplicaciones de software y hardware de computadoras. 2 Se establece entonces que T.I. es un campo muy diversificado en áreas de investigación y aplicación en el mundo actual, donde muchas industrias de distintos ramos como software, redes, hardware de computadoras, semiconductores, etc. convergen para lograr el objetivo de tratar la información digital. Debido su naturaleza, y el alto grado de especialización que se requiere para un profesionista en T.I., algunas empresas determinaron que los grados universitarios no eran suficientes para definir si una persona era capaz de desempeñar un empleo específico 3, ya que a su consideración el sistema tradicional de educación era demasiado lento comparado con el constante cambio y avances en el campo, por lo que crearon programas de certificación que ayudan a determinar si un candidato cuenta con una habilidad (del inglés skill, y que definiremos como un conjunto de conocimientos sobre un tema específico) determinada4, ó en su caso, proveer con entrenamiento adecuado para lograrlo. Con el tiempo, fue una práctica que se regularizó en toda la industria. Dentro del contexto de las T.I, una certificación es, concretamente, el proceso por el cual se evalúa el conocimiento o habilidad de un candidato sobre un tema ó área de interés validado contra un conjunto predeterminado de habilidades requeridas.5 El resultado de una certificación se puede definir como un certificado ó como una credencial, que es meramente la prueba de haber completado el mencionado proceso. Se caracteriza por tener los siguientes elementos: Alcance: Define los conocimientos que abarca la credencial, que puede ser desde conocimientos generales de un producto, habilidad o plataforma, hasta la aplicación práctica de soluciones ó metodologías. Requisitos: Son las condiciones que los candidatos deben cumplir para lograr el certificado. Pueden incluir, entre otros, exámenes teóricos, exámenes prácticos (diseño de soluciones), comprobantes de experiencia profesional, etc. Para algunos 1 (Daintith, 2009) (Gale Cengage, 2001) 3 (Aranda, 2007) 4 (Fedak, Chlebana, Sivy, Jakab, Varnham, & Belko, 2011) 5 (CompTIA, 2004) 2 Página 4 Proyecto para Obtención de Grado: Certificación Internacional casos particulares el simple hecho de completar algún curso de entrenamiento es suficiente. La credencial expedida contiene un título, además de una vigencia que indica el periodo tiempo que permanece válida. En algunos casos las vigencias son vitalicias. El proceso de certificación, su alcance, sus requisitos, así como los certificados son establecidos y/ó emitidos por una autoridad competente. Cuando se trata de una tecnología específica, regularmente esta autoridad es el creador de la tecnología, mientras que cuando se trata de un conocimiento más general, la autoridad puede ser una institución educativa o un tercer interesado. En ocasiones también se utiliza la modalidad de trayectorias de certificación, que son un grupo de certificaciones relacionadas a un conjunto de habilidades que tienen aspectos en común, ó forman parte de un programa de certificación por niveles que indican el grado de dominio en la habilidad (por ejemplo, básico ó avanzado). La importancia de las certificaciones T.I. en el mundo actual es su aplicación como un método estandarizado de valoración de habilidades y conocimientos especializados6. 1.2 Certificaciones sobre la plataforma Java El diseño y desarrollo de aplicaciones es una de las ramas de las T.I., donde múltiples empresas ofrecen soluciones para facilitar la implementación de software. Una de ellas es Oracle Corporation, una empresa transnacional con sede en Estados Unidos de América, dedicada a proveer soluciones tanto en hardware como en software. En 2009 adquiere a Sun Microsystems7, y con ello también adquiere una de sus principales plataformas tecnológicas, Java (creada en 1995 por Sun8). Java está basado en el lenguaje de programación del mismo nombre, y comprende un amplio conjunto de tecnologías para el desarrollo de aplicaciones a nivel web, móvil y escritorio con múltiples ventajas sobre otras plataformas, las cuales incluyen, entre otras, un ecosistema maduro, portabilidad entre ambientes y un rendimiento creciente en cada nueva versión9. Oracle ofrece un extenso marco de entrenamiento con programas de certificación en sus diversas soluciones, incluida en ellos la mencionada plataforma Java. Al ser esta bastante extensa, este programa de credenciales se presenta como una trayectoria de certificación10, y es heredado de la adquisición que hizo de Sun Microsystems, donde Oracle introduce algunos cambios para realizar una equivalencia a sus programas actuales. 6 (Fedak, Chlebana, Sivy, Jakab, Varnham, & Belko, 2011) (ZDNet, 2009) 8 (Oracle Corporation) 9 (Oracle Corporation, 2013) 10 (Oracle Corporation, 2013) 7 Página 5 Proyecto para Obtención de Grado: Certificación Internacional La característica de este programa, como la mayoría de los de Oracle, es que presenta niveles que van desde “Asociado” hasta “Maestro”, e indican principalmente que tan amplio es el alcance de la certificación11, en donde los requisitos aumentan conforme se avanza en el programa. Figura A. Trayectoria de certificación en Java propuesto por Oracle. La trayectoria de certificación en Java (ver figura A) inicia en el nivel “Asociado”, donde se conocen a grandes rasgos los aspectos de la plataforma. Se continúa en el nivel “Programador” que otorga las credenciales de conocer la especificación de Java como lenguaje de programación. De este punto se puede acceder al nivel “Experto” que prueba que la persona certificada domina una ó varias especificaciones que oficialmente forman parte de la plataforma Java. Hasta este nivel los requisitos de las certificaciones son exámenes teóricos y haber aprobado los niveles anteriores la certificación aspirada. El último nivel, “Maestro”, supone un reto mayor pues sus requisitos establecen la solución de un problema mediante el diseño y desarrollo de un sistema, además de un ensayo escrito para defender las ideas aplicadas en esta solución. Este nivel en general no requiere certificaciones previas, e intenta ser una credencial que pruebe que los conocimientos de la persona tienen un nivel sobresaliente en el uso de la plataforma como solución, y no solo a nivel de teoría. Cabe mencionar que los certificados que expide Oracle son de vigencia vitalicia, pero especifican una versión particular de la plataforma. 11 (Oracle Corporation, 2013) Página 6 Proyecto para Obtención de Grado: Certificación Internacional 1.3 Selección de credenciales a obtener Como parte del proceso para la obtención del título de Maestro en Tecnologías de Información, se incluye la obtención de dos certificados de la trayectoria de Java de nivel “Experto”. Éstos son: Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer Oracle Certified Expert, Java EE 6 Java Persistence API Developer Página 7 Proyecto para Obtención de Grado: Certificación Internacional 2. Justificación 2.1 Impacto de las certificaciones en el ámbito laboral En México el impacto de una certificación es bastante alto. Los resultados de un estudio recuente muestran que para un profesionista promedio dentro de la industria los resultados a 18 meses de haberse certificado incluyen12, Conseguir un aumento de sueldo promedio de 13%. 27% han obtenido un nuevo empleo. 29% han obtenido dos nuevos empleos. 76% ha conseguido un ascenso. De dirigir en promedio 2.4 personas, ahora dirige a 3.1. Figura C. Sueldos promedio en 2012 por Lenguaje (L), Certificación (C) ó Plataforma (P). Fragmento. 13 En términos organizacionales, otro estudio muestra que, los equipos formados de personas certificadas son 28% más productivos14. Las certificaciones influencian de manera importante las decisiones de los ejecutivos en industrias T.I. pues se muestra que el 61% de los reclutadores y los encargados de tomar decisiones sobre nuevos recursos dentro de las empresas muestra un nivel alto de confianza de que los candidatos con estas credenciales pueden cumplir con las responsabilidades dentro de los puestos ofertados.15 12 (Select Estrategia, 2012) (SG Software Guru, 2012) 14 (IDC, 2009) 15 (Edge Research, 2013) 13 Página 8 Proyecto para Obtención de Grado: Certificación Internacional Los sectores de electrónica, automotriz, aeronáutica y outsourcing de T.I en México necesitan alrededor de 250,000 nuevos profesionistas con certificación en programas nivel medio o avanzado, y se prevé que esta demanda aumentará durante los próximos años. 16 2.2 Elección personal de certificación en Java 16 17 Obtención de grado: Mediante la validación de un ente externo e internacional, se proponer como proyecto para la obtención del grado como Maestro en Tecnologías de Información. Perfil Profesional: Con 5 años de experiencia como desarrollador y 1 como líder de proyecto sobre la plataforma Java, se pretende reforzar el perfil mediante una validación externa y estándar. Antecedentes: Se cuenta con las certificaciones “Sun Certified Java Programmer for the Java Platform Standard Edition 5.0”, y “Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5”. Éstas, homologadas al esquema de Oracle, son de nivel “Programador” y “Experto” respectivamente. Se busca continuar el programa en otras áreas de esta tecnología. Mercado: Java es actualmente la plataforma para desarrollo con más penetración en el mercado empresarial17. Condiciones laborales: Se persigue una mejora en posición (ascenso), así como los parámetros que rodean a esta (remuneración, prestaciones, confianza, etc.) Situación actual: La especialización en estas dos certificaciones refiere a que los conocimientos que validan son los mismos a los que actualmente están en desarrollo y entrenamiento en el ambiente laboral. (MexicoFIRST, 2012) (W3Techs Web Technology Surveys, 2013) Página 9 Proyecto para Obtención de Grado: Certificación Internacional 3. Marco Teórico 3.1 Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer 3.1.1 Generalidades 3.1.1.1 Alcance El evaluado en esta certificación debería tener la capacidad de construir funcionalidad robusta para el back-end de aplicaciones empresariales usando la tecnología “Enterprise JavaBeans (EJB)” versión 3.1. 3.1.1.2 Requisitos Son dos los requisitos para obtener esta credencial: 1. Poseer un certificado de un nivel anterior (“Programador”), en cualquier versión de Java. 2. Someter a evaluación en el examen teórico “1Z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam”* y aprobarlo. *Los parámetros de este examen de evaluación son: Costo: $300 USD Número de preguntas: 60 Calificación mínima aprobatoria: 73% Tiempo máximo para contestar: 110 minutos. Figura B. Pasos para obtener el certificado Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer. Página 10 Proyecto para Obtención de Grado: Certificación Internacional 3.1.1.3 Credencial El certificado emitido por cumplir con el proceso de certificación es “Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer”. La vigencia de ésta es vitalicia, pero atada específicamente a la versión 6 de la plataforma “Java Enterprise Edition”. 3.1.2 Fundamentación La tecnología relacionado con esta certificación en “Enterprise JavaBeans (EJB)” versión 3.1. Viene descrita en la especificación JSR 318 de Sun Microsystems, con publicación final el 10 de diciembre de 200918. Esta especificación tiene la intención de proveer un método estándar de implementar el código de “negocio” que típicamente se encuentra en el back-end de las aplicaciones empresariales. Este código casi siempre enfrenta el mismo tipo de problemas, y las soluciones a estos son continua y repetidamente re-implementadas por los programadores. La solución “Enterprise JavaBeans (EJB)” intenta eliminar estos problemas manejando actividades como integridad transaccional, seguridad, recursos, etc. y deja a los programadores libres para concentrarse en los requerimientos de la aplicación. 3.1.3 Temas a evaluar Introducción a Java EE Entendimiento de la plataforma Java, Enterprise Edition (Java EE) Examinar la arquitectura de aplicaciones basadas en Java EE Examinar los servicies que provee un contenedor Java EE Examinar los tipos de componentes EJB Evaluar el contenedor EJB lite Comparar el desarrollo de aplicaciones Java EE con el desarrollo tradicional de aplicaciones empresariales. Implementación de Session Beans Examinar los Session Beans Identificar tres tipos de Session Beans Elegir el Bean correcto dada una restricción de negocio Crear un paquete de Session Beans y desplegarlos. Accesar Session Beans Entendimiento del rol de JNDI en relación a los componentes EJB Configurar las propiedades de ambiente de JNDI Utilizar JNDI para recuperar un recurso Escribir código que recibe una referencia a un recurso a través de inyección Crear un cliente de Session Bean Crear una fachada de Session 18 (Sun Microsystems, 2009) Página 11 Proyecto para Obtención de Grado: Certificación Internacional Utilizar inyección de dependencias para localizar un EJB Conceptos avanzados de Session Bean Entendimiento de la relación entre un contenedor EJB y un componente EJB Describir el ciclo de vida para Stateful y Stateless Session Beans Implementar métodos de ciclo de vida de un Session Bean Utilizar un Session Bean para realizar comunicación asíncrona Tener control sobre el empaquetamiento y despligue Singleton Session Bean Entender las ventajas y desventajas de utilizar un Singleton Session Bean Creación de un Singleton Session Bean Describir el ciclo de vida de un Singleton Session Bean Implementar métodos de ciclo de vida de un Singleton Bean Implementar una estrategia de control de concurrencia Desarrollo de aplicaciones Java EE utilizando Mensajería Entendimiento de la tecnología JMS Describir los roles de los participantes en un sistema de mensajería JMS Crear una cola productora de mensajes Crear un consumidor de mensajes síncrono Desarrollo de Message-Driven Beans Entendimiento de las deficiencias del uso de Session Beans como consumidores mensajes. Describir las propiedas y ciclo de vida de los Message-driven Beans Crear un JMS Message-driven Bean Crear un controlador de eventos de ciclo de vida para Message-driven Beans Configurar un JMS Message-driven Bean Utilizar servicios de Timer Describir los servicios Timer Crear callbacks para notificaciones de Timers Procesar un callback de notificación de Timer Administrar objetos Timer Implementación de clases y métodos Interceptor Describir los Interceptors y clases Interceptor Crear un método Interceptor de negocio en un EJB Crear una clase Interceptor Asociar múltiples Interceptors de negocio con un EJB Incluir métodos Interceptor de callbacks de ciclo de vida en una clase Interceptor Implementación de Transacciones Describir la administración de la demarcación de transacción Implementar transacciones manejadas por contenedor. Página 12 Proyecto para Obtención de Grado: Certificación Internacional Interactuar programáticamente con una transacción CMT activa Implementar transacciones manejadas por vean Aplicar transacciones a mensajería Implementación de Seguridad Entendimiento la arquitectura de seguridad de Java EE Autenticar el llamante Examinar las estrategias de autorización en Java EE Utilizar autorización declarativa Utilizar autorización programática Examinar las responsabilidades de quien despliega Utilizar las mejores prácticas de la tecnología EJB Definir las mejores prácticas y los beneficios de utilizarlas en EJB Seleccionar y aplicar patrones de diseño conocidos a Java EE Incorporar manejo de excepciones efectivo en el diseño de la aplicación 3.2 Oracle Certified Expert, Java EE 6 Java Persistence API Developer 3.2.1 Generalidades 3.2.1.1 Alcance El evaluado en esta certificación debería tener conocimientos sólidos en el desarrollo de funcionalidad en la capa persistencia de datos de una aplicación utilizando la tecnología “Java Persistence API (JPA)” versión 2.0. 3.2.1.2 Requisitos Son dos los requisitos para obtener esta credencial: 3. Poseer un certificado de un nivel anterior (“Programador”), en cualquier versión de Java. 4. Someter a evaluación en el examen teórico “1Z0-898 Java EE 6 Java Persistence API Developer Certified Expert Exam”* y aprobarlo. *Los parámetros de este examen de evaluación son: Costo: $300 USD Número de preguntas: 64 Calificación mínima aprobatoria: 61% Tiempo máximo para contestar: 135 minutos. Página 13 Proyecto para Obtención de Grado: Certificación Internacional Figura C. Pasos para obtener el certificado Oracle Certified Expert, Java EE 6 Java Persistence API Developer 3.2.1.3 Credencial El certificado emitido por cumplir con el proceso de certificación es “Oracle Certified Expert, Java EE 6 Java Persistence API Developer”. La vigencia de ésta es vitalicia, pero atada específicamente a la versión 6 de la plataforma “Java Enterprise Edition”. 3.2.2 Fundamentación La tecnología relacionada con esta certificación es el “Java Persistence API” versión 2.0. Esta tecnología viene descrita en la especificación JSR317 con publicación final el 10 de diciembre de 200919. La especificación describe la tecnología estándar utilizada como capa de persistencia en aplicaciones Java. Es una solución concreta ORM (mapeo objeto-relacional), para tratar la incompatibilidad natural en la representación de datos entre Java (basado en objetos) y las bases de datos relacionales (basado en tuplas relacionales). Esta tecnología crea una base de datos orientada a objetos “virtual” sobre la relacional, y libra al desarrollador de lidiar con la conversión de datos entre plataformas. 3.2.3 Temas a evaluar Visión general del API de Persistencia Java Describir los fundamentos del Mapeo Objecto-Relacional (ORM) Definir las conceptos clave de JPA (entity, entity manager, y persistence unit) Introducción a la aplicación de subastas Describir la aplicación de subastas 19 (Sun Microsystems, 2009) Página 14 Proyecto para Obtención de Grado: Certificación Internacional Definir los objetos dominio de la aplicación de subastas Describir el modelo de implementación del sistema de subastas Entidades de JPA Describir la diferencia entre objetos y entidades Describir la diferencia entre propiedades y campos persistentes Identificar y tu utilizar anotaciones comunes de JPA, como @Entity, @Id, @Table y @Column Entendimiento del Entity Manager Describir la relación entre el Entity Manager, Persistence Context y la Persitence Unit Describir la diferencie entre Entidad manejada por contenedor y Entidad manejada por aplicación Describir el ciclo de vida de una Entidad Modelar relaciones entre entidades Examinar las relaciones de asociación entre la información y objetos modelos Utilizar propiedades de relación para definir asociaciones Implementar asociaciones unidireccionales uno-a-uno Implementar asociaciones bidireccionales uno-a-uno Implementar asociaciones bidireccionales muchos-a-uno/uno-a-muchos Implementar asociaciones unidireccionales muchos-a-muchos Implementar asociaciones bidireccionales muchos-a-muchos Examinar los modos de fetch y cascade Herencia en Entidades y el Mapeo Objeto-Relacional Examinar la herencia en entidades Examinar las estrategias de herencia en el mapeo objeto-relacional Heredar de una clase entidad Heredar utilizando una Mapped Superclass Heredar utilizando una clase no entidad Examinar las estrategias de mapeo de herencia Utilizar clases embebibles Persistir Enums y Collections Persistir entidades que contienen enums con @Enumerated Persistir entidades que contienen listas con @ElementCollection Persistir entidades que contienen maps con @ElementCollection Introducción a las Consultas Página 15 Proyecto para Obtención de Grado: Certificación Internacional Encontrar una entidad por su llave primaria Entendimiento básico del lenguaje de consulta de JPA Entendimiento de las queries nativas en SQL Entendimiento básico de las consultas con Criteria API Utilizar el lenguaje de consulta de JPA (JPQL) Examinar el lenguaje de consulta de JPA Utilizar la sentencia SELECT Utilizar la sentencia UPDATE Utilizar la sentencia DELETE Utilizar la Criteria API de JPA Contrastar las consultas que usan Criteria API y las que usan JPQL Describir el metamodelo y su uso en consultas Crear consultas con Criteria API Utilizar JPA en un contenedor Utilizar JPA desde un servlet Utilizar JPA desde un Stateless Session Bean Implementar transacciones y cerrojos Describir la administración de demarcación de transacciones Implementar transacciones manejadas por contenedor (CMT) Interactuar programáticamente con una transacción CMT activa Implementar transacciones manejadas por vean (BMT) Aplicar transacciones a JPA Conceptos Avanzados de JPA Especificar llaves primarias compuestas Sobreescribir mapeos con las anotaciones @AttributeOverride @AssociationOverride Entendimientos de los Entity Listeners y los métodos callback y Página 16 Proyecto para Obtención de Grado: Certificación Internacional 4. Plan de Trabajo Actividad Preparación OCE JPA Developer Aplicación OCE JPA Developer Elaboración de propuesta de proyecto Presentación de propuesta Preparación OCE EJB Developer Documentación avances de proyecto Presentación avances de proyecto Aplicación OCE EJB Developer Registro de resultados finales Presentación proyecto final 12/2012 01/2013 02/2013 Ѻ Ѻ Ѻ Actividad Preparación OCE JPA Developer Aplicación OCE JPA Developer Elaboración de propuesta de proyecto Presentación de propuesta Preparación OCE EJB Developer Documentación avances de proyecto Presentación avances de proyecto Aplicación OCE EJB Developer Registro de resultados finales Presentación proyecto final 08/2013 09/2013 Ѻ Ѻ 03/2013 04/2013 05/2013 Ѻ Ѻ 06/2013 07/2013 Ѻ Ѻ 02/2014 03/2014 Ѻ Ѻ Ѻ Ѻ Ѻ 10/2013 11/2013 12/2013 01/2014 Ѻ Ѻ Ѻ Ѻ Ѻ Ѻ Página 17 Proyecto para Obtención de Grado: Certificación Internacional Bibliografía Aranda, N. (2007, Marzo 20). A Brief History of Cisco Certificartion Training. Retrieved Marzo 25, 2013, from Ezine Articles: http://ezinearticles.com/?A-Brief-History-of-Cisco-CertificationTraining&id=496503 CompTIA. (2004). The Situation and the Role Of E-Skills Industry Certification in Europe., (pp. 18-19). Daintith, J. (2009). A Dictionary of Physics. Oxford University Press. Edge Research. (2013, Febrero). Results from an Online Survey for Prometric. IT Certification Research . Fedak, V., Chlebana, P., Sivy, I., Jakab, F., Varnham, J., & Belko, P. (2011). IT industrial certifications in practice. 9th IEEE International Conference on Emerging eLearning Technologies and Applications, (pp. 51-56). Stará Lesná, The High Tatras, Slovakia. Gale Cengage. (2001). Encyclopedia of Business and Finance. Retrieved Febrero 20, 2013, from eNotes.com: http://www.enotes.com/information-technology-reference/information-technology174329 IDC. (2009, Noviembre). Impact of Training on Network Administration: Certification Leads to Operational Productivity. MexicoFIRST. (2012, Agosto). El i-Dream de MexicoFIRST. Retrieved Abril 24, 2013, from SoftwareGuru: http://sg.com.mx/revista/el-i-dream-mexicofirst Oracle Corporation. (2013). Java Technology Overview. Retrieved Febrero 23, 2013, from Orale Website: http://www.oracle.com/us/technologies/java/overview/index.html Oracle Corporation. (2013). Oracle Certification Program. Retrieved Febrero 28, 2013, from Oracle Website: http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=50#1 Oracle Corporation. (2013). Oracle Certification Program Categories. Retrieved Marzo 10, 2013, from Oracle Website: http://education.oracle.com/pls/web_prod-plqdad/db_pages.getpage?page_id=146 Oracle Corporation. (2013). Oracle Certified Expert, Java EE 6 Java Persistence API Developer. Retrieved Febrero 15, 2013, from Oracle Website: http://education.oracle.com/pls/web_prod-plqdad/db_pages.getpage?page_id=458&get_params=p_track_id:JEE6JP Oracle Corporation. (2013). Oracle Certified Expert, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer. Retrieved Febrero 15, 2013, from Oracle Website: http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=431 Oracle Corporation. (n.d.). The History of Java Technology. Retrieved Marzo 17, 2013, from Oracle Website: http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html Página 18 Proyecto para Obtención de Grado: Certificación Internacional Select Estrategia. (2012, Agosto). El impacto de la certificación en los profesionistas vinculados a México FIRST. Estrategia de seguimiento de egresados de MexicoFIRST y medición del impacto del programa . SG Software Guru. (2012, Noviembre). Estudio de Salarios SG 2012. Retrieved Abril 17, 2013, from SoftwareGuru: http://sg.com.mx/revista/38/estudio-salarios-sg-2012 Sun Microsystems. (2009, Diciembre 10). EJB Core Contracts and Requirements. JSR 318: Enterprise JavaBeansTM,Version 3.1 . Sun Microsystems. (2009, Diciembre 2010). JSR 317: JavaTM Persistence API, Version 2.0. W3Techs Web Technology Surveys. (2013). Usage statistics and market share of Java for websites. Retrieved Mayo 10, 2013, from W3Techs: http://w3techs.com/technologies/details/pl-java/all/all ZDNet. (2009, Abril 20). Oracle buys Sun; Now owns Java; Becomes a hardware player. Retrieved Marzo 27, 2013, from ZDNet News: http://www.zdnet.com/blog/btl/oracle-buys-sun-now-ownsjava-becomes-a-hardware-player/16598 Página 19