Method, computer program product and article of manufacture for providing service-to-role assignment to launch application services in role-based computer system

In a computer system (100) that launches application services for predetermined roles, a service-to-role assignment is customized in a target table. The user inserts a CD-ROM with master and reference tables, and the system automatically provides the target table. The master table (119) stores a first assignment (112) of application services (S, 151-156) to roles (RO), and stores a second assignment (113) of service attributes (SA), such as language or industry branch, of the application services (S). The reference table (129) stores reference attributes (REA) for each application service (S) in the master table. The service representations for each role (RO) are forwarded from the master table (119) into the target table (149) if service and reference attributes match.

FIELD OF THE INVENTION

The present invention generally relates to role-based computer systems that launch computer application services, and more particularly, relates to a method for providing the service-to-role assignment in a continuously changing business environment.

BACKGROUND OF THE INVENTION

Computer systems are of vital importance in almost all organizations such as, for example, manufacturing facilities, travel agencies, call centers, financial institutions, business organization, etc.

In each organization, groups of users with similar responsibilities share application services, whereas other groups of users with other predefined responsibilities require other application services. To comply with these requirements, the system offers application services like service1“perform cost estimate”, service2“long range incremental costing”, services “interconnection rates” and so on. Multiple users access the system in different roles. For example, in the finance department, a first person that is “cost accountant” uses services1-6but a second person that is “cost estimator” uses services3-6only.

The applications services belonging to a role appear to the user in the human interface, for example, by graphical symbols like icons. In other words, roles link people and processes in a predefined relationship. It is an advantage that roles limit the number of displayed services from all available services. Thereby, roles hide the complexity of the overall system landscape from the user.

In reality, a single role uses 10, 100 or even more services. The role definitions are stored in assignment tables with predefined representations of application services. The service-to-role assignments are provided by role-designers.

Each installation of a role-based system requires role customizing. For example, for the finance system, the roles are basically the same for all industry branches, but some branches require additional specific services.

It is a serious technical problem that assignment tables get very large, and that different assignment tables have to be stored for different installations. The amount of data to be maintained becomes huge.

Hence, the present invention seeks to provide method, computer program product and apparatus for an improved role management.

SUMMARY OF THE INVENTION

The present invention relates to a method for providing a service-to-role assignment to launch application services through a role-based computer system. The method comprises the following steps:

providing a master table with a first assignment of application services to roles, and with a second assignment of first service attributes to the application services, wherein the first service attributes belong to a first type;

providing a reference table with first reference attributes that also belong to the first type;

for each application service in the master table, comparing the first service attributes with the first reference attributes of the reference table, and

in case of matching, forwarding for each role service representations from the master table into a target table, the content of the target table representing the service-to-role assignment to launch the application services.

The technical problem of large assignment tables is solved. It is sufficient to provide the master table and the reference table. According to the present invention, attribute comparing and conditionally forwarding representations if attributes match allows to provide the target table at substantially any time. There is no need to maintain a large service-to-assignment table any longer. According to the present invention, separately providing master and reference tables in combination with the automatic generation of the target table leads to enhanced functionality of role-based systems.

The steps providing the master table, a further assignment of second service attributes to the application services is provided, wherein the second service attributes belong to a second type; wherein in the step providing the reference table, second reference attributes are provided that belong to the second type; wherein in the comparing step, the second service attributes are compared with the second reference attributes of the reference table; wherein in the forwarding step, for each role service, representations from the master table are copied into the target table.

The forwarding step is performed only when in the comparing step the service attributes match the reference attributes for both types.

The step providing a reference table, the first reference attribute is derived from user log on information.

The first reference attribute is a language of the user.

The first reference attribute is determined by the type of the application system that is coupled to the role-based computer system.

The present invention also relates to a computer-readable medium having a plurality of sequences of instructions stored thereon which, when executed by at least one processors, cause the at least one processor to perform the steps mentioned above in connection with claim1.

The present invention also relates to an article of manufacture including one or more computer-readable media having a plurality of sequences of instructions stored thereon which, when executed by at least one processors, cause the at least one processor to perform the steps of mentioned above in connection with claim1.

DETAILED DESCRIPTION OF THE INVENTION

For ease of understanding, the following description uses acronyms such as “RO” for “role”, “RE” for “reference”, “S” for “service”, “T” for “type”, and “A” for “attribute”. Unless specified otherwise, the explanation refers to a first type (T) of attributes. Prime markers indicate an optional second type (T′). Numerals are optionally added for distinction. Language in quotation marks indicates examples for convenience of explanation.

FIG. 1illustrates a simplified block diagram of role-based computer system100of the present invention that uses computer program product139of the present invention.

Computer system100comprises processor101, input device102, output device103, memory104(dashed frame) with portions110,120,130,140and150, as well as bus105. Computer system100can be implemented, for example, by a conventional personal computer.

