摘要:
Example embodiments of the present invention provide a mechanism for allowing developers to define new interfaces and insert custom translational code that implements these new interfaces for legacy components that otherwise cannot communicate in a web service environment. These new interfaces are then exposed to the web service client in such a way that abstracts the web service client from the legacy components interfaces. The objects that implement the new interfaces are referred to herein as “service surrogates” and the new interfaces will be commonly referred to as a, “surrogate interfaces.” These surrogate interfaces may be initialized along with an instance of the service surrogate upon startup of an application that offers the services. In addition, a dynamic web service can simultaneously run along with the service surrogate for those services that may not need the features offered by the service surrogates.
摘要:
A transaction manager virtualization layer is provided for supporting multiple active transaction managers in a cluster or node. By virtualizing the transaction managers, applications and services are enabled to migrate across cluster nodes or even outside a cluster that includes relevant recovery mechanisms for transactions that are not completed at the time of migration. Multiple implementations of a transaction manager may be enabled to run side-by-side in a node or cluster allowing a rolling upgrade of transaction managers in clusters.
摘要:
An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. Various embodiments verify the validity of subtyping relationships by translating to first-order logic, and invoking a general-purpose theorem prover with the first-order logic as input. In contrast to treating formulas as types, types are translated into formulas of standard first-order logic. Moreover, to represent data structures of the programming language as first-order logic, universal and existential quantifiers of first-order logic, and function symbols in terms, are exploited. Data intensive applications can be generated, verified, and deployed with greater speed and scale.
摘要:
The subject disclosure relates to a syntax for a scripting language that allows data intensive applications to be written in a compact, human friendly, textual format. The scripting language can be a declarative programming language, such as the “D” programming language, which is well suited to the authoring of data intensive programs. A compact query syntax is provided for D that simplifies the expression of complex and data intensive programs. In another non-limiting aspect, conventional operator precedence is modified to accommodate the compact syntax and other unique features of a general purpose declarative programming language.
摘要:
Minimizing transaction managers. A method that may be practiced in a commit tree topology including a plurality of transaction managers to manage transactions. The transactions include a set of operations that are all performed if a transaction is completed or all aborted if a transaction is not completed. The transaction managers store transaction result information to allow recovery of a transaction in case of system failure. The method includes acts for minimizing storage overhead by minimizing the number of transaction managers used to coordinate transactions. The method includes identifying a set of transaction managers. A first transaction manager is selected from among the set of transaction managers. A second transaction manager is identified from among the set of transaction managers that is always available when the first transaction manager is available. Messages are redirected from a subordinate associated with the first transaction manager to the second transaction manager.
摘要:
An efficient, logical and expressive type system is provided for flexibly defining types of a declarative programming language so that efficient and structurally compact data intensive applications can be generated. The type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. With the type system, types can be expressed as intersections and/or unions of other types. Thus, types can be efficiently represented for a full range of types of data as may be found in real world data stores.
摘要:
The subject disclosure relates to a syntax for a scripting language that allows data intensive applications to be written in a compact, human friendly, textual format. The scripting language can be a declarative programming language, such as the “D” programming language, which is well suited to the authoring of data intensive programs. A compact query syntax is provided for D that simplifies the expression of complex and data intensive programs. In another non-limiting aspect, conventional operator precedence is modified to accommodate the compact syntax and other unique features of a general purpose declarative programming language.
摘要:
A transaction manager virtualization layer is provided for supporting multiple active transaction managers in a cluster or node. By virtualizing the transaction managers, applications and services are enabled to migrate across cluster nodes or even outside a cluster that includes relevant recovery mechanisms for transactions that are not completed at the time of migration. Multiple implementations of a transaction manager may be enabled to run side-by-side in a node or cluster allowing a rolling upgrade of transaction managers in clusters.
摘要:
A mechanism for negotiating a relatively transport agnostic communication protocol for use in accomplishing a distributed activity. The potential protocols subject to negotiation may be, for example, extensions to Web Services Coordination. In that case, when the initiator creates a transaction, the initiator also negotiates the desired protocol with its transaction manager. The transaction manager and any other participants in the transaction will then follow that negotiated protocol when communicating with the transaction manager. The protocol may be selected to improve performance and may be tailored to existing needs and capabilities.
摘要:
An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. A bidirectional type checking algorithm is provided for the type system including synthesis and checking steps to statically verify types of code based on the type system.