Model-based composite application platform
AssigneeMicrosoft Corporation
InventorsJeffrey S. Pinkston, Bradford H. Lovering, Donald F. Box, Steven Swartz, Destry W. Hood
Life of this patent
Estimating the term…
Abstract
Embodiments provide an architecture to enable composite, autonomous composite applications and services to be built and deployed. In addition, an infrastructure is provided to enable communication between and amongst distributed applications and services. In one or more embodiments, an example architecture includes or otherwise leverages five logical modules including connectivity services, process services, identity services, lifecycle services and tools.
Claims5
A computer-implemented method comprising:
- providing a connectivity service for allowing composite applications and services to communicate with one another, wherein the connectivity service supports response coordination to expected and unexpected states in one or more application modules, provides message brokering services, and virtualizes transfer, discovery and synchronization over multiple endpoints, and further wherein the connectivity service supports multiple different encoding standards, facilitates message-based, point-to-point communication, supports queries, ensures that applications are named consistently, and provides a security architecture for the composite applications, wherein the connectivity service implements wide-area proximity-aware routing and provides federated namespaces;
- providing a process service to provide a runtime for composite applications, wherein the process service receives messages and, responsively, provides an environment that can be used to run a process for which a message has been sent, and processes messages and attempts to associate a message with a process that may be running;
- providing an identity service that performs identity manipulations associated with composite applications, wherein the identity service includes an access layer and a directory stack accessible via the access layer, wherein the access layer comprises multiple different types of APIs for accessing data in the directory stack, and an access service for managing and using identities in connection with composite applications;
- providing a lifecycle service that provides an environment in which a composite application can run, wherein the lifecycle service maintains information associated with a composite application, synchronizes data between multiple different data sources and composite applications, accesses a composite application and distributes the composite application on different machines, and analyzes performance of one or more composite applications.
One or more computer-readable storage media embodying instructions which, when executed, implement a method comprising:
- providing a connectivity service for allowing composite applications and services to communicate with one another, wherein the connectivity service supports response coordination to expected and unexpected states in one or more application modules, provides message brokering services, and virtualizes transfer, discovery and synchronization over multiple endpoints;
- providing a process service to provide a runtime for composite applications, wherein the process service receives messages and, responsively, provides an environment that can be used to run a process for which a message has been sent, and processes messages and attempts to associate a message with a process that may be running;
- providing an identity service that performs identity manipulations associated with composite applications, wherein the identity service includes an access layer and a directory stack accessible via the access layer, wherein the access layer comprises multiple different types of APIs for accessing data in the directory stack, and an access service for managing and using identities in connection with composite applications;
- providing a lifecycle service that provides an environment in which a composite application can run, wherein the lifecycle service maintains information associated with a composite application, synchronizes data between multiple different data sources and composite applications, accesses a composite application and distributes the composite application on different machines, and analyzes performance of one or more composite applications.
Dependencies are inferred from the claim text.