Preferably, systems251-256are computers with processor and memory, such as portable or stationary personal computers (PC). The separation of hardware into system100and system251-256is convenient for explanation, but not necessary for the present invention.

Input device102receives memory content, and can be implemented, for example, by a keyboard, a data reader, a network connection, a modem, or the like.

Optional output device103outputs memory content, preferably, such as target table149(details below) provided by product139. Device103can be implemented, for example, by a display screen, a printer, a network connection, a modem, or the like.

Although symbolized by separate units, persons of skill in the art can combine input device102with output device103to a single input-output device, for example, by a CD-ROM read und write unit.

Memory104is implemented such that some or all of portions110,120,130,140and150are located in different memory arrangements, like hard-disk drives, volatile memory (e.g., RAM) or non-volatile memory (e.g., ROM, CR-ROM) and the like. However, memory104can also be a single memory that implements all portions, for example, in a single memory chip arrangement.

Processor101executes instructions of computer program product139of the present invention. Although illustrated by a single unit, processor101can be implemented by multiple processors. As input, processor101reads master table119(with tables112,113) and reads reference table129. As a result, processor101provides target table149with the service-to-role assignment. Computer program product139has a plurality of sequences of instructions, that—when executed by processor101—cause it to perform method steps explained below (cf.FIG. 5, method400). The present invention can also be defined as computer-readable medium138(“article of manufacture”) having a plurality of sequences of instructions stored thereon which, when executed by a processor. (e.g. processor101, or more processors), cause it to perform the steps of method400. In the example ofFIG. 1, medium138is illustrated as a CD-ROM that is inserted into device101for reading product139into memory portion130. Optionally, tables119and129can be provided by CD-ROM as well.

Application service157that resides in portion150is optionally executed by processor100. Launcher158that also resides in portion150accesses table149and triggers the executing of application services151-156and157, for example, by sending a start signal to systems251-256or by starting service157directly. Persons of skill in the art can provide launcher158without the need of further explanation herein. The start signal can be, for example, a unique resource locator (URL) or a unique resource identifier (URI).

Bus105symbolizes the physical connection between processor101, devices102/103, and memory portions110-150; the connection can extend across elements that are physically separated. Bus105can be implemented conventionally by means well known in the art, for example, inside system100by a system bus and outside by a local area network (LAN) or by a wide area network (WAN). Protocols that govern the operation of bus105are also well known, such as, for example, transmission control protocol/internet protocol (TCP/IP).

FIG. 1also symbolizes the content of the memory portions: Memory portion110stores master table119, portion120stores reference table129, portion130stores computer program product149, and portion150stores launcher158. Tables119,129and149store data according to the present invention, details are explained in connection withFIGS. 2-4.

For convenience of understanding, connections within the memory portions are left out. Persons of skill in the art can provide signals that transport information between and inside portions110-150, devices102/103, and processor101, without the need of further explanation herein.

FIGS. 2-4illustrate the tables that store data according to the present invention, whereinFIG. 2illustrates master table119with input data (RO, S, SA);FIG. 3illustrates reference table129with further input data (RE); andFIG. 4illustrates target table149with output data (RO, S). For convenience of explanation, the tables are illustrated with rows and columns; assignments are performed within rows; elements in the right column are assigned to elements in the left column.

FIG. 2illustrates master table119(“MASTER”) being conveniently divided into two parts: table112stores the assignment of services (S) to roles (RO), and table113stores the assignment of service attributes (SA) to services (S). Table113is also referred to as “service repository”.

As stored in table112, in the example, the “cost accountant” can use services151-156(cf.FIG. 1) represented by S1to S6, respectively; the “cost estimator” can use services151-154represented by S1-S4, respectively; and the “cost estimate performer” can use services151and154by S1, S4, respectively. The assignment in table112still neglects customization; it rather offers a wide range of service that could be used in these roles disregarding their future use, for example, in various industries and countries. The redundancy in table112for some services can be interpreted as a role hierarchy; but this is not required by the present invention.

According to the present invention, customization data is stored in table113: service attributes (SA) are assigned to services. For example, services S1, S5and S6are used in all industry branches, so that attribute “SA0” (“cross-industry”) is assigned to these services as all-matching element; services S2and S3are used in the “telecommunication” branch (“SA1”); service S3is also used in the “utility” branch; and S4is used in “banking” branch only (“SA2”). The service attributes SA in table113belong to the first type (T, e.g., “branches”). A single service can have more than one service attribute SA; this is illustrated here, for example, for service S3.

FIG. 3illustrates reference table129with reference attributes REA that are of the same type as the service attributes (SA) in table113. In the example, table129indicates the branch for which system100is customized (REA0“cross-industry” and REA2“telecommunication”).

