Patent application number | Description | Published |
20090060178 | Management system for web service developer keys - Various technologies and techniques are disclosed for managing web service developer keys. A generic key identifier can be generated based on an original web service key. The generic key identifier is used within source code of an application being developed. Upon receiving a request to run the application, the generic key identifier is transformed back into the original web service key prior to calling an associated web service. Multiple users can securely share the same application that uses the web service. When one user who does not have his own original web service key accesses the application, that user can be prompted to obtain and enter the original web service key once the key has been obtained from a provider of the web service. | 03-05-2009 |
20090083860 | Security system for a browser-based environment - Various technologies and techniques are disclosed for enhancing security in a browser-based environment. A first browser application hosts one or more other applications. The first browser application is operable to load the one or more other applications on one or more separate domains than a host domain, using one or more cookies as a communication method between the first browser application and the one or more other applications. Input is received from a user to access a first browser application on a first domain. A selection is received from the user to run a second browser application from within the first browser application. A first cookie is created in a second domain, with the first cookie containing information to be used by the second browser application. The second browser application is loaded on the second domain. For example, the first browser application can be a browser-based software development application. | 03-26-2009 |
20120311533 | EDITOR VISUALIZATION OF SYMBOLIC RELATIONSHIPS - Enhancing dynamic code. A method includes obtaining one or more first data structures defining constructs in a body of dynamic language source code. From the one or more first data structures, identifier information is extracted for one or more of the defined constructs. Knowledge about the constructs is augmented. Using the identifier information and augmented knowledge, metadata about the body of the dynamic language source code is generated. The generated metadata is represented as a symbol table. The body of dynamic language source code is visually enhanced based on the symbol table structure. | 12-06-2012 |
Patent application number | Description | Published |
20090288065 | Transparent Type Matching in a Programming Environment - Described is a technology in a programming (development and/or runtime) environment by which data type mismatches between the output and input of computer program software components (e.g., APIs) are detected, with the output transparently converted such that the converted input may be understood by the inputting component. When components are interconnected in a programming environment, metadata associated with those components is evaluated to determine a type mismatch, e.g., between objects and arrays. If mismatched, an output object is converted to a single-element array for input, or alternatively, an output array is converted to a series of objects, each object sent within a loop for input. The transparent conversion may be performed by the programming environment during runtime, or by inserting conversion code prior to compilation. | 11-19-2009 |
20090288067 | Augmenting Programming Languages with a Type System - Described is a technology by which metadata augments a programming language such as JavaScript. Software components such as application programming interfaces are associated with metadata. When a software component is selected for use, such as when putting together a computer program in a graphical programming environment, its corresponding metadata is accessed. The metadata may be used to validate the usage of the software component, such as to validate a constraint associated with a value, provide a default value, validate a value's type, and/or determine whether a value is required. Validation may also determine whether data output by one software component is of a type that is appropriate for input by another software component. In addition to validation via type metadata, the metadata may provide descriptive information about the selected software component, such as to assist the programmer and/or provide further information to the programming environment. | 11-19-2009 |
20100125623 | CROSS-DOMAIN COMMUNICATION TECHNIQUE FOR EXECUTION OF WEB MASHUPS - A system and method is described for communicating requests from a Web mashup being executed within the context of a Web browser to third-party Web services in a manner that does not violate the Same Origin Policy (SOP) observed by many Web browsers. In one embodiment, a workflow engine operating in the context of a Web browser executes a plurality of executable components comprising a Web mashup. The workflow engine transparently redirects Web service requests generated by the executing components to a proxy server that acts as an intermediate between the workflow engine and third-party Web services. The proxy server, which is not subject to SOP, transmits the Web service requests to the third-party Web service and obtains requested data therefrom. The proxy server further returns the requested data in a manner that is useable by the Web mashup components. | 05-20-2010 |
20100125826 | WORKFLOW ENGINE FOR EXECUTION OF WEB MASHUPS - A software-implemented workflow engine is described that executes a Web mashup within the context of a Web browser running on a computer. The workflow engine is configured to parse a Web mashup definition obtained from a remote server to identify distinct units of execution within the Web mashup, referred to as components. The workflow engine is further configured to obtain programming logic and metadata associated with each type of component identified in the Web mashup definition from the remote server and to use such information to generate executable versions of the identified components. Finally, the workflow engine is configured to run each of the executable components, thereby executing the Web mashup. The workflow engine is configured to manage the order of execution of each of the executable components so that the Web mashup runs in an optimized and reliable fashion. | 05-20-2010 |
20130212595 | DYNAMIC INJECTION OF CODE INTO RUNNING PROCESS - Techniques are described herein that are capable of dynamically injecting code into a running process. For instance, the techniques are capable of causing arbitrary code to be activated in the process while the process is running in response to receipt of a request for dynamic execution of the arbitrary code from outside the process while the process is running. | 08-15-2013 |
20130249917 | PROFILE DATA VISUALIZATION - Profile data is visualized in a number of ways to visually communicate program performance issues and facilitate analysis thereof. In one instance, a plurality of correlated visualizations can be presented that provide different types of views of program profile data. Further, logically grouped profile data can be presented to enable meaningful analysis of program execution. Visualizations can also reflect the state of profile data with respect to designated performance goals, and mechanisms are provided to enable recording and playback profile data, among other things. | 09-26-2013 |
20130311973 | Assisting Development Tools Through Inserted Code Statements - Aspects of the subject matter described herein relate to assisting development tools. In aspects, statements that influence runtime behavior may be inserted into code of a program. For example, a statement inserted into a function may set a property of a runtime object to indicate that a debugger is to be notified for exceptions that are encountered within the scope of the function. When a runtime environment encounters an exception, the runtime environment may determine whether the property applies to the currently-executing scope. If so, the runtime environment may notify or not notify a development tool of the exception based on the value of the property. | 11-21-2013 |
20130326490 | IN-PROCESS WRAPPED EXECUTION ENGINE(S) FOR TOOLING A DYNAMIC PROGRAM ACROSS A PROCESS BOUNDARY - Techniques are described herein that are capable of instantiating and executing in-process wrapped execution engine(s) for tooling a dynamic program across a process boundary. For instance, a dynamic language execution engine may be instantiated in a wrapper object that is hosted in a host process to provide a wrapped execution engine while the host process is running. The wrapped execution engine may be configured to provide information regarding execution of a targeted application of the host process to a requesting application. The wrapped execution engine may be isolated from other execution engine(s) that are included in the host process such that the targeted application does not have access to code that defines the wrapped execution engine. The targeted application may include one or more of the other execution engines. | 12-05-2013 |
20140075451 | INTER-PROCESS COMMUNICATION CHANNEL - Techniques are described herein that are capable of constructing an inter-process communication channel, for example, between a requesting component and a targeted process. The communication channel may have one or more links, such that each link is defined by a respective node pair in a plurality of nodes. The plurality of nodes includes the requesting component, the targeted process, and optionally one or more intermediate nodes. An attachment request is received via a user interface. The requesting component is attached to the targeted process. For instance, the links may be traversed to discover the targeted process. The communication channel is established. For instance, in each node of a subset of the plurality of nodes, node information may be retained to indicate a next consecutive node of the plurality of nodes to which messages from the requesting component to the targeted process are to be delivered. | 03-13-2014 |