NL1016958C2 - Software application and method for building software applications. - Google Patents
Software application and method for building software applications. Download PDFInfo
- Publication number
- NL1016958C2 NL1016958C2 NL1016958A NL1016958A NL1016958C2 NL 1016958 C2 NL1016958 C2 NL 1016958C2 NL 1016958 A NL1016958 A NL 1016958A NL 1016958 A NL1016958 A NL 1016958A NL 1016958 C2 NL1016958 C2 NL 1016958C2
- Authority
- NL
- Netherlands
- Prior art keywords
- attribute
- entity
- building block
- identification
- building blocks
- Prior art date
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/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
t >·t> ·
Software applicatie en werkwijze voor het bouwen van software applicatiesSoftware application and method for building software applications
De onderhavige uitvinding heeft betrekking op een software applicatie en een werkwijze voor het bouwen van software applicaties.The present invention relates to a software application and a method for building software applications.
5 Op dit moment worden software applicaties op verschillende manieren vervaardigd. In een eerste vorm wordt een software applicatie als maatwerk ontworpen. Dit heeft als nadelen dat het duur en tijdrovend is, veel fouten kan bevatten en hoge onderhoudskosten heeft. Daarnaast loopt de onderneming die de applicatie toepast het gevaar dat de werknemer met kennis betreffende de applicatie de onderneming verlaat 10 met al zijn kennis.5 At present, software applications are manufactured in various ways. In a first form, a software application is designed as customization. This has the disadvantages that it is expensive and time-consuming, can contain many errors and has high maintenance costs. In addition, the enterprise applying the application runs the risk that the employee with knowledge of the application will leave the enterprise with all his knowledge.
In een tweede vorm wordt gebruik gemaakt van standaard pakketten om een software applicatie met een bepaalde functionaliteit te verkrijgen. Nadelen van een dergelijke aanpak zijn dat de applicatie weinig flexibel is, veel overbodige functionaliteit zal vertonen, slecht integreerbaar is met andere software pakketten en 15 het feit dat een grote afhankelijkheid van de leverancier ontstaat.In a second form, standard packages are used to obtain a software application with a certain functionality. Disadvantages of such an approach are that the application is not very flexible, will exhibit much superfluous functionality, is difficult to integrate with other software packages and the fact that a large dependence on the supplier arises.
De onderhavige uitvinding heeft als doelstelling het verschaffen van een software applicatie en een werkwijze voor het bouwen van software applicaties met gebruikmaking van alleen standaard bouwblokken, waarbij de nadelen van de bekende werkwijzen niet of in aanzienlijk mindere mate optreden.The present invention has for its object to provide a software application and a method for building software applications using only standard building blocks, wherein the disadvantages of the known methods do not occur or occur to a considerably lesser extent.
20 Deze doelstelling wordt bereikt door een software applicatie van de bij aanhef gedefinieerde soort, waarbij de software applicatie een veelvoud van bouwblokken omvat, waarbij elk bouwblok een stuk programmacode omvat, waarbij het veelvoud van bouwblokken onderlinge koppelingen tussen bouwblokken omvat teneinde een graaf te vormen, waarbij elk van het veelvoud van bouwblokken configuratiedata 25 omvat voor het definiëren van ten minste een objectmodel aan de hand van ten minste een entiteit omvattende een entiteitidentificatie en een entiteitnaam, en ten minste een bij de entiteit behorende attribuut, omvattende een attribuutidentificatie, een attribuutnaam, een datatype en een identificatie van de entiteit waarnaar het attribuut verwijst, en waarbij door een eerste bouwblok aan een volgend bouwblok dat in de 30 graaf onderling gekoppeld is met het eerste bouwblok tijdens bedrijf een context wordt gecommuniceerd, waarbij de context het gedrag van het volgende bouwblok bepaalt.This object is achieved by a software application of the type defined in the preamble, wherein the software application comprises a plurality of building blocks, each building block comprising a piece of program code, the plurality of building blocks comprising interconnections between building blocks in order to form a graph, wherein each of the plurality of building blocks comprises configuration data for defining at least one object model on the basis of at least one entity comprising an entity identification and an entity name, and at least one attribute associated with the entity, comprising an attribute identification, an attribute name, a data type and an identification of the entity to which the attribute refers, and where a context is communicated by a first building block to a next building block that is mutually coupled to the first building block during operation, the context being the behavior of the following building block.
Een dergelijke software applicatie heeft het voordeel dat deze technisch geen maatwerk vereist. Alleen het definiëren van de functionaliteit van de software 10 ; f::: ? 3* * 2 applicatie vereist inspanning door het koppelen van de bouwblokken tot een graaf en het definiëren van de configuratie van de bouwblokken. Hierdoor zal een software applicatie veel sneller vervaardigd kunnen worden en wordt de kans op programmeerfouten aanzienlijk beperkt.Such a software application has the advantage that it does not technically require customization. Only defining the functionality of the software 10; f :::? 3 * * 2 application requires effort by linking the building blocks to a graph and defining the configuration of the building blocks. As a result, a software application can be manufactured much faster and the chance of programming errors is considerably reduced.
5 In een voorkeursuitvoeringsvorm van de software applicatie volgens de onderhavige uitvinding, wordt het veelvoud van bouwblokken gevormd door een veelvoud van standaard bouwblokken, en omvat elk standaard bouwblok programmacode met een vooraf bepaalde basisfunctionaliteit en een door de configuratiedata bepaalde specifieke functionaliteit.In a preferred embodiment of the software application according to the present invention, the plurality of building blocks is formed by a plurality of standard building blocks, and each standard building block comprises program code with a predetermined basic functionality and a specific functionality determined by the configuration data.
10 Door gebruik te maken van standaard bouwblokken met een bepaalde basisfunctionaliteit (zoals weergave van gegevens) en een door de configuratiedata bepaalde specifieke functionaliteit (zoals weergave van gegevens in een lijst van bepaalde afmetingen en met bepaalde lay-out eigenschappen) is het mogelijk om in korte duur een uitgebreide software applicatie te bouwen. Door de standaard 15 basisfunctionaliteit en consequent gebruik van de configuratiedata in de standaard bouwblokken zullen fouten zoveel mogelijk voorkomen worden.10 By using standard building blocks with a certain basic functionality (such as display of data) and a specific functionality determined by the configuration data (such as display of data in a list of certain dimensions and with certain layout properties) it is possible to build an extensive software application in the short term. Due to the standard basic functionality and consistent use of the configuration data in the standard building blocks, errors will be avoided as much as possible.
In een uitvoeringsvorm is het datatype van het ten minste ene attribuut een connectie, om aan te geven dat het ten minste ene attribuut een aanduiding is naar een verdere entiteit, waarbij het ten minste ene attribuut tevens de identificatie van die 20 verdere entiteit omvat. Dit maakt het mogelijk de context van een aanroepend bouwblok naar een aangeroepen bouwblok te communiceren, waarbij het aanroepende bouwblok het gedrag van het aangeroepen bouwblok kan beïnvloedenIn one embodiment, the data type of the at least one attribute is a connection, to indicate that the at least one attribute is an indication to a further entity, the at least one attribute also comprising the identification of that further entity. This makes it possible to communicate the context of a calling building block to a called building block, whereby the calling building block can influence the behavior of the called building block
In een verdere uitvoeringsvorm van de software applicatie volgens de onderhavige uitvinding omvat de context een attribuutrestrictor, omvattende een tupel 25 van een attribuutidentificatie en een attribuutwaarde en/of een entiteitrestrictor, omvattende een tupel van een entiteitidentificatie en een attribuutwaarde. Dergelijke maatregelen maken het mogelijk dat een aanroepend bouwblok het gedrag van een aangeroepen bouwblok beïnvloedt door beperkingen op te leggen aan het aangeroepen bouwblok.In a further embodiment of the software application according to the present invention, the context comprises an attribute restriction, comprising a tuple of an attribute identification and an attribute value and / or an entity restriction, comprising a tuple of an entity identification and an attribute value. Such measures make it possible for a calling building block to influence the behavior of a called building block by imposing restrictions on the called building block.
30 De software applicatie volgens de onderhavige uitvinding kan een aantal standaard bouwblokken omvatten, die elk een specifieke functie vervullen. Bij voorkeur omvat het veelvoud van bouwblokken een actiemenublok, voor het presenteren van keuzes en geven van opdrachten. Daarnaast kan het veelvoud van 3 bouwblokken een objectzoekblok omvatten voor het opzoeken van gegevens. Tevens kan het veelvoud van bouwblokken een objectbewerkblok omvatten voor het presenteren van gegevens op een scherm en het wijzigen van de gepresenteerde gegevens. Met behulp van deze standaard bouwblokken kan een gebruikersinterface 5 van een software applicatie opgebouwd worden.The software application according to the present invention can comprise a number of standard building blocks, each of which performs a specific function. The plurality of building blocks preferably comprises an action menu block for presenting choices and giving orders. In addition, the plurality of 3 building blocks may include an object search block for looking up data. The plurality of building blocks may also comprise an object processing block for presenting data on a screen and for modifying the presented data. With the aid of these standard building blocks, a user interface 5 of a software application can be built up.
Een tweede aspect van de onderhavige uitvinding betreft een werkwijze voor het bouwen van software applicaties, omvattende de stappen van het tot een graaf koppelen van een veelvoud van bouwblokken die elk een stuk programmacode omvatten, het definiëren van de configuratie van de software applicatie door het definiëren van ten 10 minste een objectmodel aan de hand van ten minste een entiteit omvattende een entiteitidentificatie en een entiteitnaam, en ten minste een bij de entiteit behorende attribuut, omvattende een attribuutidentificatie, een attribuutnaam, een datatype en een identificatie van de entiteit waarnaar het attribuut verwijst, waarbij elk bouwblok is ingericht om tijdens bedrijf aan een volgend bouwblok dat in de graaf onderling 15 gekoppeld is met het bouwblok een context te communiceren, waarbij de context het gedrag van het volgende bouwblok bepaalt.A second aspect of the present invention relates to a method for building software applications, comprising the steps of linking a plurality of building blocks that each comprise a piece of program code, defining the configuration of the software application by defining of at least one object model based on at least one entity comprising an entity identification and an entity name, and at least one attribute associated with the entity, comprising an attribute identification, an attribute name, a data type and an identification of the entity to which the attribute refers wherein each building block is adapted to communicate a context during operation to a next building block that is mutually coupled in the graph to the building block, the context determining the behavior of the next building block.
Verdere uitvoeringsvormen van de onderhavige werkwijze, overeenkomend met de bovengenoemde uitvoeringsvormen van de software applicatie volgens de onderhavige uitvinding, worden gedefinieerd in de bijgevoegde conclusies 10 tot en 20 met 16.Further embodiments of the present method, corresponding to the aforementioned embodiments of the software application according to the present invention, are defined in the appended claims 10 to 20 with 16.
Met de onderhavige werkwijze is het mogelijk om software applicaties op een eenvoudige en snelle wijze te bouwen, waarbij de eerder bij de beschrijving van de software applicatie genoemde voordelen tevens optreden.With the present method it is possible to build software applications in a simple and fast manner, whereby the advantages mentioned earlier in the description of the software application also occur.
In een verder aspect van de onderhavige uitvinding wordt een software 25 programma product verschaft, zoals een compact disc, een floppy of een website op een server, omvattende een software applicatie volgens een van de conclusies 1 tot en met 8.In a further aspect of the present invention, a software program product is provided, such as a compact disc, a floppy or a website on a server, comprising a software application according to any of claims 1 to 8.
In een nog verder aspect van de onderhavige uitvinding wordt een software programma product verschaft dat programmacode omvat die een verwerkingssysteem 30 na inladen de functionaliteit verschaft van de werkwijze volgens een van de conclusies 9 tot en met 16.In a still further aspect of the present invention, a software program product is provided which comprises program code which, after loading, provides a functionality of the method according to any of claims 9 to 16.
De onderhavige uitvinding zal hierna in meer detail toegelicht worden aan de hand van een voorbeeld, met verwijzing naar de bij gevoegde tekeningen waarin:The present invention will be explained in more detail below with reference to an example, with reference to the accompanying drawings in which:
Aa
ΗΗ
Fig. 1 een overzicht toont van een aantal standaard bouwblokken voor een software applicatie volgens de onderhavige uitvinding en de mogelijke koppelingen tussen de standaard bouwblokken;FIG. 1 shows an overview of a number of standard building blocks for a software application according to the present invention and the possible links between the standard building blocks;
Fig. 2 een voorbeeld toont van een graaf van gekoppelde standaard bouwblokken 5 die een software applicatie volgens de onderhavige uitvinding vormt;FIG. 2 shows an example of a graph of linked standard building blocks 5 that forms a software application according to the present invention;
Fig. 3a t/m 3d voorbeelden tonen van schermen die door de voorbeeld software applicatie weergegeven worden.FIG. 3a to 3d show examples of screens that are displayed by the example software application.
In Fig. 1 wordt een aantal standaard type bouwblokken getoond die in een software applicatie een interactie met een gebruiker mogelijk maken. Fig. 1 toont 10 verder welke onderlinge koppelingen tussen de bouwblokken mogelijk zijn. Het eerste getoonde standaard bouwblok is een actiemenu 5. Het actiemenu 5 is een bouwblok dat knoppen weergeeft waarmee door de gebruiker een ander bouwblok aangeroepen kan worden. Het tweede getoonde standaard bouwblok is een objectbewerker 6, waarmee data gemanipuleerd kan worden. Het laatste getoonde bouwblok is een objectzoeker 7, 15 waarmee naar data gezocht kan worden.In FIG. 1, a number of standard type of building blocks are shown that enable interaction with a user in a software application. FIG. 1 further shows which mutual connections between the building blocks are possible. The first standard building block shown is an action menu 5. The action menu 5 is a building block that displays buttons with which the user can call another building block. The second standard building block shown is an object editor 6, with which data can be manipulated. The last building block shown is an object finder 7, 15 with which data can be searched.
De in Fig. 1 getoonde standaard bouwblokken 5, 6 en 7 kunnen in twee richtingen aan elkaar gekoppeld worden. Het bouwblok actiemenu 5 en het bouwblok objectbewerker 6 kunnen ook met een bouwblok van een zelfde type gekoppeld worden. Vanuit het bouwblok objectzoeker 7 kan niet een verder bouwblok 20 objectzoeker 7 worden aangeroepen, aangezien het aanroepen van het ene zoekscherm vanuit een andere binnen een software applicatie nooit functioneel kan zijn. Nieuwe standaard bouwblokken 5, 6, 7 worden aan een applicatie toegevoegd door het koppelen aan een reeds aanwezig bouwblok, aangegeven door de pijlen in Fig. 1. Uit Fig. 1 valt af te leiden dat er (met het gebruik van drie standaard bouwblokken 5, 6, 7) 25 in totaal 8 soorten koppelingen zijn, die alle een ander functioneel effect binnen de software applicatie hebben.The in FIG. 1 standard building blocks 5, 6 and 7 can be coupled to each other in two directions. The building block action menu 5 and the building block object processor 6 can also be linked to a building block of the same type. From the building block object finder 7, a further building block 20 object finder 7 cannot be called, since calling one search screen from another within a software application can never be functional. New standard building blocks 5, 6, 7 are added to an application by linking to an already existing building block, indicated by the arrows in Figs. 1. From FIG. 1, it can be deduced that (with the use of three standard building blocks 5, 6, 7) there are a total of 8 types of couplings, all of which have a different functional effect within the software application.
Tijdens bedrijf of het uitvoeren van de software applicatie roept een bepaald bouwblok 5, 6, 7 het volgende bouwblok 5, 6, 7 volgens de gevormde graaf aan. De context van elk bouwblok 5, 6, 7 wordt bepaald door de toestand van relevante, 30 omliggende bouwblokken 5, 6, 7. Door gebruik te maken van aanroepen ('calls') wordt de context van omliggende bouwblokken 5, 6, 7 doorgegeven aan het aangeroepen bouwblok 5, 6, 7. Dit kan direct gebeuren of indirect via een globale datastructuur.During operation or execution of the software application, a specific building block 5, 6, 7 calls on the next building block 5, 6, 7 according to the formed graph. The context of each building block 5, 6, 7 is determined by the state of relevant, surrounding building blocks 5, 6, 7. By using calls, the context of surrounding building blocks 5, 6, 7 is passed on to the called building block 5, 6, 7. This can be done directly or indirectly via a global data structure.
55
De configuratie van een software applicatie volgens de onderhavige uitvinding omvat een aantal gegevens, onder meer een beschrijving van een objectmodel, dat op zijn beurt beschreven wordt aan de hand van entiteiten en attributen. Een entiteit omvat minimaal een entiteitidentificatie (een uniek nummer) en een entiteitnaam. Een 5 attribuut omvat minimaal een attribuutidentificatie (een uniek nummer), een naam, een datatype en een aanduiding van de entiteit waarnaar het attribuut deel verwijst. Het datatype kan bijvoorbeeld een integer of een string zijn. Het datatype kan echter ook van het type 'connectie' zijn, hetgeen aangeeft dat een attribuut met een dergelijk datatype een aanduiding is naar een verdere entiteit. In dit geval wordt de identificatie 10 van de verdere entiteit ook opgenomen bij het attribuut. Het attribuut kan verder deel uitmaken van de sleutel van de entiteit waarbij deze hoort, waardoor de entiteit uniek geïdentificeerd kan worden met behulp van dit attribuut.The configuration of a software application according to the present invention comprises a number of data, including a description of an object model, which in turn is described on the basis of entities and attributes. An entity includes at least an entity identifier (a unique number) and an entity name. An attribute at least comprises an attribute identification (a unique number), a name, a data type and an indication of the entity to which the attribute part refers. The data type can for example be an integer or a string. However, the data type can also be of the 'connection' type, which indicates that an attribute with such a data type is an indication to a further entity. In this case, the identification of the further entity is also included with the attribute. The attribute may further be part of the key of the entity to which it belongs, whereby the entity can be uniquely identified with the help of this attribute.
Volgens de uitvinding kan een software applicatie functioneren doordat bouwblokken 5, 6, 7 elkaar volgens een graaf aanroepen, en daarbij een context 15 doorgeven aan een volgend bouwblok 5, 6, 7. Deze context bepaalt het gedrag van het bouwblok. De context, die van een aanroepend bouwblok 5, 6, 7 doorgegeven wordt aan een aangeroepen bouwblok 5, 6, 7, omvat een lijst met attribuutrestrictors en/of entiteitrestrictors. Een attribuutrestrictor is een tupel van een attribuutidentificatie en een attribuutwaarde. Hiervoor dient in het aanroepende bouwblok 5, 6, 7 bekend te zijn 20 welke entiteiten het aangeroepen bouwblok 5, 6, 7 gaat bewerken en welke attributen daarbij horen. In sommige gevallen weet het aanroepende bouwblok 5, 6, 7 niet welke entiteiten het aangeroepen bouwblok 5, 6, 7 gaat bewerken. In dat geval kan een entiteitrestrictor (een tupel van een entiteitsidentificatie en een attribuutwaarde) als context worden doorgegeven.According to the invention, a software application can function in that building blocks 5, 6, 7 call each other according to a graph, thereby passing on a context to a subsequent building block 5, 6, 7. This context determines the behavior of the building block. The context passed from a calling block 5, 6, 7 to a called block 5, 6, 7 includes a list of attribute restrictors and / or entity restrictors. An attribute restriction is a tuple of an attribute identification and an attribute value. For this purpose, it must be known in the calling block 5, 6, 7 which entities are going to process the called block 5, 6, 7 and which attributes are associated with it. In some cases, the calling building block 5, 6, 7 does not know which entities will process the called building block 5, 6, 7. In that case, an entity restriction (a tuple of an entity identification and an attribute value) can be passed as context.
25 Bij de start van een software applicatie is de context leeg. Bij de aanroep van een tweede bouwblok 5, 6, 7 door een eerste bouwblok 5, 6, 7 kan een attribuutrestrictor en/of een entiteitrestrictor aan de context worden toegevoegd. Dit is afhankelijk van het type bouwblok 5, 6, 7 en de plaats binnen het bouwblok 5, 6, 7 waar de aanroep plaats vindt (zoals bepaald door de configuratie van het betreffende bouwblok 5, 6, 7).25 At the start of a software application, the context is empty. When a second building block 5, 6, 7 is called by a first building block 5, 6, 7, an attribute restriction and / or an entity restriction can be added to the context. This depends on the type of building block 5, 6, 7 and the location within the building block 5, 6, 7 where the call takes place (as determined by the configuration of the building block 5, 6, 7 concerned).
30 Indien een attribuutrestrictor wordt toegevoegd, zal bij het opstarten van het tweede bouwblok 5, 6, 7 een beperking worden gemaakt, waarbij geldt dat de naam van het attribuut met een identificatie die gelijk is aan de attribuutidentificatie van de attribuutrestrictor gelijk is aan de attribuutwaarde van de attribuutrestrictor.If an attribute restriction is added, a limitation will be made on starting up the second building block 5, 6, 7, whereby the name of the attribute with an identification that is equal to the attribute identification of the attribute restriction is equal to the attribute value of the attribute restriction.
"J -r·. - ,Λ ·.,/ ik’ 6"J -r ·. -, Λ ·., / I" 6
Indien een entiteitrestrictor wordt toegevoegd is de entiteitidentificatie gelijk aan de identificatie van de entiteit die in het eerste bouwblok 5, 6, 7 geraadpleegd wordt.If an entity restriction is added, the entity identification is the same as the identification of the entity consulted in the first building block 5, 6, 7.
Bij het opstarten van het tweede bouwblok 5, 6, 7 wordt per entiteitrestrictor uit de context gezocht naar een attribuut met een entiteit gelijk aan de entiteit(en) die in het 5 tweede bouwblok 5, 6, 7 bewerkt word(t)(en) en met een connectie-entiteit die gelijk is aan de entiteit uit de entiteitrestrictor. Als er een attribuut wordt gevonden die hieraan voldoet, wordt de identificatie van dat attribuut als resultaat teruggegeven. Samen met de attribuutwaarde uit de entiteitrestictor wordt dan de beperking gemaakt dat de naam van het attribuut met de gevonden identificatie gelijk is aan de attribuutwaarde van de 10 entiteitrestrictor.When starting up the second building block 5, 6, 7, an attribute is searched for per entity restriction from the context with an entity equal to the entity (s) that is processed in the second building block 5, 6, 7 ) and with a connection entity that is equal to the entity from the entity restriction. If an attribute is found that matches this, the identification of that attribute is returned as a result. Together with the attribute value from the entity restriction, the restriction is then made that the name of the attribute with the identification found is equal to the attribute value of the entity restriction.
De lijst met attribuutrestrictors en entiteitrestrictors (de context) leveren aldus een aantal beperkingen op die gelden voor alle objecten in het tweede bouwblok 5, 6, 7The list of attribute restrictors and entity restrictors (the context) thus provide a number of restrictions that apply to all objects in the second building block 5, 6, 7
In Fig. 2 wordt een graaf getoond van een voorbeeld van een software applicatie volgens de onderhavige uitvinding. De software applicatie heeft als begin van de graaf 15 een bouwblok actiemenu 5a, dat verbonden is met een eerste bouwblok objectzoeker 7a en een tweede bouwblok objectzoeker 7b. Het eerste bouwblok objectzoeker 7a is met een dubbele koppeling verbonden met een eerste bouwblok objectbewerker 6a, zodat het eerste bouwblok objectzoeker 7a het eerste bouwblok objectzoeker 6a kan aanroepen, maar ook omgekeerd. Op dezelfde wijze is het tweede bouwblok 20 objectzoeker 7b met een dubbele koppeling verbonden met een tweede bouwblok objectbewerker 6b. Verder omvat de graaf ook nog een dubbel gerichte koppeling tussen het eerste bouwblok objectbewerker 6a en het tweede bouwblok objectbewerker 6b.In FIG. 2 is a graph of an example of a software application according to the present invention. The software application has at the beginning of the graph 15 a building block action menu 5a, which is connected to a first building block object finder 7a and a second building block object finder 7b. The first building block object finder 7a is connected by double coupling to a first building block object finder 6a, so that the first building block object finder 7a can invoke the first building block object finder 6a, but also vice versa. In the same way, the second building block 20 object finder 7b is connected with a double coupling to a second building block object processor 6b. Furthermore, the graph also comprises a double-oriented coupling between the first building block object processor 6a and the second building block object processor 6b.
Bij de in Fig. 1 getoonde bouwblokken en de mogelijke koppelingen, hoeft 25 slechts in bepaalde gevallen een attribuutrestrictor of entiteitrestrictor toegevoegd te worden aan de context. Bij de koppeling van een bouwblok objectbewerker 6 naar een verder bouwblok objectbewerker 6 wordt een entiteitrestrictor toegevoegd indien een geselecteerd gegeven in een eerste bouwblok objectbewerker 6 getoond moet worden in een tweede gekoppelde bouwblok objectbewerker 6, of indien gerelateerde data van 30 een geselecteerd gegeven in een eerste bouwblok objectbewerker 6 in een tweede gekoppelde bouwblok objectbewerker 6 getoond moet worden. Bij de koppeling van een bouwblok objectbewerker 6 naar een bouwblok objectzoeker 7 wordt een entiteitrestrictor toegevoegd aan de context indien op gerelateerde data van een % 7 geselecteerd gegeven gezocht dient te worden. Bij een omgekeerde koppeling (van een bouwblok objectzoeker 7 naar een bouwblok objectbewerker 6, wordt een attribuutrestrictor toegevoegd aan de context indien een geselecteerd gegeven in het bouwblok objectzoeker 7 in een bouwblok objectbewerker 6 getoond moet worden.In the case of FIG. 1 and the possible links, only in certain cases an attribute restriction or entity restriction need be added to the context. At the coupling of a building block object processor 6 to a further building block object processor 6, an entity restriction is added if a selected item in a first building block object processor 6 is to be shown in a second linked building block object processor 6, or if related data of a selected data in a first building block object processor 6 must be shown in a second linked building block object processor 6. When linking a building block object processor 6 to a building block object finder 7, an entity restriction is added to the context if it is necessary to search for related data of a% 7 selected data. With a reverse link (from a building block object finder 7 to a building block object processor 6, an attribute restriction is added to the context if a selected item in the building block object finder 7 is to be displayed in a building block object processor 6).
5 Het in Fig. 2 getoonde voorbeeld betreft een toepassing met betrekking tot een bedrijf dat bestaat uit afdelingen en medewerkers. Volgens een datamodel bestaan er twee entiteiten, Afdeling en Medewerker, en bij een afdeling behoren meerdere medewerkers. In het voorbeeld heeft de entiteit Afdeling twee attributen, een afdelingsidentificatie (Afdld) en een afdelingsnaam (AfdNaam), en heeft de entiteit 10 Medewerker drie attributen, een medewerkeridentificatie (Medld), een medewerkemaam (MedNaam) en een Afdeling. De identificatieattributen zijn de sleutels van de entiteiten. Het attribuut Afdeling verwijst naar de entiteit Afdeling. Volgens het voorbeeld omvatten de entiteiten de data als weergegeven in de volgende tabel.The embodiment shown in FIG. 2 shows an application with regard to a company that consists of departments and employees. According to a data model, there are two entities, Department and Employee, and one department has several employees. In the example, the Department entity has two attributes, a Department Identification (Department) and a Department Name (Department Name), and the Employee 10 entity has three attributes, an Employee Identification (Medld), an Employee Name (MedName), and a Department. The identification attributes are the keys of the entities. The Department attribute refers to the Department entity. In the example, the entities include the data as shown in the following table.
afdeling medewerkerdepartment employee
Afdld AfdNaam Medld MedNaam Afdeling 101 Directie 201 Jansen 101 102 Planning 202 Klaasen 102 103 Productie 203 Karelse 101 204 Pietersen 103 2Ö5 Kok ÏÖ3 2Ö6 “ Hulshof 102 15Div. Div. Name Medld. Med. Department 101 Management 201 Jansen 101 102 Planning 202 Klaasen 102 103 Production 203 Karelse 101 204 Pietersen 103 2Ö5 Kok ÏÖ3 2Ö6 “Hulshof 102 15
Er zijn dus 3 afdelingen, de Directie waar Jansen en Karelse werken, Planning waar Klaasen en Hulshof werken en tenslotte Produktie waar Pietersen en Kok werken.So there are 3 departments, the Executive Board where Jansen and Karel work, Planning with Klaasen and Hulshof and finally Production where Pietersen and Kok work.
Vanuit het bouwblok actiemenu 5a kan het eerste bouwblok objectzoeker 7a worden aangeroepen waarmee naar afdelingen gezocht kan worden. Vanuit het eerste 20 bouwblok objectzoeker 7a kan het eerste bouwblok objectbewerker 6a worden aangeroepen om de gegevens van een gevonden afdeling te bekijken of aan te passen. Vervolgens kan er teruggegaan worden naar het eerste bouwblok objectzoeker 7a voor een nieuwe zoekactie of kan er het tweede bouwblok objectbewerker 6b worden aangeroepen om de gegevens van de bijbehorende medewerkers te bekijken of aan te o o passen. Op analoge wijze kan er vanuit het bouwblok actiemenu 5a ook naar medewerkers gezocht worden en gegevens van een medewerker bekeken worden.From the building block action menu 5a the first building block object finder 7a can be called with which departments can be searched. From the first building block object finder 7a, the first building block object processor 6a can be called to view or adjust the data of a found department. Subsequently, the first building block object finder 7a can be returned for a new search action or the second building block object processor 6b can be called up to view or adjust the data of the associated employees. Analogously, action menu 5a can also be used to search for employees and view employee data.
De configuratie van deze applicatie omvat ten minste de volgende entiteiten en attributen: entiteiten attributen ld Naam ... ld Entiteit Naam Datatype Connectie- ...The configuration of this application includes at least the following entities and attributes: entities attributes ld Name ... ld Entity Name Data type Connection - ...
entiteit 11 Afdeling 21 11 Afdld Integer 12 Medewerker 22 II AfdNaam String 23 12 Medld Integer 24 12 MedNaam String 25 12 Afdeling Connectie 11 5Entity 11 Department 21 11 Dept Integer 12 Employee 22 II Dept Name String 23 12 Medld Integer 24 12 MedName String 25 12 Dept. Connection 11 5
Indien de software applicatie wordt opgestart, begint deze bij het bouwblok actiemenu 5a, dat er bijvoorbeeld voor zorgt dat een scherm met een verschijning zoals getoond in Fig. 3a zichtbaar wordt gemaakt. In de configuratie van het bouwblok actiemenu 5a zijn twee knoppen 21, 22 gedefinieerd, met de aanduiding Afdeling, 10 respectievelijk Medewerker, die beide het (verschillende) bijbehorende bouwblok objectzoeker 7a, 7b opstarten na het indrukken ervan. De context is leeg en heeft dus geen invloed op het gedrag van het bouwblok actiemenu 5a. Wordt er op de knop 21 (Afdeling) gedrukt, dan wordt het eerste bouwblok objectzoeker 7a opgestart. In zijn configuratie is gedefinieerd dat er gegevens van entiteitidentificatie 11 gezocht gaan 15 worden. De context van het eerste bouwblok objectzoeker 7a is leeg, immers er wordt bij het aanroepen van het eerste bouwblok objectzoeker 7a door het bouwblok actiemenu 5a niets aan de context toegevoegd. Dit betekent dat tijdens het zoeken naar afdelingen er geen restricties worden opgelegd. Wordt er bijvoorbeeld naar alle afdelingen gezocht, dan worden in een tabel op het scherm door het eerste bouwblok 20 objectzoeker 7a alle afdelingen getoond, zoals getoond in Fig. 3b. Het scherm toont dan een tabel met kop 23 (Naam) en drie regels 24, 25, 26 met de namen van de bestaande afdelingen (Directie, Planning, respectievelijk Productie).If the software application is started, it starts at the building block action menu 5a, which ensures, for example, that a screen with an appearance as shown in Figs. 3a is made visible. In the configuration of the building block action menu 5a, two buttons 21, 22 are defined, with the designation Department, 10 and Employee respectively, which both start the (different) associated building block object finder 7a, 7b after it has been pressed. The context is empty and therefore has no influence on the behavior of the building block action menu 5a. If button 21 (Department) is pressed, the first building block object finder 7a is started. In its configuration it is defined that data from entity identification 11 will be searched. The context of the first building block object finder 7a is empty, since nothing is added to the context when the first building block object finder 7a is called by the building block action menu 5a. This means that no restrictions are imposed when searching for departments. If, for example, all departments are searched for, then the first building block 20 object locator 7a shows all departments in a table on the screen, as shown in FIG. 3b. The screen then shows a table with heading 23 (Name) and three lines 24, 25, 26 with the names of the existing departments (Management, Planning, and Production, respectively).
Als de afdeling Planning (regel 25) wordt geselecteerd in het door het eerste bouwblok objectzoeker 7a weergegeven scherm, wordt het eerste bouwblok 25 objectbewerker 6a opgestart. Hierbij wordt aan de context een attribuut-restrictor, nl.If the Planning department (line 25) is selected in the screen displayed by the first building block object finder 7a, the first building block 25 object processor 6a is started. An attribute restrictor is added to the context, namely.
1Γ; ' - " ; ;> ·, 9 het tupel [21, 102] toegevoegd, waarbij 21 de identificatie van het attribuut is en 102 de identificatie van de afdeling is. In de configuratie van het aan te roepen eerste bouwblok objectbewerker 6a is nu gedefinieerd dat er gegevens van entiteit 11 getoond dienen te worden. Als de context leeg zou zijn, dan zouden alle afdelingen getoond 5 worden in dit eerste bouwblok objectbewerker 6a. Doordat het eerste bouwblok objectzoeker 7a de attribuut-restrictor [21,102] aan de context heeft toegevoegd, wordt bij het ophalen van de afdelingen de restrictie [Afdld=102] toegepast, waardoor alleen de afdeling Planning wordt getoond, zoals getoond in Fig. 3c, met een tweede scherm 27, waarin twee velden getoond worden, nl. een eerste veld 28 (102) en een tweede 10 veld 29 (Planning).1Γ; 9, the tuple [21, 102] has been added, where 21 is the identification of the attribute and 102 is the identification of the department. In the configuration of the first building block object processor 6a to be called is now defined that data must be shown from entity 11. If the context were empty, then all departments would be shown in this first building block object processor 6a Because the first building block object finder 7a has added the attribute restrictor [21,102] to the context , when retrieving the departments, the restriction [Department = 102] is applied, whereby only the Planning department is shown, as shown in Fig. 3c, with a second screen 27, in which two fields are shown, namely a first field 28 (102) and a second field 29 (Planning).
Vervolgens kunnen in het tweede bouwblok objectbewerker 6b de medewerkers van de afdeling Planning getoond worden door een druk op een knop in het door het eerste bouwblok objectbewerker 6a weergegeven scherm. Het eerste bouwblok objectbewerker 6a voegt daartoe aan de context een entiteit-restrictor toe, nl. het tupel 15 [11, 102], waarbij 11 de identiteit van de entiteit is en 102 de identiteit van de afdeling.Subsequently, in the second building block object processor 6b, the employees of the Planning department can be shown by pressing a button in the screen displayed by the first building block object processor 6a. To this end, the first building block object processor 6a adds an entity restrictor to the context, namely the tuple [11, 102], where 11 is the identity of the entity and 102 is the identity of the department.
In de configuratie van het tweede bouwblok objectbewerker 6b is nu gedefinieerd dat er gegevens van entiteit 12 getoond dienen te worden. Voordat het tweede bouwblok objectbewerker 6b gegevens gaat laden, wordt nu als eerste gezocht naar een attribuut van entiteit met identificatie 12 met als connectie-entiteit 11. Het attribuut met 20 attribuutidentificatie 25 voldoet daaraan. Het tweede bouwblok objectbewerker 6b past nu bij het ophalen van de medewerkers als extra restrictie toe Afdeling = 102. Als gevolg hiervan worden alleen de medewerkers van de afdeling Planning getoond in het door het tweede bouwblok objectbewerker 6b getoonde scherm (zie Fig. 3d). Naast het in Fig. 3c getoonde tweede scherm 27 wordt nu tevens een derde scherm 30 getoond, 25 met daarin twee velden 31, 32, met daarin de namen van de twee medewerkers van de afdeling planning (Klaasen, respectievelijk Hulshof). De overige koppelingen in de voorbeeldapplicatie werken op dezelfde wijze als de reeds beschreven koppelingen en worden daarom verder niet meer beschreven.In the configuration of the second building block object processor 6b, it is now defined that data from entity 12 must be displayed. Before the second building block object processor 6b starts loading data, an attribute of entity with identification 12 with the connection entity 11 as the connection entity 11 is now first searched. The attribute with 20 attribute identification 25 satisfies this. The second building block object processor 6b now applies an additional restriction when collecting the employees Department = 102. As a result, only the employees of the Planning department are shown in the screen shown by the second building block object processor 6b (see Fig. 3d). In addition to that shown in FIG. The second screen 27 shown in Fig. 3c is now also shown a third screen 30, with two fields 31, 32 therein, containing the names of the two employees of the planning department (Klaasen and Hulshof, respectively). The remaining couplings in the example application work in the same way as the couplings already described and are therefore no longer described.
In het getoonde voorbeeld bepaalt de context hoe een bepaald object (zoals het 30 weergeefscherm 30 in Fig. 3d zich gedraagt (of hoe deze er uit ziet). Zoals voor de deskundige duidelijk zal zijn, kan de context gebruikt worden om het gedrag of het uiterlijk van meerdere objecten te bepalen. Hierbij valt bijvoorbeeld te denken aan het in een afzonderlijke lijst weergeven van extra gegevens betreffende de in velden 31 en 10 32 weergegeven medewerkers die alleen betrekking hebben op de afdelingsgerelateerde gegevens van de medewerkers.In the example shown, the context determines how a particular object (such as the display screen 30 in Fig. 3d behaves (or how it looks). As will be clear to the skilled person, the context can be used to determine the behavior or the appearance of multiple objects, such as the display of a separate list of additional data concerning the employees shown in fields 31 and 10 32 that only relate to the department-related data of the employees.
Claims (17)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL1016958A NL1016958C2 (en) | 2000-12-21 | 2000-12-21 | Software application and method for building software applications. |
AU2002225525A AU2002225525A1 (en) | 2000-12-21 | 2001-12-19 | Software application and method for building software applications |
PCT/NL2001/000926 WO2002050670A1 (en) | 2000-12-21 | 2001-12-19 | Software application and method for building software applications |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL1016958A NL1016958C2 (en) | 2000-12-21 | 2000-12-21 | Software application and method for building software applications. |
NL1016958 | 2000-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
NL1016958C2 true NL1016958C2 (en) | 2002-06-25 |
Family
ID=19772629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL1016958A NL1016958C2 (en) | 2000-12-21 | 2000-12-21 | Software application and method for building software applications. |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2002225525A1 (en) |
NL (1) | NL1016958C2 (en) |
WO (1) | WO2002050670A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0314800D0 (en) | 2003-06-25 | 2003-07-30 | Hyfinity Ltd | System and associated methods for software assembly |
US9569187B2 (en) | 2013-10-08 | 2017-02-14 | International Business Machines Corporation | Irreducible modules |
CN108268289B (en) * | 2016-12-30 | 2022-01-28 | 阿里巴巴集团控股有限公司 | Parameter configuration method, device and system for web application |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5381548A (en) * | 1992-02-20 | 1995-01-10 | Fujitsu Limited | Apparatus for automatically generating programs |
US5574918A (en) * | 1993-08-23 | 1996-11-12 | Lucent Technologies Inc. | Method and apparatus for configuring computer program from available subprograms |
EP0780763A1 (en) * | 1995-12-21 | 1997-06-25 | International Business Machines Corporation | Method and means for creating distributed object-oriented applications |
-
2000
- 2000-12-21 NL NL1016958A patent/NL1016958C2/en not_active IP Right Cessation
-
2001
- 2001-12-19 WO PCT/NL2001/000926 patent/WO2002050670A1/en not_active Application Discontinuation
- 2001-12-19 AU AU2002225525A patent/AU2002225525A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5381548A (en) * | 1992-02-20 | 1995-01-10 | Fujitsu Limited | Apparatus for automatically generating programs |
US5574918A (en) * | 1993-08-23 | 1996-11-12 | Lucent Technologies Inc. | Method and apparatus for configuring computer program from available subprograms |
EP0780763A1 (en) * | 1995-12-21 | 1997-06-25 | International Business Machines Corporation | Method and means for creating distributed object-oriented applications |
Also Published As
Publication number | Publication date |
---|---|
AU2002225525A1 (en) | 2002-07-01 |
WO2002050670A1 (en) | 2002-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10031938B2 (en) | Determining Boolean logic and operator precedence of query conditions | |
US20210365447A1 (en) | System and method for comparing and selectively merging database records | |
US7509328B2 (en) | Customizing software applications that use an electronic database with stored product data | |
CN107924406A (en) | Selection is used for the inquiry performed to real-time stream | |
US20050289158A1 (en) | Identifier attributes for product data stored in an electronic database | |
US20040243611A1 (en) | Context-based heterogeneous information integration system | |
US20110161371A1 (en) | Sql generation | |
RU2006113579A (en) | METHOD FOR VISUAL PROGRAMMING A SET OF TEAMS FOR A PROCESS | |
US20050114361A1 (en) | Method and apparatus for integrating data repositories and frameworks | |
CN101438280A (en) | Managing related data objects | |
EP1859399A1 (en) | Integration of data management operations into a workflow system | |
EP1866801A1 (en) | A dynamic user interface and a method for generating a dynamic user interface for interfacing with an electronic data repository storing a collection of data elements | |
WO2005041032A1 (en) | System for supporting introduction/operation of integrating job software | |
NL1016958C2 (en) | Software application and method for building software applications. | |
KR100306735B1 (en) | Apparatus and method for automatic generation of business objects | |
JP4011995B2 (en) | Product design support apparatus and method | |
EP1569145A1 (en) | System and apparatus for managing information on chemical substances used in products | |
CN100568175C (en) | From gradation directory, select the method and system of component software | |
WO2022018899A1 (en) | System for extracting subtree from kpi tree | |
US11216486B2 (en) | Data retrieval apparatus, program and recording medium | |
CN101438243A (en) | Multiple stream real time data simulation adapted for a KStore data structure | |
JP2005190212A (en) | Database system, data processing method and program | |
RU2002101131A (en) | Method for determining software, method for using software, recording medium, processing devices, method for protecting software, method for transferring software to another medium, method for controlling software, method for creating processing schedules, method for creating pallet functions, method for determining the area of a pallet, method for creating a uniformity vector, method for creating a pallet function, method for creating a phase element, method for creating a logic element, method for creating elements Action, software installation method, software improvement method, data structure replacement method, data value replacement method, previous generation software analysis method, software development process control, software usage process control, parallel computer method, auxiliary judgment device, method of accepting orders for software development, method for determining files, operations for developing software software, a method for determining unique software, a method for designing a model of consciousness, a method for designing algorithms, software products, transmission waves and examples-based programs | |
JPH10222357A (en) | Method for constructing software by data reutilization and its system | |
EP0871112A1 (en) | Information technology architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PD2B | A search report has been drawn up | ||
VD1 | Lapsed due to non-payment of the annual fee |
Effective date: 20060701 |