EP3028144A1 - Method for connecting objects in a software application - Google Patents
Method for connecting objects in a software applicationInfo
- Publication number
- EP3028144A1 EP3028144A1 EP14748165.9A EP14748165A EP3028144A1 EP 3028144 A1 EP3028144 A1 EP 3028144A1 EP 14748165 A EP14748165 A EP 14748165A EP 3028144 A1 EP3028144 A1 EP 3028144A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- business object
- software application
- object class
- concrete
- instance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Definitions
- the invention relates to a method for connecting objects, in particular business objects in a software application, and a correspondingly adapted computer program product.
- monolithic software systems in which the functional elements are usually inseparably combined in a single software application.
- the management and processing of the associated data is also performed by the software application.
- An example of such a monolithic software application is performance tracking, where performance can be captured and associated with a particular person.
- performance tracking In such a service entry not only the services assigned to a person are recorded and stored, but also manages the master data of the persons.
- the software application for service entry can only access the persons managed in the service entry.
- the performance recording can be realized by two software components, with services being recorded and assigned to a person in a first component and the persons being recorded and managed in a second component.
- the component for recording the services can access the component for managing the persons via an interface. This achieves improved maintainability of the software components or of the data.
- the invention is therefore based on the technical object of providing solutions which at least partially avoid the disadvantages known from the prior art and which make it possible to access a number of different software components, business objects or other software applications in a software application. without having to implement a corresponding interface or interface for each individual software component, business object or further software application. In particular, the number of interfaces for access to a number of different software components, business objects or other software applications should be reduced.
- the software application comprises a connector, wherein the connector comprises an identifier identifying an abstract business object class,
- the software application determines the abstract business object class specified in the connector in a hierarchy of abstract business object classes, and - the software application at runtime
- An abstract business object class is a class from which no instances can be created or instances can not be created.
- a concrete business object class is a class from which instances can be created or instances can be created.
- the software application can connect to instances of the concrete business object classes or access instances of the concrete business object classes, because access is via the methods defined and implemented in the abstract business object classes and / or in the concrete business object classes , An adaptation of the interfaces in the software application to access different objects is thus avoided.
- This can also increase flexibility and at the same time reduce maintenance. In particular, this achieves the result that the number of interfaces for accessing instances of the specific business object classes is considerably reduced - advantageously, only a single interface is necessary. This solves the technical problem that different interfaces have to be implemented for different instances.
- the instance of the concrete business object class can already be present, e.g. in serialized form, prior to accessing the instance via the connection, it merely needs to be deserialized, which can be accomplished, for example, by means of a constructor of the particular business object class.
- the connector may be added to the source code of the software application.
- the software application can select a concrete business object class and connect to at least one instance of the selected concrete business object class.
- the selection of the particular business object class by the software application may be in response to a user input in which a user of the software application selects a specific business object class from among the plurality of determined concrete business object classes.
- the software application receives and stores a unique identifier of an instance of the concrete business object class via the connection. This ensures that the software application can access the same instance at a later time or connect to the same instance.
- the software application can receive and / or store a unique identifier of the specific business object class in addition to the unique identifier of the instance of the specific business object class.
- the unique identifier of the concrete business object class can be set automatically when the instance is installed, preferably by a constructor of the concrete business object class.
- connection to the at least one instance of the at least one determined specific business object class can be established via a communication network (remote connection).
- remote connection This is advantageous if the software application is executed on a different computer system, which is different from the computer system on which the instance of the determined concrete business object class is stored.
- the concrete business object class is connected via an adapter to at least one external software system in which expressions of the specific business object class are stored.
- the values do not have to be identical to the instances of the concrete business object class.
- the instances of the concrete business object class can have a different data structure than the corresponding characteristics in the external software system.
- each instance of a concrete business object class has exactly one characteristic assigned to it in the external software system.
- At least one instance of the at least one determined specific business object class can be connected via an adapter to at least one external software system, in which forms of the at least one instance are stored.
- the instance of the determined concrete business object class does not have to be identical to the associated characteristic.
- the instances of the concrete business object class may have a different data structure than the occurrences in the external software system associated with the respective instances via the adapter. It is advantageous if the adapter accepts method calls of the specific business object class or of the instances, converts them into instructions executable by the external software system, and transfers the executable instructions to the external software system. Furthermore, it is advantageous if the adapter receives data from the external software system and transfers it to one or more instances of the specific business object class.
- the adapter can provide appropriate mapping rules and / or transformation rules.
- Corresponding mapping rules and / or transformation rules can also be provided or used if an instance of a specific business object class is to be stored in a corresponding form in the external software system.
- the hierarchy of abstract and concrete business object classes may be stored in a configuration file to which the software application has access at run time.
- the software application can access the instance or instances of the specific business object class via methods of the determined abstract business object class or abstract business object classes derived therefrom.
- the software application may comprise at runtime an instance of a concrete business object class.
- the instance of the concrete business object class may be part of another software application.
- the software application and the instance of the concrete business object class and / or the software application and the further software application are preferably executed in runtime in a common runtime environment.
- a computer program product that can be loaded into and executed on the memory of a data processing device and that includes program sections adapted to perform a method of the invention.
- FIG. 1 shows a software architecture according to the invention for illustrating the method according to the invention for connecting objects or business objects; and FIG. 2 shows a concrete example by means of which the method according to the invention is described.
- FIG. 1 shows a software architecture adapted for a method for connecting objects or business objects in a software application.
- a software application SA should have access to a specific business object implemented outside the software application SA at runtime.
- the software application SA is also referred to as a so-called micro APP.
- the Business object to which the software application SA should have access at runtime can also be made available by a software application or micro APP or implemented in a software application.
- the business object to which the software application SA is to access at runtime belongs to a certain class of business objects, for example persons or documents.
- the concrete business object is then determined or selected at runtime of the software application, preferably by the software application.
- a hierarchy of business objects or an arrangement of business objects in a hierarchical tree structure is provided.
- the tree structure includes an abstract base business object class Base, from which one or more abstract business object classes are derived.
- a number of abstract business object classes ABOn to ABOni can be derived from these derived abstract business object classes ABOi to ABO n .
- Derived means that a derived abstract business object class inherits attributes and methods of the parent class.
- the depth of the tree structure in which the abstract business object classes are organized can be arbitrary. From the abstract business object classes ABO, a number of concrete business object classes KBO can each be derived. From each concrete Once again, a number of concrete business object classes KBO can be derived from the business object class KBO, with a concrete business class inheriting the methods and attributes of the superordinate abstract business object class or of the superordinate concrete business object class.
- Each concrete business object class KBO can be assigned one or more instances.
- the concrete business object class KBOi can be assigned an instance Ii, the concrete business object class KBOi being derived from the abstract business object class ABOn, which in turn is derived from the abstract business object class ABOi.
- the underlying concrete business object classes are structured, whereby the abstract business object classes ABO can implement methods that are used or overwritten by the directly or indirectly derived concrete business object class KBO can be.
- the software application SA should have access to a specific class of business objects at runtime, whereby the concrete business object class need not be known at the time of development.
- a connector K in the software application SA which comprises an identifier identifying an abstract business object class.
- the identifier of the connector K identifies the abstract business object class ABOi.
- the software application SA determines the abstract business object class ABOi specified in the connector K in the tree structure comprising the abstract business object classes. Based on the determined abstract business object class ABOi, the software application SA determines at runtime at least one of its directly or indirectly derived concrete business object class. In the example according to FIG. 1, the software application SA determines Runtime the concrete business object classes KBOi, KBO2, KBO3 and KBO21 because these four concrete business object classes are directly or indirectly derived from the abstract business object class KBOi. After the concrete business object classes have been determined, the software application SA can establish a connection to at least one concrete business object class or to at least one instance of the determined concrete business object classes.
- the software application SA can select a concrete business object class from the determined concrete business object classes.
- the software application SA has selected the concrete business object class KBOi, so that the software application SA can establish a connection V to an instance Ii of the concrete business object class KBOi at runtime.
- the selection of a concrete business object class from a plurality of concrete business object classes can be carried out by the software application SA in accordance with predetermined selection criteria.
- the selection of a specific business object class in response to a user input in which a user of the software application SA at runtime from the plurality of determined concrete business object classes selects a concrete business object class.
- the software application SA can provide the user with a selection list with the determined specific business object classes for selecting a specific concrete business object class.
- the software application SA can not only produce a connection V to instances of a single selected concrete business object class. but also links to instances of different concrete business object classes. In this case, there is no need to select a specific concrete business object class by the software application SA or by a user. This makes it possible, for example, for the software application SA to provide the user with a list of instances of different concrete business object classes for selecting an instance without having to implement a separate interface in the software application for each different concrete business object class. In the example shown in FIG.
- the abstract business object class ABO li can implement a method with which the instances of the concrete business object classes KBOi, KBO2 and KBO21 derived directly or indirectly from the abstract business object class ABOn are determined and stored in the Software application SA.
- a method can also be implemented or overwritten by the concrete business object classes, so that, for example, the concrete business object class KBOi determines a list of all instances of the concrete business object class KBOi and, for example, the concrete business object class KBO2 a list of all instances of the concrete business object class KBO2 and the concrete business object class KBO21.
- the corresponding methods for accessing the respective instances are implemented in the derivation hierarchy of the abstract business object classes or concrete business object classes, access must be granted to access instances.
- different classes no special interfaces or interfaces are implemented in the software application SA.
- the software application or a user of the software application can decide at runtime which instances should access which specific business object class or specific business object classes the software application should have access to.
- the software application can access instances of the concrete business object classes KBOi, KBO2 and KBO21, while with a reference to the abstract business object class ABOi additionally access to the instances the concrete business object class KBO3 can be accessed.
- additional concrete business object classes can be subsequently added to the hierarchy, wherein the software application SA can also access the instances of these additional concrete business object classes without further adaptation. For this it is only necessary that the additional concrete business object classes are each derived from an abstract business object class.
- an additional concrete business object class KBO4 could be derived from the abstract business object class ABO 12 so that in the example shown in FIG. 1 the software application SA automatically also gains access to the instances of the new concrete business object via the abstract business object class ABOi. Class KBO4 has, without the software application any adjustments / extensions would have to be made.
- the software application SA receives, for example, access to a unique identifier of a selected instance, which can preferably be stored in the software application in combination with a class identifier.
- an instance of a concrete business object class is connected via an adapter A to an external software system ES.
- the real characteristics of a concrete business object class are stored and managed.
- the external software system ES may be physically separate from the software system on which the software application SA is executed.
- the software system on which the software application is executed may be coupled to the external software system via a communication interface.
- the adapter A is adapted to receive method calls of the respective concrete business object class or instance and to transfer the received method calls to the external software system ES or to convert the method calls received into instructions executable by the external software system.
- the abstract business object class ABOi can define or implement a "getList ()" method that is used to determine a specific number of instances of the specific business object class KBOi
- the software application SA can invoke this method of the instance Ii, where the adapter A converts this method into a corresponding method of the external software system ES and executes it As a result of the execution, the external software system ES transmits to the adapter A a number of data objects which are transformed from the adapter A into a list of instances Ii or is transformed into a list that is referenced by the instance Ii, ie, only adapters have to be made available through which the instances of the concrete business objects can access external software systems, without having to adapt the software application SA ,
- each micro-app is adapted for the management of various business objects.
- a first micro-app Persons eg inventor
- a second micro-app documents eg patent applications
- a third micro-app remunerations eg inventor compensation
- the corresponding business objects are defined in a hierarchy of abstract and concrete business object classes.
- the micro app "allowances" only one connector must now be provided which includes an identifier for the business object class "persons” and an identifier for the business object class "documents". Using these identifiers, the Compensation micro-app can connect to instances of the business object classes "Documents” and "People” without having to implement interfaces to the other two micro-apps. Thus, the micro app “allowances” is connected to the other two micro-apps or can automatically connect with the other two micro-apps.
- FIG. 2 shows a concrete example of a software application that receives access to instances of concrete business object classes via a connector according to the method described above.
- the software application SA is a so-called service recording in which services are recorded and assigned to a specific person. The acquisition of the services themselves is implemented here in the software application SA.
- the software application In order to be able to assign the recorded services to a specific person, the software application must be able to offer, for example, a selection list from which a user can select a specific person to whom the service is to be assigned.
- an abstract business object class "People” is defined, from which two further abstract business object classes "People (SAP)" and “People (Facebook)" are derived
- Software application SA then becomes Defines a connector K that contains the identifier of the abstract business object class "Persons” or that refers to the abstract business object class "Persons".
- the fact that the connector references the abstract business object class "persons” allows the software application SA to offer for selection a list of all persons representing instances of the concrete business object classes distinguished from the abstract business object classes "People (SAP)". 2 and 3 are directly or indirectly derived For the sake of clarity, only the instances of these concrete business object classes are shown in the example shown in Fig. 2.
- the respective concrete business object classes are not shown
- the instances Psi to Psn are person objects from an SAP system
- the instances P FI to P F Ü are persons from the social network platform Facebook
- the software application SA determines the abstract business object classes derived from the abstract business object class "persons" and the concrete business object classes derived from these. to establish the instances of the concrete business object classes and to access the instances of the concrete business object classes, without having to implement a special interface or interface for this purpose.
- the methods required for the access are defined in the abstract business object classes or implemented
- the definition of the tree structure of the abstract business object classes and the concrete business object classes can be obtained by the software application SA from a configuration file KD to which the service entry has access at runtime.
- the service entry and the concrete business object classes or the instances of the concrete business object classes are executed in a common runtime environment in order to ensure that a connection to the instances can be established.
- the shared runtime environment is indicated in FIG. 2 by the area "Solution".
- an adapter A can also be dispensed with, for example if the instances of the specific business object class are "real" instances that can be accessed by the service entry.
- the method may be performed by a microprocessor, the processor having access to a hierarchy definition of abstract business object classes.
- This definition can be stored in an external file or in a database system.
- Processor or microprocessor determines the abstract business object class directly or indirectly derived concrete business object class and connect to an instance of the concrete business object class ago. If the instance is stored on another system, eg on a different server, the processor or microprocessor is adapted to establish a communication connection to the other system and to establish the connection to the instance of the concrete business object class via this communication connection.
- SA software application e.g. a so-called micro APP
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013108309.9A DE102013108309A1 (en) | 2013-08-01 | 2013-08-01 | Method for connecting objects in a software application |
PCT/EP2014/066534 WO2015014957A1 (en) | 2013-08-01 | 2014-07-31 | Method for connecting objects in a software application |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3028144A1 true EP3028144A1 (en) | 2016-06-08 |
Family
ID=51298730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP14748165.9A Ceased EP3028144A1 (en) | 2013-08-01 | 2014-07-31 | Method for connecting objects in a software application |
Country Status (5)
Country | Link |
---|---|
US (1) | US10048947B2 (en) |
EP (1) | EP3028144A1 (en) |
CN (1) | CN105556465B (en) |
DE (1) | DE102013108309A1 (en) |
WO (1) | WO2015014957A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2693682C2 (en) * | 2014-12-19 | 2019-07-03 | Сергей Анатольевич Горишний | System and method of managing functionally related data |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2242293A (en) * | 1990-01-05 | 1991-09-25 | Apple Computer | Apparatus and method for dynamic linking of computer software components |
US6163813A (en) * | 1995-06-07 | 2000-12-19 | International Business Machines Corporation | Pattern for instantiating objects of unknown type in object-oriented applications |
US5872973A (en) * | 1995-10-26 | 1999-02-16 | Viewsoft, Inc. | Method for managing dynamic relations between objects in dynamic object-oriented languages |
IL148130A0 (en) * | 1999-08-16 | 2002-09-12 | Force Corp Z | System of reusable software parts and methods of use |
US7058940B2 (en) * | 2002-05-23 | 2006-06-06 | Bea Systems, Inc. | System and method for extending application functionality and content |
US7519970B2 (en) * | 2003-09-29 | 2009-04-14 | International Business Machines Corporation | Methods, systems and computer program products for creating user interface to applications using generic user interface templates |
US20050091093A1 (en) * | 2003-10-24 | 2005-04-28 | Inernational Business Machines Corporation | End-to-end business process solution creation |
US20050289531A1 (en) * | 2004-06-08 | 2005-12-29 | Daniel Illowsky | Device interoperability tool set and method for processing interoperability application specifications into interoperable application packages |
US7565365B2 (en) * | 2005-08-31 | 2009-07-21 | Sap Ag | Object storage and synchronization hooks for occasionally-connected devices |
US20070157155A1 (en) * | 2005-12-30 | 2007-07-05 | Peters Eric C | System and method for software generation and execution |
CN102547667B (en) * | 2011-12-30 | 2014-10-08 | 华为终端有限公司 | Method and device for device management |
-
2013
- 2013-08-01 DE DE102013108309.9A patent/DE102013108309A1/en not_active Ceased
-
2014
- 2014-07-31 EP EP14748165.9A patent/EP3028144A1/en not_active Ceased
- 2014-07-31 CN CN201480043581.5A patent/CN105556465B/en not_active Expired - Fee Related
- 2014-07-31 WO PCT/EP2014/066534 patent/WO2015014957A1/en active Application Filing
-
2016
- 2016-01-29 US US15/010,976 patent/US10048947B2/en active Active
Non-Patent Citations (2)
Title |
---|
MICHAEL DUNN: "Introduction to COM Part II - Behind the Scenes of a COM Server - CodeProject", 3 April 2001 (2001-04-03), XP055438005, Retrieved from the Internet <URL:https://www.codeproject.com/Articles/901/Introduction-to-COM-Part-II-Behind-the-Scenes-of-a> [retrieved on 20180103] * |
See also references of WO2015014957A1 * |
Also Published As
Publication number | Publication date |
---|---|
US20160147508A1 (en) | 2016-05-26 |
CN105556465A (en) | 2016-05-04 |
CN105556465B (en) | 2019-10-18 |
US10048947B2 (en) | 2018-08-14 |
WO2015014957A1 (en) | 2015-02-05 |
DE102013108309A1 (en) | 2015-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0825524A1 (en) | Method for naming of objects | |
EP1638028A2 (en) | Computer aided generation and change management for user interfaces | |
DE112011103428T5 (en) | Automated analysis of composite applications | |
WO2015014957A1 (en) | Method for connecting objects in a software application | |
EP3753233A1 (en) | Method for the event-controlled retrieval of process data | |
EP3028182B1 (en) | Method and system for synchronising data | |
WO2010034548A1 (en) | Test module and method for testing an o/r imaging middleware | |
EP3796161A1 (en) | System, method for determining a container configuration of a system, computer program and computer-readable medium | |
EP1515244A2 (en) | Mapping a class hierarchy to a relational database system | |
DE102007049958A1 (en) | Method and system for updating a multi-layered application | |
EP3746895B1 (en) | Method for generating process protocols in a distributed it infrastructure | |
EP3163444B1 (en) | Computer network with automated request and allocation of cloud resources | |
DE112007000461T5 (en) | Control of a real-world object in connected systems | |
DE10208959B4 (en) | Method and device for detecting and evaluating information stored in a computer network | |
DE102010010035A1 (en) | Method for construction of objects e.g. control box, of object oriented database, involves generating objects with containment relations and single relations, and replacing placeholders by appropriate reciprocal relations | |
DE102006037968B4 (en) | Universal and extensible data management with observation and inter-process communication mechanisms | |
EP3873052A1 (en) | Onboarding of a device in a client-capable virtual network of an industrial network | |
EP1307028A2 (en) | Apparatus and method for data exchange with addressing service | |
EP1691521B1 (en) | Data transmission system, messaging component, and method of transmitting data | |
DE10006959A1 (en) | Data bank lookup method e.g. for measurement data, image data, parameters and characteristic values | |
EP3882801A1 (en) | Combination of partial graphs | |
DE202017005442U1 (en) | Centralized, bidirectional data processing for online applications | |
AT16972U1 (en) | ||
DE102015120743A1 (en) | Method of communicating trade items in a system and associated system | |
DE102017011543A1 (en) | OTA re-encryption with update server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20160301 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20170622 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: OMS SOFTWARE GMBH |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20180703 |