FIG. 4illustrates target table149provided by computer program product139. Table149indicates the properly customized role assignment. In the example, roles use services S1, S2, S3, S5and S6only. The system is configured for “cross-industry” and “telecommunication” use, but the “banking” service (“SA2” inFIG. 2) is excluded, because table129does not refer to this attribute. Service S3that carries the “utility” attribute (cf. “SA3” inFIG. 2) is included because it also carries the “telecommunication” attribute.

FIG. 5illustrates a simplified flow chart diagram of method400according to the present invention in a first embodiment. Method400for providing a service-to-role assignment to launch application services (e.g.,151-156inFIG. 1) in role-based computer system100comprises the following steps: providing410master table, providing420reference table, comparing430, and conditionally forwarding440.

In step410, system100provides master table119(cf.FIG. 2) with a first assignment of application services to roles in table112and with a second assignment of first service attributes (SA) to the application services in table113. As mentioned above, the service attributes (SA) belong to a first type (T, e.g., “branches”).

In step420, system100provides reference table129with first reference attributes (REA) that also belong to the first type (T).

In step430, system100compares the first service attributes (SA) in table113with the first reference attributes (REA) in reference table129(cf.FIG. 3). System100performs step430for each application service in table112. In other words, system100queries: “Does service attribute match reference attribute?”

In case of matching (YES), system100in step440copies for each role the service representations (i.e., S1, S2. . . ) from master table119into target table149(cf.FIG. 4), the content of target table149represents the service-to-role assignment that is required to launch the customized application services. In case of mismatching attributes (NO), system100ignores the services for the mismatching attributes.

Having a single attribute assigned to the services is convenient for explanation. Optionally, the services have attributes of second or further types (T′). For example, further attributes can be “countries”. For services that are applicable in all countries, the service attribute SA′ would be an all-matching attribute (“all-countries”); for services that are applicable in the European currency zone, the service attribute SA would be “EURO zone”.

Preferably, in providing410the master table, a further assignment of second service attributes (SA′) to services (S) is provided; wherein in providing420the reference table, second reference attributes (REA′) are provided that belong to the second type T′; wherein in the comparing430, the second service attributes (SA′) are compared with the second reference attributes (REA′) of the reference table; wherein forwarding440(if matching), for each role (RO) service, representations from master table119are copied into the target table149. Preferably, forwarding440to target table149is performed only when the service attributes match the reference attributes for both types (SA=REA, SA′=REA′).

Preferably, in providing420the reference table, product139causes system100to download the reference attribute from system definitions in system100, such as downloading the “country” attribute.

The present invention allows to ease customizing. When installing the role-based system, the user can simply insert a CR-ROM with master and reference tables, and the system automatically provides adjusted service-to-role assignments. The above-mentioned technical problem of very large assignment tables is alleviated. After completion (i.e. of method400), the user can delete tables119and129. Also, the efforts to maintain different assignment tables can be reduced. Table149can be generated on request when needed by the computer at substantially any time.

In the prior art, the role designer was forced to provided roles within a given attribute structure; the present invention allows an attribute independent design without loosing the advantages of automatic customizing (e.g., method400). Technically, role design and attributing services (assignments) are independently stored in tables119,129. These tables can be provided at different times and can be created by different systems. This separation, in terms of storage location, time, and origin, in combination with the automation of the present invention leads to enhanced functionality of role-based systems.

Customization, that comprises, among other things, the completion of method400, is followed by the interaction between the users and role-based system100. First, the users log on into system100by providing their identification (optionally with pass word); second, system100then determines the roles of the users; third, system100reads target table149; and fourth, system100launches the application services that are assigned to the roles. In other words, for static operation, system100performs method400before the users log on. The present invention is not limited to static operation as the following embodiments will show. InFIGS. 5-7, like reference numerals denote like method steps.

FIG. 6illustrates a simplified flow chart diagram of method500according to the present invention in a second embodiment. In dynamic operation, system100performs method500substantially in parallel to the log on procedure. In other words, modified method500further comprises receiving515log on information from the user. During providing520the reference table, the reference attribute REA is derived from the user log on information. For example, the log on information indicates the preferred language of the uses (e.g., English or German) and the language is used as reference attribute.

FIG. 7illustrates a simplified flow chart diagram of method600according to the present invention in a third embodiment. In dynamic operation, system100performs method600substantially in parallel with automatically recognizing the type of the system (e.g.,251-256) that implements the application service (e.g.,251256). Reference attribute REA is determined by the system type. In case of that a system is not available, the system type is “not available”. In other words, modified method600comprises determining616the system type, for example, (a) by reading an indication issued from systems251256or (b) by processor101querying all systems251256coupled to bus105. During providing620the reference table, the reference attribute REA is set according to the system type.

Automatic system recognition frees the user from manually selecting a system. Services that are part of master table119but that do not run on the application systems are not presented to the user.