Adaptive contextual graphical representation of development entities

In some example implementations, there is provided a method. The method may include receiving, at an interface, a selection of one of a plurality of elements of a tool bar, the plurality of elements including an application structure element and a where-used element; obtaining, in response to the selected element, at least one view providing a graphical representation of context information for a component of a system; and providing to a user interface the at least one view as a stream to allow presentation at the user interface. Related systems, methods, and articles of manufacture are also provided.

TECHNICAL FIELD

This disclosure relates generally to data processing and, in particular, to cloud computing.

BACKGROUND

Code development is extremely complex. It is thus not surprising that some software-based systems including thousands of components and millions of lines of code. As a consequence, numerous tools may be used to assists developers of a system including code. These tools may include debuggers, data/fact sheets, performance analyzers, and the like. However, the array of tools used by developers and their corresponding different interfaces only exacerbates the complexity of code development process.

SUMMARY

In some example implementations, there is provided a method. The method may include receiving, at an interface, a selection of one of a plurality of elements of a tool bar, the plurality of elements including an application structure element and a where-used element; obtaining, in response to the selected element, at least one view providing a graphical representation of context information for a component of a system; and providing to a user interface the at least one view as a stream to allow presentation at the user interface.

In some variations, one or more of the following features can optionally be included in any feasible combination. The plurality of elements may further include a technical package element and a responsible party element. The application structure element may represent a first view request for a relationship of the component to other components of the system, wherein the where-used element represents a second view request for where-used information for the component. The interface may represent a runtime service. The view may be generated to enable presentation within the selected element.

Articles are also described that comprise a tangibly embodied machine-readable medium embodying instructions that, when performed, cause one or more machines (e.g., computers, etc.) to result in operations described herein. Similarly, computer systems are also described that can include a processor and a memory coupled to the processor. The memory can include one or more programs that cause the processor to perform one or more of the operations described herein.

DETAILED DESCRIPTION

A business system, such as an enterprise resource planning system, may include a plurality of development entities, such as components, and, in particular, may include dozens if not hundreds of development entities. The subject matter disclosed herein may, in some implementations, relate to providing contextual information for a development entity to assist in the development process of the system including the development entity. For example, the contextual information may include information representative of how a specific development entity is related to other development entities, and these relationships may be presented graphically, although textual representations may be provided as well. The contextual information may, in some implementations, be used during development including the analysis, debugging, code inspections, code review, performance analysis, and the like, of a software-based system including development entities/components and the like.

To describe the environment of a given development entity, a graphical element, such as a context information toolbar (also referred to as a context information element or context information toolbar element) may be used. The context information toolbar may, for a given component/development entity of a system, provide one or more of the following: a relation of the given component/development entity within the structure of a system including an application; a relation of the given component/development entity within a technical package structure; a relation of the given component/development entity to other development entities derived from where-used-list; a relation of the given component/development entity to responsible developers and knowledge management experts, their teams and their development areas; a relation of the given component/development entity within a given type of domain-specific models, and/or any other context information that may assist a user or developer of the system including the given component/development entity. Moreover, these relationships may be provided as a graphical view, and these relationships may be provided for one or more of the components/development entities of a software-based system.

FIG. 1depicts an example of context information toolbar element100used to present context information on development entities. When a development entity is selected at a user interface and one of the elements102-110is selected, context information for the development entity is obtained and used to form a view depicting the selected context for the development entity. For example, for a given development entity of a system being debugged at a debugger, selecting element102may provide a depiction of the relation of the given development entity to other development entities within the system's software application's structure.

Moreover, this relationship may be provided graphically as depicted at102to allow a user to understand the relationship of the given development to the structural relationships of the application. Selecting104may provide a relationship of the given development entity to other development entities within a technical package of, for example, development entities, such as an upgrade/update package. Selecting106may provide for the given development entity a where-used-list106to allow a developer to visualize graphically where, or all of, the locations the given development entity is used in a software-based system/application. Selecting108may provide context information related to responsible persons/entities for the given development entity, and selecting110may provide context information representative of a relation within a given type of domain-specific models110. These views generated and presented when one or more of elements102-110are selected may allow a user select or browse development entities and quickly view context information for the selected/given development entity. Moreover, the views may be presented within the elements102-110themselves, although a separate view may be presented as well. In any case, the context information element100including elements102-110may provide context information presented as a view, which enables a user to understand how a development entity relates to other development entities of a system. Moreover, context information toolbar element100may provide an abstract, graphical view when each of102-110is selected to facilitate the consumption by the user of the context information depicted at the generated and presented views.

