ES2278066T3 - Ofrecimiento de servicios agregados en un entorno informatico distribuido. - Google Patents
Ofrecimiento de servicios agregados en un entorno informatico distribuido. Download PDFInfo
- Publication number
- ES2278066T3 ES2278066T3 ES02783324T ES02783324T ES2278066T3 ES 2278066 T3 ES2278066 T3 ES 2278066T3 ES 02783324 T ES02783324 T ES 02783324T ES 02783324 T ES02783324 T ES 02783324T ES 2278066 T3 ES2278066 T3 ES 2278066T3
- Authority
- ES
- Spain
- Prior art keywords
- service
- services
- user
- access
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
Un método para proporcionar un servicio agregado en una red informática (100, 120, 150), que comprende los pasos de: obtener (600) credenciales de un usuario que requiere el acceso a un servicio agregado; localizar, en un registro accesible por la red, un documento de descripción del servicio que especifique un interfaz de aprovisionamiento para el servicio agregado, comprendiendo el servicio agregado una agregación de una pluralidad de sub-servicios y especificando el interfaz de aprovisionamiento cómo invocar funciones de identidad del servicio agregado; analizar (620, 630) las credenciales obtenidas invocando una o más de las funciones de identidad, de acuerdo con la especificación de las mismas en el interfaz de aprovisionamiento, para determinar si el usuario está autenticado para acceder al servicio agregado; y permitir que el usuario acceda al servicio agregado solamente si el análisis determina que el usuario está autenticado para acceder al servicio agregado.
Description
Ofrecimiento de servicios agregados en un
entorno informático distribuido.
La presente invención está relacionada con la
patente de Estados Unidos RSW920010189
(US-A-2003055868, número de serie
09/955.788), que se titula "Construcción de Servicios de Software
Distribuido como Agregados a otros Servicios"; con la patente de
Estados Unidos RSW920010190
(US-A-2003055878, número de serie
09/956.268), que se titula "Gestión Programática de Recursos de
Software en un Entorno de un Entramado de Contenidos"; y con la
patente de Estados Unidos RSW920010144
(US-A-2003055624, número de serie
09/956.276), que se titula "Integración Dinámica en Tiempo Real
de Recursos de Software por medio de Servicios de un Entramado de
Contenidos", todas las cuales están comúnmente cedidas a
International Business Machines Corporation y que fueron presentadas
el 19 de Septiembre de 2001. Estas patentes de Estados Unidos son
denominadas en la presente memoria como "las invenciones
relacionadas".
La presente invención está relacionada con
software de ordenadores, y trata más en particular con técnicas para
proporcionar servicios agregados en un entorno informático
distribuido.
La popularidad de las redes informáticas
distribuidas y de los ordenadores en red ha aumentado tremendamente
en los años recientes, debido en gran parte al creciente negocio y
el uso del consumidor de la red pública de Internet y del
subconjunto de la misma conocido por "World Wide Web"
("Entramado Mundial de Redes", o simplemente "Web" o
"Red"). Otros tipos de redes informáticas distribuidas, tales
como las "intranets" (redes internas) corporativas y las
"extranets" (intranets extendidas), están creciendo también en
popularidad. Como los proveedores de soluciones se enfocan en la
distribución mejorada de informática basada en la Web, muchas de las
soluciones que se desarrollan son adaptables a otros entornos
informáticos distribuidos. Así, las referencias de esta memoria a
Internet y a la Web son para fines de ilustración y no de
limitación.
Un área en la que se han hecho avances de
informática distribuida es la denominada iniciativa de "servicios
web". Esta iniciativa es denominada también comúnmente
"arquitectura orientada al servicio" para la informática
distribuida. Los servicios Web son una tecnología rápidamente
emergente para la integración de aplicaciones distribuidas en
Internet. En general, un "servicio Web" es un interfaz que
describe una colección de operaciones accesibles a la red. Los
servicios Web cumplen una tarea específica o un conjunto de tareas.
Pueden trabajar con otro u otros más servicios Web de una manera
interfuncional para llevar a cabo su parte de un complejo flujo de
trabajo o de una transacción de negocios. Por ejemplo, completar una
transacción compleja de una orden de compra puede requerir la
interacción automatizada entre un servicio de compras (es decir, un
software para compras) en el negocio que hace el pedido y un
servicio que cumpla con el pedido en uno o más de sus socios de
negocio.
Muchos expertos en la industria consideran que
la iniciativa de servicios Web orientados al servicio será la
próxima fase evolutiva de Internet. Con los servicios Web, el acceso
de una red distribuida al software llegará a estar ampliamente
disponible para el funcionamiento de programa a programa, sin
requerir intervención humana.
Los servicios Web están generalmente
estructurados utilizando un modelo en el cual una empresa que
proporciona servicios accesibles a la red publica los servicios en
un registro accesible a la red, y otras empresas que necesitan los
servicios pueden hacer peticiones al registro para averiguar la
disponibilidad de los servicios. Los participantes de este modelo
informático son denominados comúnmente como (1) proveedores de
servicios, (2) solicitantes de servicios, y (3) agentes de
servicios. Estos participantes, y las operaciones fundamentales
implicadas en el intercambio de mensajes entre ellos, están
ilustrados en la figura 1. Los proveedores 100 de servicios son
entidades que tienen servicios disponibles, y el registro en el cual
se publican estos servicio 110 es mantenido por un agente 120 de
servicios. Los solicitantes 150 de servicios son las entidades que
necesitan servicios y los solicitan 140 del registro del agente de
servicios. Cuando se encuentra un servicio deseado utilizando el
registro, el solicitante del servicio se une 130 al proveedor del
servicio localizado con el fin de utilizar el servicio. Estas
operaciones están diseñadas para que ocurran de manera programática,
sin intervención humana, de forma tal que un solicitante de un
servicio puede buscar un servicio particular y hacer uso de tal
servicio dinámicamente, en tiempo de ejecución. El modelo de
servicios Web está disponible teóricamente para cualquier tipo de
aplicación informática. Sin embargo, los servicios Web que están
accesibles hoy día en los registros, están limitados a unos
programas relativamente simples tales como programas de demostración
"Hola, Mundo", programas que consultan la temperatura actual de
un determinado código postal, programas que realizan cálculos de
cambio de divisas, y similares.
El conjunto básico de normas sobre las cuales
está siendo construido el trabajo de los servicios Web incluye el
HTTP ("Protocolo de Transferencia de Hipertexto"), SOAP
"Protocolo de Acceso a Objetos Sencillos") y/o el protocolo XML
("Lenguaje de Marcación Extensible"), el WSDL ("Lenguaje de
Descripción de Servicios Web") y el UDDI ("Descripción,
Descubrimiento e Integración Universales"). El HTTP es utilizado
comúnmente para intercambiar mensajes sobre redes TCP/IP
("Protocolo de Control de la Transmisión/Protocolo de
Internet"), tales como Internet. SOAP es un protocolo basado en
XML utilizado para enviar mensajes para invocar métodos en un
entorno distribuido. El protocolo XML es una especificación
evolutiva del Consorcio del World Wide Web ("W3C") de un
protocolo de transferencia de la capa de aplicaciones que permitirá
los mensajes de aplicación a aplicación, y pueden converger con
SOAP. WSDL es un formato XML para describir servicios de red
distribuidos. UDDI es una técnica de registro basada en XML con la
cual los negocios pueden listar sus servicios y con la cual los
solicitantes de servicios pueden encontrar negocios que proporcionen
servicios particulares. (Para más información sobre SOAP, se hace
referencia a "Simple Object Access Protocol" o "Protocolo de
Acceso a Objetos Sencillos" (SOAP) 1.1, Nota de W3C de 08 de Mayo
de 2000", que está disponible en Internet en
http://www.w3.org/TR/2000/NOTE-SOAP-20000508.
Véase http://www.w3.org/2000/xp para más información sobre el
protocolo XML y la creación de un estándar del Protocolo XML. La
especificación WSDL se titula "Web Services Description
Language" o "Lenguaje de Descripción de los Servicios Web"
(WSDL) 1.1, Nota de W3C de 15 de Marzo de 2001", y pueden
encontrarse en Internet en
http://www.w3.org/TR/2001NOTE-wsdl-20010315.
Para más información sobre UDDI se hace referencia a la
especificación UDDI titulada "UDDI Version 2.0 API Specification,
UDDI Open Draft Specification 8 June 2001" ("Especificación API
de UDDI Versión 2.0, Borrador de Especificación Abierta de UDDI, de
8 de Junio de 2001") y que puede ser encontrada en Internet en
http://www.uddi.org/ specification.html. HTTP está descrito en
Request for Comments (Petición de Comentarios o "RFC") 2616
del Internet Engineering Task Force (Grupo de Trabajo de Ingeniería
de Internet), titulada "Hypertext Transfer Protocol (Protocolo de
Transferencia de Hipertexto - - - http/1.1" (Junio
1999).
La integración de aplicaciones utilizando estos
estándares abiertos requiere varios pasos. El interfaz a un servicio
Web debe ser descrito, incluyendo el nombre (o nombres) del método
con el cual se invoca al servicio, los parámetros de entrada y
salida del método y sus tipos de datos, y similares. Los documentos
WSDL proporcionan esta información, y son transmitidos utilizando
una operación de publicación UDDI a un registro implementado de
acuerdo con la especificación UDDI. Una vez que se ha registrado el
servicio en el registro UDDI, los solicitantes del servicio pueden
emitir peticiones de búsqueda UDDI para localizar los servicios
distribuidos. Un solicitante de servicio que localice un servicio de
esta manera, emite entonces una petición de unión a UDDI, la cual
une dinámicamente al solicitante con el servicio localizado
utilizando la información del servicio del documento WSDL. (Estas
operaciones UDDI han sido ilustradas, a alto nivel, en la figura 1).
El protocolo SOAP/XML y los mensajes HTTP se utilizan comúnmente
para transmitir los documentos WSDL y las peticiones UDDI. (En
adelante, las referencias a SOAP deben ser interpretadas como
referentes de forma equivalente a aspectos semánticamente similares
del protocolo XML. Además, debe observarse que las referencias de
esta memoria a "HTTP" pretenden referirse, en sentido
genérico, a funciones similares a HTTP. Algunas operaciones UDDI,
por ejemplo, requieren HTTPS en lugar de HTTP, donde HTTPS es una
versión mejorada en seguridad de HTTP. Sin embargo, estas
diferencias no son pertinentes para la presente invención, y por
tanto no se hace distinción de aquí en adelante cuando se estudia el
HTTP.
El objetivo de los servicios Web es proporcionar
a los solicitantes de servicios un acceso transparente a los
componentes del programa que pueden residir en uno o más lugares
remotos, aún cuando esos componentes puedan ejecutarse en sistemas
operativos diferentes y puedan ser escritos en lenguajes de
programación diferentes a los del solicitante. Aunque se ha hecho
una cantidad de trabajo significativa para definir los objetivos, la
arquitectura y los estándares sobre los cuales se basarán los
servicios Web, sigue habiendo mucho trabajo por hacer para conseguir
que los servicios Web funcionen eficaz y eficientemente.
En particular, considérese que muchos servicios
de aplicaciones que se proporcionan de una manera convencional
requieren que los usuarios sean autenticados y autorizados antes de
utilizar esos servicios. La autenticación en este contexto significa
determinar que el usuario es en realidad quien pretende ser, y la
autorización significa típicamente determinar cuáles son los
privilegios de acceso de este usuario, o si este usuario tiene
permitido el acceso a un servicio particular o a una función del
mismo. El artículo de D. Ferguson "Technical and Product
Architecture and Roadmap" (Arquitectura Técnica y de Producto y
Mapa de Rutas), Servicios Web de IBM, [Online] Mayo de 2001,
(2001-05), páginas 1-42, XP002272181
divulga tal técnica. En el entorno de los servicios Web, la
intención es que un proveedor de servicios pueda ser localizado
dinámicamente para realizar un servicio en particular. Si hay
disponibles múltiples proveedores del servicio, podría seleccionarse
uno en particular de estos proveedores de servicios basándose en
criterios tales como el precio de utilizar este servicio del
proveedor, las garantías de tiempo de respuesta de este servicio del
proveedor y similares. Es posible que cada proveedor pudiera tener
formatos diferentes para la información de autenticación y
autorización, así como maneras exclusivas de acceder a las
funciones de autenticación y autorización. No hay técnicas conocidas
para los presentes inventores de federar o unir sistemas de
identidades heterogéneas en el entorno de servicios Web, lo cual
será un serio inhibidor para el uso de servicios Web agregados.
La presente invención está definida en las
reivindicaciones anexas y proporciona métodos, sistemas y productos
de programas de ordenador para proporcionar servicios agregados en
una red informática. En modos de realización preferidos, uno o más
recursos de software proporcionan un servicio agregado, y esta
técnica comprende: definir un interfaz de provisión del servicio
agregado; especificar el interfaz de provisión en un documento de
descripción del servicio; obtener credenciales de un usuario del
servicio agregado, de acuerdo con el documento de descripción del
servicio; analizar las credenciales obtenidas; y permitir al usuario
efectuar el servicio agregado si así lo indica el análisis.
La técnica puede comprender además la definición
de un interfaz de provisión de al menos uno de los uno o más
recursos de software del servicio agregado, y para cada uno de los
al menos un recurso de software, especificar el interfaz de
provisión de un servicio realizado por el recurso de software en el
documento de descripción del servicio o en otro o en otros más
documentos de descripción del servicio. En este caso, además de
obtener credenciales del usuario del servicio agregado, pueden
obtenerse también credenciales para el al menos un recurso de
software, de acuerdo con el documento de descripción del servicio o
con el otro u otros más documentos de descripción del servicio.
Entonces, el usuario tiene permiso, preferiblemente, para realizar
los servicios seleccionados representados por los interfaces de
provisión del al menos un recurso de software, si está indicado por
el análisis de estas credenciales también.
En modos de realización preferidos, el análisis
comprende al menos una de (1) la autenticación y (2) la autorización
de las credenciales.
La información de la identidad puede ser por
tanto retransmitida de forma programática entre los servicios
distribuidos realizados por los recursos de software del servicio
agregado. Preferiblemente, la retransmisión programática comprende
el envío de un mensaje que especifica las credenciales en una
cabecera del mensaje y una petición de servicio en el cuerpo del
mensaje. El mensaje puede ser, por ejemplo, un mensaje SOAP
("Protocolo de Acceso de Objetos Sencillos").
Se utiliza preferiblemente un lenguaje de
marcación para especificar el documento o documentos de descripción
del servicio. El lenguaje de marcación es preferiblemente un
Lenguaje de Descripción de Servicios Web ("WSDL").
La técnica puede comprender además el registro
del documento de descripción del servicio en un registro, el cual
puede ser un registro accesible en la red que utiliza mensajes
estandarizados.
Se describirán ahora modos de realización
preferidos de la presente invención, solamente a modo de ejemplo,
con referencia a los dibujos siguientes, en los cuales las
referencias numéricas similares indican el mismo elemento en todos
ellos.
La figura 1 proporciona un diagrama que ilustra
los participantes y las operaciones fundamentales de una
arquitectura orientada a servicios, de acuerdo con la técnica
anterior;
La figura 2 es un diagrama de bloques que
ilustra un "portlet" (fragmento de página de un portal Web)
estructurado como un Proxy de servicio Web, de acuerdo con modos de
realización preferidos de las invenciones relacionadas;
Las figuras 3A y 3B ilustran el contenido de
documentos de muestra WSDL que especifican un interfaz de desarrollo
y un sistema de interfaz, respectivamente, de acuerdo con modos de
realización preferidos de las invenciones relacionadas;
La figura 4 proporciona una ilustración del
enfoque de servicios Web apilados para la agregación de servicios,
como se divulga en las invenciones relacionadas;
Las figuras 5A a 5E ilustran un fragmento de
documento de muestra WSDL que describe un interfaz de servicio de
aprovisionamiento, de acuerdo con modos de realización preferidos de
la presente invención;
La figura 6 proporciona un diagrama de flujo que
representa la lógica que puede utilizarse para implementar modos de
realización preferidos de la presente invención; y
Las figuras 7A y 7B proporcionan un ejemplo de
una envolvente SOAP que transporta una firma digital en su cabecera,
de acuerdo con la técnica anterior.
La promesa de los servicios Web es que
aplicaciones dispares serán capaces de interactuar como nunca lo han
hecho antes, ofreciendo una nueva especie de aplicaciones
transparentes hiper-integradas a través de la
hospitalidad y urbanidad de los sistemas empresariales. Los
servicios Web harán que los recursos de software distribuido estén
más ampliamente disponibles, y permitirán comercializar el software
como un servicio. Los servicios de uno o más proveedores de
servicios serán agregados dinámicamente para proporcionar a los
usuarios la funcionalidad requerida para realizar la tarea o
servicio que es de interés actual para cada usuario en particular.
Para utilizar eficazmente estos servicios integrados dinámicamente,
es necesario poder unir automática y dinámicamente los sistemas de
identidad heterogénea que pueden utilizar. Esto debe ser hecho en
tiempo real para que los usuarios (ya sean humanos o programáticos)
pueden ser autenticados y autorizados, o "identificados",
transparentemente, para utilizar los servicios. Además, es deseable
proporcionar esta identificación transparente utilizando una sola
firma, porque si se requiere que los usuarios se identifiquen
repetidamente durante el curso de un servicio en particular
(incluyendo los servicios que están comprendidos por múltiples
sub-servicios) se origina la frustración del usuario
y consume tiempo y es ineficaz. La presente invención proporciona
una solución para estos requisitos, y suscita diversas tecnologías
estándar abiertas en la industria al hacerlo, como será
descrito.
Antes de estudiar detalles de los modos de
realización, puede ser de ayuda revisar algo de información de
antecedentes, incluyendo las tecnologías sobre las cuales se
construyen los modos de realización de la invención. Las invenciones
relacionadas definían técnicas para gestionar servicios Web y para
proporcionar un punto de agregación en el que pueden agregarse los
servicios para formar nuevos servicios que puedan ser desarrollados.
Los modos de realización preferidos de las invenciones relacionadas
están construidos sobre un entramado de contenidos tales como una
plataforma de un portal, porque este tipo de entramado proporciona
muchos servicios incluidos para la gestión de contenidos y
alojamiento de servicios, tales como persistencia, personalización y
transcodificación. Las técnicas divulgadas en las invenciones
relacionadas extienden las plataformas para proporcionar la
agregación, el despliegue, y la gestión de servicios Web. Se divulgó
una herramienta de composición de modelos que puede ser utilizada
para definir un servicio agregado; los recursos de software pueden
entonces ser programáticamente integrados de acuerdo con esta
definición de servicio agregado. Además, los servicios agregados
pueden ser gestionados de una manera automatizada.
La presente invención define técnicas para
proveer los servicios agregados que resultan del uso de las
invenciones relacionadas. Estas técnicas pueden ser adaptadas
también a los servicios agregados que están creados de otras
maneras, sin desviarse del alcance de la presente invención. Además,
debe indicarse que aunque las presentes discusiones están hechas en
términos de proporcionar servicios "agregados", un servicio
agregado es por sí mismo un servicio Web (comprendido por
sub-servicios), y por tanto la presente invención
puede ser utilizada ventajosamente con aquellos servicios Web que
puedan ser considerados como servicios elementales (y son por tanto
una degeneración del caso de agregación, donde el conjunto de
"sub-servicios" agregados tiene un solo
miembro).
Una plataforma de portal comercialmente
disponible sobre el cual pueden implementarse modos de realización
de la presente invención (así como de las invenciones relacionadas),
es el Servidor de Portales WebSphere® ("WPS") de International
Business Machines Corporation ("IBM"). ("WebSphere" es una
marca registrada de IBM). Sin embargo, debe observarse que aunque
las discusiones de las invenciones relacionadas y de la presente
invención están hechas en términos de una plataforma de portal, los
conceptos inventivos son aplicables a otros tipos de entramados de
contenidos que proporcionan una funcionalidad análoga y son
aplicables también a portales distintos al WPS, y por tanto las
referencias a los portales y su paradigma de "portlet" son a
modo de ilustración y no de limitación.
La integración dinámica en tiempo de ejecución
de servicios Web, que se hace posible por las invenciones
relacionadas, puede utilizar una herramienta de composición para
agregar nuevos servicios Web. Utilizando esta herramienta de
composición, un administrador de sistemas (o, equivalentemente, un
componedor de servicios u otra persona) puede definir un nuevo
servicio compuesto por otros servicios más minuciosos. Los servicios
minuciosos a partir de los cuales se construyen otros servicios
pueden residir local o remotamente, y las técnicas de las
invenciones relacionadas permiten hacer referencia a esos servicios
y utilizarlos de una manera transparente sin prestar atención a si
son locales o remotos. Los servicios minuciosos pueden incluir
cualquier forma de lógica de programación, incluyendo programas de
texto, clases de Java®, clases COM, EJB ("Enterprise
JavaBeans®" o "JavaBeans® empresarial"), procedimientos
almacenados, IMS u otras transacciones de bases de datos,
aplicaciones heredadas y similares. ("Java" y "Enterprise
JavaBeans" son marcas registradas de Sun Microsystems, Inc.).
Los servicios Web creados de esta manera pueden ser gestionados
automáticamente por la plataforma del portal y pueden ser utilizados
también para crear nuevos servicios Web de una manera recurrente,
como se describió en las invenciones relacionadas.
Las invenciones relacionadas promueven los
portlets como un interfaz de portal, y construyen también sobre el
concepto de un interfaz remoto de portlet (donde este concepto se
extiende para ser aplicado a portlets programáticos), para permitir
el acceso a recursos de software. Los portlets que funcionan de esta
manera pueden ser denominados "intermediarios de servicio Web"
o "proxies de servicios Web". Esto es, las invenciones
relacionadas permiten que un portlet actúe como un intermediario
entre una aplicación o recurso de software que requiera un servicio
particular y un recurso de software que proporcione ese servicio. El
recurso de software que realiza una función particular puede estar
estadísticamente unido a un proxy de servicios Web (por ejemplo,
durante el desarrollo), o un proxy de servicios Web puede estar
unido a un recurso de software que sea seleccionado dinámicamente
(por ejemplo, basándose en criterios que son evaluados en tiempo de
ejecución). En ambos casos, el proxy del portlet recibe mensajes de
petición y los reenvía al recurso de software al cual está unido;
una vez que el recurso de software ha completado la función
solicitada, devuelve su respuesta al proxy del portlet que reenvía
entonces la respuesta al solicitante.
Debe observarse que los recursos de software
invocados para realizar un servicio agregado pueden ser diseñados
para la interacción de programa a programa, pero pueden ser,
alternativamente, visuales en naturaleza. Por ejemplo, pueden
invocarse recursos visualmente orientados durante la ejecución de un
servicio Web que funcione principalmente de programa a programa. El
término "portlet programático" se utiliza aquí para referirse
generalmente a proxies de portlets de acuerdo con las invenciones
relacionadas y con la presente invención, implique o no el recurso
de software subyacente un código visualmente orientado.
En la figura 2 se muestra un diagrama de bloques
que ilustra un portlet estructurado como un proxy de servicios Web,
de acuerdo con las invenciones relacionadas. Como se ilustra en el
dibujo, el proxy 240 del portlet incluye un interfaz 210 de
despliegue, un interfaz 220 del sistema, y un interfaz funcional
230. El proxy del portlet se comunica con una plataforma 200 del
portal que utiliza estos interfaces, actuando como un intermediario
entre la plataforma del portal y el recurso 250 de software que
lleva a cabo la función de interés. Los detalles de cada interfaz
funcional son específicos del servicio Web proporcionado por el
recurso 250 de software, y no forman parte de las invenciones
relacionadas. Sin embargo, las invenciones relacionadas hacen
disponible el interfaz funcional del recurso 250 de software, como
un interfaz 230 del proxy del portlet. (La exposición del interfaz
funcional utilizando definiciones WSDL y servicios SOAP puede ser
conseguida utilizando una herramienta comercialmente disponible, tal
como el "IBM Web Services Toolkit" (Conjunto de herramientas de
Servicio Web de IBM), o "WSTK", durante el proceso de
despliegue, como se ha estudiado en las invenciones
relacionadas).
El interfaz de despliegue y el interfaz del
sistema están descritos con detalle en las invenciones relacionadas.
Se ofrecerá ahora un breve resumen. De acuerdo con los modos de
realización preferidos de las invenciones relacionadas, se define un
interfaz de despliegue y un interfaz del sistema para cada portlet
que sirve como proxy de servicio Web (aunque en modos de realización
alternativos, pueden realizarse uno u otro de estos interfaces).
Estos nuevos interfaces pueden ser denominados también como el tipo
de puerto de despliegue y el tipo de puerto del sistema,
respectivamente. Un portlet de acuerdo con las invenciones
relacionadas define por tanto un tipo de proveedor de servicios que
incluye los tipos de puertos necesarios para la integración de
portales de los recursos de software y la interacción y gestión de
servicios. ("Tipos de puerto" es un término utilizado en la
técnica para significar la especificación de las operaciones de un
portlet, y "tipo de proveedor de servicios" es un término
utilizado para significar una colección de tipos de puertos).
El interfaz de despliegue permite utilizar un
proxy de portlet (es decir, un servicio Web agregado que está
representado por un proxy de portlet) en posteriores operaciones de
composición de servicios Web, de una manera recurrente, de acuerdo
con las invenciones relacionadas. Por ejemplo, el interfaz de
despliegue de un portlet "A" proporciona información sobre el
uso del portlet A al estar agregado el portlet A con otros portlets
para formar un nuevo servicio "Z". Al definir un interfaz de
despliegue para el servicio Web "Z", de acuerdo con las
invenciones relacionadas, puede proporcionarse posteriormente
información sobre el servicio Web Z al ser utilizado el servicio Z
para componer otros servicios nuevos.
El interfaz del sistema es utilizado para la
gestión en tiempo de ejecución de portlets, (es decir, de servicios
web representados por proxies de portlets) por la plataforma del
portal. El uso del interfaz del sistema permite a la plataforma del
portal realizar funciones tales como registrar eventos, facturación,
y otros tipos de operaciones administrativas pertenecientes a la
ejecución del servicio Web. Se utiliza para este fin la comunicación
bidireccional entre la plataforma del portal y el proxy del
portlet.
Las figuras 3A y 3B ofrecen documentos de
muestra WSDL que ilustran la especificación del interfaz de
despliegue y la especificación del interfaz del sistema,
respectivamente. De acuerdo con modos de realización preferidos de
las invenciones relacionadas, los tipos de puertos de despliegue y
de sistema están representados como documentos WSDL, que pueden ser
registrados después en un registro. Como se ilustra en 310 del
documento 300 de WSDL en la figura 3A, el ejemplo de interfaz de
despliegue se denomina "Despliegue" e incluye operaciones tales
como "obtenerNombredePresentación" y
"obtenerIcono16x16dePresentación" (véase el elemento 330).
Estas operaciones pueden ser utilizadas, por ejemplo, para
recuperar un nombre descriptivo del servicio Web y para recuperar
una imagen gráfica que representa el servicio Web para colocarla en
una paleta de una herramienta de composición del servicio Web. De
acuerdo con la especificación WSDL, los mensajes de entrada y de
salida utilizados para comunicarse con un servicio están
especificados en los elementos 320 de "<mensaje>", donde
los parámetros utilizados para esos mensajes están definidos como
elementos de "<parte>". Así, un elemento de mensaje está
definido para cada mensaje de cada operación especificada para este
tipo de puerto. (Se hace referencia a la especificación WSDL para
obtener más información sobre los detalles de un documento
WSDL).
El documento WSDL 350 de la figura 3B define el
interfaz del sistema, que en el ejemplo es denominado "Sistema"
(véase el elemento 360). En este ejemplo, se define un tipo de datos
complejos denominado "Evento" (véase el elemento 370), que
comprende 2 parámetros de cadenas y un parámetro de datos. Este tipo
de datos puede ser utilizado, por ejemplo, cuando se intercambian
datos de registro a grabar en un fichero auditor de registro.
También se define una operación "registrarEvento" (véase el
elemento 390), y en este ejemplo es una operación unidireccional
invocada al utilizar un mensaje de "RecepciónRegistroEvento"
(véase elemento 380) que tiene un parámetro del tipo Evento.
Además, el ejemplo define una operación de
"informarUtilización" que tiene dos mensajes
"informarEntrada" e "informarSalida".
Los modos de realización preferidos de la
presente invención pueden ampliar el interfaz de despliegue para que
incluya información de aprovisionamiento relativa al servicio Web
agregado. Alternativamente, puede definirse un interfaz de
aprovisionamiento independiente para este fin, sin desviarse del
alcance de la presente invención. En las figuras 5A a 5E se ilustra
una especificación 500 de interfaz de aprovisionamiento de muestras.
Al representar el tipo de puerto de aprovisionamiento o interfaz
como un documento WSDL, como se divulga en esta memoria, la
información de aprovisionamiento de un servicio Web puede ser
registrada de manera programática en un registro, y la información
sobre el interfaz de aprovisionamiento puede ser localizada y unida
de manera programática en tiempo de ejecución.
Si el interfaz de aprovisionamiento se
implementa como una extensión del interfaz de despliegue, la
especificación del interfaz para un servicio Web en particular
especifica, preferiblemente, sus operaciones en un elemento de
aprovisionamiento TipodePuerto dentro de la definición de un
interfaz de despliegue. Por ejemplo, la especificación 300 del
interfaz de despliegue de la figura 3A puede ser ampliada para que
incluya un elemento de despliegue TipodePuerto. Haciendo referencia
brevemente ahora a las figuras 5A a 5E, las especificaciones del
mensaje de muestra ilustradas en las figuras 5A a 5C pueden ser
añadidas a otros mensajes definidos en una especificación de
despliegue (que están ilustrados en el elemento 320 de la figura 3A)
cuando se utiliza este enfoque, y puede especificarse un elemento
TipodePuerto adicional, tal como el ilustrado en las figuras 5D y
5E, junto con el TipodePuerto 330 para operaciones de despliegue.
Alternativamente, puede proporcionarse un documento WSDL
independiente, específicamente para aprovisionamiento, donde este
documento independiente tiene sus propios elemento de <tipos>,
elemento de <esquemas> y similares. En esta alternativa, el
elemento <definiciones> del documento WSDL puede estar
comprendido por mensajes de aprovisionamiento y operaciones tales
como las ilustradas en la especificación del interfaz de las
figuras 5A a 5E.
De acuerdo con la especificación WSDL, los
mensajes de entrada y de salida utilizados para comunicarse con un
servicio Web están especificados en los elementos
"<mensaje>", donde los parámetros utilizados por esos
mensajes están definidos como elementos "<parte>". Así,
un elemento de mensaje está definido por cada mensaje de cada
operación especificada para este tipo de puerto. (Se hace referencia
a la especificación WSDL para más información sobre los detalles de
un documento WSDL).
Como se divulga en las invenciones relacionadas,
se utiliza un gráfico directo para modelar las operaciones
implicadas al ejecutar servicios Web agregados comprendidos por
otros servicios Web (es decir, sub-servicios).
Las operaciones de portlets seleccionadas
representan los nodos del gráfico, y los bordes del gráfico que
enlazan los nodos representan transiciones potenciales desde una
operación o proceso del servicio a otro. Estos enlaces del servicio
pueden ser cualificados con una o más condiciones de transición, y
también con información de correspondencia de los datos si fuera
aplicable. Las condiciones especifican bajo qué condiciones debe
invocarse el siguiente servicio enlazado. A menudo, estas
condiciones serán determinadas utilizando los resultados de una
invocación anterior del servicio. La correspondencia de datos se
refiere a la capacidad de enlazar operaciones entre tipos de puertos
de portlets y datos de transferencia desde una operación a otra.
Por ejemplo, la información de correspondencia de datos puede
indicar que los parámetros de salida de un servicio tienen una
correspondencia con los parámetros de entrada de otro servicio.
Preferiblemente, se promueve el Lenguaje de
Flujo de Servicios Web ("WSFL") para este soporte gráfico
dirigido. En particular, las técnicas de almacenamiento persistente
de WSFL y las técnicas de evaluación en tiempo de ejecución
utilizando gráficos directos pueden ser añadidas a una pila de
servicios Web para operar con los gráficos creados por un componedor
de servicios. Para un estudio detallado de WSFL, se hace referencia
a la especificación WSFL, que se titula "Web Services Flow
Language (WSFL 1.0)", ("Lenguaje de Flujo de Servicios Web
(WSFL 1.0)") del Profesor Dr. F. Leymann (Mayo 2001),
disponible en Internet por IBM en la dirección:
http://www-4.ibm.com/software/solutions/webservices/pdf/
WSFL.pdf.
Se hace referencia a la figura 4 para una
ilustración del enfoque de la pila de servicios Web para la
agregación de servicios, como se divulga en las invenciones
relacionadas. La pila 400 de servicios Web utiliza preferiblemente
el soporte 410 de flujo de servicios WSFL para definir y ejecutar
servicios agregados, y se proporciona el descubrimiento 420 de
servicios y la publicación 430 de servicios utilizando
preferiblemente UDDI. La pila de servicios Web comprende también una
capa 440 WSDL para dar soporte a los documentos de descripción de
servicios. Se puede utilizar SOAP para proporcionar mensajería 450
basada en XML. Los protocolos tales como HTTP, el Protocolo de
Transferencia de Ficheros ("FTP"), el correo electrónico, la
cola de mensajes ("MQ") y similares, pueden ser utilizados para
el soporte 460 de la red. Como se ha estudiado en las invenciones
relacionadas, se utiliza WSDL para definir tipos de puertos de
servicios Web y para definir cómo invocar operaciones de estos tipos
de puertos, y se utiliza WSFL para agregar los servicios Web (y por
tanto para agregar sus interfaces). En tiempo de ejecución, los
servicios se encuentran dentro de un registro que utiliza el proceso
de descubrimiento de servicios UDDI y están ligados a la utilización
de la información de sus definiciones WSDL. El tiempo de ejecución
de WSFL utiliza entonces estas definiciones (tipos de puerto) para
agregar los servicios. (Debido a que las firmas de las operaciones
no serán coincidentes típicamente una a una, puede utilizarse un
mecanismo de "enlace de conexión" definido en la especificación
WSFL, en un modelo proxy para hacer corresponder los interfaces de
una manera sencilla como se describe en las invenciones
relacionadas, proporcionando con ello una correspondencia entre los
interfaces de funcionamiento. Las invenciones relacionadas divulgan
la utilización de este mecanismo de enlace de conexión como la
definición persistente de la integración de proxies de portlets para
implementar los servicios Web).
Un desarrollador que crea el código fuente para
un recurso de software a desplegar como servicio Web, especifica los
métodos de autenticación, autorización y/o configuración a
proporcionar por ese servicio. Los servicios pueden ser entonces
agregados como se describe en las invenciones relacionadas, y pueden
utilizarse las técnicas de la presente invención para proporcionar
el servicio agregado. Por ejemplo, supóngase que el servicio
agregado está diseñado para proporcionar servicios de correo
electrónico a un usuario humano. Puede proporcionarse un
sub-servicio para establecer una cuenta de correo
electrónico del usuario. Típicamente, este
sub-servicio de establecimiento de cuenta necesitará
información de entrada tal como el nombre completo del usuario, un
identificador del usuario del correo electrónico asociado con esta
persona, una palabra de paso con la cual esta persona accederá a su
cuenta de correo electrónico, y quizás información de configuración
tal como cuánto almacenamiento debe asignarse para los mensajes de
correo electrónico de este usuario. (La palabra de paso almacenada
puede ser utilizada posteriormente, en combinación con el
identificador del usuario, para autenticar a este usuario cuando
accede a sus mensajes de correo electrónico utilizando otro
sub-servicio del servicio agregado de correo
electrónico). También podría proporcionarse información sobre los
derechos de acceso como entrada al sub-servicio de
establecimiento de la cuenta. Un usuario que es un administrador del
sistema, por ejemplo, podría disponer de derechos adicionales de
acceso para realizar operaciones tales como aumentar la asignación
de espacio de almacenamiento de otro usuario, eliminar el correo
electrónico de otro usuario, y temas similares. Los documentos WSDL
pueden ser utilizados entonces para definir las operaciones
proporcionadas por cada sub-servicio, y los mensajes
y parámetros que se utilizan para invocar tales operaciones.
Como se ha estudiado en las invenciones
relacionadas, la creación de un documento WSDL puede ser realizada
por un usuario humano o bien utilizando operaciones programáticas, o
una combinación de las mismas. (Por ejemplo, al usuario humano se le
podría pedir que suministre información tal como el nombre del tipo
de puerto, la localización de la información del espacio de nombres
y similares, mientras que las operaciones programáticas generan
elementos de <operación> y <mensaje> para métodos
públicos del recurso de software. El WSTK de IBM es un ejemplo de
producto comercialmente disponible que puede ser utilizado para
generar programáticamente WSDL para una recurso de software
existente. Véase el documento "The Web services
(r)evolution: Part 4, Web Services Description Language
(WSDL)", ("La (r)evolución de los servicios Web: Parte
4, Lenguaje de Descripción de los Servicios Web (WSDL)") de G.
Glass (Feb. 2001), publicado por IBM en Internet en la dirección
http://www-106.ibm.com/developerworks/webservices/library/ws-peer4,
que presenta un ejemplo de la generación programática de un
documento WSDL para un sencillo servicio sobre El Tiempo que tiene
las operaciones de "obtenerTemperatura" y
"FijarTemperatura").
Con el fin de unir los sistemas de identidad de
los servicios que están integrados dinámicamente, de acuerdo con la
presente invención, cada interfaz de aprovisionamiento del servicio
se publica en un registro UDDI utilizando un documento WSDL. El
interfaz de aprovisionamiento del servicio agregado puede ser creado
entonces seleccionando manual o programáticamente entre los
interfaces de los sub-servicios que comprenden la
agregación, y puede crearse un documento WSDL para este nuevo
interfaz de aprovisionamiento y ser publicado, de una manera
recurrente.
Las operaciones unificadas de autenticación y
autorización se hacen más difíciles por la naturaleza dinámica del
descubrimiento e invocación de los servicios distribuidos. Las
técnicas divulgadas en esta memoria abordan esta dificultad
permitiendo que se proporcione un servicio agregado dentro del
contexto del flujo de trabajo de los servicios Web, donde las
operaciones están identificadas utilizando documentos WSDL y son
invocadas utilizando mensajes SOAP dentro de la definición de un
flujo de trabajo.
Los servicios agregados pueden restringir el
acceso a sus operaciones al descubierto a aquellos usuarios que
tienen credenciales suficientes, y demuestran con éxito estas
credenciales utilizando una operación de autorización al
descubierto. También puede ser ventajoso permitir la creación de
perfiles de usuario que abarque servicios agregados, y que permita
opcionalmente que estos perfiles de usuario puedan ser interrogados,
cambiados y/o eliminados utilizando las correspondientes operaciones
del servicio.
Se describirán ahora los mensajes y operaciones
de muestra representados en las figuras 5A a 5E, y serán utilizados
para ilustrar cómo permite la presente invención el
aprovisionamiento de servicios agregados en un entorno informático
distribuido. (Como será obvio para un experto en la técnica, los
mensajes y operaciones, y los parámetros de los mismos, ilustrados
en las figuras 5A a 5E se proporcionan solamente para fines
ilustrativos. Un interfaz real de aprovisionamiento puede incluir
otros mensajes y operaciones sin apartarse del alcance de la
presente invención).
El mensaje 502 de
"ResoluciónInternadePetición-deIdentificaciónAprovisionamiento"
ilustra un mensaje de petición de entrada que puede ser utilizado
para solicitar un servicio para ver de quién es un usuario
autenticado particular o entidad. (En adelante, el término usuario
puede ser interpretado como aplicable de forma equivalente a un
usuario humano o a una entidad programática, tal como un servicio
automatizado, a menos que está específicamente cualificado). La
especificación 502 de mensaje declara que esta petición toma un
parámetro denominado "TestigodeAutenticación", que es del tipo
de cadena. Por ejemplo, supóngase que se ha autenticado un usuario
humano para un servicio agregado, y que el servicio agregado
contiene un testigo "X" de autenticación para ese usuario
humano. Supóngase también que el servicio agregado desea determinar
programáticamente cómo es conocido este usuario humano para un
sub-servicio particular "ServicioABC". El
servicio agregado necesita localizar un sistema de aprovisionamiento
que tenga información sobre ese usuario. Los mensajes 502 y 504
pueden ser utilizados para proporcionar esta funcionalidad, donde el
testigo "X" es traspasado a la operación de
"ResolverIdentidaddeAprovisionamiento" del "ServicioABC"
(preferiblemente utilizando un mensaje SOAP, como será descrito con
referencia a las figuras 7A y 7B). Como se ilustra en la figura 5D,
"ResolverIdentificación-deAprovisionamiento"
552 es una operación que tiene un mensaje de
"ResoluciónInternadePeticióndeIdentificación-deAprovisionamiento"
(véase el elemento 502 de la figura 5A) así como un mensaje de
"ResoluciónExterna-deRespuesta-deIdentificación-deAprovisionamiento"
(véase el elemento 504 de la figura 5A). El mensaje 504 de
"ResoluciónExterna-deRespuesta-deIdentificación-deAprovisionamiento"
se define como la devolución de un parámetro denominado
"Identificador" (del tipo de cadena). Preferiblemente, el
identificador devuelto es un identificador del sistema de
aprovisionamiento remoto. Este identificador puede ser utilizado
entonces como un parámetro de entrada para operaciones posteriores
(véanse los mensajes 506, 510 y 526, por ejemplo, que se describen
más adelante), para especificar el sistema de aprovisionamiento que
gestiona el perfil del usuario o la información de configuración del
servicio, como puede ser el caso.
Haciendo referencia ahora las figuras 7A y 7B,
los modos de realización preferidos de la presente invención
utilizan mensajes SOAP para la comunicación entre servicios Web. El
ejemplo de mensaje 700 SOAP comprende una envolvente SOAP que lleva
una firma digital en su cabecera, de acuerdo con la técnica
anterior. Véase la figura 7A para la cabecera 710 y la firma digital
720. Esta firma digital puede ser utilizada para la autenticación
del solicitante que remite la petición del servicio transportada en
el cuerpo del mensaje SOAP. Véase la figura 7B para el cuerpo 730
del mensaje y la petición 740. En este mensaje 700 de muestra, el
cuerpo del mensaje especifica un mensaje de
"ObtenerÚltimoPrecioNegociado", para el cual el elemento hijo
<m:símbolo> tiene un valor de "IBM". Puede suponerse que
esto es una invocación de un servicio de oferta de stocks, y que
este servicio requiere que el usuario sea autenticado; la firma
digital del usuario ha sido suministrada por tanto en la cabecera
del SOAP. (Se hace referencia al artículo "SOAP Security
Extensions: Digital Signature, W3C NOTE 06 February 2001",
("Extensiones de seguridad de SOAP: Firma digital, Nota de W3C de
06 de Febrero de 2001"), que puede encontrarse en Internet en la
dirección http://www.w3.org/TR/SOAP-dsig/ para una
mayor información sobre la utilización de mensajes SOAP de esta
manera).
El presente modo (o modos) de realización
promueven esta técnica de firma digital para transportar información
de autenticación perteneciente a usuarios de servicios Web agregados
que se autentican, determinando la autorización de esos usuarios y/o
configurando los servicios Web agregados.
Volviendo a la discusión de los mensajes de
muestra del interfaz de aprovisionamiento de la figura 5A, el
mensaje 506 de "ResolverInternamentePeticiónUsuario" ilustra un
mensaje de petición de entrada que puede ser utilizado para
determinar el conjunto de usuarios que están autorizados para
acceder a un servicio en particular. En el ejemplo, se traspasa un
testigo de autenticación al servicio requerido, y en este mensaje,
sirve preferiblemente para autenticar el solicitante de la
información (que es, la entidad programática o usuario humano que
está solicitando la información de usuarios autorizados). El
parámetro "provID" (proporcionar identidad) puede ser
utilizado para proporcionar una dirección (tal como un Identificador
de Recurso Uniforme, o "URI") de un sistema de
aprovisionamiento auspiciado por un proveedor de servicios. La
operación "ResolverUsuarios" (véase el elemento 554 de la
figura 5D) de un servicio recibe el mensaje 506 de
"ResolverInternamentePeticiónUsuarios", y responde con el
mensaje 508 de "ResolverExternamenteRespuestaUsuarios". En el
ejemplo, este mensaje 508 de salida se define como la devolución de
una serie denominada "ConjuntodeUsuario". La sintaxis
"SOAP-ENC" del elemento de parte del mensaje
508 es un prefijo de espacio de nombre, y se utiliza para cualificar
la definición de la serie. (Esta serie de salida identifica
presumiblemente los usuarios autorizados del servicio particular que
auspicia esta operación 554 de "ResolverUsuarios", que estaba
ligada a la utilización de UDDI y fue invocada utilizando un mensaje
SOAP. Cuando se ejecuta la operación de "ResolverUsuarios",
puede haberse solicitado de un sistema de aprovisionamiento que
efectúe la determinación de los usuarios autorizados).
El mensaje 510 de
"CrearInternamentePeticiónPerfilUsuario" muestra cómo podría
ser diseñado el interfaz de un mensaje de petición de entrada que
crea un perfil de usuario. Como en los otros ejemplo de mensajes, es
beneficioso incluir un testigo de autenticación como uno de los
parámetros de entrada traspasados al servicio remoto, de manera que
el servicio remoto pueda autenticar al solicitante de la información
y determinar si este solicitante está autorizado para utilizar el
servicio 556 de "CrearPerfilUsuario" que expone el mensaje 510
de "CrearInternamentePeticiónPerfilUsuario". El parámetro
"proporcionarIdentificador" puede ser utilizado para
proporcionar una URI u otra dirección de un sistema de
aprovisionamiento, como se ha estudiado anteriormente, donde el
perfil de usuario ha de ser almacenado en este sistema de
aprovisionamiento. El parámetro "IdentificaciónUsuario"
identifica preferiblemente al usuario para el cual (en el caso de un
usuario humano'') o para el cual (en el caso de un usuario
programático) se crea el perfil. Puede proporcionarse un parámetro
de "palabradepaso" para establecer la palabra de paso asociada
con este usuario. (Pueden utilizarse credenciales distintas a la
palabra de paso para este fin, si se desea). El nombre completo del
usuario podría ser traspasado en un parámetro de
"NombreCompleto", dependiendo de las necesidades del servicio
subyacente. Finalmente, en este mensaje de muestra, se proporcionan
los derechos de acceso del usuario como una serie. La operación 556
de "CrearPerfildeUsuario" recibe el mensaje 510 de
"CrearInternamentePeticióPerfilUsuario" y responde con un
mensaje 512 de "CrearExternamenteRespuestaPerfilUsuario". En el
ejemplo, este mensaje 512 de salida devuelve un valor buleano que
indica si la creación del perfil tuvo éxito o no.
El mensaje 514 de
"SolicitarInternamenteSolicitud-PerfilUsuario"
muestra un ejemplo de interfaz para un mensaje de petición de
entrada que es utilizado para recuperar información de un perfil de
usuario previamente almacenado. Los parámetros del mensaje incluyen
un testigo de autenticación "TestigoAut" para autenticar el
solicitante de la información, un identificador de aprovisionamiento
"PropIdent" para identificar un sistema de aprovisionamiento en
el que se almacena el perfil, y un identificador de usuario
"IdentUsuario" para identificar el usuario para el cual se ha
solicitado la información de perfil. Este mensaje 514 se proporciona
como el interfaz de entrada para un servicio 558 de
"PedirPerfilUsuario", y el mensaje 516 de
"PedirExternamenteRespuestaPerfilUsuario" de este ejemplo
devuelve la palabra de paso del usuario, el nombre completo y los
derechos de acceso desde el perfil almacenado.
El mensaje 518 de
"ActualizarInternamente-PeticiónPerrfilUsuario"
es análogo al mensaje 510 de
"CrearInternamentePeticiónPerfilUsuario", y utiliza los mismos
parámetros en este ejemplo. La operación 560 de
"ActualizarPerfilUsuario" recibe el mensaje 518 de
"ActualziarInternamentePeticiónPerfilUsuario" y responde con un
mensaje 520 de
"ActualizarExternamenteRespuesta-PerfilUsuario"
que es análogo a mensaje 512 de
"CrearExternamenteRespuestaPerfilUsuario". En el ejemplo, este
mensaje 512 de salida devuelve un valor buleano que indica si la
creación del perfil tuvo éxito o no.
El mensaje 522 de
"EliminarInternamentePeticiónPerfil-Usuario" y
el mensaje 524 de
"EliminarExternamenteRespuestaPerfil-Usuario"
son proporcionados como el interfaz de entrada y salida de la
operación 562 de "EliminarPerfilUsuario" (véase la figura 5E),
y permiten la eliminación de un perfil de usuario de una manera
similar a cómo puede ser creado o actualizado el perfil con la
operación 556 de "CrearPerfilUsuario" y la operación 560 de
"ActualizarPerfilUsuario".
Además de los mensajes de autenticación y
autorización, tales como los que han sido descritos, también puede
ser útil para definir mensajes y operaciones pertenecientes a la
configuración de servicios Web agregados. Ejemplos de las
operaciones 564 de "FijarParámetroConfig" y 566 de
"ObtenerParámetroConfig" están ilustradas en la figura 5E.
El mensaje de entrada de muestra para la
operación 564 de "FijarParámetroConfig" es el 526 de
"FijarInternamentePeticiónParámetroConfig", y el mensaje de
salida de muestra es el 528 de
"FijarExternamenteRespuestaParámetroConfig". El mensaje 526 de
entrada en el ejemplo tiene parámetros de entrada que incluyen el
testigo de autenticación "TestigoAut" para el solicitante, el
identificador de aprovisionamiento "PropIdent" para identificar
el sistema de aprovisionamiento donde debe ser almacenado el valor
del parámetro, el identificador de usuario "IdentUsuario" para
identificar el usuario con el cual está asociado este parámetro y el
nombre del parámetro de configuración "NombreParámetro" y el
valor "ValorParámetro". El mensaje 528 de salida devuelve un
valor Buleano "resultado" que indica si la operación
"FijarParámetroConfig" tuvo éxito.
El mensaje de entrada de muestra para la
operación 566 de "ObtenerParámetroConfig" es el 530 de
"ObtenerInternamenteRespuesta-ParámetroConfig",
y el mensaje de salida de muestra es el 532 de
"ObtenerExternamenteRespuestaParámetro-Config".
El mensaje 530 de entrada en el ejemplo tiene parámetros de entrada
que son idénticos a los del mensaje 526 de
"FijarInternamentePeticiónParámetroConfig", excepto que se
omite el parámetro "ValorParámetro". El mensaje 532 de salida
devuelve el valor del parámetro solicitado utilizando el parámetro
"ValorParámetro".
Volviendo ahora a la figura 6, se representa la
lógica que puede ser utilizada para ejecutar un servicio agregado y
las operaciones de identidad y/o configuración de sus
sub-servicios dentro del contexto de un flujo de
trabajo de servicios Web, de acuerdo con modos de realización
preferidos de la presente invención.
Puede disponerse una "entrada unificada al
sistema" o una sola capacidad de firma para un servicio agregado,
de acuerdo con la presente invención, por las que el interfaz de
aprovisionamiento del servicio agregado puede ser utilizado para
solicitar toda la información requerida de un usuario al principio
de la ejecución del servicio agregado. (Como será obvio, puede
suceder que alguna información necesite ser solicitada del usuario
durante la ejecución, y por tanto la presente invención debe ser
considerada como que permite hacer mínimas tales peticiones).
Las operaciones que están definidas
secuencialmente dentro del flujo de trabajo de WSFL de un servicio
agregado se ejecutan de acuerdo con la definición del flujo de
trabajo. La información de entrada al sistema obtenida del usuario
es preferiblemente "apilada" para su utilización por el
sub-servicio al cual pertenecen elementos
individuales de la información de entrada al sistema. El apilamiento
de los módulos es conocido en la técnica por los que están
familiarizados con sistemas de identidad y sistemas de autenticación
que proporcionan una sola capacidad de firma. El apilamiento se
refiere a la utilización de una palabra de paso "principal"
como clave de encriptación, donde la información así encriptada
comprende una o más palabras de paso "secundarias". Como en la
presente invención se utiliza el proceso de apilamiento, las
palabras de paso secundarias son las palabras de paso utilizadas
para los sub-servicios, y la palabra de paso
principal es aplicable al ámbito del servicio agregado y protege
estas palabras de paso secundarias. Los
sub-servicios son invocados en un orden específico,
de acuerdo con la definición de WSFL, y las palabras de paso
apiladas son sacadas de la pila después y presentadas al
sub-servicio apropiado de autenticación o
autorización.
Este proceso comienza en el bloque 600 de la
figura 6, donde se obtiene el identificador del usuario y la palabra
de paso (o tipo similar de entrada de autenticación). (Obsérvese que
las presentes referencias a "palabras de paso" no significan
limitar el tipo de credenciales que pueden ser admitidas. Las
credenciales pueden ser proporcionadas de distintas maneras,
incluyendo el texto como tal, las cadenas que han sido encriptadas,
los tiques y los certificados públicos de seguridad de clave tales
como los certificados X.509). Esta información de autenticación
puede ser traspasada después como entrada a un servicio remoto, que
generará un testigo de autenticación (bloque 610) al invocar su
operación de autenticación.
Preferiblemente, el testigo de autenticación
generado en el bloque 610 está generado como un fragmento XML, que
puede ser incluido después en una cabecera de mensaje SOAP. De esta
manera, las identidades de usuarios pueden ser retransmitidas cuando
se accede a servicios Web. Se hace referencia al estudio del mensaje
SOAP 700 de muestra de las figuras 7A y 7B, que ilustra cómo se
incluye una firma digital en una cabecera SOAP utilizando la
sintaxis XML. (Como se muestra en esas figuras, los testigos de
firma digital utilizan un espacio de nombres cualificado, y están
por tanto precedidas por las letras "ds"). Los sistemas de
autenticación y los sistemas de políticas pueden estar ligados a
operaciones de servicio que utilizan también la cabecera SOAP. Las
descripciones WSDL modelan preferiblemente las operaciones como una
combinación de la cabecera y del cuerpo SOAP. Es decir, todas las
operaciones que requieren una prueba de identidad requieren,
preferiblemente, intercambiar las credenciales del usuario. La
técnica de Extensiones de Seguridad de SOAP utilizada en los
presentes ejemplos es un ejemplo de cómo puede conseguirse esto. El
Lenguaje de Marcas de Asociación de la Seguridad ("SAML"), el
API del Servicio de Seguridad Genérica ("GSS") y la
arquitectura de Interoperabilidad Segura Común ("CSI")
proporciona también medios para el intercambio de seguridad de las
credenciales de un principal. (Una versión de SAML está definida en
el Borrador de OASIS que puede ser encontrado en la dirección de
Internet
http://www.oasis-open.org/committees/security/docs/
draft
-sstc-saml-spec-00.PDF,
de fecha 11 de Abril de 2001. El GSS-API está
definido en RFC 2743, "Generic Security Service Aplication Program
Interface, Version 2, Update 1" ("Interfaz de Programa de
Aplicaciones del Servicio de Seguridad Genérica, Versión 2,
Actualización 1''), de fecha Enero de 2000. CSI está definido en
"Common Secure Interoperability V2 Specification"
(Especificación V2 de Interoperabilidad Segura Común") disponible
en Internet en
http://www.omg.org/cgi-bin/doc?ptc/2001-03-02).
El testigo generado en el bloque 610, que
utiliza la información de entrada obtenida en el bloque 600, se
denomina en esta memoria testigo de autenticación "general"
porque sirve preferiblemente como sustituto para este usuario, que
puede ser utilizado posteriormente para identificar el usuario en
varios sub-servicios del servicio agregado. (En
otras palabras, este testigo no es, preferiblemente, específico de
ningún sub-servicio u operación).
La prueba del bloque 620 comprueba si este
usuario está (todavía) autenticado globalmente (es decir, para el
servicio agregado). En modos de realización preferidos, una vez que
el usuario es autenticado, sus credenciales están asociadas con las
peticiones del resto del flujo (es decir, las llamadas de acuerdo
con los servicios agregados). Sin embargo, la lógica de la figura 6
está diseñada para realizar la prueba en el bloque 620 más de una
vez, por ejemplo para tener en cuenta a un usuario que podría salir
del sistema durante la secuencia de operaciones especificadas en el
modelo de flujo. Si la prueba tiene un resultado negativo, este
usuario no tiene permitido continuar operando con el servicio
agregado, y se devuelve preferiblemente un código de fallo (bloque
640), tras el cual el proceso de la figura 6 termina. Si la prueba
tiene un resultado positivo, el proceso continúa en el bloque 630,
el cual comprueba si el usuario está autenticado localmente (es
decir, para el servicio siguiente a realizar, donde este servicio se
determina de acuerdo con el modelo de flujo de WSFL). Si esta prueba
tiene un resultado negativo, el control se transfiere al bloque 640;
en caso contrario el control se transfiere al bloque 670.
En el bloque 625, se recupera la información
apilada de identidad para la siguiente operación a realizar. Esta
información recuperada se traspasa a este servicio de autenticación
de la operación siguiente, el cual genera (o recupera) un testigo
específico de la operación utilizando esta información de
identidad.
En el bloque 660, se devuelve al que llama el
testigo específico de la operación utilizando una cabecera SOAP
(como se describe con referencia a las figuras 7A y 7B). (Obsérvese
que mientras que los mensajes de respuesta de las figuras 5A a 5C no
ilustran la devolución de testigos de autenticación, tales testigos
pueden ser añadidos si se desea). El bloque 670 utiliza entonces el
testigo recibido específico de la operación para determinar la
autorización del usuario específica de la operación. (Los usuarios
pueden tener varios papeles que determinan sus credenciales para una
clase específica de operaciones. Una persona que fuera el director
podría tener permitido observar los expedientes personales de sus
empleados cuando está actuando en su papel de jefe, como ejemplo,
mientras que podría no tener permitido utilizar esta misma operación
para observar su propio expediente personal cuando actúa en su papel
de empleado). La invocación de la autorización en el bloque 670
utiliza también, preferiblemente, una cabecera SOAP para pasar el
testigo específico de la operación recibido en el bloque 660. Si el
resultado de la operación de autorización indica que el usuario está
autorizado para la operación siguiente a realizar en el servicio
agregado, el proceso continúa en el bloque 680. (En otro caso
podría generarse un error y/o el flujo podría continuar en una
operación diferente. El proceso particular podría variar de una
implementación a otra, y por tanto no ha sido ilustrado en la figura
6. Será obvio para un experto normal en la técnica cómo puede
añadirse la lógica apropiada a la figura 6).
El bloque 680 invoca la siguiente operación
secuencial. Esta invocación puede utilizar también una cabecera
SOAP, si se requieren las credenciales del usuario, para pasar el
testigo específico de la operación recibido en el bloque 660. (Si se
recibe un testigo de autorización como resultado del proceso del
bloque 670, puede traspasarse ese testigo además del o en lugar del
testigo del bloque 650). Una vez terminada la operación, el bloque
690 comprueba si hay más operaciones en la secuencia. Si no las hay,
el proceso de la figura 6 termina. En otro caso, el control vuelve
al bloque 620 para determinar si el usuario está todavía autenticado
para el servicio agregado (tras lo cual el bloque 630 determinará
si el usuario está autenticado para este servicio siguiente, como se
ha estudiado anteriormente).
Como ha sido demostrado, la presente invención
proporciona técnicas ventajosas para el aprovisionamiento de
servicios Web agregados. Las cabeceras SOAP se utilizan
preferiblemente para retransmitir información de identidad. Las
técnicas divulgadas permiten unir sistemas de identidad heterogéneos
en el entorno de integración dinámica en tiempo de ejecución de los
servicios Web. Se promueven los estándares abiertos. Obsérvese que
aunque se ha hecho referencia a estándares particulares (tales como
el WSFL y el SOAP) cuando se han descrito modos de realización
preferidos, esto ha sido con fines de ilustración de los conceptos
inventivos de la presente invención. Pueden utilizarse medios
alternativos para proporcionar la funcionalidad análoga sin
apartarse del alcance de la presente invención.
Como podrá apreciarse por un experto en la
técnica, los modos de realización de la presente invención pueden
ser ofrecidos como métodos, sistemas o productos de programas
informáticos. Consecuentemente, la presente invención puede adoptar
la forma de un modo de realización enteramente de hardware, de un
modo de realización enteramente de software, o de un modo de
realización que combina aspectos de software y hardware. Además, la
presente invención puede adoptar la forma de un producto de programa
de ordenador que se materializa en uno o más medios de
almacenamiento utilizables por el ordenador (incluyendo, aunque no
limitándose a ello, el almacenamiento en disco, el
CD-ROM, el almacenamiento óptico y similares) que
tienen incorporado el código de programas utilizables por el
ordenador.
\newpage
La presente invención ha sido descrita con
referencia a diagramas de flujo y/o diagramas de bloques de métodos,
dispositivos (sistemas) y productos de programas de ordenador de
acuerdo con modos de realización de la invención. Se comprenderá que
cada flujo y/o bloque de los diagramas de flujo y/o de los diagramas
de bloques y las combinaciones de flujos y/o bloques en los
diagramas de flujo y/o en los diagramas de bloques, pueden ser
implementados por instrucciones de programas de ordenador. Estas
instrucciones de programas de ordenador pueden ser proporcionadas a
un procesador de un ordenador de propósito general, un ordenador de
propósito especial, un procesador incorporado u otros dispositivos
de proceso de datos para producir una máquina, de forma tal que las
instrucciones, que se ejecutan a través del procesador del ordenador
o de otros dispositivos programables de proceso de datos, crean
medios para implementar las funciones especificadas en el flujo o
flujos del diagrama de flujo y/o en el bloque o bloques del diagrama
de bloques.
Estas instrucciones de programa de ordenador
pueden ser almacenadas también en una memoria legible por el
ordenador que puede dirigirse a un ordenador u otros dispositivos
programables de proceso de datos, para funcionar de una manera
particular, de forma tal que las instrucciones almacenadas en la
memoria legible por el ordenador produzcan un artículo de
fabricación que incluya medios de instrucción que implementen la
función especificada en el flujo o flujos del diagrama de flujo y/o
en el bloque o bloques del diagrama de bloques.
Las instrucciones del programa de ordenador
pueden ser cargadas también en un ordenador u otros dispositivos
programables de proceso de datos, para originar una serie de pasos
de funcionamiento a realizar en el ordenador o en otro dispositivo
programable, para generar un proceso implementado en ordenador tal
que las instrucciones que se ejecutan en el ordenador o en otros
dispositivos programables, proporcionen los pasos para implementar
las funciones especificadas en el flujo o flujos del diagrama de
flujo y/o en el bloque o bloques del diagrama de bloques.
Aunque se han descrito modos de realización
preferidos de la presente invención, a los expertos en la técnica se
les pueden ocurrir variaciones y modificaciones adicionales a esos
modos de realización, una vez que aprendan los conceptos inventivos
básicos. Por tanto, se pretende que las reivindicaciones anexas se
interpreten como que incluyen tanto el modo de realización preferido
como todas las variaciones y modificaciones que caigan dentro del
alcance de la invención.
Claims (18)
1. Un método para proporcionar un servicio
agregado en una red informática (100, 120, 150), que comprende los
pasos de:
obtener (600) credenciales de un usuario que
requiere el acceso a un servicio agregado;
localizar, en un registro accesible por la red,
un documento de descripción del servicio que especifique un interfaz
de aprovisionamiento para el servicio agregado, comprendiendo el
servicio agregado una agregación de una pluralidad de
sub-servicios y especificando el interfaz de
aprovisionamiento cómo invocar funciones de identidad del servicio
agregado;
analizar (620, 630) las credenciales obtenidas
invocando una o más de las funciones de identidad, de acuerdo con la
especificación de las mismas en el interfaz de aprovisionamiento,
para determinar si el usuario está autenticado para acceder al
servicio agregado; y
permitir que el usuario acceda al servicio
agregado solamente si el análisis determina que el usuario está
autenticado para acceder al servicio agregado.
2. El método según la reivindicación 1, en el
que la implementación de cada una de las funciones del servicio
agregado es proporcionada por al menos uno de los
sub-servicios.
3. El método según la reivindicación 1, en el
que:
al menos uno de los
sub-servicios tiene un interfaz de aprovisionamiento
local, estando especificado el interfaz de aprovisionamiento local
en un correspondiente documento de descripción del servicio y
comprendiendo una especificación de cómo invocar una o más funciones
de identidad del sub-servicio; y
controlar el acceso a cada uno de los
sub-servicios que tiene el interfaz de
aprovisionamiento local, comprendiendo además los pasos de:
determinar si el usuario está autenticado para
acceder al sub-servicio invocando al menos una de
las una o más funciones de identidad del
sub-servicio, de acuerdo con la especificación de
las mismas en el interfaz de aprovisionamiento local; y
permitir que el usuario acceda al
sub-servicio solamente si el paso de determinación
determina que el usuario está autenticado para acceder al
sub-servicio.
4. El método según la reivindicación 3, en el
que:
el paso de obtener credenciales del usuario
obtiene también las credenciales del sub-servicio
para al menos uno de los sub-servicios que tienen el
interfaz de aprovisionamiento local; y
el paso de determinación utiliza las
credenciales del sub-servicio obtenidas.
5. El método según la reivindicación 1, en el
que
una o más operaciones de al menos uno de los
sub-servicios tiene protegido el acceso;
el paso de obtención comprende además, para al
menos una de las operaciones de acceso protegido, credenciales
específicas de la operación; y además comprende el paso de:
controlar el acceso a cada una de al menos una
de las operaciones de acceso protegido, que comprende además los
pasos de:
analizar las credenciales específicas de la
operación obtenidas, invocando una o más de las funciones de
identidad, de acuerdo con la especificación de las mismas en el
interfaz de aprovisionamiento, para determinar si el usuario puede
acceder a la operación de acceso protegido; y
permitir que el usuario acceda a la operación de
acceso protegido solamente si el paso de analizar las credenciales
específicas de la operación obtenidas determina que el usuario puede
acceder a la operación de acceso protegido.
6. El método según la reivindicación 1, en el
que la información de identidad obtenida invocando una o más
funciones de identidad es retransmitida programáticamente entre al
menos dos de los sub-servicios del servicio
agregado.
7. El método según la reivindicación 6, en el
que la retransmisión programática comprende el envío de un mensaje
que especifica las credenciales en una cabecera del mensaje y una
petición de servicio en un cuerpo del mensaje.
8. El método según la reivindicación 7, en el
que el mensaje es un mensaje SOAP ("Protocolo de Acceso a Objetos
Sencillos").
9. El método según la reivindicación 1, en el
que el documento de descripción del servicio está especificado en un
lenguaje de marcación.
10. El método según la reivindicación 9, en el
que el lenguaje de marcación es el Lenguaje de Descripción de
Servicios Web ("WSDL").
11. El método según la reivindicación 1, en el
que el registro accesible por la red es accedido utilizando mensajes
estandarizados.
12. El método según la reivindicación 1, en el
que una implementación de al menos uno de los
sub-servicios está localizada dinámicamente en
tiempo de ejecución.
13. El método según la reivindicación 6, en el
que la información de identidad se obtiene inicialmente como
resultado del paso de análisis.
14. El método según la reivindicación 6, en el
que la información de identidad comprende un testigo de
autenticación generado por una de las funciones de identidad
invocadas.
15. El método según la reivindicación 1, en el
que
al menos dos de los
sub-servicios tiene asociado con él, cada uno de
ellos, un sistema de identidad para el control de acceso a los
mismos;
al menos dos de los sistemas de identidad
asociados son heterogéneos, y
al menos una función seleccionada de las
funciones de identidad del servicio agregado permite unir
dinámicamente al menos dos de los sistemas de identidad
heterogéneos.
16. El método según la reivindicación 15, en el
que al menos una función de identidad seleccionada, al ser invocada,
identifica el sistema de identidad que almacena información
perteneciente a usuarios del sub-servicio con el
cual está asociado ese sistema de identidad.
17. Un sistema para proporcionar un servicio
agregado en una red informática, que comprende:
medios para obtener credenciales de un usuario
que solicita acceso a un servicio agregado;
medios para localizar, en un registro accesible
por la red, un documento de descripción del servicio que especifica
un interfaz de aprovisionamiento para el servicio agregado,
comprendiendo el servicio agregado una agregación de una pluralidad
de sub-servicios y especificando el interfaz de
aprovisionamiento cómo invocar las funciones de identidad del
servicio agregado;
medios para analizar las credenciales obtenidas
invocando una o más de las funciones de identidad, de acuerdo con la
especificación de las mismas en el interfaz de aprovisionamiento,
para determinar si el usuario está autenticado para acceder al
servicio agregado; y
medios para permitir al usuario acceder al
servicio agregado solamente si los medios para analizar determinan
que el usuario está autenticado para acceder al servicio
agregado.
18. Un producto de programa de ordenador para
proporcionar uno o más recursos de software de un servicio agregado
en una red informática, estando el producto de programa de ordenador
incorporado en uno o más medios legibles por el ordenador y
comprendiendo:
medios de código de programa legible por el
ordenador para llevar a cabo todos los pasos del método, según
cualquiera de las reivindicaciones 1 a 16.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47811 | 1987-05-08 | ||
US10/047,811 US7603469B2 (en) | 2002-01-15 | 2002-01-15 | Provisioning aggregated services in a distributed computing environment |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2278066T3 true ES2278066T3 (es) | 2007-08-01 |
Family
ID=21951105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES02783324T Expired - Lifetime ES2278066T3 (es) | 2002-01-15 | 2002-12-11 | Ofrecimiento de servicios agregados en un entorno informatico distribuido. |
Country Status (11)
Country | Link |
---|---|
US (1) | US7603469B2 (es) |
EP (1) | EP1483671B1 (es) |
JP (1) | JP4594621B2 (es) |
KR (1) | KR100600959B1 (es) |
CN (1) | CN1291318C (es) |
AT (1) | ATE353453T1 (es) |
AU (1) | AU2002347391A1 (es) |
DE (1) | DE60218069T2 (es) |
ES (1) | ES2278066T3 (es) |
IL (1) | IL162438A0 (es) |
WO (1) | WO2003060710A2 (es) |
Families Citing this family (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7343428B2 (en) * | 2001-09-19 | 2008-03-11 | International Business Machines Corporation | Dynamic, real-time integration of software resources through services of a content framework |
US7035944B2 (en) * | 2001-09-19 | 2006-04-25 | International Business Machines Corporation | Programmatic management of software resources in a content framework environment |
US7747856B2 (en) * | 2002-07-26 | 2010-06-29 | Computer Associates Think, Inc. | Session ticket authentication scheme |
US7266582B2 (en) * | 2002-08-09 | 2007-09-04 | Sun Microsystems, Inc. | Method and system for automating generation of web services from existing service components |
US7512975B2 (en) * | 2002-08-16 | 2009-03-31 | Intel Corporation | Hardware-assisted credential validation |
US20040064528A1 (en) * | 2002-09-30 | 2004-04-01 | Microsoft Corporation | Safe interoperability among web services |
CA2405673C (en) * | 2002-09-30 | 2009-10-06 | Ibm Canada Limited-Ibm Canada Limitee | Provisioning web services |
US8356067B2 (en) * | 2002-10-24 | 2013-01-15 | Intel Corporation | Servicing device aggregates |
US7178163B2 (en) * | 2002-11-12 | 2007-02-13 | Microsoft Corporation | Cross platform network authentication and authorization model |
SE0300368D0 (sv) * | 2003-02-11 | 2003-02-11 | Ericsson Telefon Ab L M | System for internet privacy |
US20040225656A1 (en) * | 2003-05-07 | 2004-11-11 | Panacea Corporation | Web services method and system |
CA2776354A1 (en) * | 2003-06-05 | 2005-02-24 | Intertrust Technologies Corporation | Interoperable systems and methods for peer-to-peer service orchestration |
US7490127B2 (en) * | 2003-06-13 | 2009-02-10 | Microsoft Corporation | Concurrent recipient resolution and certificate acquisition |
US6959325B2 (en) * | 2003-08-11 | 2005-10-25 | Teamon Systems, Inc. | System and method for generating configurations used for accessing electronic mailboxes |
US7539974B2 (en) * | 2003-10-24 | 2009-05-26 | Microsoft Corporation | Scalable synchronous and asynchronous processing of monitoring rules |
US7103874B2 (en) * | 2003-10-23 | 2006-09-05 | Microsoft Corporation | Model-based management of computer systems and distributed applications |
US7506307B2 (en) * | 2003-10-24 | 2009-03-17 | Microsoft Corporation | Rules definition language |
US7676560B2 (en) * | 2003-10-24 | 2010-03-09 | Microsoft Corporation | Using URI's to identify multiple instances with a common schema |
US7765540B2 (en) * | 2003-10-23 | 2010-07-27 | Microsoft Corporation | Use of attribution to describe management information |
US7716357B2 (en) * | 2003-10-24 | 2010-05-11 | Microsoft Corporation | Service discovery and publication |
US7805713B2 (en) * | 2003-10-27 | 2010-09-28 | Hewlett-Packard Development Company, L.P. | Transaction processing architecture |
US7720906B2 (en) * | 2003-11-24 | 2010-05-18 | Microsoft Corporation | Web service for remote application discovery |
US7590713B2 (en) * | 2003-11-24 | 2009-09-15 | Microsoft Corporation | Presenting a merged view of remote application shortcuts from multiple providers |
US7475125B2 (en) * | 2003-11-24 | 2009-01-06 | Microsoft Corporation | Seamless discovery of workstation-installed remote applications from an extranet |
WO2005060212A1 (en) * | 2003-12-12 | 2005-06-30 | International Business Machines Corporation | Port type agnostic proxy support for web services intermediaries |
US7464142B2 (en) | 2003-12-12 | 2008-12-09 | International Business Machines Corporation | Port type agnostic proxy support for web services intermediates |
US7676562B2 (en) * | 2004-01-20 | 2010-03-09 | Microsoft Corporation | Computer system for accessing instrumentation information |
DE102004004345A1 (de) * | 2004-01-29 | 2005-08-18 | Abb Research Ltd. | System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern |
WO2005081672A2 (en) * | 2004-01-30 | 2005-09-09 | International Business Machines Corporation | Componentized automatic provisioning and management of computing environments for computing utilities |
JP4873852B2 (ja) * | 2004-02-26 | 2012-02-08 | 株式会社リコー | 第一の通信装置、情報処理装置、情報処理プログラム、記録媒体 |
US8862570B1 (en) | 2004-03-02 | 2014-10-14 | Rockstar Consortium Us Lp | Method and apparatus for open management of multi-media services |
US7975270B2 (en) * | 2004-03-10 | 2011-07-05 | International Business Machines Corporation | Facilitating allocation of resources in a heterogeneous computing environment |
US7467399B2 (en) * | 2004-03-31 | 2008-12-16 | International Business Machines Corporation | Context-sensitive confidentiality within federated environments |
US7823192B1 (en) * | 2004-04-01 | 2010-10-26 | Sprint Communications Company L.P. | Application-to-application security in enterprise security services |
US20050228984A1 (en) * | 2004-04-07 | 2005-10-13 | Microsoft Corporation | Web service gateway filtering |
US8010783B1 (en) | 2004-04-15 | 2011-08-30 | Aol Inc. | Service provider invocation |
US9088561B2 (en) * | 2004-05-19 | 2015-07-21 | Ca, Inc. | Method and system for authentication in a computer network |
US20060041669A1 (en) * | 2004-05-19 | 2006-02-23 | Lucent Technologies, Inc. | Securing web services |
US8615601B2 (en) * | 2004-05-21 | 2013-12-24 | Oracle International Corporation | Liquid computing |
US7774485B2 (en) * | 2004-05-21 | 2010-08-10 | Bea Systems, Inc. | Dynamic service composition and orchestration |
US8566461B1 (en) | 2004-06-09 | 2013-10-22 | Digital River, Inc. | Managed access to media services |
US20050283352A1 (en) * | 2004-06-18 | 2005-12-22 | Dieter Roller | Evaluation of process expressions on the basis of deployment information |
ATE405083T1 (de) * | 2004-06-29 | 2008-08-15 | Sap Ag | Rechnersystem und datenverarbeitungsverfahren zum gebrauch eines webdienstes |
US7739695B2 (en) * | 2004-07-19 | 2010-06-15 | Sap Ag | Computer implemented method and system for running a plurality of business processes |
US7647319B2 (en) * | 2004-09-06 | 2010-01-12 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, program, and storage medium |
US20060069995A1 (en) * | 2004-09-30 | 2006-03-30 | British Telecommunications Public Limited Company | Personalised process automation |
US7483994B1 (en) | 2004-11-01 | 2009-01-27 | Ameriprise Financial, Inc. | System and method for creating a standard envelope structure |
US7613830B2 (en) * | 2004-12-10 | 2009-11-03 | Microsoft Corporation | Reliably transferring queued application messages |
US20060136242A1 (en) * | 2004-12-21 | 2006-06-22 | International Business Machines Corporation | Documents between services exchange and visualization of negotiation |
US7657924B2 (en) * | 2005-04-06 | 2010-02-02 | International Business Machines Corporation | Method and system for implementing authorization policies for web services |
US7983209B2 (en) * | 2005-04-18 | 2011-07-19 | Research In Motion Limited | System and method for producing notification based web services |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
US20060248082A1 (en) * | 2005-04-29 | 2006-11-02 | Amit Raikar | Method and an apparatus for securely communicating between a management server and a managed node associated with a dynamic provisioning system |
US8464317B2 (en) * | 2005-05-06 | 2013-06-11 | International Business Machines Corporation | Method and system for creating a protected object namespace from a WSDL resource description |
US8566462B2 (en) * | 2005-05-12 | 2013-10-22 | Digital River, Inc. | Methods of controlling access to network content referenced within structured documents |
US20060294383A1 (en) * | 2005-06-28 | 2006-12-28 | Paula Austel | Secure data communications in web services |
US8250226B2 (en) * | 2005-07-21 | 2012-08-21 | Ca, Inc. | Generating one or more clients for generating one or more synthetic transactions with one or more web service operations |
CN100401259C (zh) * | 2005-08-15 | 2008-07-09 | 中兴通讯股份有限公司 | 一种分布式服务系统的服务提供方法 |
CN100454833C (zh) * | 2005-08-19 | 2009-01-21 | 华为技术有限公司 | 一种识别网管接口参数的方法 |
KR101285024B1 (ko) * | 2005-10-18 | 2013-08-27 | 인터트러스트 테크놀로지즈 코포레이션 | 디지털 권리 관리를 위한 방법 |
US9626667B2 (en) * | 2005-10-18 | 2017-04-18 | Intertrust Technologies Corporation | Digital rights management engine systems and methods |
CN100444148C (zh) * | 2005-12-08 | 2008-12-17 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 基于Web服务的工厂主机与集群控制器系统的控制方法 |
US8230487B2 (en) * | 2005-12-21 | 2012-07-24 | International Business Machines Corporation | Method and system for controlling access to a secondary system |
JP5483884B2 (ja) * | 2006-01-17 | 2014-05-07 | キダロ (イスラエル) リミテッド | 複数のコンピューティング環境のシームレスな統合 |
EP1818820A1 (en) * | 2006-02-03 | 2007-08-15 | Research In Motion Limited | System and method for installing custom services on a component-based application platform |
US20070220035A1 (en) * | 2006-03-17 | 2007-09-20 | Filip Misovski | Generating user interface using metadata |
US7698251B2 (en) * | 2006-04-27 | 2010-04-13 | International Business Machines Corporation | Fault tolerant facility for the aggregation of data from multiple processing units |
US9386327B2 (en) | 2006-05-24 | 2016-07-05 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
US8280982B2 (en) | 2006-05-24 | 2012-10-02 | Time Warner Cable Inc. | Personal content server apparatus and methods |
US8024762B2 (en) | 2006-06-13 | 2011-09-20 | Time Warner Cable Inc. | Methods and apparatus for providing virtual content over a network |
US9830145B2 (en) * | 2006-08-14 | 2017-11-28 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems and methods for infrastructure and middleware provisioning |
US8520850B2 (en) | 2006-10-20 | 2013-08-27 | Time Warner Cable Enterprises Llc | Downloadable security and protection methods and apparatus |
US20080147835A1 (en) * | 2006-12-19 | 2008-06-19 | Sunil Chandra | Partially decentralized composition of web services |
US20080178010A1 (en) | 2007-01-18 | 2008-07-24 | Vaterlaus Robert K | Cryptographic web service |
US8621540B2 (en) | 2007-01-24 | 2013-12-31 | Time Warner Cable Enterprises Llc | Apparatus and methods for provisioning in a download-enabled system |
US8181206B2 (en) | 2007-02-28 | 2012-05-15 | Time Warner Cable Inc. | Personal content server apparatus and methods |
US8098248B2 (en) * | 2007-04-02 | 2012-01-17 | International Business Machines Corporation | Method for semantic modeling of stream processing components to enable automatic application composition |
US8863102B2 (en) * | 2007-04-02 | 2014-10-14 | International Business Machines Corporation | Method and system for assembling information processing applications based on declarative semantic specifications |
US8307372B2 (en) * | 2007-04-02 | 2012-11-06 | International Business Machines Corporation | Method for declarative semantic expression of user intent to enable goal-driven information processing |
US8370812B2 (en) * | 2007-04-02 | 2013-02-05 | International Business Machines Corporation | Method and system for automatically assembling processing graphs in information processing systems |
US8166465B2 (en) * | 2007-04-02 | 2012-04-24 | International Business Machines Corporation | Method and system for composing stream processing applications according to a semantic description of a processing goal |
US8656472B2 (en) | 2007-04-20 | 2014-02-18 | Microsoft Corporation | Request-specific authentication for accessing web service resources |
US8117233B2 (en) * | 2007-05-14 | 2012-02-14 | International Business Machines Corporation | Method and system for message-oriented semantic web service composition based on artificial intelligence planning |
US8528058B2 (en) | 2007-05-31 | 2013-09-03 | Microsoft Corporation | Native use of web service protocols and claims in server authentication |
CN101335622B (zh) * | 2007-06-27 | 2012-08-29 | 日电(中国)有限公司 | 使用匿名柔性凭证的用于分布式授权的方法和装置 |
US7991877B2 (en) * | 2007-10-05 | 2011-08-02 | International Business Machines Corporation | Rogue router hunter |
CN101488843A (zh) * | 2008-01-16 | 2009-07-22 | 北京航空航天大学 | 一种基于冗余机制的高可用服务组合实现方法 |
US9503691B2 (en) | 2008-02-19 | 2016-11-22 | Time Warner Cable Enterprises Llc | Methods and apparatus for enhanced advertising and promotional delivery in a network |
US8364788B2 (en) * | 2008-03-13 | 2013-01-29 | Hewlett-Packard Development Company, L.P. | Processing client requests for common services according to one or more canonical forms |
US8601253B2 (en) * | 2008-04-24 | 2013-12-03 | International Business Machines Corporation | Dynamic provisioning in data processing environment |
US8893242B2 (en) * | 2008-04-29 | 2014-11-18 | Ebay Inc. | System and method for pool-based identity generation and use for service access |
CN101304410A (zh) * | 2008-06-05 | 2008-11-12 | 郭丰亮 | 分布式web的智能信息平台 |
US8782065B2 (en) * | 2008-06-06 | 2014-07-15 | Microsoft Corporation | Interfacing an application to data sources via a web service interface |
CN101616136B (zh) * | 2008-06-26 | 2013-05-01 | 阿里巴巴集团控股有限公司 | 一种提供互联网服务的方法及服务集成平台系统 |
US9357247B2 (en) | 2008-11-24 | 2016-05-31 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US11076189B2 (en) | 2009-03-30 | 2021-07-27 | Time Warner Cable Enterprises Llc | Personal media channel apparatus and methods |
US9215423B2 (en) | 2009-03-30 | 2015-12-15 | Time Warner Cable Enterprises Llc | Recommendation engine apparatus and methods |
US9602864B2 (en) | 2009-06-08 | 2017-03-21 | Time Warner Cable Enterprises Llc | Media bridge apparatus and methods |
US8555407B2 (en) * | 2009-10-09 | 2013-10-08 | Lockheed Martin Corporation | On demand visibility services and smart directory |
US8396055B2 (en) | 2009-10-20 | 2013-03-12 | Time Warner Cable Inc. | Methods and apparatus for enabling media functionality in a content-based network |
US10264029B2 (en) | 2009-10-30 | 2019-04-16 | Time Warner Cable Enterprises Llc | Methods and apparatus for packetized content delivery over a content delivery network |
US9519728B2 (en) | 2009-12-04 | 2016-12-13 | Time Warner Cable Enterprises Llc | Apparatus and methods for monitoring and optimizing delivery of content in a network |
US9342661B2 (en) | 2010-03-02 | 2016-05-17 | Time Warner Cable Enterprises Llc | Apparatus and methods for rights-managed content and data delivery |
US9906838B2 (en) | 2010-07-12 | 2018-02-27 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
CN102457555A (zh) * | 2010-10-28 | 2012-05-16 | 中兴通讯股份有限公司 | 一种分布式存储的安全系统及方法 |
CN102546322A (zh) * | 2010-12-31 | 2012-07-04 | 青岛海尔软件有限公司 | 数字家庭的Web服务系统 |
US20120239727A1 (en) * | 2011-03-16 | 2012-09-20 | Kddi Corporation | Multimedia service network and method for providing the same |
JP6047553B2 (ja) | 2011-04-11 | 2016-12-21 | インタートラスト テクノロジーズ コーポレイション | 情報セキュリティのためのシステムと方法 |
CN103220259B (zh) * | 2012-01-20 | 2016-06-08 | 华为技术有限公司 | Oauth API的使用、调用方法、设备及系统 |
US9401904B1 (en) * | 2012-03-15 | 2016-07-26 | Motio, Inc. | Security migration in a business intelligence environment |
US9467723B2 (en) | 2012-04-04 | 2016-10-11 | Time Warner Cable Enterprises Llc | Apparatus and methods for automated highlight reel creation in a content delivery network |
US20140082645A1 (en) | 2012-09-14 | 2014-03-20 | Peter Stern | Apparatus and methods for providing enhanced or interactive features |
JP6066647B2 (ja) * | 2012-09-27 | 2017-01-25 | キヤノン株式会社 | デバイス装置、その制御方法、およびそのプログラム |
US9565472B2 (en) | 2012-12-10 | 2017-02-07 | Time Warner Cable Enterprises Llc | Apparatus and methods for content transfer protection |
GB2509723A (en) * | 2013-01-10 | 2014-07-16 | Ibm | Invoking web services that are determined at the time of execution |
US20140282786A1 (en) | 2013-03-12 | 2014-09-18 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing and uploading content to personalized network storage |
CN103391294A (zh) * | 2013-07-24 | 2013-11-13 | 佳都新太科技股份有限公司 | 一种基于服务描述的远程方法调用 |
CN103970214B (zh) * | 2014-05-19 | 2018-05-04 | 浪潮电子信息产业股份有限公司 | 一种异构加速刀片式计算机系统架构 |
US9621940B2 (en) | 2014-05-29 | 2017-04-11 | Time Warner Cable Enterprises Llc | Apparatus and methods for recording, accessing, and delivering packetized content |
US11088807B2 (en) * | 2014-05-30 | 2021-08-10 | Apple Inc. | Application-level acknowledgements |
US10116676B2 (en) | 2015-02-13 | 2018-10-30 | Time Warner Cable Enterprises Llc | Apparatus and methods for data collection, analysis and service modification based on online activity |
US10574750B2 (en) * | 2015-04-27 | 2020-02-25 | Microsoft Technology Licensing, Llc | Aggregation and federation of distributed service entities and associations |
US9225711B1 (en) * | 2015-05-14 | 2015-12-29 | Fmr Llc | Transferring an authenticated session between security contexts |
US10404758B2 (en) | 2016-02-26 | 2019-09-03 | Time Warner Cable Enterprises Llc | Apparatus and methods for centralized message exchange in a user premises device |
US10657478B2 (en) | 2016-09-11 | 2020-05-19 | Bank Of America Corporation | Aggregated entity resource tool |
US10831509B2 (en) | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
CN108037978A (zh) * | 2017-12-22 | 2018-05-15 | 天津津航计算技术研究所 | 一种基于虚拟化技术的计算资源管理方法 |
US10984078B2 (en) * | 2018-07-16 | 2021-04-20 | Vmware, Inc. | Systems and methods for improved authentication |
US11196837B2 (en) | 2019-03-29 | 2021-12-07 | Intel Corporation | Technologies for multi-tier prefetching in a context-aware edge gateway |
US11388054B2 (en) | 2019-04-30 | 2022-07-12 | Intel Corporation | Modular I/O configurations for edge computing using disaggregated chiplets |
US11245538B2 (en) | 2019-09-28 | 2022-02-08 | Intel Corporation | Methods and apparatus to aggregate telemetry data in an edge environment |
US20230015789A1 (en) * | 2021-07-08 | 2023-01-19 | Vmware, Inc. | Aggregation of user authorizations from different providers in a hybrid cloud environment |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US142760A (en) * | 1873-09-16 | Improvement in alloys to resemble silver | ||
US7976A (en) * | 1851-03-11 | Action | ||
US59526A (en) * | 1866-11-06 | Improvement in carriages | ||
US184070A (en) * | 1876-11-07 | Improvement in gage-cocks | ||
US34771A (en) * | 1862-03-25 | parmenter | ||
US111848A (en) * | 1871-02-14 | jackson | ||
US4667882A (en) | 1981-10-15 | 1987-05-26 | West Point Pepperell, Inc. | Device for applying foam to textiles |
DE3582232D1 (de) | 1984-12-28 | 1991-04-25 | Mackie Donald E | Geraet zum spielen eines spiels. |
US5715453A (en) * | 1996-05-31 | 1998-02-03 | International Business Machines Corporation | Web server mechanism for processing function calls for dynamic data queries in a web page |
US5991535A (en) * | 1996-07-03 | 1999-11-23 | Sun Microsystems, Inc. | Visual composition tool for constructing application programs using distributed objects on a distributed object network |
JP3410324B2 (ja) | 1997-04-30 | 2003-05-26 | 日本電信電話株式会社 | オーダエントリ情報変換装置およびオーダエントリシステム |
US5884317A (en) * | 1997-08-20 | 1999-03-16 | Bea Systems, Inc. | Service interface repository |
US6546488B2 (en) | 1997-09-22 | 2003-04-08 | Hughes Electronics Corporation | Broadcast delivery of information to a personal computer for local storage and access |
AU3106099A (en) | 1998-03-27 | 1999-10-18 | Infoimage Incorporated | Methods and apparatus for network applications using object tools |
US6564251B2 (en) * | 1998-12-03 | 2003-05-13 | Microsoft Corporation | Scalable computing system for presenting customized aggregation of information |
US6738964B1 (en) * | 1999-03-11 | 2004-05-18 | Texas Instruments Incorporated | Graphical development system and method |
US6792605B1 (en) | 1999-06-10 | 2004-09-14 | Bow Street Software, Inc. | Method and apparatus for providing web based services using an XML Runtime model to store state session data |
US6560633B1 (en) * | 1999-06-10 | 2003-05-06 | Bow Street Software, Inc. | Method for creating network services by transforming an XML runtime model in response to an iterative input process |
US6516349B1 (en) * | 1999-09-07 | 2003-02-04 | Sun Microsystems, Inc. | System for updating a set of instantiated content providers based on changes in content provider directory without interruption of a network information services |
US6839680B1 (en) * | 1999-09-30 | 2005-01-04 | Fujitsu Limited | Internet profiling |
US7441232B2 (en) | 1999-11-08 | 2008-10-21 | British Telecommunications Public Limited Company | Task management |
US6851088B1 (en) * | 1999-12-07 | 2005-02-01 | International Business Machines Corporation | Conditional highlighting of given cells in a dynamic HTML table |
EP1117220A1 (en) * | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Method and system for protocol conversion |
JP3711866B2 (ja) | 2000-04-10 | 2005-11-02 | 日本電気株式会社 | プラグアンドプレイ機能を有するフレームワークおよびその再構成方法 |
US6857008B1 (en) * | 2000-04-19 | 2005-02-15 | Cisco Technology, Inc. | Arrangement for accessing an IP-based messaging server by telephone for management of stored messages |
US6643650B1 (en) * | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
EP1285354B1 (en) | 2000-05-09 | 2004-03-03 | Sun Microsystems, Inc. | Method and apparatus for proximity discovery of services |
US6327628B1 (en) * | 2000-05-19 | 2001-12-04 | Epicentric, Inc. | Portal server that provides a customizable user Interface for access to computer networks |
AU2001281253A1 (en) * | 2000-08-11 | 2002-02-25 | Manugistics, Inc. | System and method for integrating disparate networks for use in electronic communication and commerce |
FR2813471B1 (fr) * | 2000-08-31 | 2002-12-20 | Schneider Automation | Systeme de communication d'un equipement d'automatisme base sur le protocole soap |
US7728838B2 (en) * | 2000-09-15 | 2010-06-01 | Invensys Systems, Inc. | Method and system for animating graphical user interface elements via a manufacturing/process control portal server |
US20020065946A1 (en) * | 2000-10-17 | 2002-05-30 | Shankar Narayan | Synchronized computing with internet widgets |
US6681221B1 (en) * | 2000-10-18 | 2004-01-20 | Docent, Inc. | Method and system for achieving directed acyclic graph (DAG) representations of data in XML |
US6829630B1 (en) * | 2000-11-24 | 2004-12-07 | Xerox Corporation | Mechanisms for web-object event/state-driven communication between networked devices |
US20020111848A1 (en) | 2001-02-12 | 2002-08-15 | White Craig R. | Aggregation of services on network portals |
US7283811B2 (en) | 2001-02-23 | 2007-10-16 | Lucent Technologies Inc. | System and method for aggregation of user applications for limited-resource devices |
US7236939B2 (en) | 2001-03-31 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Peer-to-peer inter-enterprise collaborative process management method and system |
US20020158899A1 (en) * | 2001-04-30 | 2002-10-31 | Robert Raymond | Portal system and method for managing resources in a networked computing environment |
US20020198973A1 (en) * | 2001-04-30 | 2002-12-26 | Besaw Lawrence M. | System for dynamic customer filtering of management information presented through a web-based portal |
US20030005090A1 (en) * | 2001-06-30 | 2003-01-02 | Sullivan Robert R. | System and method for integrating network services |
US7017162B2 (en) * | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
US6920461B2 (en) * | 2001-07-10 | 2005-07-19 | Microsoft Corp. | Application program interface for network software platform |
-
2002
- 2002-01-15 US US10/047,811 patent/US7603469B2/en not_active Expired - Lifetime
- 2002-12-11 DE DE60218069T patent/DE60218069T2/de not_active Expired - Lifetime
- 2002-12-11 AT AT02783324T patent/ATE353453T1/de not_active IP Right Cessation
- 2002-12-11 IL IL16243802A patent/IL162438A0/xx unknown
- 2002-12-11 ES ES02783324T patent/ES2278066T3/es not_active Expired - Lifetime
- 2002-12-11 CN CNB028260171A patent/CN1291318C/zh not_active Expired - Lifetime
- 2002-12-11 JP JP2003560738A patent/JP4594621B2/ja not_active Expired - Lifetime
- 2002-12-11 KR KR1020047001467A patent/KR100600959B1/ko not_active IP Right Cessation
- 2002-12-11 AU AU2002347391A patent/AU2002347391A1/en not_active Abandoned
- 2002-12-11 EP EP02783324A patent/EP1483671B1/en not_active Expired - Lifetime
- 2002-12-11 WO PCT/GB2002/005626 patent/WO2003060710A2/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
DE60218069T2 (de) | 2007-08-09 |
AU2002347391A1 (en) | 2003-07-30 |
DE60218069D1 (de) | 2007-03-22 |
EP1483671A2 (en) | 2004-12-08 |
WO2003060710A3 (en) | 2004-05-06 |
CN1608248A (zh) | 2005-04-20 |
JP2005515540A (ja) | 2005-05-26 |
EP1483671B1 (en) | 2007-02-07 |
IL162438A0 (en) | 2005-11-20 |
ATE353453T1 (de) | 2007-02-15 |
KR100600959B1 (ko) | 2006-07-13 |
US7603469B2 (en) | 2009-10-13 |
JP4594621B2 (ja) | 2010-12-08 |
US20030135628A1 (en) | 2003-07-17 |
CN1291318C (zh) | 2006-12-20 |
KR20040068106A (ko) | 2004-07-30 |
WO2003060710A2 (en) | 2003-07-24 |
AU2002347391A8 (en) | 2003-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2278066T3 (es) | Ofrecimiento de servicios agregados en un entorno informatico distribuido. | |
US7346923B2 (en) | Federated identity management within a distributed portal server | |
US8484699B2 (en) | Context-sensitive confidentiality within federated environments | |
US8135668B2 (en) | Service composition environment | |
US20030163513A1 (en) | Providing role-based views from business web portals | |
Hirsch et al. | Mobile web services: architecture and implementation | |
JP2013538380A (ja) | 第三者のセキュア・サービスを集約するワークフローのためのセキュリティ・モデルのための方法、システム、およびコンピュータ・プログラム | |
US20060074703A1 (en) | Providing and managing business processes | |
González et al. | A service-oriented integration platform to support a joined-up e-government approach: The uruguayan experience | |
Jayakumar et al. | Suitable QoS parameters survey for standard web services & web applications to understand their cloud deployability | |
Bhandari et al. | Generalized framework for secure web service composition | |
Pennington | Introduction to web services | |
Fujita | Dynamic Collaboration of Businesses using Web Services | |
Fernandez et al. | Web services security | |
Chen | Research and implementation on enterprise application integration platform | |
Opincaru | Service oriented security architecture applied to spatial data infrastructures | |
Fensel et al. | Web services | |
Hillenbrand et al. | Web services and peer-to-peer | |
Tzima et al. | Web Services Technology: An Overview | |
Pather | A framework for promoting interoperability in a global electronic market-space | |
Cunningham et al. | Network-centric architecture to enable secure communications and discovery | |
Uttamsingh | Dynamic Intelligent Business Process Management (BPM)“A Web Services & AI Perspective” | |
Hasmy | Security issues in web services: a review approach with process and applications of multi–part multi-signature document | |
Pettenati et al. | An overlay infrastructural approach for a web-wide trustworthy identity and profile management | |
Kim | Mini-SOA/ESB design guidelines and simulation for wireless sensor networks |