Computing system and method for allowing plurality of applications written in different programming languages to communicate and request resources or services via a common language runtime layer
First Claim
Patent Images
1. A software architecture implemented at least in part by a computing device for a distributed computing system comprising:
- a plurality of applications configured to handle requests submitted by remote devices over a network, the plurality of applications being written in different programming languages;
an application program interface to present functions used by the plurality of applications to access network and computing resources of the distributed computing system, wherein the application program interface comprises;
a first group of services related to creating Web applications, the first group of services comprising;
constructing Web services;
temporary caching resources;
performing an initial configuration;
creating controls and Web pages;
enabling security in Web server applications; and
accessing session state values;
a second group of services related to constructing client applications, the second group of services comprising;
creating windowing graphical user interface environments; and
enabling graphical functionality;
a third group of services related to data and handling XML documents, the third group of services comprising;
enabling management of data from multiple data sources; and
functions that enable XML processing; and
a fourth group of services related to base class libraries, the fourth group of services comprising;
defining various collections of objects;
accessing configuration settings and handling errors in configuration files;
debugging and tracing code execution;
customizing data according to cultural related information;
inputting and outputting of data;
enabling a programming interface to network protocols;
viewing loaded types, methods, and fields;
creating, storing and managing various culture-specific resources;
enabling system security and permissions;
installing and running services;
enabling character encoding;
enabling multi-threaded programming; and
facilitating runtime operations; and
a common language runtime layer that translates the plurality of applications written in different programming languages into an intermediate language, the intermediate language being;
executed natively by the common language runtime layer; and
configured to access the network and computing resources or the first, second, third, and fourth group of services requested by the remote devices, whereby a seamless integration between multi-language application development, with cross language inheritance is allowed and a robust and secure execution environment for multiple programming languages is provided.
2 Assignments
0 Petitions
Accused Products
Abstract
An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation'"'"'s .NET™ platform.
-
Citations
12 Claims
-
1. A software architecture implemented at least in part by a computing device for a distributed computing system comprising:
-
a plurality of applications configured to handle requests submitted by remote devices over a network, the plurality of applications being written in different programming languages; an application program interface to present functions used by the plurality of applications to access network and computing resources of the distributed computing system, wherein the application program interface comprises; a first group of services related to creating Web applications, the first group of services comprising; constructing Web services; temporary caching resources; performing an initial configuration; creating controls and Web pages; enabling security in Web server applications; and accessing session state values; a second group of services related to constructing client applications, the second group of services comprising; creating windowing graphical user interface environments; and enabling graphical functionality; a third group of services related to data and handling XML documents, the third group of services comprising; enabling management of data from multiple data sources; and functions that enable XML processing; and a fourth group of services related to base class libraries, the fourth group of services comprising; defining various collections of objects; accessing configuration settings and handling errors in configuration files; debugging and tracing code execution; customizing data according to cultural related information; inputting and outputting of data; enabling a programming interface to network protocols; viewing loaded types, methods, and fields; creating, storing and managing various culture-specific resources; enabling system security and permissions; installing and running services; enabling character encoding; enabling multi-threaded programming; and facilitating runtime operations; and a common language runtime layer that translates the plurality of applications written in different programming languages into an intermediate language, the intermediate language being; executed natively by the common language runtime layer; and configured to access the network and computing resources or the first, second, third, and fourth group of services requested by the remote devices, whereby a seamless integration between multi-language application development, with cross language inheritance is allowed and a robust and secure execution environment for multiple programming languages is provided. - View Dependent Claims (2, 3)
-
-
4. An application program interface embodied on one or more computer readable storage media, comprising:
-
a first group of services related to creating Web applications, the first group of services comprising; constructing Web services; temporary caching resources; performing an initial configuration; creating controls and Web pages; enabling security in Web server applications; and accessing session state values; a second group of services related to constructing client applications, the second group of services comprising; creating windowing graphical user interface environments; and enabling graphical functionality; a third group of services related to data and handling XML documents, the third group of services comprising; enabling management of data from multiple data sources; and functions that enable XML processing; and a fourth group of services related to base class libraries, the fourth group of services comprising; defining various collections of objects; accessing configuration settings and handling errors in configuration files; debugging and tracing code execution; customizing data according to cultural related information; inputting and outputting of data; enabling a programming interface to network protocols; viewing loaded types, methods, and fields; creating, storing and managing various culture-specific resources; enabling system security and permissions; installing and running services; enabling character encoding; enabling multi-threaded programming; and facilitating runtime operations; and a common language runtime layer that translates Web applications written in different programming languages into an intermediate language, the intermediate language being; executed natively by the common language runtime layer; and configured to access resources or the first, second, third, and fourth group of services, whereby a seamless integration between multi-language application development, with cross language inheritance is allowed and a robust and secure execution environment for multiple programming languages is provided, wherein the seamless integration allows for the ability to use a particular code module written in a first programming language with a code module written in a second programming language. - View Dependent Claims (5)
-
-
6. A distributed computer software architecture implemented at least in part by a computing device, comprising:
-
one or more applications written in different programming languages and configured to be executed on one or more computing devices, the one or more applications written in different programming languages handling requests submitted from remote computing devices; a networking platform to support the one or more applications; an application programming interface to interface the one or more applications with the networking platform, wherein the application program interface comprises; a first group of services related to creating Web applications, the first group of services comprising; constructing Web services; temporary caching resources; performing an initial configuration; creating controls and Web pages; enabling security in Web server applications; and accessing session state values; a second group of services related to constructing client applications, the second group of services comprising; creating windowing graphical user interface environments; and enabling graphical functionality; a third group of services related to data and handling XML documents, the third group of services comprising; enabling management of data from multiple data sources; and functions that enable XML processing; and a fourth group of services related to base class libraries, the fourth group of services comprising; defining various collections of objects; accessing configuration settings and handling errors in configuration files; debugging and tracing code execution; customizing data according to cultural related information; inputting and outputting of data; enabling a programming interface to network protocols; viewing loaded types, methods, and fields; creating, storing and managing various culture-specific resources; enabling system security and permissions; installing and running services; enabling character encoding; enabling multi-threaded programming; and facilitating runtime operations; and a common language runtime layer that translates the one or more applications written in different programming languages into an intermediate language being executed natively by the common runtime layer and configured to access resources or the first, second, third, and fourth group of services requested by the remote devices, whereby a seamless integration, with cross-language inheritance, between the one or more applications developed with multiple programming languages and the computing device is provided. - View Dependent Claims (7)
-
-
8. A computer system comprising:
-
one or more microprocessors; and one or more software programs that are written in different programming languages and utilize an application program interface to request services from an operating system through a common language runtime layer, the application program interface comprising; separate commands to request services consisting of the following groups of services; A. a first group of services related to creating Web applications, the first group of services comprising; constructing Web services; temporary caching resources; performing an initial configuration; creating controls and Web pages; enabling security in Web server applications; and accessing session state values; B. a second group of services related to constructing client applications, the second group of services comprising; creating windowing graphical user interface environments; and enabling graphical functionality; C. a third group of services related to data and handling XML documents, the third group of services comprising; enabling management of data from multiple data sources; and functions that enable XML processing; D. a fourth group of services related to base class libraries, the fourth group of services comprising; defining various collections of objects; accessing configuration settings and handling errors in configuration files; debugging and tracing code execution; customizing data according to cultural related information; inputting and outputting of data; enabling a programming interface to network protocols; viewing loaded types, methods, and fields; creating, storing and managing various culture-specific resources; enabling system security and permissions; installing and running services; enabling character encoding; enabling multi-threaded programming; and facilitating runtime operations; and a common language runtime layer that allows seamless multi-language development, with cross language inheritance and translates the one or more software programs written in different programming languages into an intermediate language, wherein the intermediate language is executed natively by the common language runtime layer and is configured to access the first, second, third, and fourth group of services requested by the one or more software programs.
-
-
9. A method implemented at least in part by a computer, the method comprising:
creating a first namespace with functions that enable browser/server communication, the first namespace defining classes that facilitate; construction and use of Web services; temporary caching of resources; an initial configuration; creation of controls and Web pages; security in Web server applications; and access to session state values; creating a second namespace with functions that enable drawing and construction of client applications, the second namespace defining classes that facilitate; creation of windowing graphical user interface environments; and graphical functionality; creating a third namespace with functions that enable connectivity to data sources and XML functionality, the third namespace defining classes that facilitate; management of data from multiple data sources; and processing of XML documents; creating a fourth namespace with functions that enable system and runtime functionality, the fourth namespace defining classes that facilitate; programmatic access to configuration settings and handling of errors in configuration files; application debugging and code execution tracing; customization of data according to cultural related information; inputting and outputting of data; interfacing to network protocols; viewing loaded types, methods, and fields; creation, storage and management of various culture-specific resources; system security and permissions; installation and running of services; character encoding; multi-threaded programming; and runtime operations; and providing a common language runtime layer that translates Web applications written in different programming languages into an intermediate language, the intermediate language being; executed natively by the common language runtime layer; and configured to access resources or services requested by the client applications, whereby a seamless integration between multi-language application development, with cross-language inheritance is allowed and a robust and secure execution environment for multiple programming languages is provided.
-
10. A method implemented at least in part by a computer, the method comprising:
calling one or more first functions to facilitate browser/server communication, the first functions comprising functions for construction and use of Web services, temporary caching of resources, an initial configuration, creation of controls and pages that will appear as user interfaces, securing Web server applications and accessing session state values; calling one or more second functions to facilitate construction of client applications, the second functions comprising functions for creating window graphical user interface environments and graphical functionality; calling one or more third functions to facilitate connectivity to data sources and XML functionality, the third functions comprising functions for management of data from multiple data sources and XML processing; calling one or more fourth functions to access system and runtime resources, the fourth functions comprising functions for programmatic access to configuration settings, application debugging and code execution tracing, customization of text according to cultural related information, synchronous and asynchronous reading from and writing to data streams and files, creation and management of various culture-specific resources, system security and permissions, installation and running of services, character encoding, and multi-threaded programming; and using a common language runtime layer that translates Web applications written in different programming languages into an intermediate language that is; executed natively by the common language runtime layer; and configured to access resources or services requested by the client applications, whereby a seamless integration between multi-language application development, with cross-language inheritance is allowed and a robust and secure execution environment for multiple programming languages is provided, wherein the seamless integration allows for the ability to use a particular code module written in a first programming language with a code module written in a second programming language.
-
11. A method implemented at least in part by a computer, the method comprising:
-
receiving one or more calls to one or more first functions to facilitate browser/server communication, the one or more first functions comprising functions for construction and use of Web services, temporary caching of resources, initial configuration, creation of controls and pages that will appear as user interfaces, securing Web server applications and accessing session state values; receiving one or more calls to one or more second functions to facilitate construction of client applications, the one or more second functions comprising functions for creating windowing graphical user interface environments and graphical functionality; receiving one or more calls to one or more third functions to facilitate connectivity to data sources and XML functionality, the one or more third functions comprising functions for management of data from multiple data sources and XML processing; receiving one or more calls to one or more fourth functions to access system and runtime resources, the one or more fourth functions comprising functions for programmatic access to configuration settings, application debugging and code execution tracing, customization of text according to cultural related information, synchronous and asynchronous reading from and writing to data streams and files, creation and management of various culture-specific resources, system security and permissions, installation and running of services, character encoding, and multi-threaded programming; and using a common language runtime layer that allows seamless multi-language development, with cross language inheritance and translates Web applications written in different programming languages into an intermediate language that is supported by the common language runtime layer and configured to access services requested by the client applications, whereby a seamless integration provides a robust and secure execution environment for multiple programming languages.
-
-
12. A method implemented at least in part by a computer, for exposing resources using an application program interface, the method comprising:
-
exposing a first group of services related to creating Web applications, the first group of services comprising; constructing Web services; temporary caching resources; performing an initial configuration; creating controls and Web pages; enabling security in Web server applications; and accessing session state values; exposing a second group of services related to constructing client applications, the second group of services comprising; creating windowing graphical user interface environments; and enabling graphical functionality; exposing a third group of services related to data and handling XML documents, the third group comprising; enabling management of data from multiple data sources; and functions that enable XML processing; exposing a fourth group of services related to base class libraries, the fourth group of services comprising; defining various collections of objects; accessing configuration settings and handling errors in configuration files; debugging and tracing code execution; customizing data according to cultural related information; inputting and outputting of data; enabling a programming interface to network protocols; viewing loaded types, methods, and fields; creating, storing and managing various culture-specific resources; enabling system security and permissions; installing and running services; enabling character encoding; enabling multi-threaded programming; and facilitating runtime operations; and providing a common language runtime layer, with cross-language inheritance that translates Web applications written in different programming languages into an intermediate language, the intermediate language being; executed natively by the common language runtime layer; and configured to access resources requested by the client applications; wherein, the different program languages are selected from a plurality of programming languages, the plurality of programming languages comprising; Visual Basic; C++; C#; COBOL; Jscript; Perl; Eiffel; and Python.
-
Specification