Architecture and process for creating software applications for multiple domains
First Claim
Patent Images
1. A server system comprising:
- one or more computers; and
a multi-layer application executing on the computers to handle client requests submitted by various client devices, the multi-layer application comprising;
a problem-solving logic layer to process the client requests according to an associated problem domain, the problem-solving logic layer containing one or more execution models to perform various sets of tasks when processing the client requests, the problem-solving logic layer producing replies to the client requests;
an execution environment layer to receive the client requests and select an appropriate execution model in the problem-solving logic layer for processing the client requests;
an interfacing layer to interface the problem-solving logic layer with one or more resources so that the execution models may utilize the resources when processing the client requests; and
a presentation layer to receive the replies produced by the problem-solving logic layer and to structure the replies in a manner that makes the replies presentable on the various client devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A multi-layer software architecture permits efficient and timely construction of processes and server-based software applications for many diverse domains, such as business-oriented domains like asset management, leasing and lending, inventory tracking, and so forth. The architecture is arranged into several hierarchical layers. Layers may be removed, modified, or updated without impacting other layers. This allows the architecture to adapt easily to many different problem domains, to support many different types of client devices, to accommodate many different users in different regions and cultures of the world, and to interface with many diverse resources.
197 Citations
57 Claims
-
1. A server system comprising:
-
one or more computers; and
a multi-layer application executing on the computers to handle client requests submitted by various client devices, the multi-layer application comprising;
a problem-solving logic layer to process the client requests according to an associated problem domain, the problem-solving logic layer containing one or more execution models to perform various sets of tasks when processing the client requests, the problem-solving logic layer producing replies to the client requests;
an execution environment layer to receive the client requests and select an appropriate execution model in the problem-solving logic layer for processing the client requests;
an interfacing layer to interface the problem-solving logic layer with one or more resources so that the execution models may utilize the resources when processing the client requests; and
a presentation layer to receive the replies produced by the problem-solving logic layer and to structure the replies in a manner that makes the replies presentable on the various client devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A business-oriented computer software architecture stored on one or more computer-readable media, comprising:
-
a framework module to receive client requests from different client devices;
a first business logic module to process the client requests received by the framework according to an associated business purpose, the first business logic module generating replies corresponding to the client requests;
a presentation module to structure the replies produced by the first business logic module in a manner that makes the replies presentable on the client devices; and
the business-oriented computer software architecture being reconfigurable to another business purpose by substituting a second business logic module for the first business logic module. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A business-oriented computer software architecture stored on one or more computer-readable media, comprising:
-
a first layer to obtain data from external resources and map the data into a domain framework that models information flow for a specific problem domain;
a second layer to provide an interface into the domain framework of the first layer;
a third layer to process requests and produce replies, the third layer utilizing the second layer to access the domain framework and retrieve the data obtained by the first layer from the external resources;
a fourth layer to structure the replies for presentation and rendering on diverse client devices; and
wherein anyone of the first layer, the second layer, the third layer, and the fourth layer may be changed independently of other layers to modify operation of the computer software architecture. - View Dependent Claims (44, 45, 46, 47)
-
-
48. A method comprising:
-
receiving requests from multiple clients, the requests being related to a problem domain;
processing the requests within problem-solving logic to produce replies within the problem domain, the processing comprising requesting data to be used in formulating the replies;
retrieving the data from one or more external resources and mapping the data to a domain framework for the problem domain, the domain framework being independent from the problem-solving logic; and
interfacing the problem-solving logic to the domain framework to obtain the data for use in processing the request. - View Dependent Claims (49, 50, 51)
-
-
52. A method for creating server applications for multiple different problem domains, comprising:
-
providing a framework to receive client requests from multiple different clients, individual clients communicating messages using different protocols and formats;
providing a resource structure to access resources that provide data related to the different problem domains;
creating a first server application for a first problem domain by interfacing first domain logic with the framework and the resource structure, the first domain logic being configured to process the client requests for the first problem domain;
creating a second server application for a second problem domain by interfacing second domain logic with the framework and the resource structure, the second domain logic being configured to process the client requests for the second problem domain; and
the first and second domain logic producing replies that the framework returns to the clients using the protocols and messaging formats employed by the clients. - View Dependent Claims (53, 54, 55, 56, 57)
-
Specification