In addition to the possibility of using software such as the Teamcenter PDM system as supplied by the manufacturer, many customers take the opportunity to implement their own ideas of processes and views. The following example shows how the user interface of the Siemens Teamcenter PDM system can be customized and how the company's own program logic can be integrated.
The Rich Application Client (RAC) is Teamcenter's most widely used user interface. With the help of the RAC, the user can access all Teamcenter functionalities that are important.
A Rich Application Client generally, a graphical user interface with its own logic, based on a Rich Client Platform (RCP). A rich client platform is in turn a framework used to develop plug-in-based applications.
A plug-in is a software building block and can range from a simple function to a complex program. For the user, this means that the Teamcenter Client can be extended at any point.
Start designing the client in such a way that it provides you with the functions you need and transform "out of the box" into your personal Teamcenter. You use the manifold possibilities and set up the PDM idea in your company in such a way that the ideals and demands of your company are reflected for every user.
The following describes how to create a simple plug-in extension.
Extension Points are used to extend a specific position in a plug-in-based application. Extension Points are defined in the "plugin.xml" of the Plug-In and describe the positions where the Plug-In extends the RAC.
In the following example the context menu of the Teamcenter RAC is extended by a new menu entry. Three Extension Points are written for this purpose:
The "commands" Extension-Point, extends the RAC by a user-defined control command. The control command is an abstract representation and not yet the actual implementation. The actual implementation is created in the "handlers" Extension-Point. The handlers extension point refers to the previously created control command and to a class in our plug-in.
With the "menus" Extension-Point, the actual entry in the context menu is created. The entry refers to the previously defined control command.
The result of this extension is seen in Teamcenter's RAC as follows.
As shown in Figure 2, an entry has been added to the context menu. It gets its display name from the "commands" Extension-Point specifically from the XML field "name".
In the plugin.xml, a class is specified, which is to be called with the release of the control command. The class in the plug-in that is called must implement the abstract class "AbstractHandler". The execute function which we overwrite is called by triggering the control command, i.e. by clicking on the context menu entry. In this example a popup window appears with the message "Hello world".
Service-Oriented architecture (abbrev. SOA), is an architecture pattern that brings together several (possibly distributed) services and maps them at a higher level of abstraction. Teamcenter offers such an SOA. The high level of abstraction makes complex operations such as creating an item with a few function calls possible.
When developing a plug-in for Teamcenter's RAC, these SOA services can be accessed. This enables a high degree of automation with customization in the user interface and low development effort.
The central maintenance of the clients is always an important point for the administration. Adding, revising or removing plug-ins can be done via a shared folder in the network. All you need to do is create a ".link" file in the client's ".link" folder that contains the path to the shared folder.
Different clients can be linked to different or multiple plug-in folders. This ensures that every user has access to the latest plug-ins that are needed for his specific application.
A RAC customization is a simple way to provide the user with new features in Teamcenter. A large number of functions can be accessed via the SOA interface. Since Teamcenter's RAC is completely plug-in-based, a menu entry is only the beginning of a comprehensive redesign of your system landscape. There are no limits to customization. From the custom views to the implementation of a completely new software, everything is possible.