2. JAVA
Java Web Services Development Pack el paquete de desarrollo de servicios web de java
(JWSDP) es un kit libre de desarrollo de software (SDK) para desarrollar servicios web,
aplicaciones web y aplicaciones Java con las nuevas tecnologías de Java.
JWSDP ha sido sustituido por GlassFish. Todos los componentes de JWSDP forman parte
de Glassfish y WSIT, varios están en Java SE 6 ("Mustang"). El código fuente está
disponible bajo la licencia CDDL, la cual está aprobada por la Open Source Initiative.
Los componentes y APIs disponibles en el JWSDP 1.6 son:
Java API for XML Processing (JAXP), v 1.3
Java Architecture for XML Binding (JAXB), v 1.0 and 2.0
JAX-RPC v 1.1
JAX-WS v 2.0
SAAJ (SOAP with Attachments API for Java)
Java API for XML Registries (JAXR)
Web Services Registry
Los paquetes, clases, anotaciones e interfaces que implementan JAX-WS habitualmente
forman parte de un servidor de aplicaciones Java EE, aunque la implementación de
referencia se distribuye dentro de JAVA SE 6 (jdk 1.6), por lo que es posible utilizarlo de
forma aislada.
Las clases, interfaces y anotaciones se encuentran en el paquete javax.xml.ws y sus
descendientes.
JAX-WS reemplaza y amplía al anterior API de accesos a servicios Web (JAX-RPC), aunque
actualmente ambos están en uso.
JAX-WS hace uso de anotaciones Java para describir elementos de las clases implicadas en
la implementación del servicio y simplificar el desarrollo de servicios Web.
Las anotaciones Java son un mecanismo para asociar metadatos al código Java que
permiten describirlo.
Se introdujeron en la versión Java SE 5 (jdk 1.5)
Permiten indicar de forma declarativa características y/o propiedades de
fragmentos de código (clases, atributos, métodos, etc.) que hacen posible
automatizar determinadas tareas.
PHP
3. PHP es un lenguaje de programación de uso general de código del lado del servidor
originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los
primeros lenguajes de programación del lado del servidor que se podían incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que procese
los datos. El código es interpretado por un servidor web con un módulo de procesador de
PHP que genera la página Web resultante. PHP ha evolucionado por lo que ahora incluye
también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas
independientes. PHP puede ser usado en la mayoría de los servidores web al igual que en
casi todos los sistemas operativos y plataformas sin ningún costo.
PHP fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje sigue
siendo desarrollado con nuevas funciones por el grupo PHP.1
Este lenguaje forma parte
del software libre publicado bajo la licencia PHP que es incompatible con la Licencia
Pública General de GNU debido a las restricciones del uso del término PHP.2
Características
Orientado al desarrollo de aplicaciones web dinámicas con acceso a información
almacenada en una base de datos.
Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se
simplificaron distintas especificaciones, como es el caso de la definición de las
variables primitivas, ejemplo que se hace evidente en el uso de php arrays.
El código fuente escrito en PHP es invisible al navegador web y al cliente, ya que es
el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al
navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que se
utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
Capacidad de expandir su potencial utilizando módulos (llamados ext's o
extensiones).
Posee una amplia documentación en su sitio web oficial, entre la cual se destaca
que todas las funciones del sistema están explicadas y ejemplificadas en un único
archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Permite aplicar técnicas de programación orientada a objetos. Incluso aplicaciones
como Zend framework, empresa que desarrolla PHP, están totalmente
desarrolladas mediante esta metodología.
No requiere definición de tipos de variables aunque sus variables se pueden
evaluar también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la
hora de programar, aun haciéndolo, el programador puede aplicar en su trabajo
cualquier técnica de programación o de desarrollo que le permita escribir código
ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que
en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que
4. permiten separar el tratamiento y acceso a los datos, la lógica de control y la
interfaz de usuario en tres componentes independientes.
Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las
aplicaciones WEB de manejo de contenido, y es su uso principal.
Inconvenientes
Como es un lenguaje que se interpreta en ejecución, para ciertos usos puede
resultar un inconveniente que el código fuente no pueda ser ocultado. La
ofuscación es una técnica que puede dificultar la lectura del código pero no
necesariamente impide que el código sea examinado.
Debido a que es un lenguaje interpretado, un script en PHP suele funcionar
considerablemente más lento que su equivalente en un lenguaje de bajo nivel, sin
embargo este inconveniente se puede minimizar con técnicas de cache tanto en
archivos como en memoria.
Las variables al no ser tipadas dificulta a los diferentes IDEs para ofrecer asistencias
para el tipeado del código, aunque esto no es realmente un inconveniente del
lenguaje en sí. Esto es solventado por Zend Studio añadiendo un comentario con el
tipo a la declaración de la variable.
XAMPP es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para
lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de
los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado
bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de
interpretar páginas dinámicas. Actualmente XAMPP esta disponible para Microsoft
Windows, GNU/Linux, Solaris, y MacOS X.
LAMP presenta una funcionalidad parecida a XAMPP, pero enfocada en Linux, y WAMP lo
hace enfocado en Windows.
Principales sitios desarrollados con PHP
PHP es utilizado en millones de sitios, entre los más destacados se encuentran
Wikipedia.org, Facebook.com y Wordpress.com.
5. PERL
Perl es un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma
características del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp
y, en un grado inferior, de muchos otros lenguajes de programación.
Estructuralmente, Perl está basado en un estilo de bloques como los del C o AWK, y fue
ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las
limitaciones de los otros lenguajes de script
El intérprete tiene una arquitectura orientada a objetos. Todos los elementos del lenguaje
Perl —escalares, listas, hashes, referencias a código, manejadores de archivo— están
representados en el intérprete como estructuras C. Las operaciones sobre estas
estructuras están definidas como una numerosa colección de macros, typedef y funciones;
esto constituye la API C de Perl. La API Perl puede ser desconcertante para el no iniciado,
pero sus puntos de entrada siguen un esquema de nombres coherente, que ayuda a los
que quieran utilizarla.
La ejecución de un programa Perl se puede dividir, generosamente, en dos fases: tiempo
de compilación y tiempo de ejecución.7
En tiempo de compilación el intérprete parsea el
texto del programa en un árbol sintáctico. En tiempo de ejecución, ejecuta el programa
siguiendo el árbol. El texto es parseado sólo una vez y el árbol sintáctico es optimizado
antes de ser ejecutado, para que la fase de ejecución sea relativamente eficiente. Las
optimizaciones del árbol sintáctico en tiempo de compilación incluyen simplificación de
expresiones constantes, propagación del contexto y optimización en trozos sueltos de
código. Sin embargo, las fases de compilación y ejecución pueden anidarse: un bloque
BEGIN se ejecuta en tiempo de compilación, mientras que una función eval inicia una
compilación durante una ejecución. Ambas operaciones están implícitas en otras -de
forma notable, la cláusula use que carga bibliotecas, conocidas en Perl como módulos,
implica un bloque BEGIN.
El mantenimiento del intérprete Perl, a lo largo de los años, se ha vuelto cada vez más
difícil. El núcleo ha estado en continuo desarrollo desde 1994. El código ha sido
optimizado en rendimiento a expensas de la simplicidad, claridad y unas interfaces
internas más fuertes. Nuevas características han sido añadidas, manteniendo todavía,
compatibilidad virtualmente completa hacia atrás con las primeras versiones. El tamaño y
la complejidad del intérprete son una barrera para los desarrolladores que desean
trabajar en él.
Perl es distribuido con unos 120.000 test funcionales. Éstos se ejecutan como parte del
proceso normal de construcción y comprueban extensamente al intérprete y a sus
módulos principales. Los desarrolladores Perl confían en los test funcionales para
asegurarse que los cambios en el intérprete no introducen errores; recíprocamente, los
6. usuarios Perl que vean al intérprete pasar los test funcionales en su sistema pueden tener
un alto grado de confianza de que está funcionando adecuadamente.
No hay una especificación o estándar escrito para el lenguaje Perl y no hay planes de crear
uno para la versión actual de Perl. Siempre ha existido sólo una implementación del
intérprete. Este intérprete, junto con los test funcionales, forman la especificación de
facto del lenguaje.
Cómo implementar en Perl Web Services con WSDL y SOAP
WSDL (Web Services Description Language) es una especificación del W3C para la
comunicación entre un cliente y un servidor a través del protocolo HTTP. Al utilizar HTTP,
un cliente conectado a Internet puede acceder a los servicios ofrecidos por servidores
internet, de la misma manera que un navegador se conecta a un servidor web para
solicitar una página.
Para solicitar el servicio, el cliente envía un mensaje de solicitud en formato SOAP XML. La
especificación SOAP (Simple Object Access Protocol) establece la manera de representar,
en el interior de la solicitud, el tipo de solicitud y los nombres y valores de sus
argumentos. El servidor realiza la operación solicitada, y le entrega al cliente un mensaje
de respuesta que también está en formato SOAP XML. El mensaje de respuesta contiene
los datos solicitados, y un status que indica si la solicitud se ha procesado correctamente o
bien se ha producido algún tipo de error.
GOOGLE
Google Inc. es la empresa propietaria de la marca Google, cuyo principal producto es el
motor de búsqueda de contenido en Internet del mismo nombre.
Aunque su principal producto es el buscador, la empresa ofrece también otros servicios:
un servicio de correo electrónico llamado Gmail, su mapamundi en 3D Google Earth, un
servicio de mensajería instantánea basado en XMPP llamado Google Talk, el sitio web de
vídeos YouTube, otras utilidades web como Google Libros o Google Noticias, el navegador
web Google Chrome, y su más reciente creación, el servicio de red social Google+, al igual
lidera el desarrollo del sistema operativo basado en Linux, Android, usado actualmente en
teléfonos celuláres y tabletas. Actualmente está trabajando en un proyecto de gafas de
realidad aumentada, el Project Glass, en un servicio de fibra óptica; el Google Fiber y en
vehículos autónomos.
Listado de los servicios web que ofrece google:
2.1.1 Buscador de Google
2.1.2 Google Imágenes
2.1.3 Google Grupos
7. 2.1.4 Google Noticias
2.1.5 Gmail
2.1.6 Google Video
2.1.7 Google Maps
2.1.8 AdSense
2.1.9 Adwords
2.1.10 Google Calendar
2.1.11 YouTube
2.1.12 Google Latitude
2.1.13 Otros servicios web