A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
This invention relates to navigation among objects in a networked environment. More particularly, this invention relates to the establishment of connections between a networked portal and external information sources.
2. Description of the Related Art
Portal-based network environments have become increasingly important, particularly in large enterprises having a diversity of computer systems. For example, such environments can now be implemented using SAP NetWeaver® portal technology, available from SAP AG, Neurottstraβe 16, 69190 Waldorf, Germany. This technology supports integration and application platform requirements, and facilitates the development, deployment, and administration of enterprise services. NetWeaver portal technology uses specialized browser portlets, called “Iviews” to incorporate essentially any kind of application, information or service that can be rendered in a Web browser frame. NetWeaver portal technology also provides users with the capability of navigating among Iviews using a Web browser, and thereby obtaining coherent, portal-based views of enterprise data. Additionally, NetWeaver portal technology facilitates the creation of new computer-implemented services for the enterprise.
In addition to providing tools for creating and managing enterprise services, NetWeaver portal technology provides administrative capabilities to enable its users to access external data sources, which are backend systems, sometimes referred to herein as “external information systems” (EIS). In order to enable a seamless connection, a data source template is used to match the characteristics of the external information system and the portal. In the NetWeaver development environment, this is known as a “portal template”. It is generally necessary to define a matching portal template for each type of external information system that is being accessed. To further facilitate the connection between the portal and the external information system, NetWeaver Portal technology provides a specialized architectural feature, known as the NetWeaver Connector Framework, which operates under the J2EE™ platform.
It is still a tedious and error-prone task to adapt the NetWeaver portal environment to new external information systems. Furthermore, it is often necessary to adjust portal templates when external information systems undergo modification, for example when a new version is released that has different properties or metadata from the previous version. According to disclosed embodiments of the invention, an extendible generic portal template includes properties that are common to all system templates, e.g., name, description. Using the generic portal template, a connector framework is exploited in order to expose every type of external information system generically, and to dynamically make available to a portal its exposed metadata, methods, and other properties. The generic portal template is extendible by addition of new properties by creation of links, known as “delta links”, in which properties and property values are inherited from a source template by a new template that is derived from the source template. This mechanism conveniently adjusts for changes in exposed features of the external information system.
Once a generic portal template has been created, it is available for reuse when new external information systems are recognized. Indeed, the functionality of the generic portal template can be enhanced to adapt to any new backend changes and to present to the portal any new or changed properties of the external information system. The generic portal template is especially advantageous when it is desired to access third party external information systems, such as databases or applications from within the portal.
The ability to readily establish seamless portal access to new external information systems results in a more efficient way of operating an enterprise by more readily adding and modifying information systems containing information of the enterprise.
An embodiment of the invention provides a computer-implemented method for registering a data source in a portal, which is carried out by creating a connector in the portal for the data source, interrogating the data source via the connector to determine properties of the data source, and providing a generic system template that is extendible by addition of new properties. The method is further carried out by constructing a new system template that is adapted for accessing the data source via the connector, the new system template providing a reference to properties of the data source that are present in the generic system template and properties of the data source that are absent in the generic system template.
According to an aspect of the method, constructing a new system template includes placing links in the new system template to the generic system template.
One aspect of the method includes repeating the interrogation, using a new version of the data source, and constructing a second new system template that is adapted for accessing the new version of the data source. The second new system template has properties of the new version of the data source that are present in the generic system template and the first new system template and has properties of the new version of the data source that are absent in the generic system template and the first new system template.
An aspect of the method includes processing in the portal client requests to access the data source using the new system template and the connector.
In a further aspect of the method, interrogating the data source is performed using a wizard.
According to an additional aspect of the method, the connector operates in a platform-independent connector framework.
Another aspect of the method includes operating the portal in a platform-independent execution environment.
An embodiment of the invention provides a computer software product for registering a data source in a portal, including a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to create a connector in the portal for the data source, wherein the portal has access to a generic system template including a plurality of properties of the data source. The generic system template is extendible by addition of new properties of the data source. The instructions cause the computer to interrogate the data source via the connector to determine properties of the data source, and to construct a new system template that is adapted for accessing the data source via the connector by augmenting the generic system template to include in the new system template data source properties that are absent in the generic system template.
An embodiment of the invention provides a portal system having a capability for registering a data source. The portal system includes a server, a client interface for linking the server to a plurality of clients via a data network, and at least one data interface for linking the server to the data source. The server is operative for executing portal runtime software. The runtime software includes a connector framework and a generic system template. The generic system template is extendible by addition of new template properties. The runtime software is operable to create a connector in the portal system for the data source, to interrogate the data source via the connector to determine properties of the data source, and to construct a new system template that is adapted for accessing the data source via the connector. The runtime software is operative to include in the new system template properties of the data source that are absent in the generic system template.
An embodiment of the invention provides a method of operating an enterprise, which is carried out by providing a portal system having a capability for registering a data source. The portal system includes a server, a client interface for linking the server to a plurality of clients via a data network, and at least one data interface for linking the server to the data source. The method is further carried out by executing portal runtime software in the server. The runtime software includes a connector framework and a generic system template. The runtime software is operative for extending the generic system template by addition of new template properties. The runtime software is operable to create a connector in the portal system for the data source, to interrogate the data source via the connector to determine properties of the data source, and to construct a new system template that is adapted for accessing the data source via the connector. The new system template includes one or more of the properties of the data source that are absent in the generic system template. The method is further carried out by connecting new data sources to the server, registering the new data sources in the portal system using the generic system template and using respective instances of the new system template. The method is further carried out by processing requests arriving at the server via the client interface from the clients for access to the new data sources to display information obtained from the new data sources in the clients.
For a better understanding of the present invention, reference is made to the detailed description of the invention, by way of example, which is to be read in conjunction with the following drawings, wherein like elements are given like reference numerals, and wherein:
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent to one skilled in the art, however, that the present invention may be practiced without these specific details. In other instances, well-known circuits, control logic, and the details of computer program instructions for conventional algorithms and processes have not been shown in detail in order not to obscure the present invention unnecessarily.
Software programming code, which embodies aspects of the present invention, is typically maintained in permanent storage, such as a computer readable medium. In a client-server environment, such software programming code may be stored on a client or a server. The software programming code may be embodied on any of a variety of known media for use with a data processing system. This includes, but is not limited to, magnetic and optical storage devices such as disk drives, magnetic tape, compact discs (CD's), digital video discs (DVD's), and computer instruction signals embodied in a transmission medium with or without a carrier wave upon which the signals are modulated. For example, the transmission medium may include a communications network, such as the Internet. In addition, while the invention may be embodied in computer software, the functions necessary to implement the invention may alternatively be embodied in part or in whole using hardware components such as application-specific integrated circuits or other hardware, or some combination of hardware components and software.
Overview.
Turning now to the drawings, reference is initially made to
In current embodiments, the server 10 operates under a platform-independent execution environment, J2EE under the Java™ platform, both available from Sun Microsystems Inc., Palo Alto, Calif. However, the principles of the invention may be applied to other platforms and environments in which a template is used for connectivity between a portal environment and external information systems, by effecting suitable modifications within the capabilities of those skilled in the art.
The server 10 supports a portal 16 that includes a number of portal runtime modules 18, collectively referred to as “Portal Runtime Technology” (PRT). The portal 16 can be realized using the above-noted NetWeaver portal technology.
The portal 16 is typically supported by a dedicated database 20. In general, the portal runtime modules 18 supply various services to portal users, management, and security. The portal runtime modules 18 include general portal services 22, which include a connector gateway 24, and a system landscape portal service 26. The system landscape portal service 26 is a block representing a logical, complex system, which can consist of multiple, distributed components. Some of these components may themselves be systems. Others may be services, installed products, or other managed elements. Furthermore, any of the components of the system landscape portal service 26 can be third party components, to which there is a need for seamless access and communication. The connector gateway 24 is a service that enables a connection between the portal 16 and one or more external information systems 28, 30, 32, 34, 36, using the system landscape portal service 26. The external information systems 28, 30, 32, 34, 36 are linked to the server 10 via a data interface 38 over the same or a different data network as the browser 12. An implementation of the connector gateway 24 is presented in Listing 1.
Among the portal runtime modules 18 are a group of portal components 40, including a collection of system templates 42. A system template essentially is a schema used to create a part of the portal landscape. Among the portal components 40 is a generic system template, which is the subject of some aspects of the present invention.
A simple example is a logon template for logging on to an external information system. As a further example, Listing 2 shows an exemplary system template that could be developed according to aspects of the invention, based on a generic system template.
J2EE provides a connector architecture 44, known as the “J2EE Connector Architecture” (JCA), which defines a standard scalable architecture for connecting the J2EE platform to heterogeneous external information systems. The connector architecture 44 is extended in the portal 16 by a connector framework 46, which employs generic portal templates in accordance with the invention. The connector framework 46 consists of interfaces described by the JCA specification and extensions defined by the connector framework 46.
The primary task of the connector framework 46 is to create the basic connection with one of the external information systems 28, 30, 32, 34, 36. A collection of properties, known as the “ConnectionSpecinterface” must be specified to connect to an external information system, e.g., a backend application.
A plurality of connectors 48, 50, 52, 54, which implement the connector framework 46, require certain metadata that will usually be specific. For example, metadata prescribed by the connector architecture 44, that is the JCA, include the vendor name and the version of the external information system. Metadata prescribed for the connector framework 46 include a default date and time format, the maximum number of connections allowed, default connection and query timeout intervals. The connector framework has an interface known as an “ICapabilities interface” that reflects the capabilities of a particular connector. The connectors 48, 50, 52, 54 also have a generic interface that is used to determine connector capabilities. Multilanguage support is an example of a possible capability of a connector.
In some embodiments, the connectors 48, 50, 52, 54 can be realized as the SAP Java Resource Adapter, available from SAP, AG.
Template Creation.
Reference is now made to
Next, step 58 begins a sequence of operations leading to the establishment of a connector, A basic connector, e.g., the connector 48, is created conventionally, using known SAP and JAVA techniques, and deployed to the server 10. The portal services 22 can access the connector using standard J2EE technologies, e.g., JNDI Lookup, and query each connector by using several known connector interfaces, documentation of which is available from SAP, and on the Internet as shown in Table 2.
Next, at step 60, the portal services 22 use API's provided by the connector architecture 44, the connector framework 46, and the system landscape portal service 26, including the interfaces shown in Table 2. The interface IConnectionProperty provides for the definition of connection properties for the connector: user name, password, and language. The interface IConnectionProperty provides metadata to the specified connection properties. The interface IConnectionSpecMetaData describes the metadata of the connection properties. The interface IConnectionSpec is used to pass connection request-specific properties in order to obtain a connection to an instance of the new data source.
Portions of step 60 can be conducted using a wizard, which can be provided as part of the portal runtime modules 18, or can be implemented externally. In any case, the wizard creates a new connector that is adapted to the data source that was recognized in initial step 56. During its operation, the wizard makes use of the interfaces shown in Table 2. The wizard participates in creating a new system template by modification of a generic system template 62, as described in further detail below. The generic system template 62 has been constructed to be extendible by addition of newly recognized properties of an existing external information system, or to accommodate previously unknown properties of a hitherto unknown external information system. An example of a generic system template is presented in Listing 3.
Essentially, step 60 involves an interrogation of the new data source, using the connector established at step 58. The API's of the connector framework 46 (Table 2) allow generic public access to an external information system in order to determine its properties. The relevant interfaces for this step are the interfaces IConnectionProperty, IConnectionPropertyGroup, IConnectionSpec, and IConnectionSpecMetaData. The portal services 22 use these API's in order to extend the generic system template 62.
Reference is now made to
Referring again to
Reference is now made to
Dynamic Extension of Generic System Template.
During creation of the system template 70 (
Reference is now made to
It is assumed that the system template 70 (System A Template) was created as described above with respect to
Assume further that after the system template 70 was created, there was a new release of the data source 64 (System A, version 1.1). An updated version of a connector for this version must now be created. To do this, the procedure described above is again followed, except that in final step 68 (
As shown in the lower left corner of
In general new system templates created for the data source 64 are based on the system template 70, and their set of properties are a union of all properties of the generic system template 62 and the system template 70.
Reference is now made to
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof that are not in the prior art, which would occur to persons skilled in the art upon reading the foregoing description.