Está en la página 1de 7

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS


Y FISICAS.

INTEGRANTE:
Ponce Vera Lisbeth Paola

MATERIA:
Arquitectura Y Servicios Distribuidos

DOCENTE:
Ing. Ángel Ochoa Flores, MSc.

CURSO:
TIN-S-NO-9-1

PERIODO
2023 - 2024 CI
INTRODUCCION A SERVICIOS WEB

Definición
Es un objeto que tiene todas o parte de sus funciones accesibles mediante protocolos de red. Es una
interfaz, accesible por protocolos usados en Internet, que permite acceder a las funcionalidades de un
objetivo concreto, sin importar las tecnologías ni plataforma implicadas en la petición.

Características
➢ Permite la interoperabilidad y el uso de multiplataformas.
➢ Su formato está basado en texto.
➢ Es una herramienta de fácil uso y fácil acceso.
➢ Provee servicios integrados.
➢ Su alcance es global.
➢ Hace posible el intercambio de mensajes SOAP (Simple Object Access Protocol).

Arquitecturas

Arquitectura funcional

Podemos distinguir tres agentes con diferentes funciones:

Implementa unas determinadas operaciones (servicio). Un cliente


Proveedor de servicio
podrá solicitar uno de estos servicios a este proveedor.

Invoca a un proveedor de servicio para la realización de alguna de


Cliente del servicio
los operaciones que proporciona.

Mantiene una lista de proveedores de servicios disponibles, junto a


Registro de servicios
sus descripciones.

Arquitectura de capas de protocolos

Los protocolos utilizados en los Servicios Web se organizan en una serie de capas:
Capa Descripción

Es la capa que se encarga de transportar los mensajes entre


aplicaciones. Normalmente se utiliza el protocolo HTTP para este
Transporte de servicios transporte, aunque los servicios web pueden viajar mediante otros
protocolos de transferencia de hipertexto como SMTP, FTP o
BEEP.

Es la capa responsable de codificar los mensajes en XML de forma


Mensajería XML que puedan ser entendidos por cualquier aplicación. Puede
implementar los protocolos XML-RPC o SOAP.

Se encarga de definir la interfaz pública de un determinado


Descripción de servicios
servicio. Está definición se realiza mediante WSDL.

Se encarga del registro centralizado de servicios, permitiendo que


Localización de servicios estos sean anunciados y localizados. Para ello se utiliza el
protocolo UDDI.

Aplicaciones
❖ XML (Extensible Markup Language)
❖ SOAP (Simple Object Access Protocol)
❖ WSDL (Web Services Description Language)
❖ UDDI (Universal Description, Discovery and Integration)
❖ WS-Security (Web Service Security)
❖ REST (Representational State Transfer)

Ejemplo
Búsquedas simples

Este ejemplo muestra como ejecutar búsquedas simples y navegar por los resultados usando el
Repository Web Service.
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.alfresco.webservice.repository.QueryResult;
import org.alfresco.webservice.repository.RepositoryFault;
import org.alfresco.webservice.repository.RepositoryServiceSoapBindingStub;
import org.alfresco.webservice.types.NamedValue;
import org.alfresco.webservice.types.Query;
import org.alfresco.webservice.types.Reference;
import org.alfresco.webservice.types.ResultSet;
import org.alfresco.webservice.types.ResultSetRow;
import org.alfresco.webservice.util.AuthenticationUtils;
import org.alfresco.webservice.util.Constants;
import org.alfresco.webservice.util.WebServiceFactory;
/**
* Ejemplo 2
* <p>
* Este ejemplo muestra como ejecutar una busqueda usando el repository web service y como
* buscar por los nodos padres.
*
* @author Roy Wetherall
*/
public class Query1 extends SamplesBase
{
/**
* Función principal
*/
public static void main(String[] args)
throws Exception
{
// Iniciar la sesión
AuthenticationUtils.startSession(USERNAME, PASSWORD);

try
{
// Asegurarse de que los datos de ejemplo se han creado
createSampleData();

// Ejecutar la busqueda de ejemplo


executeSearch();
}
finally
{
// Finalizar la sesion
AuthenticationUtils.endSession();
}
}
/**
* Ejecutar una busqueda de prueba y dar un ejemplo de uso de un consulta paterna.
*
* @return devuelve una referencia a la carpeta que es el padre de los resultados
* ( usado en los siguientes ejemplos)
* @throws ServiceException Service exception
* @throws RemoteException Remove exception
* @throws RepositoryFault Repository fault
*/
public static Reference executeSearch() throws ServiceException, RemoteException, RepositoryFault
{
Reference parentReference = null;

// Obtener la referencia al respository web service


RepositoryServiceSoapBindingStub repositoryService = WebServiceFactory.getRepositoryService();

// Crear un objeto query, que busque por todos los items con alfresco en el nombre del texto
Query query = new Query(Constants.QUERY_LANG_LUCENE, "TEXT:'alfresco development team'");

// Ejecutar la consulta
QueryResult queryResult = repositoryService.query(STORE, query, false);

// Mostrar los resultados


ResultSet resultSet = queryResult.getResultSet();
ResultSetRow[] rows = resultSet.getRows();
if (rows == null)
{
System.out.println("No se han encontrado resultados.");
}
else
{
System.out.println("Resultados de la consulta:");
outputResultSet(rows);

// Obtener el id del primer resultado


String firstResultId = rows[0].getNode().getId();
Reference reference = new Reference(STORE, firstResultId, null);

// Obtener el padre(s) del primer resultado


QueryResult parentQueryResult = repositoryService.queryParents(reference);

// Obtener el padre del primer resultado


ResultSet parentResultSet = parentQueryResult.getResultSet();
ResultSetRow[] parentRows = parentResultSet.getRows();
if (parentRows == null)
{
System.out.println("No se ha encontrado ningun resultado.");
}
else
{
System.out.println("Resultados de la consulta de los padres:");
outputResultSet(parentRows);

// devolver el primer padre


String firstParentId = parentRows[0].getNode().getId();
parentReference = new Reference(STORE, firstParentId, null);
}
}

return parentReference;
}
/**
* Metodo de ayuda para devolver las filas contenidas en un conjunto de resultados
*
* @param rows un array de filas
*/
public static void outputResultSet(ResultSetRow[] rows)
{
if (rows != null)
{
for (int x = 0; x < rows.length; x++)
{
ResultSetRow row = rows[x];
NamedValue[] columns = row.getColumns();
for (int y = 0; y < columns.length; y++)
{
System.out.println("row " + x + ": "
+ row.getColumns(y).getName() + " = "
+ row.getColumns(y).getValue());
}
}
}
}
Resumen

Un web service no es nada "nuevo" en conjunto, sino que es simplemente un nuevo uso de las
herramientas que ya existían, para conseguir que los servicios informáticos puedan abrir su abanico
de clientes, su facilidad y versatilidad de implantación, aunando varias tecnologías mediante
estándares acogidos por las grandes empresas de la informática.

BIBLIOGRAFIAS

https://books.google.es/books?hl=es&lr=&id=n-
QmNqifvugC&oi=fnd&pg=PA7&dq=definici%C3%B3n+de+web+services&ots=JCcoK0b
_Q5&sig=zd41suw4nF_qWS1ovGRiFHTrhTs#v=onepage&q=definici%C3%B3n%20de%2
0web%20services&f=false

https://www.crehana.com/blog/transformacion-digital/que-es-web-service/

http://www.jtech.ua.es/j2ee/2002-2003/modulos/sw/apuntes/apuntes1.htm

https://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/41

También podría gustarte