摘要:
A method and system for maintaining isolated data in an application is disclosed which data to be selectively isolated until a data client orders the changes to be committed or abandoned. A computer-readable medium for constructing an application capable of localized data isolation is also disclosed. An application specification is used to determine which data entities should be isolated, and one or more transaction transforms are implemented for each data entity to be isolated.
摘要:
The present invention extends to methods, systems, and computer program products for accessing and manipulating data in a data flow graph. A data flow graph includes one more transforms for transforming data from one or more data stores into different formats accessible to clients. Transforms can be configured to join and split data from the same or different data stores. A metadata tree logically represents the data flow graph including locations that provide output from transforms of the data flow graph. The locations can be referenced by clients to access transformed outputs. Clients can register dependencies on data at various locations and can request evaluation of the data in response to data changes at a corresponding data store. Clients can also request data changes be propagated back through the data flow graph to one or more data stores and implemented at the one or more data stores.
摘要:
The present invention comprises phasing systems and methods for software systems. In embodiments of the present invention, the phasing system comprises a multi-tiered phasing space where operations within the software system are constrained to a phase or a sub-phase. The operations execute only in the specified phase. Thus, operations that could yield improper results in large and complex software systems do not execute simultaneously but follow a certain order. The present invention also provides a data structure to introduce the phase constraints as software attributes into the software code.
摘要:
Methods, systems and computer products are provided for partitioning software application components into separate domains called concurrency domains. Computationally expensive, slow or long-running methods may be deployed into such domains, thus keeping the associated application more responsive to the end user. According to one aspect of the invention, a given concurrency domain is a partition of runtime objects for providing synchronization and thread isolation within the partition and for providing concurrency with other such partitions in a data-driven dynamically composed and reconfigured application.
摘要:
Strategies are described for organizing the runtime components of an application into an entity domain framework. The entity domain framework includes one or more entity domains arranged in a hierarchical fashion. Each entity domain further groups one or more components together in a hierarchical fashion. Each entity domain can include one or more services that provide a policy to the components within the entity domain. Composite functionality couples the framework together, and further provides a bus-like mechanism whereby an entity can forward service requests up through the hierarchy until a domain is found that satisfies the requests. Exemplary services provided by the entity domain framework include lifetime management services, error handling services, and so forth. The hierarchical structure provides an efficient way of exposing functionality to groups of components that will share this functionality in a common context, without requiring costly and complex atomistic coupling of services to components or duplication of service instances.
摘要:
A dynamic, lazy type system is provided for a dynamic, lazy programming language. Consequently, programs can benefit from runtime flexibility and lightweight notation in combination with benefits afforded by a substantial type system.
摘要:
The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an action module. The action module generates a standard format action from the UI event and sends it to the data connector. The data connector translates the standard format action into a data-specific action that changes data in a data store. A data connector then sends a standard format data representation corresponding to the changed data back to the UI connector to provide the changed data to the UI.
摘要:
A versioning policy included in a target component indicates how the target component is to be accessed, for example, either as a library component or a platform component. A component may be designated as a library component when it is not versioned in a binary compatible manner. When other components request such a component they receive specifically the version of the component they requested. On the other hand, a component may be designated as a platform component when it is versioned in a binary compatible manner. When other components request such a component they may receive the latest upgraded version of the component requested instead. Thus, access to an appropriate version of the component (even a version differing from the requested version) is facilitated. Other embodiments include mechanisms for stratifying component scope based on different processing levels.
摘要:
A dynamic, lazy type system is provided for a dynamic, lazy programming language. Consequently, programs can benefit from runtime flexibility and lightweight notation in combination with benefits afforded by a substantial type system.
摘要:
An execution strategy is generated for a program that interacts with data from multiple heterogeneous data sources during program execution as a function of data source capabilities and costs. Portions of the program can be executed locally and/or remotely with respect to the heterogeneous data sources and results combined.