In some example implementations, context information element100may also include an interface and framework for runtime services and user interface integration. For example, selecting where-used106may result in a runtime service being called, which responds with an output stream providing a view with a graphical depiction of the where-used information for a given development entity. Moreover, the use of a runtime service and an output stream, such as a hypertext markup language stream may facilitate integration into user interfaces.

In some example implementations, the framework may include defined views for the one or more development entities of a system. For example, when a runtime service is called in response to a selection of one of elements102-108, a configurator may access metadata required to provide a view and then generate (based on for example a model defining the view) the view for presentation at context information element100.

Context information toolbar element100may be embedded in a user interface of a system including an application, such as a debugger and/or the like.FIG. 2depicts an example of a user interface200including an embedded context information toolbar element100.

In the example ofFIG. 2, user interface200presents information associated with a development entity, which in this example corresponds to a business object Access Control List230. When one of the elements102-110is selected, a runtime service is called and a view is generated and provided for presentation at200. For example, when responsible element108is selected, a runtime service may be called; and a configurator may then obtain metadata to generate a view, such as an organizational chart or a listing of the people/entities responsible for development, test, and other aspects of the business object Access Control List230. The configurator may then provide the view to user interface200, so the view can be presented in connection with user interface200and context information toolbar element100. For example, the view can be presented as a separate view adjacent to context information element100or as a view within element102. The view may graphically present identifiers/names for the object, such as the business object230, structural information representative of whether the object is a so-called master or a dependent object, associated documentation, definitions, structural overview, usage, and object information.

Selection of other elements, such as102-108, at context information toolbar element100may result in other views being provided to the user interface. In any case, the provided views may provide context information related to a development entity/component for a system under development, test, and/or the like.

In some example implementations, the context information toolbar element100may be configured to utilize a runtime service. For example, a runtime service may be called to provide an output stream for a given development entity and a requested element at context information toolbar element100, such as one or more of elements102-110. To illustrate, a developer at user interface200accessing a business object access control list230may select one of the elements102-110. The selection may trigger a call to a runtime service, which responds with an output stream providing views with, for example, application information, package information, where-used information, responsibility information, and/or model information for a given development entity.

The runtime request for a view may be delegated to an actual implementation according to configuration settings. For example, an interface, such as IF_GRAPHICAL_REPRESENTATION, may define a method GET_OUTPUT_STREAM( )) as methods GET_OUTPUT_STREAM, which returns a value (OUTPUT_STREAM) type STRING, wherein GET_OUTPUT_STREAM( ) may return content of MIME type text/html (hypertext markup language). A consistent HTML approach/output stream approach may facilitate user interface integration of the graphical element100into various tools, such as browser-based debuggers, viewers, and the like.

FIG. 3depicts another example of a user interface300including an embedded context information element310integrated into user interface300. In this example, user interface300represents a browser used in an development tool, such as a debugger. If the user seeks context information for the development entity being debugged at user interface300, one of the elements, such as application302, package304, where-used306, and/or responsible308, is selected which causes a runtime service call to be made and a view to be generated and returned for presentation at300.

In some example implementations, each of the development entities in a system may have a preconfigured view, which can be stored and provided when called via the runtime service. For example, selection of where-used306may trigger a runtime call to a service, which returns the preconfigured view for where-used information. The preconfigured view may then be returned to user interface300for presentation (for example, within view320, as a separate view, and/or the like).

FIG. 4depicts an example of a system400including one or more user interfaces, such as user interfaces405A and C, a development application, such as a debugger410, and the like. The debugger may include a runtime service interface405, which can be called to provide an output stream providing the views for the context information element100and/or300including views for a relation of the given component/development entity within the structure of a system including an application; a relation of the given component/development entity within a technical package structure; a relation of the given component/development entity to other development entities derived from where-used-list; a relation of the given component/development entity to responsible developers and knowledge management experts, their teams and their development areas; a relation of the given component/development entity within a given type of domain-specific models, and/or any other context information that may assist a user or developer of the system including the given component/development entity. The configurator460may access metadata at repository499, and the metadata may include preconfigured views for one or more development entities being developed/analyzed by debugger410, although metadata may include data which can be used to generate the views as well. The configurator460may also provide the view(s) to the user interface as a graphical view providing the above-noted context and relationship information.

The configurator460may allow enhancements of pre-delivered default configuration. In addition to already existing defaults, configurator may also provide integration of further views.

As used herein, the term “user” can refer to any entity including a person or a computer.