DE102004040010A1 - Information processing program runtimes controlling method, involves processing container contents by special commands of processing unit and forwarding contents logically by functional units in runtime environment - Google Patents

Information processing program runtimes controlling method, involves processing container contents by special commands of processing unit and forwarding contents logically by functional units in runtime environment Download PDF

Info

Publication number
DE102004040010A1
DE102004040010A1 DE200410040010 DE102004040010A DE102004040010A1 DE 102004040010 A1 DE102004040010 A1 DE 102004040010A1 DE 200410040010 DE200410040010 DE 200410040010 DE 102004040010 A DE102004040010 A DE 102004040010A DE 102004040010 A1 DE102004040010 A1 DE 102004040010A1
Authority
DE
Germany
Prior art keywords
unit
container
command
containers
data
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.)
Withdrawn
Application number
DE200410040010
Other languages
German (de)
Inventor
Joachim Goetting
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gotting Joachim
Original Assignee
Gotting Joachim
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gotting Joachim filed Critical Gotting Joachim
Priority to DE200410040010 priority Critical patent/DE102004040010A1/en
Publication of DE102004040010A1 publication Critical patent/DE102004040010A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Abstract

The method involves packing incoming information in a container in a runtime environment. The container contents are processed by special commands of a processing unit and forwarded logically by functional units in the runtime environment that is configured from the functional units. The container is provided with meta-information about its content, and the functional units have direct access to the container including their content. An independent claim is also included for a device for controlling an information processing program runtimes in a computer system.

Description

Die dargestellte Lösung hat einen breiten Ansatz. Deshalb tangiert sie mehrere Bereiche der IT. Die betroffenen Technologiebereiche werden hier aufgeführt.The illustrated solution has a broad approach. Therefore it affects several areas the IT. The affected technology areas are listed here.

Objekttechnologieobject technology

Die Paradigmen der Objekttechnologie haben sich in der IT-Branche weitgehend durchgesetzt. Die Objekttechnologie bietet eine bereits in der Objektsprache angelegte Organisationsstruktur, mit der Software-Systeme strukturiert erstellt werden können. Kernpunkte in der Objekttechnologie sind u.a. Vererbungstheorien und Kapselung. Einen guten Überblick bietet die Homepage der Object Managment Group (OMG) zum aktuellen Stand der Technik in diesem Gebiet. http://www.omg.org/The Objective technology paradigms have largely evolved in the IT industry enforced. The object technology already offers one in the object language created organizational structure, structured with the software systems can be created. Key points in object technology include i.a. theories of inheritance and encapsulation. A good overview provides the homepage of the Object Management Group (OMG) to the current one State of the art in this area. http://www.omg.org/

Programmarchitektur der Compiler-SprachenProgram architecture of Compiled languages

Herkömmliche Programmarchitekturen adressieren ihre Datenelemente direkt aus dem Code-Segment heraus über eine Basis-Adresse (Beginn des Daten-Segmentes) und feste Offset-Adressen, die die physische Lage des Datenelementes innerhalb des Daten-Segmentes wiederspiegeln. Auf die Datenelemente des Daten-Segmentes kann nur vom Programm-Code des Code-Segmentes zugegriffen werden, da nur dieser Code den internen Aufbau des Datensegmentes kennt. Diese Architektur für Compiler-Sprachen, wie z.B. Assembler, C++, Java oder Visual Basic ist seit Jahrzehnten bekannt und unterstützt optimal die Rechnerarchitekturen.conventional Program architectures address their data elements directly the code segment out over a base address (beginning of the data segment) and fixed offset addresses, which are the physical location of the data element within the data segment reflect. On the data elements of the data segment can only be accessed by the program code of the code segment, as only this code knows the internal structure of the data segment. These Architecture for Compiler languages, such as Assembler, C ++, Java or Visual Basic has been known for decades and optimally supports the computer architectures.

Anwendungsarchitekturenapplication architectures

Anwendungsarchitekturen können in der Regel nach einem Software-Schichtenmodell aufgeteilt werden. Diese sind im einzelnen Präsentationsschicht, Prüfschicht, Steuerungsschicht, Verarbeitungsschicht und Zugriffsschicht. Je nach Implementierung können diese Schichten ineinander übergehen und keine klare Struktur mehr erkennen lassen.application architectures can usually divided according to a software layer model. These are in the individual presentation layer, test layer, Control layer, processing layer and access layer. ever after implementation can these layers merge and no clear structure can be seen.

Heutige Anwendungen vermischen vielfach fachliche und technische Inhalte. Ein definiertes Integer-Feld für ein berechnetes Monatsgehalt stellt bereits eine vermischte Information mit technischem (je nach Rechnermodell werden 2 oder 4 Byte belegt) und fachlichem Inhalt dar. Das Übergeben dieses Datenelementes mit dem Monatsgehalt von der Business-Schicht an die Präsentationsschicht zur Ausgabe an einen Browser besitzt bereits einen technischen Inhalt. Das Übergeben einer Information von einer Schicht zur nächsten beinhaltet bereits einen technischen Ablauf, den des Übertragens.today Applications often mix technical and technical content. A defined integer field for a calculated monthly salary already provides a mixed information with technical (depending on the computer model 2 or 4 bytes are occupied) and technical content. Passing of this data element with the monthly salary of the business layer to the presentation layer for output to a browser already has a technical content. The surrender Information from one shift to the next already contains one technical process, that of transferring.

Komponentenmodellecomponent models

Komponentenmodelle entwickelten sich in den 90-er Jahren und haben sich u.a. aus der Objekttechnologie entwickelt. Die Technologie ist in der IT-Branche weitgehend etabliert. Komponenten stellen wiederverwendbare Software-Programme dar, die ein definiertes Interface mit einem bestimmten Funktionsumfang beinhalten. Kennzeichnend für die Technologie ist eine standardisierte Aufruftechnik, mit der ein aufrufendes Programm (Client) die Funktionen einer Komponente (Server) ansteuern kann. Bekannteste Vertreter der Komponententechnologie sind: Corba siehe: www.omg.org COM/DCOM siehe: www.microsoft.com Java Beans siehe: java.sun.com/products/ejb Component models developed in the 1990s and have developed, among other things, from object technology. The technology is widely established in the IT industry. Components are reusable software programs that contain a defined interface with a specific functionality. Characteristic of the technology is a standardized call technology with which a calling program (client) can control the functions of a component (server). The best-known representatives of component technology are: Corba see: www.omg.org COM / DCOM see: www.microsoft.com Java beans see: java.sun.com/products/ejb

Applikationsserverapplication server

Die Technik ist seit vielen Jahren bekannt. In der Regel wird der Applikationsserver an zentraler Stelle eingesetzt, deshalb gehört zu seinen Aufgaben das optimale Teilen und Verwalten von Resourcen (virtueller Speicher, Datenbankverbindungen, Terminal-Verbindungen, CPU-Leistung), die von Computerprogrammen benötigt werden. In der Regel sind diese Resourcen technischer Art, im Gegensatz zu den Resourcen (hier sind Daten der Anwendung gemeint), mit denen die auf dem Applikationsserver laufenden Anwendungs-Programme zu tun haben. Die Applikationsserver stellen bei einer Speicheranforderung des Anwendungsprogrammes diesen Speicher zur Verfügung, können aber nicht den Inhalt interpretieren.The technique has been known for many years. As a rule, the application server is deployed in a central location, so one of its tasks is the optimal sharing and management of resources (virtual memory, database connections, terminal connections, CPU performance) required by computer programs. As a rule, these resources are of a technical nature, in contrast to the resources (here, data of the application is meant) with which the application programs running on the application server have to do. The application servers stop at a memory request of the application pro This memory is available to you, but you can not interpret the content.

Generierungsansatzgeneration approach

Ein Bereich der IT-Branche (siehe: www.omg.org ) verfolgt den Generierungsansatz über die „Model Driven Architecture" (MDA). Hier werden auf Basis eines abstrakten Modells Implementierungen für verschiedene Zielumgebungen durchgeführt.One IT sector (see: www.omg.org) follows the generation approach through the "Model Driven Architecture "(MDA). Here are implementations based on an abstract model for different Target environments performed.

XML-TechnikXML technology

Die XML-Technik ist aus der SGML-Technologie Ende der 90er Jahre hervorgegangen und hat durch die Internet-Technologie grosses Aufsehen erregt. Mit Hilfe dieser Technologie sind Informationsdaten keine reine Ansammlung von Zahlen und Texten mehr, jetzt werden für jede Informationseinheit Meta-Daten bereitgehalten.The XML technology emerged from SGML technology in the late 1990s and has caused a great deal of attention through Internet technology. With the help of this technology, information data is not pure Accumulation of numbers and texts more, now for each piece of information Meta-data kept.

Die Technologie hat in kurzer Zeit ein breites Anwendungsspektrum gefunden.The Technology has found a wide range of applications in a short time.

Einen guten Überblick über den aktuellen Stand der XML-Technik geben die Web-Seiten des W3C: http://www.w3.org/
Eine Vielzahl an Entwicklungen im XML-Bereich werden über diese Seiten ersichtlich, u.a.
DOM (Document Object Model)
SOAP/XMLP
XML-Schema
XML-Query
Web-Services
The W3C web pages provide a good overview of the current state of XML technology: http://www.w3.org/
A multitude of developments in the XML area are visible on these pages, among others
DOM (Document Object Model)
SOAP / XMLP
XML Schema
XML Query
Web services

Nachteile Stand der TechnikDisadvantages state of the art

Probleme auf Grund der ArchitekturProblems due to the architecture

Die ganze Tragweite der Probleme heutiger Anwendungs-/Systemarchitekturen wird deutlich, wenn eine Analogie mit einer Briefzustellung, in diesem Fall mit einer sehr absurden, herangezogen wird. Angenommen, ein Brief wird von einem Postunter-nehmen von Fürstenfeldbruck nach Aligse bei Hannover befördert. In der ersten Postverteilerstelle, in diesem Fall in Fürstenfeldbruck, wird der Brief geöffnet und mit einer ganz bestimmten Formatvorlage verglichen. Bei fehlerhaftem inhaltlichem Aufbau dieses Briefes wird der Brief an den Absender zurückgeschickt. Stimmt der Brief mit der Formatvorlage überein, wird er zur nächsten Postverteilerstelle geschickt, in diesem Fall nach München. Dort geschieht der gleiche Überpüfungs- vorgang mit der gleichen Formatvorlage. Ebenso in Hannover und Lehrte, bis der Brief in Aligse beim Empfänger im Briefkasten ankommt. Eine geringfügige Änderung des Briefinhaltes, z.B. die Änderung der Postleitzahl von 4 auf 5 Stellen, wie in den 90er Jahren geschehen, hat zur Folge, dass alle Postverteilerstellen mit einer neuen Formatvorlage ausgestattet sein müssen, bevor der erste Brief zugestellt werden kann. Da tausende unterschiedlicher Briefe im Umlauf sind, entsteht ein umfangreicher Verwaltungsaufwand. In einem Anwendungssystem sind die Postverteilerstellen mit den Funktionsschichten Präsentations-, Steuerungs-, Prüf-, Verarbeitungs- und Zugriffsschicht zu vergleichen, die eine Nachricht von einem Endgerät wie Browser bis zur Speicherung auf einer Datenbank durchläuft. In der Regel wird neben dem Inhalt eines Datenelementes auch die Formatbeschreibung in allen Funktionsschichten mitgeführt. Dadurch haben diese Schichten eine starke Abhängigkeit zu den Inhalten einer Nachricht. Diese Abhängigkeiten sind vielfach nicht sinnvoll, z.B. soll eine Zugriffsschicht Daten einer Datenbank bereitstellen, über den Inhalt muss sie keine Kenntnisse besitzen. Durch diese Abhängigkeiten tritt eine Vielzahl von heute bekannten Problemen auf, einige sind im Anschluss genannt:

  • • Hohe Wartungsaufwände für bestehende Applikationen, u.a. bedingt durch Abhängigkeiten in den Schnittstellen und der Wiederverwendung von Klassen.
  • • Hohe Komplexität in der Programmierung von Anwendungslösungen, bedingt durch die feste „Verdrahtung" von fachlichem und technischem Lösungscode. Dadurch muss ein Programmierer neben seinem fachlichen Wissen zur Lösung der fachlichen Aufgabe ein hohes technisches Wissen über das Umfeld haben.
  • • Offenheit in der Architektur ist nur selten gegeben. Anwendungen verschiedener Software-Hersteller können oft nur mit grossen Aufwand, wenn überhaupt, integriert werden
  • • Zunehmende Wartungsaufwände, je älter eine Anwendung wird. Dies hängt mit der starken Abhängigkeit der in einem Anwendungssystem miteinander kommunizierenden Programme zusammen.
  • • Wenig offen für neue Entwicklungen, z.B. nachträgliche „Drag- and Drop" – Unterstützung in einem Anwendungssystem.
  • • Die enthaltene Komplexität in der Anwendungsarchitektur erlaubt in der Regel keine Programmierung aus graphischen Bausteinen.
  • • Unterschiedliche Kommunikationsformen in einer Transaktion (synchron und asynchron) nur aufwendig zu erreichen.
  • • Verteilungsprobleme von Anwendungssoftware
  • • Wiederverwendbare Infrastruktur-Services für die Anwendungen haben ihre Grenzen.
  • • Dokumentation und tatsächlich implementierte Softwarefunktionen stimmen nicht überein.
The full scope of the problems of today's application / system architectures becomes clear when an analogy with a letter delivery, in this case with a very absurd, is used. Suppose a letter is carried by a postal company from Fürstenfeldbruck to Aligse near Hanover. In the first post office, in this case in Fürstenfeldbruck, the letter is opened and compared to a very specific style. If this letter is incorrectly structured, the letter will be returned to the sender. If the letter matches the template, it will be sent to the nearest post office, in this case to Munich. There, the same review process with the same style occurs. Also in Hanover and Lehrte until the letter arrives at the recipient in the mailbox in Aligse. A minor change in the letter content, such as changing the postal code from 4 to 5 digits, as happened in the 90s, means that all mail distribution points must be equipped with a new style before the first letter can be delivered. Since thousands of different letters are in circulation, a considerable administrative burden arises. In an application system, the mail distribution points are to be compared with the functional layers presentation, control, checking, processing and access layer, which passes through a message from a terminal such as a browser to storage in a database. As a rule, in addition to the content of a data element, the format description is also included in all functional layers. As a result, these layers have a strong dependence on the content of a message. These dependencies often do not make sense, for example, an access layer should provide data to a database; it does not need to know anything about the content. These dependencies give rise to a variety of problems known today, some of which are mentioned below:
  • • High maintenance costs for existing applications, among others due to dependencies in the interfaces and the reuse of classes.
  • • High complexity in the programming of application solutions, due to the fixed "wiring" of technical and technical solution code.This must be a programmer in addition to his technical knowledge to solve the technical task to have a high level of technical knowledge of the environment.
  • • Openness in architecture is rarely given. Applications of different software manufacturers can often be integrated with great effort, if at all
  • • Increasing maintenance, the older an application gets. This is related to the strong dependency of the programs that communicate with each other in an application system.
  • • Little open to new developments, eg subsequent "drag and drop" support in one application system.
  • • The included complexity in the application architecture usually does not allow programming from graphic blocks.
  • • To achieve different forms of communication in a transaction (synchronous and asynchronous) only consuming.
  • • Distribution problems of application software
  • • Reusable infrastructure services for the applications have their limits.
  • • Documentation and software features actually implemented do not match.

XML-DOMXML DOM

Direkte AdressierungDirect addressing

Das standardisierte Application Programming Interface (API) unterstüzt keine direkte Adressierung auf Elemente, die auf Grund ihrer Schema-Definition mehrfach in ihrer Ausprägung (Array Elemente) vorkommen können. So ist es z.B. nicht möglich, die achte Ausprägung eines bestimmten Elementes direkt zu adressieren. Über einen sequentiellen Lese-Vorgang muss das achte Element erreicht werden. ID-Attribute können für die Anforderung, Elemente direkt zu adressieren, nicht verwendet werden. Entsprechend der XML 1.0 Recommendation (REC-xml-19980210), müssen ID attribute-Werte innerhalb eines XML Dokumentes eindeutig sein.The standardized Application Programming Interface (API) does not support any direct addressing to elements based on their schema definition several times in their expression (Array elements) can occur. So it is e.g. not possible, the eighth expression directly to a specific element. About one sequential read operation, the eighth element must be reached. ID attributes can for the requirement, Directly addressing elements not to be used. Corresponding The XML 1.0 Recommendation (REC-xml-19980210), must have ID attribute values within an XML document.

Siehe auch: http://www.w3.org/DOM/ Please refer also: http://www.w3.org/DOM/

Objekttechnologieobject technology

Problematik der KapselungProblem of encapsulation

Ein Paradigma der Objekttechnologie ist die Kapselung. Neben den Vorteilen besitzt sie auch Nachteile. Nur der Programmcode innerhalb der Klasse kann auf die Datenstruktur einer Instanz dieser Klasse zugreifen. Von aussen kommende Automatisierungsfunktionen, die den Inhalt der Daten erkennen müssen, können somit nicht entwickelt werden.One The paradigm of object technology is encapsulation. Besides the advantages it also has disadvantages. Only the program code within the class can access the data structure of an instance of this class. External automation functions that control the content of the Need to recognize data, can thus not be developed.

Problematik der SchnittstellenProblem of the interfaces

Hoher Änderungsaufwand bei Änderungen in Schnittstellen von Klassen. durch die direkte Schnittstellenabhängigkeit zwischen Aufrufer und aufgerufener Funktion müssen Änderungen in der Schnittstelle an allen betroffenen Programmteilen vorgenommen werden.High change effort in case of changes in interfaces of classes. through the direct interface dependence between the caller and the called function must have changes in the interface be made to all affected program parts.

ApplikationssserverApplikationssserver

Die Aufgabe eines Applikationsservers besteht im Verwalten von vorwiegend technischen Resourcen für die unter seiner Kontrolle ablaufenden Anwendungen. Er hat eine technisch unterstützende Ausrichtung. Er enthält wenig bzw. keine Information über das in der Anwendung aktive Objekt-Datenmodell. Dadurch kann ein Applikationsserver wenig standardisierte Service-Leistungen für Anwendungen übernehmen.The The task of an application server is to manage mainly technical resources for the applications under his control. He has one technically supportive Orientation. He contains little or no information about The object data model active in the application. This can be a Application server adopt little standardized service for applications.

Computer-SprachenComputer Languages

Abhängigkeit zwischen Code- und DatensegmentDependence between code and data segment

Durch die direkte Adressierung der Datenelemente aus dem Code-Segement heraus über eine Basis-Adresse (Beginn des Daten-Segmentes) und der festen Offset-Adressen, die die physische Lage des Datenelementes innerhalb des Daten-Segmentes wiederspiegelt, wird eine starke Abhängigkeit zwischen Programmcode und Datenstruktur aufgebaut. Änderungen in der Datenstruktur haben zumindest immer einen neuen Compiler-Lauf zur Folge, mit anschliessender Verteilung des neu erstellten Programmes. Diese intensive Abhängigkeit zieht sich durch ein ganzes Software-System, auch über Rechner-Grenzen hinweg.By the direct addressing of the data elements from the code segment out over a base address (beginning of the data segment) and the fixed offset addresses, the physical location of the data element within the data segment reflects a strong dependence between program code and data structure. amendments in the data structure at least always have a new compiler run with the subsequent distribution of the newly created program. This intense dependence runs through a whole software system, even over computer limits time.

Beschreibung von Abläufen in „Texten"Description of processes in "texts"

Die technische Beschreibung von Programmen der üblichen Computer-Sprachen (Java, C++, Visual Basic) werden durch formalisierte Texte (Sourcen) dargestellt. Ein Compiler-Lauf erfasst diese Texte und wandelt sie in eine der Maschine verständliche Form um. Die inhaltlichen Strukturen werden erst beim Compiler-Lauf erfasst und dadurch bestimmte Fehler erst spät erkannt. Eine direkte inhaltliche Erfassung während der Sourceerstellung findet nicht statt, dadurch sind nur begrenzte Unterstützungsmassnahmen für die Programmierung möglich. Die Form der textlichen Darstellung von Programmabläufen ist in vielen Fällen unübersichtlich und entspricht nicht der menschlichen Fähigkeit, komplexe Strukturen besser visuell wahrzunehmen.The technical description of programs of the usual computer languages (Java, C ++, Visual Basic) are represented by formalized texts (sources). A compiler run captures these texts and transforms them into a form understandable by the machine. The content structures are only at the Compi ler run detected and thereby certain errors detected late. A direct content capture during the source creation does not take place, so that only limited support measures for programming are possible. The form of the textual representation of program sequences is in many cases confusing and does not correspond to the human ability to better perceive complex structures visually.

Programmiermodellprogramming model

Die heute üblichen Programmiermodelle mit den objektorientierten Sprachen haben einen Fokus auf die Wiederverwendung von Klassen bzw. Komponenten und kapseln einen fachlichen Inhalt, z.B. das Auflisten von Mitarbeitern und Berechnen der Gehälter. Dabei werden fachliche Inhalte und technische Abläufe, z.B. Liste ,Mitarbeiter und Gehälter' ausgeben, eng miteinander gekoppelt, so dass bzgl. technischer immer wiederkehrender Abläufe keine Wiederverwendung gegeben ist.The usual today Programming models with object-oriented languages have one Focus on the reuse of classes or components and encapsulate a professional content, e.g. listing employees and calculating salaries. In doing so, subject matter and technical processes, e.g. List, Employees and Salaries' spend, closely with each other coupled, so that with regard to technical recurring processes no Reuse is given.

Integrationsfähigkeit von Anwendungssystemenintegration of application systems

Bestehende Anwendungssysteme besitzen wenig Integrationsmöglichkeiten untereinander, da sie auf der Ebene der einzelnen Software-Schichten (z.B. Zugriffsschicht) nur selten Schnittstellen für andere Programme nach aussen anbieten.existing Application systems have little integration possibilities among themselves, because they are at the level of individual software layers (e.g., access layer) only rarely interfaces for offer other programs to the outside.

Aufgabe der ErfindungObject of the invention

Ziel bzw. Aufgabe der Erfindung ist die einfache Entwicklung von softwaremässigen Lösungen für fachliche Aufgabenstellungen im Bereich des E-Business, der kommerziellen EDV, der Unterstützung von Standardsoftware und deren Integration. Die heute vorhandene Abhängigkeit von aufrufenden und aufgerufenen Programmen wird weitgehend beseitigt. Neben der Wiederverwendung von fachlichen Komponenten wird die Wieder-verwendung von Infrastruktur-Service ermöglicht, was zu einer deutlich schnelleren Entwicklung von neuen Anwendungen führt. Bedingt durch die Einfachheit werden neue Anwendungsfälle bzw. Abläufe unterstützt, z.B. die gleichzeitige synchrone und asynchrone Kommunikation in einer Transaktion. Dabei wird der gesamte Entwicklungs- und Lebenszyklus einer Anwendung durch graphische Elemente unterstützt. Die Ablaufpläne der fachlichen Anwendung sind gleichzeitig Dokumentation und Ablaufsteuerung.aim or object of the invention is the simple development of software solutions for professional Tasks in the field of e-business, commercial Computer, support of standard software and its integration. The existing today dependence Calling and calling programs is largely eliminated. In addition to the reuse of technical components is the re-use of infrastructure service allows resulting in a much faster development of new applications leads. Due to the simplicity, new use cases or procedures support e.g. Simultaneous synchronous and asynchronous communication in a transaction. This is the entire development and life cycle an application supported by graphical elements. The flowcharts The technical application is simultaneously documentation and process control.

Lösung der AufgabeSolution of the task

Grundsätzlich werden Informationen, die zwischen Endgeräten wie Browser und Resourcen-Manager im Umlauf sind, in Container verpackt, vergleichbar dem Inhalt eines Briefes. Die beteiligten Funktionsschichten haben keine direkte Abhängigkeit zu den Inhalten eines Containers. Des weiteren werden die fachlichen Daten (Datenelemente) eines Paketes, als einzeln adressierbare Einheiten in einem Speichermanagmentsystem gehalten. Bzgl. Ort und Lage bestehen keine Abhängigkeiten zwischen nebeneinader definierten Datenelementen. Jedes Datenelement kann einzeln und eindeutig im gesamten System adressiert werden. Der Ablaufumgebung werden Meta-Daten des aktuellen Datenmodells einer Anwendung zur Verfügung gestellt, dadurch können intelligente Steuerungsmassnahmen (z.B. Laden zusammengehöriger Daten bei einer Aggregation in das Speichermanagementsystem) von der Ablaufumgebung übernommen werden.Basically Information circulating between terminals such as browser and resource manager are packed in containers, comparable to the contents of a letter. The functional layers involved have no direct dependence to the contents of a container. Furthermore, the technical data (Data elements) of a packet, as individually addressable units held in a memory management system. Concerning. Location and location exist no dependencies between adjacent data elements. Each data element can be individually and uniquely addressed throughout the system. The runtime environment becomes meta-data of the current data model an application available posed, thereby can intelligent control measures (e.g., loading related data when aggregated into the storage management system) is taken from the runtime environment become.

Um die gestellte Aufgabe lösen zu können, müssen alle nicht unmittelbar für die fachliche Aufgabenstellung notwendigen Abläufe und fachlichen Daten von der Verarbeitungsschicht ferngehalten werden, also den von einen Anwendungsentwickler zu erstellenden Programmen. Nur bei fachlichen Aufgaben, z.B. Berechnen der Quartalsergebnisse, lesen entsprechende Methoden der Business-Schicht fachliche Daten und stellen anschliessend die Ergebnisse wieder in das zentrale Speicher-Management-System (SMS). Von der Business-Schicht werden keine Daten an andere Schichten weitergereicht, die Informationsweitergabe erfolgt nur über Referenzen, die wiederum auf Objekte im SMS zeigen. Durch das Bereinigen der Business-Schicht von technischen Abhängigkeiten wird der Weg bereitet, die Programm-Logik durch graphische Elemente aufzubauen.Around solve the task to be able to have to all not directly for the technical task necessary procedures and technical data of the processing layer are kept away, that of one Application developers to create programs. Only with professional Tasks, e.g. Calculate the quarterly results, read appropriate Methods of business layer technical data and then post the results returned to the centralized storage management system (SMS). From the business layer If no data is passed on to other layers, the information is passed on is only about References, which in turn point to objects in the SMS. By cleaning up the business layer of technical dependencies paves the way the program logic build up through graphic elements.

Vorteile der ErfindungAdvantages of the invention

Architekturarchitecture

Basis ist die Architektur. Sie führt zu folgenden Vorteilen in der zu entwickelnden Ablaufumgebung:

  • • Reduzierung von Komplexität in der Programmierung von Anwendungslösungen
  • • Konzentration der Programmierung auf das fachlich Wesentliche
  • • Eine kontextabhängige Steuerung ist in der Architektur integriert, dadurch vermindert sich die Komplexität im Anwendungsdesign.
  • • Offenheit, auf Basis dieser Architektur können Anwendungen unterschiedlicher Software-Hersteller einfacher integriert werden
  • • Reduzierung von Wartungsaufwänden
  • • Offen für neue Entwicklungen, neue Infrastruktur-Services können bestehenden Anwendungen zur Verfügung gestellt werden, z.B. „Drag and Drop" Unterstützung, ohne diese anpassen zu müssen.
  • • Ermöglicht Graphische Programmierung
  • • Unterschiedliche Kommunikationsformen in einer Transaktion (synchron und asynchron)
  • • Die Vorteile einer zentralistischen Architektur und die Vorteile der graphischen Computerleistung vor Ort wird in eine Gesamtarchitektur zusammengeführt.
  • • Wiederverwendbare Infrastruktur-Services können aufgebaut werden.
  • • Einheitliche Datengrundlage für das Ablaufverhalten des Anwendungssystems und der Dokumentation.
The basis is the architecture. It leads to the following advantages in the development environment to be developed:
  • • Reduce complexity in programming application solutions
  • • Concentration of programming on the technical essentials
  • • Contextual control is built into the architecture, which reduces the complexity of application design.
  • • Openness, based on this architecture, applications from different software vendors can be integrated more easily
  • • Reduction of maintenance costs
  • • Open to new developments, new infrastructure services can be made available to existing applications, such as "drag and drop" support without having to adjust them.
  • • Enables graphical programming
  • • Different forms of communication in one transaction (synchronous and asynchronous)
  • • The benefits of a centralized architecture and the benefits of on-site graphical computing performance are brought together in one overall architecture.
  • • Reusable infrastructure services can be built.
  • • Uniform data basis for the execution behavior of the application system and the documentation.

Anmerkungen zu den VorteilenComments on the benefits

Programmiermodellprogramming model

Die Umsetzung der Ansprüche in eine Ablaufumgebung ermöglicht eine neuartige Programmierung und Wiederverwendung von Infrastruktur-Services. Diese Services stellen in diesem Kontext softwaremässige „Trägerdienste" für fachliche Informationen dar. Die Services sind unabhängig von den sie begleitenden fachlichen Inhalten. Die technischen Abläufe, um eine Liste zu erstellen, haben folgende Einzelschritte

  • a) Anfordern einer bestimmten Liste durch einen Anwender
  • b) (die Liste erstellen ist fachlicher Art)
  • c) eine Benachrichtigung über erfolgreiche List-Erstellung an den Anwender schicken
  • d) die Liste zustellen und anzeigen
sie sind unabhängig davon, ob diese Liste Mitarbeiter einer Abteilung oder Umsätze je Quartal enthält. Die Ausrichtung des Programmiermodells wird dahin gehen, dass zur Lösung eines fachlichen Problems technische Abläufe von den fachlichen Inhalten bzw. Funktionen getrennt werden. Die erstellten, ineinander greifenden Komponenten, die technische Abläufe unterstützen, stellen wiederverwendbare Infratruktur-Services dar.The implementation of the claims in a runtime environment enables a novel programming and reuse of infrastructure services. In this context, these services are software-based "bearer services" for subject-specific information.The services are independent of the technical content that accompanies them.The technical procedures for creating a list have the following individual steps
  • a) Request a specific list by a user
  • b) (the list is a technical one)
  • c) Send a notification of successful list creation to the user
  • d) deliver and display the list
they are independent of whether this list contains employees of a department or sales per quarter. The orientation of the programming model will be to separate technical processes from the technical contents or functions in order to solve a technical problem. The built-in, interlocking components that support engineering operations are reusable infrastructure-building services.

Dokumentationdocumentation

Die zu erstellenden softwaremässigen Abläufe und Abhängigkeiten werden in Form von XML-Bescheibungen definiert. Diese XML-Beschreibungen können gleichzeitig für die Dokumentation des Systems herangezogen werden. Die Dokumentation stellt also gleichzeitig die Ablaufbeschreibung dar.The to be created software procedures and dependencies are defined in the form of XML descriptions. These XML descriptions can at the same time for the documentation of the system is used. The documentation at the same time represents the process description.

Beschreibung von Implementierungs- und AusführungsdetailsDescription of Implementation and execution details

Die in unterschiedlichen programmierten Anwendungssystemen vorkommenden fachlichen Abläufe zeigen in ihren Mustern ein oft immer wiederkehrendes Ablaufverhalten, wie z.B. das Erstellen und Ausgeben einer Liste. Der unter diesen Abläufen vorhandene Programmcode beinhaltet Ablaufverhalten und fachliche Information und ist fest miteinander „verdrahtet". In dem in heutigen Anwendungen vorkommenden Programmcode der Präsentations-, Steuerungs-, Prüf-, Verarbeitungs- und Zugriffsschicht sind beide Anteile ebenfalls in der Regel fest „verdrahtet". Eine Trennung des Programmcodes für das Ablaufverhalten und des fachlichen Verhaltens bzw. der fachlichen Information ist notwendig. Der Programmcode für das Ablaufverhalten verrichtet dabei einen Trägerdienst für fachliche Information. Die folgenden Implementierungs- und Ausführungsdetails sind auf dieses Ziel hin ausgerichtet.The occurring in different programmed application systems show professional procedures in their patterns an often recurring flow behavior, such as. creating and outputting a list. The one among these procedures Existing program code includes execution behavior and technical information and is "wired" together in the one in today Application code of the presentation, control, testing, processing and access layer, both shares are also usually hardwired Program codes for the flow behavior and the professional behavior or the professional Information is necessary. The program code for the runtime performs doing a carrier service for professional Information. The following implementation and execution details are geared towards this goal.

Aufbauconstruction

Die Aufgabe der Ablaufumgebung ist das Aufnehmen von zu programmierenden Methoden fachlicher Klassen und die Bereitstellung von Diensten, die aus den Methoden mittels Befehlen angesteuert werden können. Hierfür wird die Ablaufumgebung aus verschiedene Funktionseinheiten, die jeweils bestimmte Aufgaben übernehmen, aufgebaut. Die Aufgabe der zu programmierenden Methoden ist das Übernehmen, Verarbeiten und Weiterleiten von Informationen verschiedenster Art. Hierfür werden eintreffende Informationen von der Präsentations- bzw. Zugriffseinheit in indizierte Container verpackt und in der Speichereinheit gespeichert. Jede Funktionseinheit hat Zugriff auf die in der Speichereinheit liegenden Container und deren Inhalt, um den Dienst, für die eine Funktionseinheit zuständig ist, durchführen zu können. Container und deren Inhalt werden eindeutig durch entsprechende Identifier identifiziert. Ein Container enthält Informationen, hier Objektinstanz genannt, einer bestimmten Klasse. Zwischen Objektinstanzen gleicher und unterschiedlicher Klassen können Beziehungen bestehen, die in einer Objektinstanz einer bestimmten Klasse festgehalten werden und zur Ausführungszeit einer fachlichen Klasse ebenfalls in Container geladen werden. Über die in den Containern enthaltenen Objektinstanzen der fachlichen Klassen werden Meta-Informationen von der Ablaufumgebung bereit gehalten, auch diese Informationen werden in Containern gehalten. Die Formatierungsanweisungen, ebenfalls Objektinstanzen bestimmter Klassen, für Ausgaben auf externe Endgeräte wie Browser oder Handy werden ebenfalls in Containern gehalten. Aus diesen Formatierungsanweisungen wird für die Ausgabe auf einen Browser von der Präsentationseinheit ein HTML-Datenstrom generiert. Die Funktionseinheiten werden durch kontextbezogene Daten, z.B. die Rolle eines Anwenders, die Art des Ausgabegerätes, die aktive Version von Methoden angesteuert, so dass verschiedene kontextbezogene Ablaufverhalten unterstützt werden.The task of the runtime environment is to record methods of functional classes to be programmed and to provide services that can be accessed from the methods by means of commands. For this purpose, the runtime environment is made up of various functional units that each assume specific tasks. The task of the methods to be programmed is the adoption, processing and forwarding of information of various kinds. For this purpose, incoming information from the presentation or access unit are packaged in indexed containers and stored in the memory unit. Each functional unit has access to the containers and their contents in the storage unit in order to be able to perform the service for which a functional unit is responsible. Containers and their contents are uniquely identified by corresponding identifiers. A container contains information, called an object instance here, of a particular class. There can be relationships between object instances of the same and different classes, which are held in an object instance of a specific class and also loaded into containers at the execution time of a functional class. The object instances of the subject classes contained in the containers contain meta information from the runtime environment, and this information too is kept in containers. The formatting instructions, also object instances of certain classes, for output to external devices such as browsers or mobile phones are also kept in containers. These formatting instructions generate an HTML data stream for output to a browser from the presentation unit. The functional units are controlled by context-related data, eg the role of a user, the type of output device, the active version of methods, so that different context-related execution behavior is supported.

Bis auf die anschliessend aufgeführte Verarbeitungseinheit müssen die einzelnen Funktionseinheiten von einem Entwickler einer fachlichen Anwendung nicht programmiert werden, sie werden „definiert".To on the subsequently listed Processing unit need the individual functional units of a developer of a technical Application are not programmed, they are "defined".

Die Funktionseinheiten sind im einzelnen:The Functional units are in detail:

a) Präsentationseinheita) presentation unit

diese Einheit empfängt Nachrichten von externen Endgeräten, verpackt die Nachricht in einen Container und übergibt diese der Speichereinheit. Bei Ausgaben auf externe Endgeräte liest die Präsentationseinheit Container aus der Speichereinheit aus, baut eine Ausgabenachricht auf Grund spezieller in Containern enthaltenen Formatierungsvorschrifen auf und übergibt diese Nachricht dem Endsystem.these Unit receives Messages from external devices, packs the message into a container and passes it to the storage unit. For expenses on external devices the presentation unit reads containers from the storage unit, builds an output message based on special formatting instructions contained in containers and passes this message to the end system.

b) Prüfeinheitb) test unit

diese Einheit prüft empfangene Nachrichten auf formale und inhaltliche Richtigkeit. Die Prüfvorschriften sind in Containern einer bestimmten Klasse vorhanden.these Unit checks received messages on formal and content correctness. The test regulations are present in containers of a certain class.

c) Steuereinheitc) control unit

diese Einheit aktiviert auf Grund eines empfangenen Ereignisses eine bestimmte Methode einer Klasse der Verarbeitungseinheit.these Unit activates a specific one based on a received event Method of a class of the processing unit.

d) Verarbeitungseinheitd) processing unit

in dieser Einheit laufen die informationsverarbeitenden Methoden fachlicher Klassen. Die in den Methoden enthaltenen speziellen Befehle haben über die Speichereinheit Zugriff auf die Inhalte der Container und steuern den Containerfluss durch die einzelnen Funktionseinheiten. Klassen und Methoden müssen von einem Anwendungsentwickler definiert bzw. programmiert werden.in In this unit the information processing methods are more professional Classes. The special commands contained in the methods have over the Storage unit access to the contents of the container and control the container flow through the individual functional units. classes and methods need be defined or programmed by an application developer.

e) Speichereinheite) storage unit

diese Einheit speichert temporär Container mit deren Inhalt im virtuellen Speicher. Jeder Container wird durch einen eindeutigen Identifier identifiziert. Zusätzlich wird jedes Datenelement innerhalb eines Containers ebenfalls durch einen eindeutigen Identifier identifiziert. Zugriffe auf Resourcen-Manager werden immer über die Speichereinheit durchgeführt, diese kann entscheiden, ob eine Objektinstanz in einem Container geladen ist. Ist das nicht der Fall, wird die Zugriffseinheit aktiviert, die entsprechende Objektinstanz zu laden.these Unit temporarily saves Containers with their content in virtual memory. Every container will identified by a unique identifier. In addition will each data element within a container also by a unique identifier identified. Accesses to Resource Manager are always over the storage unit performed, this can decide if an object instance is loaded in a container is. If this is not the case, the access unit is activated, to load the corresponding object instance.

f) Befehlseinheitf) Command unit

diese Einheit bekommt von der Verarbeitungseinheit die in einer Methode enthaltenen Befehle einzeln übergeben. Je nach Befehl ruft die Befehlseinheit ein bestimmtes Befehlsmodul zum Bearbeiten des Befehls auf bzw. delegiert die Ausführung an andere Funktionseinheiten.these Unit gets from the processing unit the in a method one by one. Depending on the command, the command unit calls a specific command module to edit the command or delegate the execution other functional units.

g) Zugriffseinheitg) access unit

diese Einheit liest Informationen von einem Resourcenmanager bzw. externen System, transformiert diese in ein internes Format und legt sie in einem Container der Speichereinheit ab. Ebenso liest sie die Inhalte von Containern aus der Speichereinheit, transformiert diese gelesenen Informationen in das Datenformat des Resourcenmanagers bzw. externen Systems und übergibt die transformierte Information dem Resourcenmanager bzw. externen System zur Speicherung auf ein persistentes Medium.this unit reads information from a resource manager or external system, transformed this into an internal format and stores them in a container of the storage unit. Likewise, it reads the contents of containers from the storage unit, transforms this read information into the data format of the resource manager or external system and transfers the transformed information to the resource manager or external system for storage on a persistent medium.

Es zeigt 1 Ablaufverhalten durch die Funktionseinheiten

  • 1, 2 Die von der Präsentationseinheit empfangene Nachricht eines externen Systems oder Browsers wird in einen Container verpackt, der Container und jedes darin enthaltene Datenelement wird über Identifier eindeutig gekennzeichnet und der Speichereinheit zum Zwischenspeichern übergeben.
  • 3 In Abhängigkeit des mit der Nachricht verbundenen Ereignisses und einer kontextabhängigen Steuerinformation wird von der Steuereinheit die Verarbeitungseinheit aktiviert mit dem Auftrag, die Methode einer bestimmten Klasse zu starten.
  • 4 In der Verarbeitungseinheit laufen folgende Schritte ab: a) Die Verarbeitungseinheit erkennt in einer internen Tabelle, dass die Methode noch nicht geladen worden ist und beauftragt die Speichereinheit, diese Methode und Meta Daten der Klasse in die Speichereinheit zu laden. b) Eine Instanz der internen Klasse „Methode" wird instanziiert und initialisiert. Diese Instanz nimmt interne Referenzen zwischen Operanden der Methoden-Befehle und die in der Speichereinheit liegenden Container auf. c) Die Verarbeitungseinheit übergibt der Befehlseinheit den ersten auszuführenden Befehl einschliesslich Operanden. Methoden der Verarbeitungseinheit können über einen entsprechenden Befehl den erstellten Container der Eingabenachricht einlesen und weiterverarbeiten. Für die Ausgabe einer Nachricht erstellt ein anderer Befehl einen Ausgabe-Container, der von der Präsentationseinheit für das Generieren einer Ausgabenachricht verwendet wird.
  • 5. Die Befehlseinheit ruft die entsprechende Befehlsroutine auf. Je nach Befehl wird die Speichereinheit für den Zugriff auf Datenelemente aktiviert, die innerhalb eines Containers liegen.
  • 6 Bei bestimmten Befehlen, z.B. Einlesen einer Objektinstanz einer fachlichen Klasse, aktiviert die Befehlseinheit die Speichereinheit. Über die Speichereinheit wird die Zugriffseinheit aktiviert. Diese liest von einem Resourcen-Manager die Objektinstanz.
  • 7 Die Zugriffseinheit ruft direkt Funktionen der Speichereinheit auf für das Speichern der Objektinstanz in einen Container. Folgende Schritte laufen dabei ab: a) Anfordern eines Containers b) Einspeichern Datenelement in Container, dabei werden Container-ID, Identifier des Datenelementes und Inhalt des Datenelementes übergeben. c) Rückgabe der Kontrolle an die Befehlseinheit mit Übergabe der Container-ID.
  • 8 Bei bestimmten Befehlen, z.B. Speichern einer Objektinstanz einer fachlichen Klasse, aktiviert die Befehlseinheit die Speichereinheit. Dabei übergibt sie der Speichereinheit die zu speichernde Container-ID. Die Speichereinheit ruft wiederum die Zugriffseinheit mit Übergabe der Container-ID auf. Über diese Container-ID wird die Objektinstanz aus dem Container über eine Funktion der Zugriffseinheit ausgelesen.
  • 9 Die Zugriffseinheit transformiert die ausgelese Objektinstanz auf das Format des Resourcen-Managers und ruft diesen zur Speicherung der Objektinstanz auf. Anschliessend erhält die Befehlseinheit die Kontrolle zurück mit Angabe eines Response-Codes.
  • 10 Vor Beendigung der Aktivitäten in der Verarbeitungseinheit (Programmende) muss von einer Methode der Verarbeitungseinheit ein Ausgabe-Container erstellt worden sein. Die Kontrolle wird an die Präsentationseinheit gegeben.
  • 11, 12 Die Präsentationseinheit liest den Ausgabe-Container und generiert eine HTML-Ausgabe für die Ausgabe auf den Browser.
It shows 1 Execution behavior by the functional units
  • 1, 2 The message received from the presentation unit of an external system or browser is packaged in a container, the container and each data element contained therein is uniquely identified by identifier and passed to the memory unit for caching.
  • 3 Depending on the event associated with the message and context-dependent control information, the control unit activates the processing unit with the request to start the method of a specific class.
  • 4 The processing unit executes the following steps: a) The processing unit recognizes in an internal table that the method has not yet been loaded and instructs the memory unit to load this method and meta data of the class into the memory unit. b) Instance of the internal class "Method" is instantiated and initialized This instance takes in internal references between operands of the method commands and the containers in the memory unit c) The processing unit gives the first instruction to be executed, including operands Methods The processing unit can use a corresponding command to read in and process the created container of the input message For issuing a message, another command creates an output container that is used by the presentation unit to generate an output message.
  • 5. The instruction unit calls the corresponding instruction routine. Depending on the command, the storage device is enabled to access data items that reside within a container.
  • 6 For certain commands, eg reading in an object instance of a domain-specific class, the command unit activates the memory unit. The access unit is activated via the storage unit. It reads the object instance from a resource manager.
  • 7 The access unit directly calls functions of the storage unit for storing the object instance in a container. The following steps are carried out: a) Requesting a container b) Storing data element in container, container ID, identifier of the data element and content of the data element are transferred. c) return the control to the command unit with transfer of the container ID.
  • 8 For certain commands, such as saving an object instance of a specialized class, the command unit activates the memory unit. In doing so, it transfers to the storage unit the container ID to be stored. The storage unit in turn calls the access unit with transfer of the container ID. This container ID is used to read the object instance from the container via a function of the access unit.
  • 9 The access unit transforms the read object instance to the format of the resource manager and calls it to save the object instance. The command unit then receives the control back with specification of a response code.
  • 10 Before the end of the activities in the processing unit (program end), an output container must have been created by a method of the processing unit. The control is given to the presentation unit.
  • 11, 12 The presentation unit reads the output container and generates an HTML output for output to the browser.

Klassen und organisatorische Struktur der AblaufumgebungClasses and organizational Structure of the runtime environment

Klassen beschreiben formal notwendige Resourcen und Objekte einer Ablaufumgebung und deren darin ablaufende Anwendungen. Für jede Klasse wird auf einem Resourcen-Manager eine Datei angelegt. Die Inhalte dieser Dateien, ebenfalls Objektinstanzen, beschreiben die eigentlichen Resourcen und Objekte einer Ablaufumgebung und deren darin ablaufende Anwendungen. Die zur Laufzeit benötigten Objektinstanzen werden in Container der Ablaufumgebung geladen.classes describe formally necessary resources and objects of a runtime environment and their applications running in it. For each class will be on one Resource Manager created a file. The contents of these files, also object instances, describe the actual resources and objects of a runtime environment and their running applications. The needed at runtime Object instances are loaded into containers of the runtime environment.

Dateien bzw. Klassen der Ablaufumgebung

  • • SYS-* => systemtechnische Resourcen, Objekte und Einstellungen der Ablaufumgebung.
  • • NW A-* => Resourcen und Objekte einer fachlichen Anwendung
  • • ON C-* => contextabhängige Verweise einer Anwendung
Files or classes of the runtime environment
  • • SYS- * => system resources, objects and settings of the runtime environment.
  • • NW A- * => resources and objects of a technical application
  • • ON C- * => contextual references of an application

Figure 00160001
Figure 00160001

Objektinstanzen, deren Klasse mit der Eigenschaft „persistent" definiert wurde, und die geändert worden sind, werden bei Befehl „Commit" von der Zugriffseinheit auf einen Resourcen-Manager gespeichert.Object instances, whose class has been defined with the property "persistent", and the changed When command is "Commit" from the access unit to a resource manager saved.

Objektinstanzen, deren Klasse mit der Eigenschaft „temporär" definiert wurde und deren Klasse in einer Methode deklariert ist, werden bei Instanzierung der entsprechenden Methode automatisch in der Speichereinheit instanziiert. Bei Beenden der Methode werden diese bei der nächsten Ausgabe auf ein Endgerät aus der Speichereinheit gelöscht.Object instances, whose class has been defined with the property "temporary" and whose class in A method is declared when instantiating the corresponding Method automatically instantiated in the storage unit. When finished The method will use these at the next issue on a terminal from the Memory unit cleared.

Objektinstanzen, deren Klasse mit der Eigenschaft „service" definiert wurde und die in einer Methode deklariert ist, werden bei Instanzierung der entsprechenden Methode automatisch in der Speichereinheit instanziiert. Bei Beenden des fachlichen Services werden diese aus der Speichereinheit gelöscht. Objektinstanzen mit dieser Eigenschaft bleiben über mehrere Dialogschritte in der Speichereinheit erhalten. Dadurch können Informationen zwischen Bildschirmdialog-Schritten in Methoden gehalten werden.Object instances, whose class has been defined with the service property and declared in a method is instantiating the corresponding method automatically instantiated in the storage unit. Upon termination of the professional Services are deleted from the storage unit. object instances stay with this property over received several dialog steps in the memory unit. Thereby can Information held between screen dialog steps in methods become.

Objektinstanzen, deren Klasse mit der Eigenschaft „global" definiert wurde, werden beim Eröffnen einer Anwendung von der Speichereinheit instanziiert und sind je Anwendung nur mit einer Objektinstanz vorhanden.Object instances, whose class has been defined with the property "global", will be opened when opening a Application instantiated by the storage unit and are per application only available with one object instance.

Objektinstanzen, deren Klasse mit der Eigenschaft „offset" definiert wurde, besitzen intern einen anderen Adressierungsmechanismus zwischen Objekt-Code und Container-Inhalt. Aus Performance-Gründen wird die Adressierung nicht über Indizes vorgenommen, sondern über feste Offsetadressen. Der Element-Descriptor bildet dabei einen festen Offset-Wert. Die eigentliche physische Lage des Datenelementes im Container wird durch diesen Offset-Wert bestimmt.Object instances, whose class has been defined with the property "offset" internally have one another addressing mechanism between object code and container content. For performance reasons will the addressing is not over Indexes made but over fixed offset addresses. The element descriptor forms a fixed offset value. The actual physical location of the data element in the container is determined by this offset value.

Klassen der AblaufumgebungClasses of the runtime environment

SYS-SYSSYS-SYS

Objektinstanzen dieser Klasse definieren Initialisierungseinstellungen der Ablaufumgebung. Sie bilden eine Ausnahme, da sie nicht in einen Container der Speichereinheit geladen werden. Hierüber kann u.a.

  • • der Befehlssatz erweitert werden
  • • Speicherbereiche vorallokiert werden
  • • Anzahl Threads instantiiert werden
Object instances of this class define runtime environment initialization settings. They are an exception because they are not loaded into a container of the storage device. This can, inter alia
  • • the instruction set can be extended
  • • Memory areas are pre-allocated
  • • Number of threads to be instantiated

SYS-UOWSYS-UOW

Objektinstanzen dieser Klasse enthalten Informationen von aktuell laufenden „Unit of Work" Vorgängen und deren Status in der commit-Phase. Für jede aktive Anwendung wird in der Speichereinheit eine Objektinstanz dieses Typs bereit gehalten. Wird die Steueranweisung „commit" von einer Methode der Verarbeitungseinheit aufgerufen, wird in Abhängigkeit eines UOW-Service-Levels der UOW-Prozess protokolliert und in bestimmten Fällen steuernd eingegriffen, z.B. wird ein Backout durchgeführt, falls ein Fehler beim Fortschreiben einer Objektinstanz auftritt. Die Eingriffsmöglichkeiten werden für jedes Subsystem, auf welches Objektinstanzen zu speichern oder zu übergeben sind, definiert. Dafür werden für jedes Subsystem die entsprechenden Kommunikationscharakteristiken definiert.object instances This class contains information from currently running "Unit of Work "operations and their status in the commit phase. For every active application is an object instance of this type is kept in the memory unit. Will the control statement "commit" from a method The processing unit is called, depending on a UOW service level the UOW process is logged and, in certain cases, controlled intervened, e.g. a backout is performed if there is an error in the Updating an object instance occurs. The intervention options be for each subsystem to which object instances to store or transfer are defined. Therefore be for each subsystem has the appropriate communication characteristics Are defined.

SYS-GPOSYS-GPO

Objektinstanzen dieser Klasse enthalten Informationen über aktuell laufende und abgeschlossene Geschäftsprozesse, wobei jeder Geschäftsprozess über eine eindeutige GPO-ID gekennzeichnet wird. Der Status eines Geschäftprozesses wird durch eine Objektinstanz mit einer eindeutigen GPO-ID identifiziert. Ein Geschäftsprozess ist eine Folge von fachlichen Servicen, die jeweils ein bestimmtes fachliches Ergebnis erzielen und jeweils einen nachfolgenden fachlichen Service anstossen. Ein fachlicher Service, der ein bestimmtes fachliches Ergebnis erzielt, z.B. einen Vertragsabschluss, wird durch die Steueranweisung „commit" abgeschlossen und persistent gehalten. Der veränderte Status dieses Geschäftsprozesses wird durch den commit ebenfalls gespeichert, indem der Containerinhalt, welcher den Status des Geschäftsprozesses festhält, in der gleichen Transaktion von der Zugriffseinheit mit auf deren Resourcen-Manager gespeichert wird. Aufgrund dieser Statusänderung eines Geschäftsprozesses kann ein weiterer fachlicher Service, abhängig von den Bedingungen, gestartet bzw. freigegeben werden.object instances This class contains information about current and completed information Business processes, where every business process has one unique GPO ID is marked. The status of a business process is determined by a Object instance identified with a unique GPO ID. A business process is a sequence of professional services, each one specific achieve professional results and in each case a subsequent professional Initiate service. A professional service that is a specific professional Result, e.g. A contract is concluded by the control statement "commit" and persisted. The changed one Status of this business process is also stored by the commit by the container contents, which the status of the business process holds, in the same transaction from the access unit to theirs Resource Manager is saved. Due to this status change a business process Another professional service can be started depending on the conditions or released.

SYS-LNKSYS-LNK

Objektinstanzen dieser Klasse enthalten Informationen bzgl. Aggregations- und Assoziationsbeziehungen zwischen Instanzen frei definierbar fachlich orientierter ANW-CLS Klassen. Hierfür wird für jede Objektinstanz einer Klasse, die eine Aggregations- bzw. Assoziationsbeziehung zu einer oder mehreren Objektinstanzen anderer Klassen besitzt, eine Objektinstanz der Klasse SYS-LNK, einschliesslich Verweise durch die Objekt-ID zu den anderen Objektinstanzen, auf einem Resource-Manager gespeichert. Bei Instanziierung einer Objektinstanz, welche Beziehungen zu anderen Objektinstanzen besitzt, wird die entsprechende Objektinstanz (SYS-LNK) mit in die Speichereinheit geladen. Die Objektinstanz der Klasse SYS-LNK besitzt die gleiche Objekt-ID wie die Objektinstanz, für die diese referentielle Beziehung festgehalten wird. Der Befehl „setLink", mit der eine Beziehung zwischen zwei Objektinstanzen aufgebaut werden kann, bewirkt, dass ein Eintrag über Befehls- und Speichereinheit in der entsprechenden Objektinstanz von SYS-LNK vorgenommen wird.Object instances of this class contain information regarding aggregation and association relationships between instances of freely definable, technically oriented ANW-CLS classes. For this purpose, for each object instance of a class that has an aggregation or association relationship to one or more object instances of other classes, an object instance of class SYS-LNK, including references by the object ID to the other object instances, is stored on a resource manager , When instantiating an object instance that has relationships with other object instances, the corresponding object instance (SYS-LNK) is also loaded into the memory unit. The object instance of class SYS-LNK has the same object ID, such as the object instance for which this referential relationship is being held. The command "setLink", with which a relationship between two object instances can be established, causes an entry to be made via command and memory unit in the corresponding object instance of SYS-LNK.

Beispiel:

Figure 00190001
Example:
Figure 00190001

ANW-MAINANW-MAIN

Objektinstanzen dieser Klasse definieren eine neue Anwendung bzw. ein fachliches Projekt. Eine Objektinstanz dieser Klasse besitzt Referenzen auf die in dieser Anwendung enthaltenen Objekte, diese sind Objektinstanzen der folgenden Klassen: • ANW-MAIN Methoden der Super-Anwendung können geerbt werden • ANW-CLS enthaltene Klassen • ANW-SRV enthaltene Service • ANW-AKV Akkumulierer/Verteiler-Objektinstanzen • ANW-MEN enthaltene Menüs Object instances of this class define a new application or a technical project. An object instance of this class has references to the objects contained in this application, which are object instances of the following classes: • ANW-MAIN Methods of super application can be inherited • ANW-CLS included classes • ANW-SRV included service • ANW-AKV Accumulate device / distributor object instances • ANW-MEN included menus

ANW-CLS KlassenANW-CLS classes

Instanzen dieser Klassen beschreiben Dinge, Begriffe, Konstrukte der realen oder theoretischen Welt in ihrem Verhalten (Methoden) und Status (Attribute). Die hier definierten Methoden haben Zugriff auf die in der Klasse definierten Attribute. In diesen Objektinstanzen wird auch das Vererbungsmodell bzgl. Spezialisierung, Aggregation und Assoziation zu andern Klassen (ANW-CLS) beschrieben. Die Objektinstanz dieser Klassen besitzt Referenzen auf Objektinstanzen der folgenden Klassen • ANW-CLS geerbte/aggregierte/assoziierte Klassen • ANW-MET enthaltene Methoden Instances of these classes describe things, concepts, constructs of the real or theoretical world in their behavior (methods) and status (attributes). The methods defined here have access to the attributes defined in the class. These object instances also describe the inheritance model with regard to specialization, aggregation and association with other classes (ANW-CLS). The object instance of these classes has references to object instances of the following classes • ANW-CLS inherited / aggregated / associated classes • ANW-MET included methods

Es zeigt 2 KlassendefinitionIt shows 2 class definition

Bei der Entwicklung einer Methode wird diese dargestellte Klassendefinition im Deklarationsteil der Methode bekannt gegeben. Die Operanden der Befehle adressieren die Attributnamen wie z.B. „p-nr". Der Compiler baut aus diesen Adressierungsinformationen einen Objektcode auf, der als Operanden die Element-Descriptoren der entsprechenden Attribute verwendet.When developing a method, this illustrated class definition is announced in the declaration part of the method. The operands of the instructions address the attribute names such as "p-nr" The compiler uses this addressing information to construct an object code that uses the element descriptors of the corresponding attributes as operands.

Beim Einlesen/Speichern einer Objektinstanz von/auf einem Resourcen-Manager werden in der Zugriffseinheit Transformationen durchgeführt. Die Transformationsroutine verwendet die Definitionen Offset, Länge und Format aus der Klassendefinition für die Umwandlung.At the Read / save an object instance from / on a resource manager transformations are performed in the access unit. The Transformation routine uses the definitions Offset, Length, and Format from the class definition for the transformation.

Objektinstanzen dieser Klassen können die Eigenschaften

  • a) persistent
  • b) temporär, context, service
besitzen.Object instances of these classes can have the properties
  • a) persistent
  • b) temporary, context, service
have.

Objektinstanzen mit Eigenschaft „persistent" bilden die eigentlichen fachlich bezogenen Klassen, die reale Dinge oder Dinge der Begriffswelt beschreiben. Sie besitzen Methoden, mit denen die Objektinstanzen dieser Klassen manipuliert oder gelesen werden können. Bei einem Commit-Prozess werden modifizierte Objektinstanzen auf einem Resourcen-Manager gespeichert (persistent).object instances with property "persistent" form the actual Subjectively related classes, the real things or things of the conceptual world describe. You have methods that allow the object instances of this Classes can be manipulated or read. In a commit process become modified object instances on a resource manager saved (persistent).

Instanzen mit der Eigenschaft temporär, context oder service bilden Hilfsklassen und bestehen in der Regel nur aus Datendefinitionen, die zur Zeit des Aufrufs einer Methode einer Klasse in der Speichereinheit initialisiert werden. Sie stellen einer Methode Datenelemente zur Verfügung, in denen Ergebnisse zwischengespeichert werden können bzw. aus denen Initialisierungs-Werte (bei context) ausgelesen werden können.instances with the property temporary, context or service form helper classes and usually exist only from data definitions at the time of calling a method of a class in the memory unit. they provide There are data items in a method where results are cached can be or from which initialization values (context) are read out can.

Objektinstanzen dieser Klasse stellen Meta-Daten dar und beschreiben frei definierbare, fachliche Klassen in ihren einzelnen Elementen, Namen und Formaten.object instances This class represents meta-data and describes freely definable, professional classes in their individual elements, names and formats.

ANW-MET MethodenANW-MET methods

Objektinstanzen dieser Klasse bilden die Methoden mit den in ihnen enthaltenen Befehlen. Die Objektinstanzen dieser Klassen besitzen Referenzen auf die Objektinstanzen der folgenden Klassen: • ANW-CLS zugehörige fachliche Klasse • CON-CTL gehört zu einem bestimmten Context Object instances of this class form the methods with the commands contained in them. The object instances of these classes have references to the object instances of the following classes: • ANW-CLS associated professional class • CON-CTL belongs to a specific context

ANW-MENANW-MEN

Objektinstanzen dieser Klasse definieren Menüs für Anwendungen. Sie enthalten Informationen und Verweise auf TXT- und SVG-Objektinstanzen, die wiederum Formatieranweisungen bzgl. Text und Graphiken für die Ausgabe auf Browser oder Ausgabe-Endgerät beinhalten. Die Objektinstanz dieser Klasse besitzt eine Referenz auf die Objektinstanz der folgenden Klasse: • CON-CTL gehört zu einem bestimmten Context Object instances of this class define menus for applications. They contain information and references to TXT and SVG object instances, which in turn contain text and graphics formatting instructions for output to the browser or output terminal. The object instance of this class has a reference to the object instance of the following class: • CON-CTL belongs to a specific context

ANW-SRVANW-SRV

Objektinstanzen dieser Klasse definieren fachliche Services. Ein Service ist eine Folge von einzelnen Dialogschritten mit einem Browser oder Endgerät und führt zu einem fachlichen Ergebnis mit einer Statusänderung auf einem Resourcen-Manager. Die einzelnen Dialogschritte werden über eindeutige Events definiert:object instances This class defines professional services. A service is one Sequence of individual dialog steps with a browser or terminal and leads to a professional result with a status change on a resource manager. The individual dialog steps are defined by unique events:

Ein eindeutiges Event setzt sich zusammen aus

  • a) einer Formatbeschreibung der Ausgabe (Objektinstanz von Klasse ANW-FRM)
  • b) einer Aktion (z.B. Doppelklick) vom Benutzer
  • c) Button-ID auf der die Aktion ausgelöst wurde
A unique event is made up of together
  • a) a format description of the output (object instance of class ANW-FRM)
  • b) an action (eg double-click) by the user
  • c) Button ID on which the action was triggered

Die Präsentationseinheit baut auf Grund dieser drei Eventmerkmale eine eindeutige Event-ID auf und übergibt diese der Steuereinheit.The presentation unit builds a unique Event ID based on these three event characteristics up and over this the control unit.

Event-ID => Aufruf einer Methode einer bestimmten KlasseEvent ID => Call a method a certain class

Definition eines Services erfolgt in einer Objektinstanz der Klasse ANW-SRV. Hierfür wird für jeden möglichen Dialogschritt eines Services ein Eintrag über Event-ID und Methode einer Klasse vorgenommen.definition of a service takes place in an object instance of class ANW-SRV. Therefor is for any Dialog step of a service an entry about event ID and method of a Class made.

Die Objektinstanz dieser Klasse besitzt eine Referenz auf die Objektinstanz der folgenden Klasse: • CON-CTL gehört zu einem bestimmten Context The object instance of this class has a reference to the object instance of the following class: • CON-CTL belongs to a specific context

IN-FRMIN-FRM

Die Instanz der Klasse IN-FRM ist eine globale Objektinstanz. Sie wird beim Eröffnen der Anwendung von der Ablaufumgebung instanziiert und ist je Anwendung einmal vorhanden. Die Dateninstanz dieser Klasse enthält die von einem Browser oder Endgerät eingegangenen Datenelemente. Die fest definierte System-Eingabedestination SYSIN ist standardmässig der globalen Instanz von IN-FRM zugewiesen. Diese Objektinstanz wird bei Ankommen einer neuen Browser-Nachricht von der Präsentationseinheit gefüllt. Über den Befehl „getIn„ innerhalb einer fachlichen Methode der Verarbeitungseinheit kann die Methode gezielt Datenelemente abholen und anderen Objektinstanzen anderer Klassen zuweisen. Die von der Präsentationseinheit transferierte Eingabenachricht kann unterschiedliche Datenelemente enthalten, zu jedem Datenelement werden innerhalb von IN-FRM die Werte
Class-ID
Element-Descriptor
Dateninhalt
gespeichert. In der Zuweisung durch den Befehl „getIn" auf eine Objektinstanz einer bestimmten Klasse werden aufgrund von Class-ID und Element-Descriptor nur die Dateninhalte auf die Objektinstanz zugewiesen, die gleiche Class-ID und Element-Descriptor besitzen.
The instance of class IN-FRM is a global object instance. It is instantiated by the runtime environment when the application is opened and exists once per application. The data instance of this class contains the data elements received from a browser or terminal. The fixed system input destination SYSIN is assigned by default to the global instance of IN-FRM. This object instance is populated by the presentation unit upon arrival of a new browser message. Using the "getIn" command within a functional method of the processing unit, the method can selectively fetch data elements and assign them to other object instances of other classes. The input message transferred from the presentation unit may contain different data elements, to each data element within IN-FRM the values
Class ID
Element descriptor
data content
saved. In the assignment by the getIn command to an object instance of a particular class, the class ID and element descriptor assign only the data contents to the object instance that have the same class ID and element descriptor.

Es zeigt 3 Zuweisung durch Befehl „getIn"It shows 3 Assignment by "getIn" command

Die Zeichnung zeigt die Zuweisung von Inhalten der Objektinstanz von Klasse IN-FRM auf andere Objektinstanzen unterschiedlicher Klassen durch den Befehl „getIn" auf. Der Befehl „getIn" geht standardmässig auf die Objektinstanz von IN-FRM, als Operand enthält er eine Referenz auf eine Objektinstanz einer bestimmten Klasse. Der Befehl kann mehrmals hintereinander auf unterschiedliche Objektinstanzen abgesetzt werden, es werden immer nur die Datenelemente zugewiesen, die die gleiche Class-ID in INF-FRM und Ziel-Objektinstanz besitzen.The Drawing shows the assignment of contents of the object instance of Class IN-FRM to other object instances of different classes with the "getIn" command, the "getIn" command will default to the object instance of IN-FRM, as an operand it contains a reference to a Object instance of a specific class. The command can be repeated several times be deposited on different object instances in a row, it only the data elements that have the same class ID are assigned in INF-FRM and target object instance.

OUT-FRMOUT FRM

Die Instanz der Klasse OUT-FRM ist eine globale Objektinstanz. Sie wird beim Eröffnen der Anwendung von der Ablaufumgebung instanziiert und ist je Anwendung einmal vorhanden. Der Befehl „putOut" schreibt Informationen in diese globale Objektinstanz. Die Objektinstanz dieser Klasse bestimmt die zur Ausgabe kommenden Objektinstanzen anderer Klassen, z.B. der Klassen ANW-FRM, ANW-TXT und ANW-SVG. Der fest definierten System-Ausgabedestination SYSOUT ist standardmässig die globale Objektinstanz der Klasse OUT-FRM zugewiesen. Über SYSOUT erhält die Präsentationseinheit bei der Ausgabe auf ein Endgerät den notwendigen Verweis auf die zur Ausgabe kommenden Objektinstanzen.The Instance of class OUT-FRM is a global object instance. she will when opening The application is instantiated by the runtime environment and is per application once available. The command "putOut" writes information in this global object instance. The object instance of this class determines the output object instances of other classes, e.g. the classes ANW-FRM, ANW-TXT and ANW-SVG. The firmly defined System Output Destination SYSOUT is standard assigned the global object instance of class OUT-FRM. About SYSOUT receives the presentation unit when outputting to a terminal the necessary reference to the output object instances.

Es zeigt 4 Zuweisung durch Befehl „putOut" It shows 4 Assignment by command "putOut"

Die Zeichnung zeigt die Zuweisung von Objektinstanzen verschiedener Klassen auf OUT-FRM. Neben den eigentlichen fachlichen Daten werden auch die Formatierungsanweisungen, wie die fachlichen Daten auf einem Browser darzustellen sind, über den Befehl „putOut" mitgeteilt. Diese Formatierungsanweisungen werden über die Objektinstanz von ANW-FRM bekannt gegeben. OUT-FRM erhält durch putOut nur Verweise, es finden keine Kopiervorgänge statt. Die Präsentationseinheit greift über diese Verweise auf die eigentlichen Inhalte der Objektinstanzen zu und baut die Ausgabenachricht auf.The Drawing shows the assignment of object instances of different Classes on OUT-FRM. In addition to the actual technical data, the formatting instructions, how to display the technical data on a browser over the Command "putOut" communicated Formatting instructions are over the object instance of ANW-FRM announced. OUT-FRM gets through putOut only references, there are no copy operations. The presentation unit accesses these references to the actual contents of the object instances and build the output message.

ANW-AKVANW AKV

Objektinstanzen dieser Klasse ANW-AKV definieren Akkumulier- und Verteilungsvorgänge auf Elementebene zwischen Objektinstanzen verschiedener Klassen und Input- bzw. Output-Klassen. Spezielle Befehle (getIn, putOut) geben in ihrem Operand einen Verweis auf eine AKV-Objektinstanz und Objektinstanzen von Klassen an, auf die Akkumulier- und Verteilungsvorgänge durchgeführt werden sollen. In einer Objektinstanz einer AKV-Klasse wird für einen Verteilungsvorgang die Klasse und die Element-Descriptoren des zur Übertragung kommenden Inhalts und für die Aufnahme die Klasse und die Element-Descriptoren des zur Aufnahme kommenden Inhalts defniert. Für einen Ackumulationsvorgang wird der umgekehrte Weg definiert. Zu einer zu erstellenden Objektinstanz eines AKV-Klasse kann ein Verweis auf eine weitere Objektinstanz der ANW-VER Klasse definiert werden. Diese Objektinstanz enthält kontextbezogene Prüfvorschriften für empfangende Eingabenachrichten. Über kontextabhängige Informationen, z.B. die Rollen von Anwendern, kann eine anwenderspezifische Prüfung von Eingabenachrichten erfolgen. Diese Prüfvorschriften werden nicht programmiert, sie werden definiert.Object instances of this class ANW-AKV define element-level accumulation and distribution operations between object instances of different classes and input and output classes. Special commands (getIn, putOut) specify in their operand a reference to an AKV object instance and object instances of classes to which accumulation and distribution operations are to be performed. In an object instance of an AKV class, the class and the element descriptors of the content to be transmitted are defined for a distribution process, and the class and the element descriptors of the content to be included for recording are defined. For an Ackumulationsvorgang the opposite way is defined. For an object instance of an AKV class to be created, a reference to another object instance of the ANW-VER class can be defined. This object instance contains context-related test specifications for received input messages. Context-sensitive information, such as the roles of users, can be used to perform a user-specific check of input messages. These test specifications are not programmed, they are defined.

Es zeigt 5 Zuweisung durch Befehl „putOut"It shows 5 Assignment by command "putOut"

Objektinstanzen der Klasse AKV können den standardmässigen Zuweisungsmechanismus der Befehle „getIn" und „putOut" verändern. Ohne AKV-Objektinstanz erfolgt eine Zuweisung wenn folgende Bedingung erfüllt ist:

Figure 00240001
Object instances of the AKV class can change the default assignment mechanism of the getIn and putOut commands. Without AKV object instance, an assignment is made if the following condition is met:
Figure 00240001

Durch AKV-Objektinstanzen können die Zuweisungen verändert werden. Ein Datenelement innerhalb einer Objektinstanz, formatmässig bestimmt durch Class-ID und Element-Descriptor, kann einer anderen Objektinstanz mit anderer Class-ID bzw. Element-Descriptor zugewiesen werden.By AKV object instances can changed the assignments become. A data element within an object instance, determined by the format by class ID and element descriptor, can be another object instance with different class ID or element descriptor be assigned to.

ANW-FRMANW FRM

Objektinstanzen dieser Klasse, hier auch Formatbeschreibung genannt, enthalten Informationen und Verweise auf TXT- und SVG-Objektinstanzen, die wiederum Formatieranweisungen bzgl. Text und Graphiken für die Ausgabe auf Browser oder Ausgabe-Endgerät beinhalten. Jeder Formatbeschreibung wird ein eindeutiger Identifier zugewiesen. Dieser wird in der Steueranweisung „putOut" als Operand angegeben. Des weiteren können über diesen Identifier in Verbindung mit einer Aktion (drücken Button „OK"), die an dieser Formatbeschreibung angehängt wird, eindeutige Events definiert werden. Die Main-Ausgaberoutine der Präsentationseinheit empfängt bei einer Ausgabe den Verweis auf die Objektinstanz der ANW-FRM Klasse. Über diesen Verweis kann eine entsprechende Formatierungsroutine aufgerufen werden, diese bekommt alle Informationen, um für das Ausgabegerät einen entsprechenden Datenstrom, z.B. HTML, zu generieren. Die Objektinstanz dieser Klasse ANW-FRM besitzt Referenzen auf Objektinstanzen der folgenden Klassen: • CON-CTL gehört zu einem bestimmten Context • ANW-TXT enthält Formatierungsanweisungen für Text-Felder • ANW-SVG enthält Formatierungsanweisungen für Super Vector Graphik Objekte Object instances of this class, also called format description, contain information and references to TXT and SVG object instances, which in turn contain text and graphics formatting instructions for output to the browser or output terminal. Each format description is assigned a unique identifier. This is specified as an operand in the control statement "putOut" Furthermore, unique events can be defined using this identifier in conjunction with an action (press the "OK" button) appended to this format description. The presentation unit's main output routine receives the reference to the object instance of the ANW-FRM class on output. Via this reference, a corresponding formatting routine can be called, this gets all the information to generate a corresponding data stream, eg HTML, for the output device. The object instance of this class ANW-FRM has references to object instances of the following classes: • CON-CTL belongs to a specific context • ANW-TXT contains formatting instructions for text fields • ANW-SVG contains formatting instructions for Super Vector graphic objects

ANW-TXTANW TXT

Objektinstanzen dieser Klasse enthalten Formatierungsanweisungen bzgl. Darstellungsart und Position von Text-Inhalten auf einem Formular, das zur Ausgabe auf ein Endgerät bestimmt ist. Text-Inhalte sind die Datenelemente aus Objektinstanzen. Über die eindeutigen Class-ID und Element-Descriptoren werden Datenelemente aus Objektinstanzen den Einträgen in den Formatierungsanweisungen zugeordnet.object instances This class contains formatting instructions regarding display style and position textual content on a form that is for output on a terminal is determined. Text contents are the data elements from object instances. About the unique class ID and item descriptors become data items from object instances to the entries assigned in the formatting instructions.

ANW-SVGANW SVG

Objektinstanzen dieser Klasse enthalten Formatierungsanweisungen bzgl. Darstellung und Position von SVG Objekten (Super Vector Graphic) auf einem Formular, das zur Ausgabe auf ein Endgerät bestimmt ist. SVG-Objekte sind in Datenelementen von Objektinstanzen einer Graphik-Objekte beinhaltenden Klasse enthalten. Über die eindeutigen Element-Descriptoren werden Datenelemente aus Objektinstanzen den Einträgen in den Formatierungsanweisungen zugeordnet.object instances This class contains formatting instructions regarding presentation and Positioning SVG Objects (Super Vector Graphic) on a Form that for output to a terminal is determined. SVG objects are in data elements of object instances containing a graphic objects-containing class. About the unique element descriptors Data items from object instances become the entries in the Associated with formatting instructions.

ANW-VERANW VER

Objektinstanzen dieser Klasse enthalten Prüfvorschriften für Eingaben von Endgeräten (Browser, Handy) oder externen Aufrufern. Die Objektinstanz dieser Klasse besitzt eine Referenz auf die Objektinstanzen der folgenden Klasse: • CON-CTL gehört zu einem bestimmten Context Object instances of this class contain test specifications for input from terminals (browser, mobile phone) or external callers. The object instance of this class has a reference to the object instances of the following class: • CON-CTL belongs to a specific context

CON-CTLCON-CTL

Objektinstanzen dieser Klasse enthalten Informationen über das Kontext-Konzept einer Anwendung. Je definierter Anwendung in ANW-MAIN kann eine Kontextunterstützung eingestellt werden. Der Kontext wird bestimmt durch die Kontextgruppen Device, Sprache und Rolle. Ein Anwender, der sich an einer Anwendung anmeldet, wird der Kontext, unter dem er arbeitet, für

  • a) device => vorgegeben
  • b) Sprache => in seiner Anwender-Definition eingestellt
  • c) Rolle => in seiner Anwender-Definition eingestellt
fest zugeordnet.Object instances of this class contain information about the contextual concept of an application. For each defined application in ANW-MAIN context support can be set. The context is determined by the context groups Device, Language and Role. A user who logs on to an application becomes the context under which he works
  • a) device => specified
  • b) Language => set in its user definition
  • c) Role => set in its user definition
permanently assigned.

Aufrufe von Objektinstanzen bestimmter Klassen des Anwendungssystems sind für die Ablaufumgebung logische Aufrufe, dies gilt für a) ANW-MET Methode einer Klasse b) ANW-SRV fachlicher Service c) ANW-FRM Formatbeschreibung einer Ausgabe d) ANW-MEN Menü einer Anwendung e) ANW-CLS vom Typ context Initialisierungsdaten in Datenobjekt f) ANW-VER Prüfvorschriften (Verify) für Eingaben vom Browser oder externen Aufrufern Calls to object instances of certain classes of the application system are logical calls for the runtime environment, this applies to a) ANW-MET Method of a class b) ANW-SRV professional service c) ANW-FRM Format description of an output d) ANW-MEN Menu of an application e) ANW-CLS of type context Initialization data in data object f) ANW-VER Verify for input from the browser or external callers

Während der Entwicklung der Objekte des Anwendungssystems werden die einzelnen Objekte dieser aufgeführten Klassen einem bestimmten Kontext zugeordnet bzw. dem „Main-Common", wenn dieses Objekt für alle Kontext-Einstellungen gültig ist.During the Development of the objects of the application system become the individual Objects of this listed Classes assigned to a specific context or the "main-common" if this object is used for all context settings valid is.

Intern wird von der Ablaufumgebung der logische Aufruf in einen realen Aufruf umgesetzt. Die Ablaufumgebung kennt den Kontext, unter der ein Anwender läuft. Sie kennt ebenfalls die Kontext-Definition dieser Anwendung. Die Kontext-Definitionen stellen einen Suchpfad für das Auffinden des realen Objektes dar. Wird in einer Stufe kein Eintrag eines realen Objektes gefunden, wird in der nächsthöheren Stufe nachgeschaut.internally is the logical environment of the runtime environment in a real Call implemented. The runtime environment knows the context under which a user is running. It also knows the context definition of this application. The Context definitions provide a search path for finding the real one Object dar. Is in a level no entry of a real object found, will be in the next higher level checked.

Es zeigt 6 Kontext-DefinitonIt shows 6 Context-definiton

Beispiel:Example:

Kontext-Eintellung eines Anwender Device: Browser Sprache: Deutsch Rolle: Gast Context setting of a user Device: browser Language: German Role: guest

Suchpfad: 1. Browser/Deutsch/Gast 2. Browser/Deutsch/Common 3. Browser/Common/Gast 4. Browser/common/common 5. Common/Deutsch/Gast 6. Common/Deutsch/Common 7. Common/Common/Gast 8. Common/Common/Common 9. Main-Common Search Path: 1. Scanners / German / Bed Second Scanners / German / Common Third Browser / Common / Bed 4th Browser / common / common 5th Common / German / Bed 6th Common / German / Common 7th Common / Common / Bed 8th. Common / Common / Common 9th Main Common

Damit die Suchpfade nicht zu lang werden, kann für jedes logische Objekt und jede Klasse einer Anwendung, z.B. für Methoden, angegeben werden, ob Kontextunterstützung erforderlich ist. Wenn nein, kann direkt nach Main-Common verzweigt werden.In order to The search paths can not be too long, for each logical object and each class of an application, e.g. for methods to be specified whether context support is required. If not, you can branch directly to Main-Common become.

Präsentationseinheitpresentation unit

Eingabeinput

Programm-Routinen der Präsentationseinheit warten auf Empfang neuer Nachrichten von einem Browser oder Endgerät. Eine Nachricht von einem Browser oder Endgerät enthält folgende Informationen:

  • a) Ereignis-Daten
  • b) Fachliche Daten aus Eingabe-Form
Program routines of the presentation unit are waiting to receive new messages from a browser or terminal. A message from a browser or device contains the following information:
  • a) event data
  • b) Technical data from input form

Nach Erhalt einer Nachricht werden folgende Schritte durchlaufen:

  • a) Aufbau einer Ereignis-ID
After receiving a message, the following steps will be performed:
  • a) Structure of an event ID

Jede von der Präsentationseinheit empfangene Nachricht ist mit einem eindeutigen Ereignis verbunden, welches bestimmt wird durch:

  • • Focus der Ausgabe-Form (ANW-FRM), über welche die Aktion ausgelöst wurde
  • • Element, auf die eine Action ausgelöst wurde, z.B. Submit-Button
  • • Aktion die ausgelöst wurde, z.B. Doppelklick
Each message received by the presentation unit is associated with a unique event determined by:
  • • Focus of the output form (ANW-FRM) over which the action was triggered
  • • Element to which an action was triggered, eg Submit button
  • • Action that was triggered, eg double-click

Alle zusammen ermöglichen es eine eindeutige Ereignis-ID aufzubauen:

  • • eindeutige Objekt-ID der Objektinstanz der Klasse ANW-FRM,
  • • einer Objekt-ID auf die eine Action vollzogen worden ist (z.B. SVG-Objekt Submit-Button)
  • • und der Action-ID auf Grund eines bestimmten Mouse-Click Verhaltens am Browser.
Objekt-ID (ANW-FRM) + Objekt-ID (SVG-Objekt) + Action-ID => Ereignis – ID
  • b) Transferieren der fachlichen Daten von System-Destination SYSIN zu der standardmässig zugeordneten globalen Objektinstanz IN-FRM. Die vom Browser oder Endgerät empfangenen fachlichen Daten enthalten je Informationseinheit einen Bezeichner und den eigentlichen Wert. Der Bezeichner setzt sich zusammen aus:
Class-ID + Element-Descriptor All together allow to build a unique event ID:
  • • unique object ID of the object instance of class ANW-FRM,
  • • an object ID to which an action has been executed (eg SVG object submit button)
  • • and the Action ID due to a specific mouse-click behavior on the browser.
Object ID (ANW-FRM) + Object ID (SVG Object) + Action ID => Event ID
  • b) Transfer of the technical data from system destination SYSIN to the globally assigned global object instance IN-FRM. The technical data received by the browser or terminal contain an identifier and the actual value for each information unit. The identifier consists of:
Class ID + element descriptor

Die empfangenen Daten können von Objektinstanzen unterschiedlicher Klassen sein, entsprechend müssen die Class-ID's in IN-FRM mitgeführt werden.The received data can of object instances of different classes, the Class ID's in IN-FRM carried become.

Es zeigt 7 Definitionen in IN-FRMIt shows 7 Definitions in IN-FRM

Ausgabeoutput

Die Präsentationseinheit baut eine Nachricht für einen Browser oder ein Endgerät auf. Über die feste System-Destination SYSOUT, der die globale Objektinstanz von OUT-FRM standardmässig zugeordnet ist, kann über die Objektinstanz von ANW-FRM die beiden Output-Arten ANW-TXT oder ANW-SVG die zugeordnete Ausgaberoutine ermittelt und aufgerufen werden. Diese generiert eine Nachricht für den Browser oder Endgerät.The presentation unit build a message for a browser or a terminal on. about the fixed system destination SYSOUT, which is the global object instance from OUT-FRM by default can be assigned over the object instance of ANW-FRM the two output types ANW-TXT or ANW-SVG determines and calls the assigned output routine become. This generates a message for the browser or terminal.

Es zeigt 8 Ausgaben auf SYSOUTIt shows 8th Outputs on SYSOUT

Über die fest definierte Destination SYSOUT werden Ausgaben auf Browser durchgeführt. Die Objektinstanz OUT-FRM ist SYSOUT standardmässig zugewiesen. Die aufzurufende Formatierungsroutine ist abhängig von der OUT-FRM zugewiesenen Objektinstanz, ob TXT-Ausgabe oder SVG-Ausgabe erfolgen soll.About the fixed destination SYSOUT, outputs are executed on browser. The Object instance OUT-FRM is assigned by default to SYSOUT. The one to call Formatting routine is dependent object instance assigned by the OUT-FRM, whether TXT output or SVG edition.

Es zeigt 9 Umsetzung von Formatierung/Objektinstanz/in HTMLIt shows 9 Implementation of formatting / object instance / in HTML

Die Identifizierung eines jeden Input-Feldes, das seinen Ursprung in einer bestimmten Klasse hat, wird über die Class-ID (Beispiel: 123) und den Element-Descriptor (Beispiel: 456) des Datenelementes erreicht. Entsprechend muss der HTML-Feldname (Beispiel: C 123.E456) bei Ausgabe eines Datenelementes auf den Bildschirm, mit anschliessender Eingabe durch den Anwender, aus der Class-ID und Element-Descriptor aufgebaut werden. Dieser aufgebaute Feldname wird bei Ausgabe auf einen Browser in den HTML-Datenstrom mit eingebaut. Bei anschliessender Eingabe in solch ein Feld wird der aufgebaute Feldname bei einer Eingabenachricht mitgegeben, hierdurch kann beim Einlesen der Nachricht durch Befehl „getIn" der Bezug auf eine Objektinstanz der entsprechenden Klasse und des Datenelementes über Element-Descriptor hergestellt werden.The identification of each input field originating in a particular class is accomplished through the Class ID (Example: 123) and the Element Descriptor (Example: 456) of the Data Element. Correspondingly, the HTML field name (example: C 123.E456) must be constructed from the class ID and element descriptor when a data element is output to the screen, with subsequent input by the user. This built-up field name becomes output to a browser in the HTML data stream with built-in. Upon subsequent entry in such a field, the built-up field name is given in an input message, thereby the reference to an object instance of the corresponding class and the data element can be established via element descriptor when reading the message by the command "getIn".

Prüfeinheittest unit

Die Prüfeinheit wird an zwei verschiedenen Stellen wirksam.

  • a) Vor Ort direkt am Browser, hierfür werden die Prüfvorschriften von der Präsentationseinheit bei der Ausgabe direkt mit übertragen. Integrierte Script-Prozeduren in der HTML-Ausgabe, die auf Eingabefelder eingestellt sind, verwenden diese Prüfvorschriften
  • b) Beim Einlesen des ANW-IN Container durch den Befehl „getIn". Hier kann die Prüfvorschrift in Form einer Objektinstanz der Klasse ANW-VER bei einer Objektinstanz der Klasse ANW-AKV bzw. direkt beim Befehl „getIn" angegeben werden.
The test unit becomes effective at two different locations.
  • a) On site directly at the browser, for this purpose the test instructions are transmitted directly from the presentation unit during the output. Integrated Script procedures in the HTML output that are set to input fields use these test specifications
  • b) When the ANW-IN container is read in by the "getIn" command Here, the test specification can be specified in the form of an object instance of class ANW-VER for an object instance of class ANW-AKV or directly for the command "getIn".

Steuereinheitcontrol unit

Da mehrere Anwendungen aktiv sein können, muss vor Aufruf der Steuereinheit von der Präsentationseinheit eine Zuordnung getroffen werden, welche Eingabe am Browser welcher aktiven Anwendung zuzuordnen ist. Dies geschieht über eine interne Anwendungs-ID, die für eine geöffnete Anwendung von der Ablaufumgebung vergeben wird.There several applications can be active, must have an association before calling the control unit from the presentation unit which input is made at the browser of which active application is to be assigned. This happens over An internal application ID for an open application of the runtime environment is awarded.

Es zeigt Bild 10 Umsetzung von Ereignis in Methoden-AufrufIt shows picture 10 conversion of event into method call

In Bild 10 wird der Ablauf dargestellt, welche Schritte in der Steuereinheit vollzogen werden. Nach Auswahl eines im Menübild angezeigten Services laufen alle Dialogschritte unter diesem Service. Die Steuereinheit wird nach Empfang einer neuen Nachricht durch die Präsentationseinheit aufgerufen. Ihr wird die Ereignis-ID von der Präsentationseinheit mitgegeben. Unter dem ablaufenden Kontext dieser Anwendung, definiert durch eine Objektinstanz der Klasse CON-CTL, wird für den logischen, aufgerufenen Service in der Datei CON-CTL eine Objektinstanz eines realen Service-Eintrages gesucht. Ein hier gefundener realer Service wird als Objektinstanz aus der Datei ANW-SRV geladen. Aus dieser gefundenen Objektinstanz wird anschliessend über die Ereignis-ID die aufzurufende Methode ermittelt.In Figure 10 shows the process which steps in the control unit be done. After selecting a service displayed in the menu screen all dialog steps under this service. The control unit will after receiving a new message called by the presentation unit. She is given the event ID by the presentation unit. Under the expiring context of this application, defined by An object instance of class CON-CTL is called for the logical, called Service in the file CON-CTL an object instance of a real service entry searched. A real service found here becomes an object instance loaded from the file ANW-SRV. From this found object instance will then be over the event ID identifies the method to invoke.

Zugriffseinheitaccess unit

Die Zugriffseinheit steuert die Aktivitäten bzgl. Einlesen/Speichern von Container-Inhalten von/auf Resourcen-Manager und externe Systeme. Sie wartet auf einen Anstoss aus der Speichereinheit.The Access unit controls the activities regarding read / save container content from / to resource manager and external systems. She is waiting for an impulse from the storage unit.

Bei einem Speichervorgang wird ihr eine Liste von Container-ID's mitgeteilt, die an das aussenstehende System zu übergeben sind. Die Main-Zugriffsroutine übernimmt die selbstständige Kontrolle aller hierfür laufenden Aktivitäten, diese sind:

  • • Lesen der Containerinhalte
  • • Transformation der Container-Inhalte auf das Zielsystem. Hierfür werden Mapping-Informationen für die zu speichernde Klasse aus der sie beschreibenden Objektinstanz der ANW-CLS Klasse gelesen. Hierüber wird auch eine Zuordnung der Element-Descriptoren auf das transformierte Zielformat getroffen.
  • • Aufbau des Zugriffsbefehls für das Zielsystem
  • • Ansteuerung des Zielsystems über den Transport-Controller
  • • Warten auf Response des Zielsystems
  • • Rückgabe Response an Speichereinheit
During a save process, she is given a list of container IDs to be submitted to the external system. The main access routine takes over the independent control of all activities, which are:
  • • Reading the container contents
  • • Transformation of container contents to the target system. For this purpose, mapping information for the class to be saved is read from the object instance of the ANW-CLS class that describes it. This also makes an assignment of the element descriptors to the transformed target format.
  • • Structure of the access command for the target system
  • • Control of the target system via the transport controller
  • • Waiting for response of the target system
  • • Return response to storage unit

Bei einem Lesevorgang wird der Zugriffseinheit neben dem aufzunehmenden Container der Zugriffsbefehl mitgeteilt, der an das aussenstehende System zu übergeben ist. Die Main-Zugriffsroutine übernimmt die selbstständige Kontrolle aller hierfür laufenden Aktivitäten, diese sind:

  • • Ansteuern des Zielsystems über den Transport-Controller
  • • Warten auf das Ergebnis der Lese-Operation
  • • Transformation der gelesenen Daten. Hierfür werden Mapping-Informationen von der gelesenen Objektinstanz aus der sie beschreibenden Objektinstanz der ANW-CLS Klasse gelesen. Hierüber wird auch eine Zuordnung der gelesenen Satzstruktur auf die Element-Descriptoren getroffen.
  • • Einspeichern transformierter Daten in den Container
  • • Rückgabe Response an Speichereinheit
During a read operation, the access unit is notified of the access command which is to be transferred to the external system in addition to the container to be recorded. The main access routine takes over the independent control of all activities, which are:
  • • Activation of the target system via the transport controller
  • • Wait for the result of the read operation
  • • Transformation of the read data. For this purpose, mapping information from the read object instance is read from the object instance of the ANW-CLS class describing it. This is also an assignment of the read sentence structure to the element descriptors made.
  • • Storing transformed data into the container
  • • Return response to storage unit

Es zeigt Bild 11 Aufbau der ZugriffseinheitIt Figure 11 shows the structure of the access unit

Beim Aufruf der Zugriffseinheit erhält die Main-Zugriffsroutine Kontrolle, diese steuert aufgrund von Initialisierungsparametern die Aktivitäten für den Zugriff auf einen Resourcen-Manager über

  • a) Transformationsroutine
  • b) eine Routine für den Befehlsaufbau an den Resourcen-Manager
  • c) Transport-Controller, der die einzelnen Zugriffsschritte durchführt
When the access unit is called, the main access routine receives control, which, based on initialization parameters, overrides the activities for accessing a resource manager
  • a) Transformation routine
  • b) a command build routine to the resource manager
  • c) transport controller, which performs the individual access steps

Die aufzurufende Transformations-Routine wird nach der zu lesenden bzw. abzuspeichernden Klasse bestimmt. Die Main-Zugriffsroutine erhält die Information, welche Transformations-Routine zu laden ist aus Initialisierungsdaten der SYS-SYS-Datei. Die jeweilige Transformations-Routine kann für das Subsystem, das sie unterstützt den Aufbau der zu lesenden bzw. zu schreibenden Datenstrukturen aus einer Objektinstanz der ANW-CLS Klasse ermitteln und entsprechende Transformationen durchführen. Die Routine für den Befehlsaufbau kann spezielle Anpassungen an einen Resourcen-Manager durchführen. Der Transport-Controller übernimmt die Ansteuerung des externen SystemsThe The transformation routine to be called is to be read or class to be stored. The main access routine receives the information which transformation routine to load is from initialization data the SYS-SYS file. The respective transformation routine can be used for the subsystem, that supports her the structure of the data structures to be read or written determine from an object instance of the ANW-CLS class and corresponding Perform transformations. The routine for The command setup can make special adjustments to a resource manager carry out. The transport controller takes over the control of the external system

Speichereinheitstorage unit

Die Speichereinheit speichert alle Objektinstanzen verschiedenster Klassen in Containern. Die Container liegen in einem virtuellen Speicher. Jede in einem Container vorhandene Objektinstanz wird in der Speichereinheit nur einmal gehalten, auch wenn verschiedene Tasks dieselbe Objektinstanz adressieren. Innerhalb der Speichereinheit wird jeder Container durch eine Container-ID adressiert. Die Inhalte der in Containern liegenden Objektinstanzen, also die Datenelemente, werden durch den Element-Descriptor adressiert. Bei Array-Datenelementen kommen noch die Index-Angaben hinzu. Container besitzen eine feste Basis-Länge bzw. ein vielfaches davon. Intern verwaltet die Speichereinheit eine Adress-Tabelle für Container. Die Container-ID, die in den Methoden als Objekt-Handle auftritt, entspricht dem Index in der Adress-Tabelle.The Storage unit stores all object instances of different classes in containers. The containers are in a virtual memory. Each object instance present in a container is stored in the storage unit held only once, even if different tasks have the same object instance address. Within the storage unit is every container addressed by a container ID. The contents of in containers lying object instances, so the data elements are through addressed the element descriptor. For array data elements, the index information is still available added. Containers have a fixed base length or a multiple of it. Internally manages the storage unit an address table for Container. The container ID used in the methods as an object handle occurs, corresponds to the index in the address table.

Es zeigt Bild 12 konkurrierender, lesender Zugriff auf eine Objektinstanz It Figure 12 shows concurrent, read access to an object instance

Die Speichereinheit wird von anderen Funktionseinheiten für bestimmte Dienste aufgerufen. Diese Dienste sind als Systemroutinen implementiert. Folgende Dienste sind vorgesehen:

  • • Erstellen Container
  • • Löschen Container
  • • Kopieren Container
  • • Auslesen Objektinstanz des Container
  • • Einspielen Objektinstanz in Container
  • • Lesen Datenelement
  • • Modifizieren Datenelement
  • • Löschen Datenelement
  • • Insert Datenelement
  • • Einlesen Objekt-Liste
  • • Commit
  • • Update einer einzelnen Objektinstanz auf einem Resourcen-Manager
The storage unit is called by other functional units for particular services. These services are implemented as system routines. The following services are provided:
  • • Create container
  • • Delete container
  • • Copy containers
  • • Read object instance of the container
  • • Import object instance into container
  • • Read data element
  • • Modify data element
  • • Delete data element
  • • Insert data element
  • • Read object list
  • • Commit
  • • Update a single object instance on a resource manager

ContainerContainer

Ein Container enthält zusammengehörige Informationen verschiedenster Art, hier Objektinstanz einer Klasse genannt. Container können Objektinstanzen fachlicher Klassen, z.B. Personaldaten und Objektinstanzen systemtechnischer Klassen (der Ablaufumgebung) enthalten. Die in Containern liegenden Objektinstanzen enthalten eine Anzahl von einzelnen Informationen, hier Datenelemente genannt. Die semantische und formelle Beschreibung eines Datenelementes einer entsprechenden Klasse wird Element genannt, und wird wiederum in eine Objektinstanz eines Container abgelegt. Jedes dieser Elemente einer Klasse enthält einen eindeutigen Identifier, Element-Descriptor genannt. Über den Element-Descriptor kann ein Datenelement eines bestimmten Containers eindeutig adressiert werden. Ein Container bekommt von der Speichereinheit eine eindeutige Container-ID zugewisen, in Methoden wird dieser Bezug Objekt-Handle genannt. Über die Container-ID kann der Container in der gesamten Ablaufumgebung eindeutig adressiert werden.One Container contains belong together Information of all kinds, here object instance of a class called. Containers can Object instances of professional classes, e.g. Personal data and object instances system technical classes (the runtime environment). In the Container object instances contain a number of individual ones Information, here called data elements. The semantic and formal Description of a data element of a corresponding class Called an element, and in turn becomes an object instance of a container stored. Each of these elements of a class contains a unique one Identifier, called element descriptor. About the element descriptor can uniquely address a data element of a particular container become. A container gets a unique from the storage unit In container methods, this reference is object handle called. about The container ID can be the container throughout the runtime environment be clearly addressed.

Die Datenelemente innerhalb eines Containers werden durch die Element-Descriptoren adressiert. Jedes Datenelement besitzt einen zugeordneten, eindeutigen Element-Descriptor. Der Wert dieses Element-Descriptors wird als Index für die in dem Container liegende Adress-Tabelle verwendet. Hierüber kann in der Adress-Tabelle ein Offset ermittelt werden, der das eigentliche Datenelement innerhalb des Containers adressiert. Die direkte Adressierung jedes Datenelementes in einem Container, ohne sequentielles Durchsuchen oder Aufsetzen auf ein Parent-Element, wird durch diese Technik unterstützt. Bei Arrays, die x-mal vorhanden sind, werden zusätzlich die Indexe der Dimensionen für die Adressierung verwendet.The data elements within a container are addressed by the element descriptors. Each data element has an associated, unique element descriptor. The value of this element descriptor is used as an index to the address table in the container. This can be done in the Address table, which addresses the actual data element within the container. The direct addressing of each data element in a container, without sequential searching or putting on a parent element, is supported by this technique. For arrays that exist x times, the indexes of the dimensions are also used for the addressing.

Container haben eine feste Basis-Länge bzw. ein vielfaches davon. Die Datenelemente innerhalb von Containern haben ebenfalls eine feste Basis-Länge bzw. ein vielfaches dieser Basis-Länge. Intern wird in einem Datenelement ein Längenbyte mitgeführt. Durch diesen Adressierungsmechanismus haben Grösse und Lage eines Datenelementes keinen Einfluss auf den Methoden-Code der Verarbeitungseinheit.Container have a fixed base length or a multiple of it. The data elements within containers also have a fixed base length or a multiple of these Base length. Internally, a length byte is carried in a data element. By This addressing mechanism has the size and location of a data element does not affect the processing unit method code.

Es zeigt Bild 13 Adressierungsmechanismus in ContainernIt Figure 13 shows the addressing mechanism in containers

Objekt-ID und Container-IDObject ID and Container ID

Eine auf einem Resourcen-Manager vorhandene Objektinstanz einer Klasse wird mit einer eindeutigen Objekt-ID versehen, die für die gesamte Lebenszeit einer Objektinstanz erhalten bleibt. Hierüber kann die Objektinstanz eindeutig adressiert werden. Über diese Objekt-ID werden referentielle Beziehungen zwischen Objektinstanzen (stehen in SYS-LNK) festgehalten. Wird eine Objektinstanz in einen Container der Speichereinheit geladen, wird diese Objektinstanz innerhalb von Methoden fachlicher Klassen über eine Objekt-Handle referenziert. Dieser Objekt-Handle ist gleich der Container-ID, in dem die Objektinstanz geladen ist.A an object instance of a class present on a resource manager is provided with a unique object id that is valid for the entire Lifetime of an object instance is preserved. About this can the object instance is uniquely addressed. Be about this object ID referential relationships between object instances (available in SYS-LNK) recorded. Is an object instance in a container of the storage unit loaded, this object instance becomes more specialized within methods Classes over an object handle referenced. This object handle is the same the container ID in which the object instance is loaded.

Es zeigt Bild 14 Objekt-ID und Container-IDIt Figure 14 shows object ID and container ID

Befehlseinheitcommand unit

Die Befehlseinheit interpretiert den Object-Code eines kompilierten Befehls einer fachlichen Methode.The Command unit interprets the object code of a compiled one Command of a professional method.

Objekt-Code einer MethodeObject code of a method

Während des Kompilierungsprozesses werden vom Compiler die Befehle (Source-Code) der Methode bzw. die hinterlegten XML Befehls-Elemente des „Source-Codes" interpretiert und mit Hilfe des Element-Namens (gleicher Element-Name in Source der Methode und der Element-Beschreibung der Klasse ANW-CLS) der Element-Descriptor (El-DE) ermittelt. Der Element-Descriptor kann anschliessend in den vom Compiler zu erstellenden Objekt-Code eingebaut werden.During the Compilation process are the compiler's commands (source code) the method or the stored XML command elements of the "source code" interpreted and using the element name (same element name in Source of Method and the element description of class ANW-CLS) the element descriptor (El-DE) determined. The element descriptor can then be written in the object code to be created by the compiler.

Es zeigt Bild 15 Zusammenhang Klassenbeschreibung und Objekt-CodeIt Figure 15 shows class description and object code

Je nach Operation-Code (voc) ruft die Befehlseinheit ein bestimmtes Befehlsmodul zum Bearbeiten des Befehls auf. Werden Datenelemente aus der Speichereinheit benötigt, werden Routinen der Speichereinheit aufgerufen. Diese Routinen erhalten den beteiligten Operanden (siehe obiges Beispiel => 11 003) und können anschliessend direkt auf den betroffenen Container und das Datenelement zugreifen. Dabei referenziert die Zahl 11 einen Eintrag, der wiederum auf einen Eintrag innerhalb einer Container-Tabelle verweist und die Zahl 003 identifiziert den Element-Descriptor, der auf das Datenelement innerhalb des Containers zeigt.ever after operation code (voc), the command unit calls a specific one Command module for editing the command. Become data elements needed from the storage unit, routines of the memory unit are called. Get these routines the participating operands (see example above => 11 003) and can then directly access the affected container and the data item. The number 11 refers to an entry, which in turn refers to a Entry within a container table references and the number 003 identifies the element descriptor that is on the data element inside the container.

Es zeigt Bild 16 Befehlsoperanden und Container-AdressierungIt Figure 16 shows command operands and container addressing

Befehl „createObject"CreateObject command

Der Befehl „createObject" bewirkt, dass für das Laden einer Objektinstanz einer bestimmten Klasse in der Befehlseinheit ein bestimmtes Befehls-Modul aufgerufen wird, welches wiederum die Speichereinheit aktiviert. Über Routinen der Speichereinheit wird ein Container in der Speichereinheit aufgebaut. Folgende Schritte werden dabei durchlaufen:

  • • Laden der Meta-Daten (Objektinstanz der Klasse ANW-CLS) einschliesslich abhängiger Meta-Informationen bei aggregierten bzw. spezialisierten Klassen
  • • Bereitstellen Speicher für Container in der Speichereinheit
  • • Rückgabe einer Container-ID an die verarbeitende Instanz
The createObject command causes a particular command module to invoke an object instance of a particular class in the command unit, which in turn activates the memory unit. <br/><br/> Via memory unit routines, a container is built into the memory unit :
  • • Loading the metadata (object instance of class ANW-CLS) including dependent meta-information in aggregated or specialized classes
  • • Provide storage for containers in the storage unit
  • • Returning a container ID to the processing entity

Befehl „move"Command "move"

Der Befehl „move" bewirkt, dass in der Befehlseinheit ein bestimmtes Befehls-Modul aufgerufen wird, welches wiederum die Speichereinheit aktiviert. Über Routinen der Speichereinheit wird die move-Operation durchgeführt, wobei das Datenelement aus einem Container in ein Datenelement des gleichen oder eines anderen Containers übertragen wird. Ist die Objektinstanz des Ziel-Containers eine Instanz mit der Eigenschaft „persistent", wird bei einer erstmaligen move-Operation auf diesen Ziel-Container dieser von der Speichereinheit kopiert und die Operation auf den neu erstellten Container durchgeführt.The "move" command causes a specific command module to be called in the command unit, which in turn activates the memory unit. Via routines of the memory unit, the move operation is carried out, wherein the data element is transferred from a container into a data element of the same or another container. If the object instance of the target container is an instance with the property "persistent", a first move operation to this target container copies it from the storage unit and performs the operation on the newly created container.

Befehl „call-Method"Command "call method"

Für Befehl „call-Method" ruft die Befehlseinheit ein bestimmtes Befehlsmodul für das Laden und Ausführen einer Methode auf. Folgende Schritte werden dabei durchlaufen:

  • • Aufbau einer Instanz einer internen Klasse Methode
  • • Sichern Rücksprunginformation der aufrufenden Methode
  • • Laden von Meta-Informationen (ANW-MET)
  • • Laden Objekt-Code der Methode in einen Container der Speichereinheit
  • • Laden Objektinstanzen) falls "temporäre" Klassen im Deklarationsbereich der Methode definiert sind
  • • Initialisieren der neuen Methoden-Instanz
  • • Laden des ersten Befehls in die Befehlseinheit und ausführen
For the call-method command, the command unit invokes a particular command module to load and execute a method, as follows:
  • • Building an instance of an internal class method
  • • Save return information of the calling method
  • • Loading Meta Information (ANW-MET)
  • • Load object code of the method into a container of the storage unit
  • • Load object instances) if "temporary" classes are defined in the declaration area of the method
  • • Initialize the new method instance
  • • Load the first command into the command unit and execute

Die aufrufende Methode übergibt der aufgerufenen Methode eine Container-ID, über den die aufgerufene Methode Zugriff auf benötigte Datenelemente in diesem Container erhält.The calls calling method the method called a container ID, via which the called method Access to needed Receives data items in this container.

Es zeigt Bild 17 Methodenaufruf und Übergabe von DatenelementenIt Figure 17 shows method call and transfer of data elements

Befehl „setLink"Command "setLink"

Der Befehl „setLink", mit der eine Beziehung zwischen zwei Objektinstanzen aufgebaut werden kann, steuert ein entsprechendes Befehlsmodul in der Befehlseinheit an, das wiederum die Speichereinheit ansteuert. Durch Routinen der Speichereinheit werden zwei bestimmte Container mit den Objektinstanzen vom Typ SYS-LNK adressiert. In diesen beiden Objektinstanzen wird jeweils ein neuer Eintrag der Objekt-ID hinzugefügt, der die neue Beziehung zwischen beiden Objektinstanzen wiederspiegelt. Bei anschliessender Steueranweisung „commit" wird der Inhalt dieser Container von der Zugriffseinheit auf einen Resourcen-Manager gespeichert.Of the Command "setLink" with which a relationship can be established between two object instances, controls corresponding command module in the command unit, which in turn drives the memory unit. Through routines of the storage unit become two specific containers with object instances of type SYS-LNK addressed. Each of these two object instances becomes a new one Added entry of the object ID, which reflects the new relationship between both object instances. In the subsequent control statement "commit", the contents of these containers of the access unit is stored on a resource manager.

Es zeigt Bild 18 Methodenaufruf und Übergabe von DatenelementenIt Figure 18 shows method call and transfer of data elements

Befehl „commit"Commit command

Für den Befehl „commit" ruft die Befehlseinheit ein bestimmtes Befehlsmodul für den Commit-Vorgang auf. Folgende Schritte werden in dem Modul durchlaufen:

  • • Aufruf der Speichereinheit: Vorgang commit durchführen.
  • • Die Speichereinheit ermittelt, welche Container in der Transaktion verändert worden sind und deren Zustandsänderung an beteiligte Subsysteme weitergegeben werden muss.
  • • Aufruf der Zugriffseinheit: Übergabe einer Container-Liste, welche Container von der Statusänderung betroffen sind und auf Resourcen-Manager zu speichern sind.
  • • Warten auf Beendigung des Commit-Vorganges
For the commit command, the command unit invokes a specific commit command module, following these steps in the module:
  • • Calling the memory unit: perform the commit procedure.
  • • The storage unit determines which containers in the transaction have been changed and whose status change must be passed on to participating subsystems.
  • • Access unit access: transfer of a container list, which containers are affected by the status change and are to be stored on resource manager.
  • • Wait for the commit to complete

Die Zugriffseinheit übernimmt selbstständig die weiteren Verarbeitungsschritte, um die Zustandsänderungen den Subsystemen weiterzugeben. Diese Schritte sind:

  • • Lesen des ersten Containers aus der Speichereinheit einschliesslich Art der Statusänderung (update, delete, insert)
  • • Ermitteln der Kommunikationseigenschaften des beteiligten Subsystems (für diesen Container) mit der damit verbundenen Statusänderung aus der Objektinstanz vom Typ SYS-SYS
  • • Durchführen der Transformation
  • • Aufbau eines Zugriffsbefehls
  • • Aufruf des Subsystems
  • • Überwachen des Zugriffs mit Protokollierung
  • • Lesen des nächsten Containers mit den bereits dargestellten Verarbeitungsschritten
  • • Rückgabe der Kontrolle an die Methode der Verarbeitungseinheit.
The access unit automatically assumes the further processing steps in order to pass on the status changes to the subsystems. These steps are:
  • • Read the first container from the storage unit including the type of status change (update, delete, insert)
  • • Determine the communication properties of the participating subsystem (for this container) with the associated status change from the object instance of type SYS-SYS
  • • Perform the transformation
  • • Structure of an access command
  • • call the subsystem
  • • Monitor access with logging
  • • Read the next container with the processing steps already described
  • • Return control to the processing unit method.

Die gesamte Steuerung für den Update-Vorgang wird von der fachlichen Methode ferngehalten. Für eine logische Transaktion werden alle veränderten, gelöschten oder neu erstellten Objektinstanzen, die sich alle in Containern befinden, zu einer „Unit of Work" zusammengefasst.The entire control for the update process is kept away from the technical method. For A logical transaction is a collection of all changed, deleted, or newly created object instances, all located in containers, into a unit of work.

Befehl „getIn" mit Operand einer Instanz von ANW-AKVCommand "getIn" with operand one Instance of ANW-AKV

Für den Befehl „getIn" ruft die Befehlseinheit ein bestimmtes Befehlsmodul auf. Die globale Objektinstanz von Klasse IN-FRM wird in diesem Befehl adressiert. Folgende Schritte werden in dem Modul durchlaufen:

  • • Aufruf Speichereinheit: Laden Objektinstanz der Klasse ANW-AKV
  • • Aufruf Speichereinheit: Ermitteln der zu übertragenden Datenelemente aus Objektinstanz von ANW-AKV
  • • Aufruf der Speichereinheit: Auslesen der Datenelemente aus IN-FRM
  • • Abgleich der ausgelesenen Definitionen aus ANW-AKV und IN-FRM
  • • Aufruf der Speichereinheit: Schreiben Datenelemente in fachliche Objektinstanz der entsprechenden Klasse
For the getIn command, the command unit invokes a specific command module.The global object instance of class IN-FRM is addressed in this command.
  • • Call memory unit: Load object instance of class ANW-AKV
  • • Call memory unit: Determine the data elements to be transferred from the object instance of ANW-AKV
  • • Calling the memory unit: Reading the data elements from IN-FRM
  • • Comparison of the read definitions from ANW-AKV and IN-FRM
  • • Calling the memory unit: Write data elements into the functional object instance of the corresponding class

Befehl „putOut" mit Operand einer Instanz von ANW-AKVCommand "putOut" with operand one Instance of ANW-AKV

Für den Befehl „putOut" ruft die Befehlseinheit ein bestimmtes Befehlsmodul auf. Die globale Objektinstanz der Klasse OUT-FRM wird in diesem Befehl adressiert.For the command "putOut" calls the command unit a specific command module. The global object instance of the class OUT-FRM is addressed in this command.

Die Steueranweisung „PutOut" enthält Operanden für eine Referenz auf ein ANW-FRM-, ein ANW-AKV und eine Objektinstanz, deren Inhalt auszugeben ist. Die Präsentationseinheit kann über diese Zuweisungen für das entsprechende Ausgabegerät die Ausgabenachricht generieren.The Control statement "PutOut" contains operands for one Reference to an ANW-FRM, an ANW-AKV and an object instance whose Content is to spend. The presentation unit can over these allocations for the appropriate output device generate the output message.

Folgende Schritte werden in dem Modul durchlaufen:

  • • Aufruf der Speichereinheit: Adressierung OUT-FRM für Übergabe der Objektinstanz deren Inhalt ausgegeben werden soll
  • • Aufruf der Speichereinheit: Adressierung OUT-FRM für Übergabe der Objektinstanz von ANW-AKV
  • • Aufbau der Speichereinheit: Adressierung OUT-FRM für Übergabe der Objektinstanz von Klasse ANW-FRM.
The following steps are performed in the module:
  • • Calling the memory unit: Addressing OUT-FRM for transferring the object instance whose contents are to be output
  • • Calling the memory unit: Addressing OUT-FRM for transferring the object instance of ANW-AKV
  • • Structure of the memory unit: Addressing OUT-FRM for transferring the object instance of class ANW-FRM.

Befehl „returnCommand "return

Der Befehl „return" beendet eine aktiv laufende Methode. Die Kontrolle geht an die aufrufende Methode zurück. Wenn die beendende Methode zu einer Klasse des Typs Anwendung gehört, wird der Dialog-Schritt beendet und eine Nachricht auf einen Browser oder ein Endgerät ausgegeben. Für den Befehl „return" ruft die Befehlseinheit ein bestimmtes Befehlsmodul auf. Folgende Schritte werden in dem Modul durchlaufen:

  • • Restoren Rücksprung-Informationen
  • • Freigeben der zu beendenden Methode
  • • Freigeben der in der beendenden Methode enthaltenen Objektinstanzen der Klasse ANW-CLS (Eigenschaft temporär)
  • • Aufbau des nächsten Befehls (Befehl nach Method-Call der beendenden Methode).
The "return" command terminates an actively running method, and control returns to the calling method, and if the terminating method belongs to an application-class class, the dialog step is ended and a message is output to a browser or terminal the command "return" calls the command unit a specific command module. The following steps are performed in the module:
  • • Restore return information
  • • Release the method to be stopped
  • • Releasing the object instances of class ANW-CLS contained in the terminating method (property temporary)
  • • Structure of the next command (command after method call of the terminating method).

Befehl „logon"Command "logon"

Für den Befehl „logon" ruft die Befehlseinheit ein bestimmtes Befehlsmodul auf. Über diesen Befehl wird eine fachliche Anwendung aktiviert. Dabei werden die zu der Anwendung benötigten Meta-Daten in die Speichereinheit geladen Folgende Schritte werden in dem Modul durchlaufen:

  • • Aufruf Speichereinheit: laden ANW-MAIN Objektinstanzen der Anwendung
  • • Aufruf Speichereinheit: laden ANW-MEN Objektinstanzen der Anwendung
  • • Aufruf Speichereinheit: laden ANW-MET Objektinstanzen der Anwendung
  • • Ermitteln Startup-Methode
  • • Aufruf Befehleinheit: aufruf Startup-Methode.
For the "logon" command, the command unit invokes a particular command module, which activates a specialized application, loading the metadata needed for the application into the storage device.
  • • Call storage unit: load ANW-MAIN object instances of the application
  • • Call memory unit: load ANW-MEN object instances of the application
  • • Call memory unit: load ANW-MET object instances of the application
  • • Determine startup method
  • • Call instruction unit: call startup method.

Befehl „sendEvent"Command "sendEvent"

Der Befehl „sendEvent" sendet einen bestimmten Event in eine Event-Queue. Andere Tasks können sich für Events registrieren lassen, diese bekommen anschliessend über den Befehl „waitEvent" eine Benachrichtigung über das Auftreten des entsprechenden Events.Of the SendEvent command sends a specific one Event in an event queue. Other tasks can register for events These get over afterwards Notify the "waitEvent" command about the Occurrence of the corresponding event.

Für den Befehl „sendEvent" ruft die Befehlseinheit ein bestimmtes Befehlsmodul auf. Folgende Schritte werden in dem Modul durchlaufen:

  • • Schreiben bestimmten Event in eine bestimmte Event-Queue
For the sendEvent command, the command unit invokes a specific command module, following the steps in the module:
  • • Write a specific event to a specific event queue

Befehl „waitEvent"Command "waitEvent"

Der Befehl „waitEvent" wartet auf einen bestimmten Event, der in die Event-Queue durch den Befehl „sendEvent" geschrieben worden ist. Für den Befehl „waitEvent" ruft die Befehlseinheit ein bestimmtes Befehlsmodul auf. Folgende Schritte werden in dem Modul durchlaufen:

  • • Warten auf bestimmten Event einer bestimmten Event-Queue
The waitEvent command waits for a specific event written to the event queue by the sendEvent command. For the waitEvent command, the command unit invokes a specific command module, following the steps in the module:
  • • Wait for specific event of a specific event queue

Ausführungsbeispielembodiment

Es zeigt Bild 19 Beispiel einer Ein/Ausgabe auf einen Browser

  • (1) Das Ablaufsystem empfängt ein Ereignis und eine Eingabenachricht. Diese Eingabennachricht wird durch die Präsentationseinheit in einen Container gepackt und der Speichereinheit zum Zwischenspeichern (Container IN-FRM) übergeben.
  • (2) Die Methode_1 wird von der Steuereinheit aufgerufen.
  • (3) Die Methode erstellt über einen entsprechenden Befehl (CreateObject) den Container C1 vom Typ „persistent" in der Speichereinheit.
  • (4) Über den Befehl GetIn wird der Inhalt des zwischengespeicherten Containers dem Container C1 zugewiesen. Über den Befehl „GetIn" können weitere Inhalte des Containers IN-FRM auf Objektinstanzen anderer Klassen zugewiesen werden.
  • (5) Über den Befehl „Commit" werden die Objektinstanzen, deren Klasse mit „persistent" definiert worden sind, auf die Datenbanken bzw. Resourcen-Manager festgeschrieben. In diesem Fall nur die Objektinstanz des Containers C1.
  • (6) Über den Befehl „PutOut" wird eine fest vorgegebene Ausgabe-Message (OK-Msg) dem Ausgabe-Container OUT-FRM zugewiesen.
  • (7) Bei Beendigung der Methode wird von der Präsentationseinheit der Container OUT-FRM gelesen und eine Ausgabenachricht entsprechend dem Ausgabegerät erstellt.
It shows Figure 19 Example of an input / output to a browser
  • (1) The execution system receives an event and an input message. This input message is packed by the presentation unit into a container and transferred to the storage unit for caching (container IN-FRM).
  • (2) Method_1 is called by the control unit.
  • (3) The method uses a corresponding command (CreateObject) to create container C1 of type "persistent" in the storage unit.
  • (4) The GetIn command assigns the contents of the cached container to container C1. The "GetIn" command can be used to assign further contents of the container IN-FRM to object instances of other classes.
  • (5) The "Commit" command commits the object instances whose class has been defined as "persistent" to the databases or resource managers. In this case, only the object instance of the container C1.
  • (6) The command "PutOut" assigns a fixed output message (OK-Msg) to the output container OUT-FRM.
  • (7) Upon completion of the method, the presentation unit reads the container OUT-FRM and creates an output message corresponding to the output device.

Anmerkung zu Infrastruktur-DiensteNote about infrastructure services

Die Methode_1 enthält in diesem Beispiel in ihren Befehlen keine Verweise auf fachliche Datenelemente, nur fachlich abhängige Informationen zu den Operanden C1. Der „Datenstrom" auf dem Weg von Präsentationseinheit zu einem Resourcen-Manager läuft an der Methode „vorbei". Durch diesen Umstand durchlaufen fachliche Daten nicht physisch den Wirkungsbereich einer Methode. Wird der Operanden C1 anwendungsspezifisch initialisiert, kann die verarbeitende Instanz vielseitig eingesetzt werden.The Contains method_1 in this example, in their commands no references to technical Data elements, only subject-dependent Information about the operands C1. The "data stream" on the way from presentation unit to a resource manager is running the method "over." By this circumstance technical data does not physically pass through the scope of a Method. If the operand C1 is initialized application-specific, the processing entity can be used in many ways.

Programmiermodellprogramming model

Merkmale zu dem Programmiermodell:Features of the programming model:

  • • Jedes fachliche Projekt wird in einer Objektinstanz der Klasse ANW-MAIN beschrieben.• Each technical project is in an object instance of class ANW-MAIN described.
  • • Für diese Anwendung können eine bis viele fachliche Klassen von ANW-CLS definiert werden.• For this Application can One to many professional classes of ANW-CLS are defined.
  • • Eine bestimmte fachliche Klasse ist mit dem Attribut „Anwendung" definiert.• One certain professional class is defined with the attribute "application".
  • • Eine Anwendung wird mit dem Befehl „logon" instanziiert.• One Application is instantiated with the command "logon".
  • • Bei Aktivierung einer Anwendung wird die Objekt-Instanz der fachlichen Klasse mit dem Attribut „Anwendung" vorinstanziiert.• at Activation of an application becomes the object instance of the professional Pre-instantiated class with the attribute "Application".
  • • Die Methoden der Klasse mit Attribut „Anwendung" übernehmen die Aktivierung weiterer fachlicher Klassen und das Aufrufen von Methoden dieser aktivierten Klassen.• The Apply methods of class with attribute "Application" the activation of further professional classes and the calling of Methods of these activated classes.
  • • Anwendungen können andere Anwendungen erben, diese Anwendung kann die Methoden der geerbten Anwendung aufrufen.• Applications can inherit other applications, this application can be the methods of call inherited application.

Merkmale des unterstützten ObjektmodellsFeatures of the supported object model

Die Ablaufumgebung unterstützt ein Objektmodell auf Klassen- und Datenebene. Herkömmliche objektorientierte Sprachen kapseln die Objektinstanzen von instanziierten Klassen. Die hier beschriebenen Objektinstanzen von Klassen sind ebenfalls gekapselt, nur Methoden der eigenen Klasse oder geerbter Methoden können auf die Objektinstanzen zugreifen. Die Objektinstanzen liegen in Containern der Speichereinheit, die einzelnen Funktionseinheiten der Ablaufumgebung haben allerdings einen Zugriff über die Speichereinheit auf die Objektinstanzen.The runtime environment supports an object model at the class and data level. Conventional object-oriented languages encapsulate the object instances of instantiated classes. The object instances of classes described here are also encapsulated, only methods of their own class or inherited methods can access the object instances. The object instances reside in containers of the memory unit which However, individual functional units of the runtime environment have access to the object instances via the memory unit.

Eine fachliche Klasse, definiert durch eine Objektinstanz von ANW-CLS, besitzt immer eine eindeutige Class-ID. Die Class-ID entspricht der Objekt-ID, dessen Wert in dem Attribut Objekt-ID der Objektinstanz von ANW-CLS enhalten ist.A technical class, defined by an object instance of ANW-CLS, always has a unique class ID. The class ID is the same the object ID whose value in the object ID attribute of the object instance of ANW-CLS.

Spezialisierungspecialization

Klassen können von anderen Klassen ihr Verhalten (Methoden) und den Status (Elemente) erben. In Objektinstanzen der Klasse ANW-CLS wird die Spezialisierung definiert.classes can from other classes their behavior (methods) and the status (elements) inherit. In object instances of class ANW-CLS becomes specialization Are defined.

Es zeigt Bild 20 SpezialisierungIt shows picture 20 specialization

Sub-Klasse_1 und Sub_Klasse_2 erben die Methoden und Attribute ihrer Super-Klasse. Die Spezialisierungs-Beziehungen werden in der Klassenbeschreibung der Super-Klasse, der Sub_Klasse_1 und 2 definiert.Sub-Klasse_1 and Sub_class_2 inherit the methods and attributes of their superclass. The specialization relationships are in the class description the super class that defines sub_class_1 and 2.

Aggregationaggregation

Klassen können aus anderen Klassen zusammengesetzt sein. Sie erben in diesem Fall das Verhalten (Methoden) der aggregierten Klassen. Fachliche Klassen, die andere Klassen aggregieren, können bei Instanziierung veranlassen, dass ihre aggregierten Klassen von der Ablaufumgebung mit instanziiert werden. In Objektinstanzen der Klasse ANW-CLS wird die Aggregation definiertclasses can be composed of other classes. They inherit in this case the behavior (methods) of the aggregated classes. Professional classes, which aggregate other classes can cause instantiation that their aggregated classes are instantiated by the runtime environment become. Object instances of class ANW-CLS become the aggregation Are defined

Es zeigt Bild 21 AggregationIt shows picture 21 aggregation

Klassen_A aggregiert die Klassen Klasse_1 und Klasse_2. Die Aggregations-Beziehungen werden in der Klasse ANW-CLS für Klasse_A, Klasse_1 und Klasse_2 definiert. Die eingentliche Ausprägung einer bestimmten Beziehung, d.h. die Aggregationsbeziehung von ganz bestimmten Instanzen einer oder mehrerer Klassen wird in SYS-LNK abgelegt.Klassen_A aggregates classes class_1 and class_2. The aggregation relationships be in the class ANW-CLS for Class_A, Class_1 and Class_2 defined. The public expression of a certain relationship, i. the aggregation relationship of very specific Instances of one or more classes are stored in SYS-LNK.

Assoziationassociation

Klassen können Beziehungen zu anderen Klassen besitzen. In Objektinstanzen der Klasse ANW-CLS wird die Assoziation definiertclasses can Own relationships with other classes. In object instances of the Class ANW-CLS defines the association

Es zeigt Bild 22 AssoziationIt shows picture 22 association

Eine Objektinstanz der Klasse_1 kann eine Beziehung zu einer Objektinstanz der Klasse_2 haben. Die Assoziations-Beziehungen werden in Objektinstanzen von Klasse_1 und Klasse_2 der Klasse ANW-CLS definiert. Die eigentliche Ausprägung einer bestimmten Beziehung, d.h. die Assoziationsbeziehung von ganz bestimmten fachlichen Objektinstanzen wird in SYS-LNK abgelegt.A Object instance of class_1 can have a relation to an object instance have class_2. The association relationships become object instances defined by class_1 and class_2 of class ANW-CLS. The real one shaping a particular relationship, i. the association relationship of whole certain functional object instances are stored in SYS-LNK.

Initialisierungskonzept für MethodenInitialisierungskonzept for methods

Das kontextabhängige Initialisierungskonzept von Methoden ist von verschiedenen Definitionen abhängig, diese sind im Einzelnen:

  • 1) Eingestellte Kontexdefinition einer Anwendung
    Figure 00430001
  • 2) Definition einer Klasse in ANW-CLS von Typ „context".
    Figure 00430002
  • 3) Deklaration der Klasse ANW-CLS vom Typ „context" im Deklarationsbereich einer Methode. Die Deklaration entspricht einer logischen Deklaration, zur Ausführungszeit wird eine reale Objektinstanz des jeweiligen Kontext zugeordnet.
    Figure 00430003
  • 4) Pflege der Initialisierungswerte für reale Objektinstanzen der Klasse ANW-CLS (context) im jeweiligen Kontext. Objektinstanzen der Klasse ANW-CLS des Typ „context" definieren Initialisierungsparameter für Methoden. Die in einer Methode enthaltenen Befehle können diese Initialisierungs-Parameter direkt lesen.
    Figure 00430004
  • 5) Aufruf und Initialisierung einer Methode. Für die logische Deklaration einer ANW-CLS Klasse vom Typ „context" wird unter dem laufenden Kontext, z.B. der Rolle „Kunde", eine reale Objektinstanz der Klasse „Konto-Init-Werte" gesucht und in diesem Beispiel geladen. Eine Methode kann hierdurch ihr Ablaufverhalten bestimmen. Je nach Kontext, in dem die Methode läuft, kann über das Kontextkonzept eine andere Objektinstanz mit anderen Initialisierungsparametern angezogen werden.
The context-dependent initialization concept of methods depends on different definitions, these are in detail:
  • 1) Set context definition of an application
    Figure 00430001
  • 2) Definition of a class in ANW-CLS of type "context".
    Figure 00430002
  • 3) Declaration of class ANW-CLS of type "context" in the declaration area of a method The declaration corresponds to a logical declaration, at execution time a real object instance of the jewei assigned to a valid context.
    Figure 00430003
  • 4) Maintenance of the initialization values for real object instances of class ANW-CLS (context) in the respective context. Object instances of class ANW-CLS of type context define initialization parameters for methods The commands contained in a method can directly read these initialization parameters.
    Figure 00430004
  • 5) call and initialize a method. For the logical declaration of an ANW-CLS class of type "context", a real object instance of the class "Account Init Values" is searched under the current context, eg the role "customer" and loaded in this example Depending on the context in which the method is running, the context concept can be used to attract another object instance with different initialization parameters.

Die Administrationsumgebung der Ablaufumgebung unterstützt direkt dieses Konzept der Initialisierung von Methoden. Jede in einer Anwendung definierte Klasse von ANW-CLS Typ „context" wird über die Administratorumgebung für die jeweilige Anwendung automatisch integriert. In dieser Administratorumgebung wird für jede definierte Anwendung die definierten Objektinstanzen der Klasse ANW-CLS (context) unter Beachtung des definierten Kontextes mit ihren jeweiligen Eingabeparametern angezeigt. Die Parameter können in diesem Administrator-Zweig direkt eingestellt werden.The Administration environment of the runtime environment supports directly this concept of initialization of methods. Each in one application defined class of ANW-CLS type "context" is through the administrator environment for the respective application automatically integrated. In this administrator environment will for every defined application defines the defined object instances of the class ANW-CLS (context) considering the defined context with their respective input parameters. The parameters can be set in This administrator branch can be set directly.

Erweiterbare BefehlssätzeExtensible instruction sets

Die Architektur der erweiterbaren Befehlssätze erlaubt es, neue Befehle zu definieren und der Ablaufumgebung bekannt zu machen. Folgende aufeinander abgestimmte Einzelkomponenten arbeiten zusammen:The Extendable Command Set architecture allows new commands define and expose the runtime environment. The following coordinated individual components work together:

Es zeigt Bild 23 Erweiterbare BefehlssätzeIt Figure 23 shows Extensible Instruction Sets

Entwicklungsumgebungdevelopment environment

In die Entwicklungsumgebung der Ablaufumgebung muss ein neues Befehls-Control aktiviert werden. Dadurch erscheint ein graphisches Befehls-Control in der Befehls-Leiste, in der alle aktiven Befehls-Controls einer Anwendung sichtbar sind.In The development environment of the runtime environment must have a new command control to be activated. This will cause a graphical command control in the command bar, in which all active command controls one Application are visible.

Aufbau des BefehlsStructure of the command

Ein Befehl setzt sich aus einem Operations-Code und Operanden zusammen. Interpretiert werden die Operanden vom Befehlsmodul, welches auf die Operanden abgestimmt sein muss. Die Operanden werden durch ein Befehls-Control in der Entwicklungsumgebung eingestellt, in der Regel bestehen sie aus Konstanten oder Element-Descriptoren einschliesslich Verweise auf eine Container-ID.One Command is composed of an operation code and operands. The operands are interpreted by the command module, which is based on the operands must be matched. The operands are entered by Command control set in the development environment, in the Usually they consist of constants or element descriptors including References to a container ID.

Befehls-ControlCommand Control

In einem graphisch basierten Ablaufplan einer Methode wird ein Befehls-Control an entsprechender Stelle platziert, an der seine Aktivität erforderlich ist. Das Control führt den Entwickler einer Anwendung zu den notwendigen Eingaben der Operanden. Abgelegt wird der definierte Befehl und die notwendigen Operanden in eine XML-Struktur. Für die Ablage und richtige Einordnung in diese XML-Struktur stellt die Entwicklungsumgebung eine Schnittstelle bereit, die das Control ansteuern muss.In A graphically based flowchart of a method becomes a command control placed in the appropriate place where its activity required is. The control leads the developer of an application to the necessary inputs of the operands. The defined command and the necessary operands are stored in an XML structure. For the filing and correct placement in this XML structure provides the development environment has an interface that provides the control must drive.

Compilercompiler

Der Compiler generiert aus der XML-Struktur, die die Methode beschreibt, einen Objekt-Code. Die einzelnen Befehle erscheinen mit ihrem eingestellten Operations-Code und den Operanden in diesem Objekt-Code.Of the Compiler generates from the XML structure that describes the method an object code. The individual commands appear with their set operation code and the operands in this object code.

Befehlseinheitcommand unit

Die Befehlseinheit interpretiert den Objekt-Code eines Befehls. Anhand des Operations-Codes wird in die Befehls-Tabelle gesprungen, in der die Adressen der Befehlsmodule zu finden sind.The Command unit interprets the object code of a command. Based of the operation code is jumped to the command table, where the addresses of the Command modules are to be found.

Befehlsmodulcommand module

Das Befehlsmodul erhält von der Befehlseinheit die Operandenliste eines Befehls. Operandenliste und Befehlsmodul sind aufeinander abgestimmt. Das Befehlsmodul verwendet die fest definierte Schnittstelle des Speicher-Management-Systems, um auf Datenelemente von Containern zuzugreifen.The Command module receives from the instruction unit, the operand list of a command. Operand list and command module are matched. The command module uses the well-defined interface of the memory management system, to access data elements of containers.

Schnittstelle des Speicher-Management-SystemsInterface of the memory management system

Die fest definierte Schnittstelle des Speicher-Management-Systems bietet einen Satz von Funktionen an, die von einem Befehlsmodul aufgerufen werden können. Diese sind z.B.

  • • Erstellen Container
  • • Löschen Container
  • • Kopieren Container
  • • Auslesen Objektinstanz des Container
  • • Einspielen Objektinstanz in Container
  • • Lesen Datenelement
  • • Modifizieren Datenelement
  • • Löschen Datenelement
  • • Insert Datenelement
  • • Einlesen Objektinstanz
  • • Einlesen Objekt-Liste
  • • Commit
  • • Update Objektinstanz
The hard-defined interface of the memory management system provides a set of functions that can be called by a command module. These are, for example
  • • Create container
  • • Delete container
  • • Copy containers
  • • Read object instance of the container
  • • Import object instance into container
  • • Read data element
  • • Modify data element
  • • Delete data element
  • • Insert data element
  • • Read object instance
  • • Read object list
  • • Commit
  • • Update object instance

SYS-SYSSYS-SYS

In den Initialisierungsdaten der Ablaufumgebung werden die unterstützten Befehle und zugeordneten Befehlsmodule aufgeführt. Beim Start der Ablaufumgebung werden diese Initialisierungsdaten gelesen, die Befehlstabelle initialisiert und die zugeordneten Befehlsmodule geladen.In the runtime environment initialization data becomes the supported commands and associated command modules. When starting the runtime environment If this initialization data is read, the command table is initialized and the associated command modules loaded.

Entwicklungsumgebungdevelopment environment

Die graphisch basierte Entwicklungsumgebung hält alle Informationen und Beziehungen aller in einer Anwendung beteiligten Objekte in XML-Strukturen fest. Beziehungen zwischen Objekten werden nicht textmässig durch Source-Code erfasst, sie werden durch graphische Verbindungselemente beschrieben. Objekte einer Anwendung sind:

  • • Anwendung und geerbte Anwendungen
  • • Klassen, geerbte Klassen und aggregierte Klassen
  • • Methoden
  • • Service
  • • Menüs
  • • Geschäftsprozesse (GPO)
  • • Kontext-Elemente wie Rollen, Device, Sprache
  • • Befehle innerhalb einer Methode
The graphically based development environment captures all information and relationships of all objects involved in an application in XML structures. Relationships between objects are not textually captured by source code, they are described by graphical connectors. Objects of an application are:
  • • Application and inherited applications
  • • Classes, inherited classes, and aggregated classes
  • • Methods
  • • Service
  • • Menus
  • • Business Processes (GPO)
  • • Contextual elements such as roles, device, language
  • • Commands within a method

Die einzelnen Objekte wie Anwendung, Klassen, Methoden, Service und deren Beziehungen zueinander werden in XML-Strukturen als Objektinstanzen der Klassen ANW-MAIN, ANW-CLS, ANW-MET, ANW-SRV, ANW-MEN usw. gespeichert. Diese Definitionen bilden gleichzeitig Ablaufvorschriften und Dokumentation. Die einzelnen graphischen Objekte können durch Doppelklick, z.B. auf Element Reise-System, genauer spezifiziert werden.The individual objects such as application, classes, methods, service and their relationships are stored in XML structures as object instances of the classes ANW-MAIN, ANW-CLS, ANW-MET, ANW-SRV, ANW-MEN and so on. These definitions simultaneously form process instructions and documentation. The individual graphical objects can be created by double-clicking, eg on element travel system, ge be specified.

Es zeigt Bild 24 Objekte einer zu entwickelnden AnwendungIt Figure 24 shows objects of an application to be developed

Der Ablaufplan einer Methode einer Klasse wird durch graphische Elemente, hier Befehls-Controls genannt, beschrieben. Befehls-Controls werden im Ablaufplan einer Methode an hier genannte Connection-Points angehängt, dadurch kann die Position eines jeden Befehls-Controls in Abhängigkeit zu anderen Befehls-Controls bestimmt werden. Durch Doppelklick auf ein Befehls-Control können die Operanden für diesen Befehl spezifiziert werden. Befehls-Controls haben Zugriff auf die Meta-Daten einer Anwendung, also der Objektinstanzen von ANW-CLS, ANW-MET, ANW-SRV usw. Dadurch kann der Entwickler entsprechend der möglichen und notwendigen Eingaben zu einem bestimmten Befehls-Control genau geführt werden.Of the Flowchart of a method of a class is represented by graphic elements, here command controls called, described. Command controls are in the flowchart of a Attached method to connection points mentioned here, this can be the position of each command control dependent on to other command controls. Double click on a command control can the operands for be specified this command. Command controls have access to the metadata of an application, ie the object instances of ANW-CLS, ANW-MET, ANW-SRV and so on the possible and necessary inputs to a particular command-control exactly guided become.

Es zeigt Bild 25 die graphische Programmierung einer MethodeIt Figure 25 shows the graphical programming of a method

Befehls-ControlsCommand Controls

Es zeigt Bild 26 einige Befehls-ControlsIt Figure 26 shows some command controls

Jeder durch ein Befehls-Control dargestellte Befehl wird intern in ein eigenes XML Befehls-Element abgelegt und wird durch eine eindeutige Element-ID identifiziert. Die XML Befehls-Elemente sind durch Verweise über diese Element-ID verkettet, dadurch kann für einen einzelnen Befehl der vorherige und nachfolgende Befehl, bei Verzweigungs-Befehlen auch mehrere Möglichkeiten von Nachfolge-Befehlen erkannt werden. Die Connection-Points im graphischen Ablaufplan identifizieren diese Verweise zwischen Befehlselementen.Everyone Command represented by a command control is internally in own XML command element filed and is identified by a unique element ID. The XML Command elements are linked by references through this Element ID, this can be done for a single command the previous and subsequent command, at Branching commands also have several choices of successor commands be recognized. The connection points In the graphical flowchart, these references identify between Command elements.

Jedes XML Befehls-Element besitzt folgenden Aufbau:
Positionsangaben
beschreibt vorherige und nachfolgende Befehle
Each XML command element has the following structure:
position information
describes previous and subsequent commands

Deklarationsangabendeclaration information

beschreibt je Befehlstyp die eingegebenen Definitionen, bei IF-Befehl z.B. die Abfragebedingungen und Verweise auf Element-Descriptoren und Objekt-Handle (Container-Identifier)describes depending on the type of command, the definitions entered, for IF command, e.g. the query conditions and references to element descriptors and Object handle (container identifier)

Objekt-CodeObject code

Objekt-Code auf Grund des Befehlstyps und eingegebener Deklarationsangaben. Dieser wird vom Compiler in den zu erstellenden Objektcode der Methode an entsprechender Stelle eingebaut.Object code based on the command type and entered declaration information. This is used by the compiler to create the object code of the method installed at the appropriate place.

Glossarglossary

Klasseclass

Bezeichnung aus der Objekttechnologie, bei der Klassen neben einem Verhalten (Methoden) auch einen Status (Attribute) definieren. Eine Menge von gleichartigen Datensätzen, die eine einheitliche Struktur besitzen, werden zu einer Klasse zusammengefasst.description from object technology, where classes are next to a behavior (Methods) also define a status (attributes). A lot of similar records, which have a uniform structure, become a class summarized.

Methodemethod

Bezeichnung aus der Objekttechnologie, in der das Verhalten von Klassen durch Methoden definiert wird. Methoden führen dabei in der Regel Modifikationen und Lese-Zugriffe auf Attribute einer Objektinstanz auf.description from object technology, in which the behavior of classes through Methods is defined. Methods usually lead to modifications and read requests on attributes of an object instance.

Objektobject

Bezeichung aus der Objekttechnologie. Mit Objekt wird eine einzelne Ausprägung bezeichnet, auch Instanz einer Klasse genannt.designation from the object technology. Object is a single expression, also called instance of a class.

Objektinstanzobject instance

Bezeichnung für ein in einenContainer geladenes Objekt einer bestimmten Klasse innerhalb der Ablaufumgebung. Diese Objektinstanz wird durch eine Container-ID adressiert. Die Objektinstanz enthält eine eindeutige Objekt-ID, mit der diese Objektinstanz auf einem Resourcen-Manager und in der Ablaufumgebung identifiziert werden kann.Name for an object loaded in a container of a certain class within the Ab running environment. This object instance is addressed by a container ID. The object instance contains a unique object ID that identifies this object instance on a resource manager and in the runtime environment.

Elementelement

kleinste Informationseinheit in einer Klasse. Ein Element beschreibt eine Informationseinheit semantisch, z.B. mit Namen, Format und Länge. Eindeutiger Identifier für ein Element innerhalb einer Klasse ist der Element-Descriptor.least Information unit in a class. An element describes one Information unit semantic, e.g. with name, format and length. unique Identifier for an element within a class is the element descriptor.

Element-DescriptorElement descriptor

Bezeichnung für einen Identifikator, mit dem jedes Element einer Klasse eindeutig identifiziert wird.description for one Identifier that uniquely identifies each element of a class becomes.

Datenelementdata element

Bezeichnet einen Informationswert innerhalb einer Objektinstanz. Es stellt den Wert eines Elementes innerhalb einer Objektinstanz dar. Ein Datenelement gehört zu einem bestimmten Element. Jedes Datenelement kann eindeutig und direkt über Objekt-ID und den Wert des Element-Descriptors identifiziert werden. Bei Array-Strukturen kommen für die eindeutige Identifizierung eines Datenelementes noch die Positions-Indexe hinzu.Designated an information value within an object instance. It puts represents the value of an element within an object instance Data element belongs to a particular element. Each data element can be unique and directly above Object ID and the value of the element descriptor are identified. When array structures come for the unique identification of a data element nor the position indexes added.

Objekt-IDObject ID

Ein Datenelement, welches eine Objektinstanz eindeutig Identifiziert.One Data element that uniquely identifies an object instance.

ContainerContainer

Unter Container wird in dieser Patentanmeldung eine in der Speichereinheit zusammenhängende Information bezeichnet, die sich aus einzelnen Datenelementen zusammensetzt und über die Container-ID adressiert wird.Under Container is one in the storage unit in this patent application related Information called composed of individual data elements and over the container ID is addressed.

Programmprogram

Bezeichnung für ein Computer-Programm, welches von einem Compiler in ein maschinenlesbares Format umgewandelt wird. Das maschinenlesbare Programm besteht dabei aus den beiden Teilen „Programm-Segment" und „Daten-Segment". Der Programmcode des Programm-Segmentes adressiert die einzelnen Datenelemente innerhalb des Datensegmentes über feste Offsetadressen, in denen sich die Position eines Datenelementes innerhalb des Datensegmentes wiederspiegelt. Die adressierbaren Daten liegen physisch in den Datensegmenten (Ausnahme Stacksegment).description for a Computer program, which converts from a compiler into a machine-readable format is converted. The machine-readable program consists of this the two parts "program segment" and "data segment". The program code of the program segment addresses the individual data elements within of the data segment via fixed offset addresses, in which the position of a data element within the data segment. The addressable Data is physically in the data segments (exception stack segment).

Hinweis: in diesem Zusammenhang ist mit maschinenlesbar

  • a) direkt die Hardware, also CPU
  • b) eine virtual machine, z.B. JVM gemeint.
Note: in this context is machine-readable
  • a) directly the hardware, so CPU
  • b) a virtual machine, eg JVM meant.

Applikationsserverapplication server

Ablaufumgebung für Computer-Programme, die ein fachliches Problem lösen. Wichtig in diesem Zusammenhang ist, dass für den Applikationsserver keine Beschränkung auf ein bestimmtes Fachgebiet besteht. Die technische Implementierung eines Applikationsservers kann verschiedene Formen annehmen. Wichtig sind die zur Verfügung gestellten Funktionen und deren Aufgaben des Applikationsservers, so werden u.a. Resourcen verwaltet. Diese sind virtueller Speicher, Datenbankverbindungen, Verbindungen zu Endgeräten (Session-Handling). Des weiteren wird das Unit Of Work (UOW) Handling vom Applikationsserver übernommen.Operating environment for computer programs, solve a technical problem. Important in this context is that for the application server no restriction on a specific subject area. The technical implementation An application server can take various forms. Are important the available functions and their tasks of the application server, so are u.a. Manages resources. These are virtual memory, Database connections, connections to terminals (session handling). Of Furthermore, the unit of work (UOW) handling is taken over by the application server.

AblaufumgebungOperating environment

Unter Ablaufumgebung wird in dieser Patentanmeldung der Teil eines Anwendungssystems bezeichnet, der die klassischen Bestandteile einer Anwendung enthält, dieses sind Präsentationsschicht, Steuerungsschicht, Prüfschicht und Zugriffsschicht. Die Programme der Verarbeitungsschicht (Programme von Business- und Infrastrukturschicht) laufen innerhalb der Ablaufumgebung. Die technische Implementierung der Ablaufumgebung kann unterschiedlich ausgelegt sein, sie kann

  • a) direkt in einem Applikationsserver integriert sein, in der Regel ist sie dann vom selben Software-Hersteller
  • b) sie kann als Zusatzkomponenten (Java-Beans, COM-Komponenten, C++ Klassen) auf einem Applikationsserver aufsetzen. In der Regel ist die Ablaufumgebung dann von einem anderen Software-Hersteller als dem des Applikationsservers.
Entscheidend ist die erreichte Gesamtfunktionalität, weiter das angestrebte Ziel, und mit welchen Mitteln dieses Ziel erreicht wird.A runtime environment in this patent application refers to the part of an application system that contains the classical components of an application, these are presentation layer, control layer, test layer and access layer. The programs of the processing layer (programs of business and infrastructure layer) run within the runtime environment. The technical implementation of the runtime environment can be designed differently, it can
  • a) be integrated directly into an application server, usually it is then from the same software manufacturer
  • b) it can be set up as additional components (Java beans, COM components, C ++ classes) on an application server. In general, the runtime environment is then from a different software manufacturer than the application server.
The decisive factor is the overall functionality achieved, the desired goal, and the means by which this goal is achieved.

Anwendungsschicht, Anwendungslogik, AnwendungssystemApplication layer, application logic, application system

bezeichnet in diesem Kontext die Summe aller zu programmierenden, zu generierenden oder definierenden Bestandteile eines Software-Systems, um eine bestimmte fachliche Aufgabe zu lösen.designated in this context the sum of all to be programmed, to be generated or defining components of a software system to a to solve certain technical task.

Zugriffsschichtaccess layer

Teil des zu programmierenden, generierenden oder definierenden Teils eines Anwendungssystems, welches den Zugriff auf persistente Daten bzw. ein Remote-Zugriff durchführt.part of the part to be programmed, generated or defined an application system that provides access to persistent data or remote access.

Verarbeitungsschichtapplication layer

bezeichnet in diesem Kontext die Zusammenfassung von Businesschicht und Infrastrukturschicht.designated in this context the summary of business layer and infrastructure layer.

BusinesschichtBusinesschicht

bezeichnet in diesem Kontext den Teil der Programme, die die reine fachliche Verarbeitung durchführen, ohne Zugriffsschicht, Prüfschicht, Steuerungsschicht und Präsentationsschicht. Die Programme dieser Schicht müssen in der Regel programmiert werden.designated in this context, the part of the programs that are purely technical Perform processing, without access layer, test layer, Control layer and presentation layer. The programs of this layer must usually be programmed.

Infrastrukturschichtinfrastructure layer

bezeichnet in diesem Kontext den Teil der Programme bzw. Methoden, die wiederverwendbare, nichtfachliche Funktionen zur Verfügung stellen. Methoden dieser Schicht sind dadurch gekennzeichnet, dass sie keine fachlichen Daten bzw. Datenelemente beinhalten, sondern nur Verweise auf Objekte unterschiedlichster fachlicher Klassen. Die Programme dieser Schicht müssen in der Regel programmiert werden.designated in this context, the part of the programs or methods that are reusable, provide non-technical functions. Methods of this Layer are characterized by the fact that they have no technical data or data elements, but only references to objects different professional classes. The programs of this layer have to usually be programmed.

PrüfschichtCheck Layer

der Teil der Anwendungsschicht, der in den Applikationsserver eingehende fachliche Daten auf Richtigkeit überprüft.of the Part of the application layer that goes into the application server technical data checked for accuracy.

Steuerungsschichtcontrol layer

der Teil der Anwendungsschicht, der Eingaben von der Präsentationsschicht bzw. eines Remote-Clients empfängt und eine Steuerung der aufzurufenden fachlichen Verarbeitung durchführt.of the Part of the application layer, the inputs from the presentation layer or a remote client and performs control of the calling processing to be called.

Präsentationsschichtpresentation layer

der Teil der Anwendungsschicht, der die Aufbereitung einer Bildschirm- oder Remote-Ausgabe übernimmt bzw. eine Bildschirm- oder Remote-Eingabe empfängt. Auch der Software-Teil, der sich physisch auf dem Endgerät befindet, zählt dazu.of the Part of the application layer that handles the rendering of a screen or remote output takes over or receive a screen or remote input. Also the software part, physically on the terminal is, counts to.

Objektmodellobject model

bezeichnet in diesem Kontext alle zu einer fachlich umgrenzten Aufgabe notwendigen Objekte verschiedener Klassen und deren Abhängigkeiten untereinander.designated in this context all necessary for a technically circumscribed task Objects of different classes and their dependencies among each other.

Aktive DatenmodellActive data model

innerhalb einer fachlichen Transaktion alle aktiv beteiligten Objekteinstanzen.within a functional transaction, all actively involved object instances.

UOW-DatenmodellUOW data model

alle geänderten persistenten Objektinstanzen, die bei einem Commit gemeinsam als „Unit of Work" bearbeitet und gespeichert werden müssen.all amended persistent object instances that are jointly named as "Unit of Work "edited and have to be stored.

Virtual Maschine (VM)Virtual Machine (VM)

Bezeichnung für eine softwaremassige Implementierung, die an hand eines Funktionsaufrufes oder eines definierten Operations-Codes eine bestimmte softwaremäsige Ansteuerung einleitet, z.B. „übertrage Inhalt von Datenelement A nach Datenelement B".description for one software-based implementation based on a function call or a defined operation code a specific software-based control initiates, e.g. "About wearing Content of data element A to data element B ".

Subsystemsubsystem

Bezeichnung für ein Resourcen Manager oder externes System mit den definierten Kommunikationseigenschaften. Diese Kommunikationseigenschaften werden von der Zugriffsschicht für die Ansteuerung des Subsystems verwendet.description for a Resource Manager or external system with the defined communication properties. These communication properties are taken from the access layer for the Control of the subsystem used.

Claims (12)

Verfahren und Vorrichtung für die Aufnahme und Steuerung von informationsverarbeitenden, programmgesteuerten Abläufen in Computersystemen, dadurch gekennzeichnet, dass in die hier als Ablaufumgebung genannte Vorrichtung eingehende Informationen in Container verpackt werden. In der aus Funktionseinheiten aufgebauten Ablaufumgebung werden mittels spezieller Befehle der Verarbeitungseinheit die Container-Inhalte bearbeitet und durch die Funktionseinheiten logisch weitergeleitet. Die Container werden mit Meta-Informationen über deren Inhalt und Beziehungen zu anderen Containern versehen. Alle Funktionseinheiten haben direkten Zugriff auf die Container einschliesslich deren Inhalt. Die Funktionseinheiten sind im einzelnen: a) Präsentationseinheit diese Einheit empfängt/sendet Nachrichten von/an externe Endgeräte bzw. Endsysteme wie z.B. Browser. b) Prüfeinheit diese Einheit prüft empfangene Nachrichten auf formale und inhaltliche Richtigkeit c) Steuereinheit diese Einheit aktiviert auf Grund eines empfangenen Ereignisses eine Methode der Verarbeitungseinheit d) Verarbeitungseinheit diese Einheit enthält informationsverarbeitende Methoden. Die in den Methoden enthaltenen speziellen Befehle haben über die Befehls-/Speichereinheit direkten Zugriff auf die Inhalte der Container und steuern die Container durch die einzelnen Funktionseinheiten. e) Speichereinheit diese Einheit speichert Container im virtuellen Speicher mit den in Objektinstanzen enthaltenen Datenelementen. Jeder Container wird durch einen eindeutigen Container-Identifier identifiziert. Zusätzlich wird jedes Datenelement innerhalb eines Containers ebenfalls durch einen eindeutigen Identifier identifiziert. f) Befehlseinheit diese Einheit bearbeitet die in den informationsverarbeitenden Methoden enthaltenen Befehle bzw. delegiert die Ausführung an andere Funktionseinheiten. g) Zugriffseinheit diese Einheit liest Informationen von einem Resourcenmanager bzw. externen System und legt diese Information in Container der Speichereinheit ab. Ebenso übergibt sie Informationen, als Container von der Speichereinheit übernommen, an Resourcenmanager und externe Systeme zur Speicherung auf ein persistentes Medium. Die von der Präsentationseinheit empfangene Nachricht eines externen Systems wird in einen Container gepackt, Container und jedes darin enthaltene Datenelement über Identifier eindeutig gekennzeichnet und der Speichereinheit zum Zwischenspeichern übergeben. In Abhängigkeit des mit der Nachricht verbundenen Ereignisses und einer kontextabhängigen Steuerinformation wird von der Steuereinheit eine bestimmte zu aktivierende Methode ermittelt. Die Verarbeitungseinheit wird aufgerufen und die von der Steuereinheit ermittelte Methode geladen. Die Verarbeitungseinheit übergibt der Befehlseinheit den ersten zur Ausführung kommenden Befehl, diese aktiviert ein bestimmtes Modul der Befehlseinheit, je nach Art des zur Ausführung kommenden Befehls. Die Methode enthält Befehle für weitere, spezifisch ablaufende Verarbeitungsschritte. Die in der Methode enthaltenen Befehle werden nach folgenden funktionalen Merkmalen klassifiziert, wobei Mischformen auftreten: a) Container erstellende Befehle erstellen einen Container in der Speichereinheit. Zusätzlich können sie Objektinstanzen bzw. Objektlisten von einem Resourcenmanager bzw. externen System in den Container laden. b) Container speichernde Befehle bewirken die Übergabe von Containern an ein externes System bzw. die Übergabe an einen Resourcenmanager zur Speicherung auf ein persistentes Speichermedium. c) Container löschende Befehle löschen einen Container aus dem Speicher-Management-System. d) Objekt-Befehle erhalten zur Ausführungszeit eine Referenz auf eine Objektinstanz einer bestimmten Klasse, in der Anweisungen für die Befehlsausführung mitgeteilt werden. e) Containerinhalte lesende/modifizierende Befehle lesen/modifizieren den Inhalt von Containern f) ablaufsteuernde Befehle bewirken eine Steuerung des Ablaufverhaltens von Methoden Von der Verarbeitungseinheit wird der in der Methode enthaltene erste auszuführende Befehl einschliesslich Operanden gelesen. Dieser wird der Befehlseinheit übergeben und je nach Befehl wird ein bestimmter Ablauf in der Befehlseinheit angestossen bzw. an andere Funktionseinheiten delegiert. Nach erfolgter Abarbeitung des Befehls wird der nächste auszuführende Befehl gelesen und ein weiterer Ablauf angestossen. Container erstellende Befehle bewirken das Erstellen eines Containers in der Speichereinheit. Zusätzlich können sie Objektinstanzen bzw. Objektlisten in den Container einlesen. Dabei wird in der Befehlseinheit ein bestimmtes Befehlsmodul aktiviert. Von diesem Befehlsmodul ausgehend werden verschiedene Funktionseinheiten aktiviert: • Befehlseinheit: aktivieren Speichereinheit => laden Meta-Daten • Speichereinheit: erstellen eines Containers in der Speichereinheit • Speichereinheit: aktivieren Zugriffseinheit => lesen Meta-Daten • Zugriffseinheit: lesen Meta-Daten von einem Resourcen-Manager und einspeichern Meta-Daten in Container • Befehlseinheit: aktivieren Speichereinheit => laden fachliche Objektinstanz • Speichereinheit: erstellen Container für fachliche Objektinstanz • Speichereinheit: aktivieren Zugriffseinheit => lesen Objektinstanz • Zugriffseinheit: lesen fachliche Objektinstanz von einem Resourcen-Manager und einspeichern Objektinstanz in Container • Speichereinheit: prüfen referentielle Beziehungen zu anderen Objektinstanzen • Speichereinheit: Abhängig von der vorhergehenden Prüfung müssen weitere Objektinstanzen geladen werden. Die Aktivierung hierfür wird von dem Modul der Speichereinheit angestossen. Container speichernde Befehle bewirken das Speichern eines Container-Inhaltes auf einen Resourcen-Manager oder auf ein externes Systems. Dabei wird in der Befehlseinheit ein bestimmtes Befehlsmodul aktiviert. Von diesem Befehlsmodul ausgehend werden verschiedene Funktionseinheiten aktiviert: • Befehlseinheit: aktivieren Speichereinheit => speichern Container-Inhalte • Speichereinheit: ermitteln aller Container, die in der Transaktion geändert worden sind. Die Speichereinheit führt Protokoll aller in einer Transaktion geänderten Container • Speichereinheit: aktivieren Zugriffseinheit => übergeben Liste der zu speichernden Container • Zugriffseinheit: je Container wird die Klasse der enthaltenen Objektinstanz und das damit betroffende Subsystem ermittelt • Zugriffseinheit: je Subsystem werden die Kommunikationseigenschaften (Kommunikationsprotokoll, Kommunikationstreiber, ...) und Transformationsregeln ermittelt • Zugriffseinheit: Die Objektinstanz wird aus dem Container ausgelesen und die Transformation auf das Zielformat des Resourcen-Managers bzw. externe System wird durchgeführt • Die Zugriffseinheit kennt die Kommunikationscharakteristiken der Resourcenmanager und externen Systeme und führt nacheinander die Zugriffe über die Kommunikationstreiber durch • Speichereinheit => löschen Container aus Speicher-Management-System (die Container mit veraltetem Inhalt, die für einen Update-Vorgang kopiert worden sind). Container löschende Befehle bewirken ein Löschen von Containern im Speicher-Management-System. Ein Löschen auf dem zugeordneten Resourcen-Manager findet hierbei nicht statt. Hierfür muss ein Container speichernder Befehl abgesetzt werden. Bei einem löschenden Befehl wird in der Befehlseinheit ein bestimmtes Befehlsmodul aktiviert. Von diesem Befehlsmodul ausgehend werden verschiedene Funktionseinheiten aktiviert: • Speichereinheit: prüfen der referenziellen Integritätsregeln des Löschvorgangs (Meta-Daten bereits geladen, da Objektinstanz bereits aktiv) für die fachliche Objektinstanz • Speichereinheit => laden Objektinstanz aus SYS-LNK, in der referentielle Beziehungen gespeichert sind • Speichereinheit: prüfen, ob Beziehungen auf zu löschende Objektinstanzen existieren • Speichereinheit: wenn nein => kopieren des zu löschenden Containers • Speichereinheit: kopieren Container • Speichereinheit: setzen Statusänderung (löschen) auf kopierten Container. Container inhaltsabhängige Befehle bewirken ein Verändern bzw. Lesen von Inhalten eines Containers. Sie führen dort über die mitgegebenen Operanden, welche aus den eindeutigen Identifiern von Container und Datenelement bestehen, zu einem Modifizieren bzw. Lesen eines Datenelementes eines Containers. Neben einen einzelnen Datenelement kann auch eine Datenelementgruppe, welche ebenfalls über einen eindeutigen Identifier identifiziert wird, gelesen bzw. manipuliert werden. Bei einem inhaltsabhängigen Befehl wird in der Befehlseinheit ein bestimmtes Befehlsmodul aktiviert. Von diesem Befehlsmodul ausgehend werden verschiedene Funktionseinheiten aktiviert: • Befehlseinheit: aktivieren Speichereinheit => lesen bzw. modifizieren Datenelement • Speichereinheit: kopieren Container • Speichereinheit: lesen bzw. modifizieren Datenelement • Speichereinheit: bei Modifikation => setzen Statusänderung (modify) Ablaufsteuernde Befehle bewirken eine Steuerung des Ablaufverhaltens von Methoden. Jeder Befehl innerhalb einer Methode ist eindeutig adressierbar. Über die in den ablaufsteuernden Befehlen enthaltenen Referenzen, die auf entsprechende andere Befehle verweisen, wird der nächste auszuführende Befehl der Befehlseinheit übergeben und ausgeführt. Ablaufsteuernde Befehle, die andere Methoden der Verarbeitungseinheit aufrufen, werden von der Befehlseinheit schrittweise ausgeführt bzw. an andere Funktionseinheiten delegiert. Bei einem ablaufsteuernden Befehl wird in der Befehlseinheit ein bestimmtes Befehlsmodul aufgerufen. Von diesem Befehlsmodul ausgehend werden verschiedene Funktionseinheiten aktiviert: • Befehlseinheit: aktivieren Speichereinheit => laden Objektcode der Methode • Speichereinheit: erstellen eines Containers in der Speichereinheit • Speichereinheit: aktivieren Zugriffseinheit => lesen Meta-Daten der Methode • Zugriffseinheit: lesen Meta-Daten von einem Resourcen-Manager • Speichereinheit: einspeichern Meta-Daten in Container • Speichereinheit: erstellen Container in der Speichereinheit • Speichereinheit: aktivieren Zugriffseinheit => lesen Objektcode der Methode • Zugriffseinheit: lesen des Objektcodes von einem Resourcen-Manager • Speichereinheit: einspeichern Objektcode in Container • Befehlseinheit: ermitteln der im Deklarationsbereich der Methode enthaltenen Objektinstanzen (der Klassen mit Eigenschaft temporär, kontext, service) • Befehlseinheit: aktivieren Speichereinheit => laden der Objektinstanzen, falls im Deklarationsbereich Objektinstanzen definiert sind. Das Laden der Methode erfolgt über Speicher- und Zugriffseinheit, wobei der Objektcode der Methode in einem Container der Speichereinheit gespeichert wird. Nach dem Laden wird die Methode initialisiert und der erste ausführbare Befehl der Befehlseinheit übergeben und ausgeführt. Ablaufsteuernde Befehle, die ein Beenden einer aktiven Methode bewirken, werden von der Befehlseinheit schrittweise ausgeführt bzw. delegiert. Die Speichereinheit wird aufgerufen und temporäre Container der beendenden Methode werden freigegeben. Nach dem Beenden dieser Methode wird von der Befehlseinheit die ursprünglich aufrufende Methode reaktiviert und die Sequenz der Befehle weiter durchlaufen. Ablaufsteuernde Befehle, die ein Beenden der aktiven Verarbeitung bewirken, werden von der Befehlseinheit ebenfalls schrittweise ausgeführt bzw. delegiert. • Befehlseinheit: restoren Rücksprung-Information • Befehlseinheit: aktivieren Speichereinheit => freigeben temporäre Container • Speichereinheit: löschen Container bzw. Lösch-Status setzen • Befehlseinheit: aktivieren Speichereinheit => freigeben Methode • Speichereinheit: setzen Use-Count der zu beendenden Methode • Speichereinheit: Aufruf nächster Befehl (Befehl nach Method Call) Die Präsentationseinheit wird aufgerufen, und für das entsprechende Ausgabegerät wird aus einem zuvor zugewiesenen Ausgabe-Container eine Ausgabenachricht erstellt. Anschliessend wird die Nachricht an das Ausgabegerät gesendet und die aktive Verarbeitung beendet. Objekt-Befehle erhalten zur Ausführungszeit Operanden, einer davon ist eine Referenz auf eine Objektinstanz einer bestimmten, eigens zu definierenden Klasse. Über diese Instanz erhält der Befehl Eingabeinformationen, auf die die Verarbeitung des Befehls Bezug nimmt, z.B. das Überführen von Inhalten eines oder mehrerer Container in einen anderen Container bzw. mehrere andere Container. Objekt-Befehle werden von der Befehlseinheit schrittweise ausgeführt bzw. delegiert. • Befehlseinheit: Aufruf Speichereinheit => laden Objektinstanz • Speichereinheit: Erstellen Container • Speichereinheit: Aufruf Zugriffseinheit => einlesen Objektinstanz • Zugriffseinheit: Lesen Datensatz und speichern in Container • Befehlseinheit: Aufruf Speichereinheit => lesen Anweisungen • Speichereinheit: Rückgabe der Anweisungen • Befehlseinheit: Verarbeitung durchführen (mit Aufruf evtl. weiterer Funktionseinheiten) dadurch gekennzeichnet, dass Präsentationseinheit, Prüfeinheit, Steuereinheit und Zugriffseinheit in Systemroutinen der Ablaufumgebung implementiert sind. Die Ansteuerung der ausgelagerten Funktionseinheiten werden in einer zu erstellenden fachlichen Anwendung nicht programmiert, sondern definiert. Die in die Ablaufumgebung ausgelagerten Funktionseinheiten und damit verbundenen Systemroutinen sind unabhängig von den beteiligten Containern und deren Inhalten, d.h. sie brauchen für die Unterstützung einer neuen Klasse nicht neu programmiert bzw. erweitert zu werden. Angesteuert werden die Systemroutinen der Funktionseinheiten durch Objekte des Anwendungssystems, die in den Dateien ANW-* abgelegt sind und bei Eröffnung einer fachlichen Anwendung in Container geladen werden. dadurch gekennzeichnet, dass von externen Systemen (Resourcen-Manager) kommende Daten bestimmter Informationsstruktur in ein internes Format umgewandelt und als Objektinstanz in ein Container abgelegt werden , welches eine direkte Adressierung auf einzelne Datenelemente ermöglicht. Das interne Format wird formal über Meta-Daten der Klasse ANW-CLS beschrieben. Diese Meta-Daten, die ebenfalls als Objektinstanz in einem Container liegen, werden von den Objektinstanzen des internen Formates über Class-ID und Element-Descriptor referenziert. dadurch gekennzeichnet, dass zusammenhängende Informationen in Containern zusammengefasst werden können. Container können verschiedenartige Inhalte verschiedenster Klassen beinhalten. In ihnen werden Daten von einem persistenten Medium eingelesen bzw. auf ihn gespeichert. Auch interne, zusammenhängende Informationen der Ablaufumgebung werden in Containern zusammengefasst. Jedes Element mit dem enthaltenen Wert kann im Container direkt adressiert werden, ohne sequentielles durchsuchen von gleichartigen Elementen. dadurch gekennzeichnet, dass Container in der Speichereinheit durch eine Struktur gebildet werden, in der jedes einzelne Datenelement für sich und unabhängig von der Lokation anderer Datenelemente gespeichert und gelesen werden kann. Jeder Container ist durch einen Identifier, der Container-ID, eindeutig adressierbar. Jeder Container beinhaltet einen indexbasierten Adressierungsmechanismus, mit dem die in den Containern enthaltenen Datenelemente direkt und eindeutig adressiert werden können. Hierfür wird der eindeutige Identifier eines Daten-Elementes, Element-Descriptor genannt, verwendet. Dieser Element-Descriptor wird als Index in einer im Container enthaltenen Tabelle verwendet, die auf die eigentlichen Datenelemente zeigt. Die in einem Container enthaltene Objektinstanz kann zusammenhängend ausgelesen werden, so dass die richtige Reihenfolge der einzelnen Datenelemente der Objektinstanz gewahrt bleibt. Ein Container kann in seiner Gesamtheit verschoben bzw. kopiert werden, die interne Information bleibt erhalten. dadurch gekennzeichnet, dass informationsverarbeitende, zu programmierende Methoden nach zwei Typen unterschieden werden, wobei Mischformen auftreten können: a) Infrastruktur Methoden Diese Methoden beinhalten Befehle, die unabhängig von einer bestimmten fachlichen Verarbeitung sind und ihre Verarbeitung auf einer Vielzahl von Objektinstanzen unterschiedlicher Klassen durchführen z.B. das Kopieren eines Containers. Charakteristisch für diese Methoden ist, dass die Methoden keine fachlichen Datenelemente einer bestimmten Klasse enthalten. Der Datenstrom bzw. der Container wird an der Methode vorbei gelenkt, die Methode behält aber die Kontrolle über den Container. Durch dieses entscheidende Merkmal können Infrastruktur-Services aufgebaut werden, die unabhängig von dem zu „befördernden" fachlichen Inhalt der Container sind. Angesteuert werden diese Infrastruktur-Services durch Initialisierungsdaten der Methoden, die ausbauend auf ein fachliches Service-Konzept, je fachlichem Service definiert werden. Vergleichbar sind diese Infrastruktur-Services den Autobahnen, sie verbinden z.B. Hamburg mit München über bestimmte Teilautobahnen. Die Möglichkeit, von Hamburg nach München über diese Autobahnabschnitte zu gelangen, entspricht einem Infrastruktur-Service. Welches Fahrzeug (Container) mit welchem Inhalt diese Autobahnabschnitte befährt, ist in der Regel nicht von Bedeutung. b) Business Methoden Diese Methoden beinhalten eine fachliche Verarbeitung und werden durch Container lesende und Container modifizierende Befehle gebildet. Die Methoden enthalten in ihrem Deklarationsbereich fachlich abhängige Datendefinitionen. dadurch gekennzeichnet, dass die Speichereinheit durch ein zentrales Speicher-Management-System (SMS) realisiert wird, in dem alle Objektinstanzen in Container nur maximal einmal geladen und von verschiedenen Prozessen gemeinsam benutzt werden. Zu ändernde Container werden vom Speicher-Management-System kopiert und der neue Container dem betreffenden Prozess (Task) alleinig zur Verfügung gestellt. Alle Funktionseinheiten haben direkten Zugriff auf die Container und Datenelemente innerhalb der Speichereinheit, eine Kapselung der Container gegenüber den Funktionseinheiten findet nicht statt. Im Speicher-Management-System ist jedes Datenelement eines Containers direkt und eindeutig über den Identifier des Containers und den Identifier des Datenelementes (Element-Descriptor) adressierbar, ohne iterative sequentielle Durchläufe. Bei Array-Datenelementen kommen zur eindeutigen Identifizierung eines Datenelementes noch die Positions-Indexe hinzu. Neben den Objektinstanzen, deren Klasse durch den Typ „persistent" definiert ist, d.h. die auf einen Resourcen-Manager zu speichern sind, befinden sich im SMS auch Objektinstanzen, deren Klassen „temporär" definiert sind. Auch für diese gelten die gleichen Adressierungsarbeitsweisen mit Identifier für Container und Identifier des Datenelementes. Ein wichtiges Merkmal des Speicher-Management-Systems ist, dass die Speichereinheit für jede laufende Transaktion ein Protokoll mitführt, in dem Statusänderungen (Neuerstellen eines Containers, Verändern Inhalt eines Containers, Löschen eines Containers) von Containern vermerkt sind. Bei Commit Processing sind diese Container, deren Status geändert worden ist, als zusammenhängende Unit of Work zu bearbeiten und der Zugriffseinheit mitzuteilen. Ein Commit-Befehl bewirkt das Speichern aller veränderten Container. dadurch gekennzeichnet, dass Methoden der Verarbeitungseinheit direkt die in den Containern liegenden Datenelemente über einen Identifier des Containers und einen Identifier des Datenelementes adressieren. Methoden der Verarbeitungseinheit definieren in ihrem Deklarationsbereich die Klasse, auf deren im Container geladene Objektinstanz zugegriffen wird. Die Deklaration beinhaltet den Verweis auf den eindeutigen Identifier des Containers und die eindeutigen Identifier der enthaltenen Elemente. Diese Definition im Datendefinitionsbereich verwendet der Compiler für den Aufbau des Operationscodes und der Adressierung eines Containers und der Datenelemente. dadurch gekennzeichnet, dass Methoden der Verarbeitungseinheit direkte Steuerung auf den Fluss der Containerinhalte durch die beteiligten Schichten ausüben. Durch einen entsprechenden Befehl kann eine Methode den zwischengespeicherten Containerinhalt eines Endgerätes (z.B. Browser) in ein oder mehrere in der Speichereineiheit liegenden Container einlesen, oder z.B. die Übergabe der in der Speichereinheit liegenden Container an einen Resourcen-Manager zur Speicherung veranlassen . Die Methoden des steuernden Typs besitzen keine Kenntnisse über den Inhalt von Containern, werden jedoch von kontextbezogenen Daten angesteuert. Dadurch sind diese Methoden für eine Vielzahl von verschiedenen Containern einsetzbar. Wiederverwendbare Infrastrukturdienste werden hiermit aufgebaut. dadurch gekennzeichnet, dass Methoden der Verarbeitungseinheit direkt andere Methoden der Verarbeitungsschicht aufrufen können, wobei eine Informationsübergabe über folgende beiden Möglichkeiten erfolgt: a) die aufrufende Methode übergibt für die einzelnen Parameter für jeden dieser Parameter einen Container-Identifier und den Elementdescriptor an die aufgerufene Methode. b) die aufrufende Methode übergibt nur Container-Identifier, die aufgerufene Methode besitzt in diesem Fall Zugriff auf alle Datenelemente dieser Container. Nach Beendigung der aufgerufenen Methode wird mit dem nächsten Befehl in der aufrufenden Methode nach dem Aufruf fortgesetzt. dadurch gekennzeichnet, dass eine durchgängige und einheitliche Adressierung eines Datenelementes innerhalb eines Containers in der Speichereinheit durch Container-Identifier und Element-Descriptor über alle Funktionseinheiten des Software-Systems besteht. Diese Einheiten sind Zugriffseinheit, Methoden der Verarbeitungseinheit, Prüfeinheit, Steuerungseinheit, Präsentationseinheit. Je nach Software-Implementierung der Ablaufumgebung können diese Einheiten klar voneinander abgegrenzt werden, oder fliessend ineinander übergehen. dadurch gekennzeichnet, dass durch einen Element-Descriptor eine eindeutige Identifikation jedes Elements einer Klasse gewährleistet ist. Der Wert dieses Element-Descriptors bleibt für die gesamte „Lebenszeit", in der ein Element in einer Klasse existiert, erhalten. Hierdurch wird der Inhalt eines Elementes innerhalb eines Containers, also das Datenelement, eindeutig adressiert. Der Wert des Element-Descriptors wird als Index für die Adressierung eines Tabellenelementes verwendet. dadurch gekennzeichnet, dass Methoden der Verarbeitungseinheit über sendende und empfangende Befehle die Zugriffseinheit aufrufen können, um z.B. das Laden einer Objektinstanz in einen Container zu veranlassen. Anschliessend wird mit dem folgenden Befehl, der nach dem sendenden bzw. empfangenden Befehl folgt, fortgefahren. dadurch gekennzeichnet, dass für die in Container liegenden Objektinstanzen unterschiedlichster Klassen die Unterstützung eines durchgängigen Objektmodells durch Befehls-, Speichereinheit-, Verarbeitungs- und Präsentationseinheit besteht. Unter durchgängige Unterstützung eines Objektmodells ist in dieser Dokumentation gemeint: a) für Befehls- und Speichereinheit das Verwalten referentieller Integrität von Objektinstanzen bzgl. Generalisierung/Spezialisierung, Aggregation und Assoziation . b) Verarbeitungseinheit programm-technische Verknüpfung von Objektinstanzen unterschiedlicher Klassen hinsichtlich Vererbung, Aggregation und Instanziierung von Klassen. c) Präsentationseinheit Die Bestandteile einer Ausgabe auf ein Endgerät (z.B. Browser) bestehen aus Objektinstanzen der Klasse SVG-Objekte, Text-Objekte und fachlicher Objektinstanzen. SVG- und Text-Objekte bestimmen Formatierung und Positionen von Text- und Eingabefelder auf dem Ausgabegerät. Alle zur Ausgabe kommenden Objektinstanzen liegen in Containern der zentralen Speichereinheit und können von dort herangezogen werden. Metadaten des jede fachliche Anwendung beschreibenden Objektmodells werden von der Zugriffseinheit bei Eröffnung einer fachlichen Anwendung in Container der Speichereinheit geladen und von internen Routinen der Präsentations-, Verarbeitungs- und Zugriffseinheit zwecks Automatisierung von Abläufen herangezogen. Automatisierte Abläufe sind u.a. Verwalten und Prüfen der referentiellen Integrität von Objektinstanzen oder das automatische Laden von abhängigen Objektinstanzen. dadurch gekennzeichnet, dass Update-Vorgänge auf Resourcen-Manager von Befehl „commit" eingeleitet werden und für eine logische Transaktion alle in der Speichereinheit veränderten, gelöschten oder neu erstellten Container in einer „Unit of Work" zusammengefasst werden. Die Objektinstanzen in den Containern können dabei fachliche Daten als auch systemtechnische Informationen, z.B. Objektinstanzen der Klasse SYS-LNK, enthalten. Die Statusänderungen dieser in einer „Unit of Work" zusammengefassten Container werden einem bzw. mehreren Resourcen-Managern zur Speicherung übergeben. Die Zugriffseinheit steuert alle beteiligten Subsysteme, über die Resourcen-Manager oder externe Systeme erreichbar sind, entsprechend ihren Kommunikationscharakteristiken an. Über Objektinstanzen der Klasse SYS-SYS erhält die Zugriffseinheit die Information bzgl. der Eigenschaften der Subsysteme. Die Zugriffseinheit übernimmt die Steuerung des gesamten Update-Vorgangs, also Verändern von Informationen auf einem Resourcen-Manager, Löschen von Informationen und Neuaufnahme einer Information. dadurch gekennzeichnet, dass die fachlichen Klassen mit ihren enthaltenen Methoden, Vererbungsbeziehungen zu anderen Klassen bzgl. Spezialisierung, Aggregation und Assoziation in XML-Dokumenten abgelegt werden. Beim Eröffnen einer fachlichen Anwendung werden diese Definitionen, von der Befehlseinheit angestossen, über die Zugriffseinheit in einen Container der Speichereinheit geladen. dadurch gekennzeichnet, dass die fachlichen Klassen keine Kapselung der in den Containern liegenden Objektinstanzen für Präsentations-, Prüf-, Steuerungs- und Zugriffseinheit durchführen. Die „inhaltsabhängigen" Befehle von Methoden der Verarbeitungseinheit können auf die Datenelemente der Container lesend und schreibend zugreifen. dadurch gekennzeichnet, dass kontextabhängige Unterstützung (Device-Typ, Sprache, Rolle, Mandant) in den Funktionseinheiten der Ablaufumgebung integriert ist. Dabei wird ein logischer Aufruf eines Objektes der Ablaufumgebung je nach Kontext in einen realen Aufruf einer realen Objektinstanz aufgelöst. dadurch gekennzeichnet, dass eine Organisationsstruktur für die Aufnahme aller notwendigen Objekte bestimmter Klassen einer Anwendung (Anwendung, Klassen, Methoden, Services, Geschäftsprozesse, User, Gruppen, Rollen) integriert ist. dadurch gekennzeichnet, dass zur performance Unterstützung Klassen der Eigenschaft „offset" definierbar sind, die eine direkt Offset-Adressierung aus einer Methode auf die in Container liegenden Datenelemente erlauben. In diesem Fall stellt ein Operand für die Adressierung eines Datenlementes kein Element-Descriptor dar, sondern ein Offset-Wert, über den ein Datenlement in einem Container adressiert wird. dadurch gekennzeichnet, dass in ihrer Zusammenstellung nachfolgend beschriebener Punkte die wesentlichen Merkmale der Ablaufumgebung bestimmt werden: • Auslagerung der Präsentations-, Prüf-, Steuerungs- und Zugriffsschicht eines Anwendungssystems in die Funktionseinheiten Präsentations-, Prüf-, Steuerungs- und Zugriffseinheit der Ablaufumgebung • Eindeutige Identifizierung von Datenlementen über Container-ID und Element-Descriptor über alle Funktionseinheiten • Direkter Zugriff über die Speichereinheit auf Container und Datenelemente von den fachlichen Methoden aus • Die steuernde Kontrolle bleibt bei den fachlichen Methoden, hierzu gehören A) das Lesen/Speichern von Objektinstanzen von/auf einen Resourcen-Manager B) der direkte Aufruf einer weiteren Methode und Rücksprung zu der aufrufenden Methode C) Einlesen von Eigabenachrichten und Ausgeben von Ausgabenachrichten. UnteransprücheMethod and device for receiving and controlling information-processing, program-controlled processes in computer systems, characterized in that incoming information is packed into containers in the device referred to here as a runtime environment. In the runtime environment constructed from functional units, the container contents are processed by means of special commands of the processing unit and forwarded logically by the functional units. The containers are provided with meta-information about their content and relationships with other containers. All functional units have direct access to the containers, including their contents. The functional units are in detail: a) presentation unit this unit receives / sends messages from / to external terminals or end systems such as browsers. b) Checking unit This unit checks received messages for correctness of form and content c) Control unit This unit activates a method of the processing unit on the basis of a received event d) Processing unit This unit contains information processing methods. The special commands contained in the methods have direct access to the contents of the containers via the command / memory unit and control the containers through the individual functional units. e) Storage Unit This unit stores containers in virtual memory with the data items contained in object instances. Each container is identified by a unique container identifier. In addition, each data element within a container is also identified by a unique identifier. f) Command unit This unit processes the commands contained in the information-processing methods or delegates the execution to other functional units. g) Access unit This unit reads information from a resource manager or external system and stores this information in containers of the storage unit. Likewise, it transfers information, taken over as a container from the storage unit, to resource managers and external systems for storage on a persistent medium. The message of an external system received by the presentation unit is packed into a container, containers and each data element contained therein are uniquely identified by identifiers and transferred to the memory unit for buffering. Depending on the event associated with the message and context-dependent control information, the control unit determines a specific method to be activated. The processing unit is called and the method determined by the control unit is loaded. The processing unit gives the instruction unit the first instruction to be executed, which activates a particular module of the instruction unit, depending on the type of execution the command. The method contains commands for further, specifically executed processing steps. The commands contained in the method are classified according to the following functional characteristics, whereby mixed forms occur: a) Container-creating commands create a container in the memory unit. In addition, you can load object instances or object lists from a resource manager or external system into the container. b) Container-saving commands cause the transfer of containers to an external system or the transfer to a resource manager for storage on a persistent storage medium. c) Container deleting commands delete a container from the storage management system. d) Object instructions receive, at run time, a reference to an object instance of a particular class in which instruction execution instructions are communicated. e) Container contents read / modify commands read / modify the content of containers f) flow control commands cause control of the flow behavior of methods The processing unit reads the first instruction to be executed, including operands, contained in the method. This is transferred to the command unit and, depending on the command, a specific sequence in the command unit is triggered or delegated to other functional units. After the execution of the command, the next command to be executed is read and another sequence is initiated. Container creating commands cause the creation of a container in the storage unit. In addition, they can import object instances or object lists into the container. In this case, a specific command module is activated in the command unit. Starting from this command module, various functional units are activated: • Command unit: activate Memory unit => load Meta data • Storage unit: create a container in the storage unit • Storage unit: activate Access unit => read Meta data • Access unit: read meta data from a resource Manager and save meta-data in container • Command unit: activate storage unit => load subject-specific object instance • storage unit: create container for functional object instance • storage unit: activate access unit => read object instance • access unit: read functional object instance from a resource manager and save object instance in container • Storage unit: check referential relationships with other object instances • Storage unit: Depending on the previous check, additional object instances must be loaded. The activation for this is initiated by the module of the memory unit. Container-saving commands cause a container content to be stored on a resource manager or on an external system. In this case, a specific command module is activated in the command unit. Starting from this command module, various functional units are activated: • Command unit: activate Storage unit => save container contents • Storage unit: identify all containers that have been changed in the transaction. The memory unit keeps a log of all containers changed in a transaction. • Memory unit: activate Access unit => transfer List of containers to be stored • Access unit: per container the class of the contained object instance and the subsystem involved is determined. • Access unit: per subsystem the communication properties (communication protocol , Communication driver, ...) and transformation rules determined • Access unit: The object instance is read from the container and the transformation to the destination format of the resource manager or external system is performed. • The access unit knows the communication characteristics of the resource managers and external systems and performs them one after the other accesses via the communication drivers by • storage unit => delete containers from storage management system (the containers with outdated content that have been copied for an update process). Container deleting commands cause containers to be deleted in the storage management system. There is no deletion on the assigned resource manager. To do this, a container-saving command must be issued. A delete command activates a specific command module in the command unit. Starting from this command module, various functional units are activated: Memory unit: checking the referential integrity rules of the deletion process (metadata already loaded, object instance already active) for the functional object instance • memory unit => load object instance from SYS-LNK in which referential relationships are stored • memory unit: check whether there are relationships to object instances to be deleted • memory unit: if no => copy the container to be deleted • Storage unit: copy container • Storage unit: set status change (delete) on copied container. Container content-dependent commands cause a content to be changed or read from a container. There they lead via the given operands, which consist of the unique identifiers of container and data element, to modify or read a data element of a container. In addition to a single data element, a data element group, which is also identified via a unique identifier, can be read or manipulated. For a content-dependent command, the command unit activates a specific command module. Starting from this command module, various functional units are activated: • command unit: activate memory unit => read or modify data element • memory unit: copy container • memory unit: read or modify data element • memory unit: if modified => set change of state (modify) Sequential commands cause a Control the flow behavior of methods. Each command within a method is uniquely addressable. Via the references contained in the flow control commands, which refer to corresponding other commands, the next command to be executed is transferred to the command unit and executed. Sequential commands calling other processing unit methods are executed by the instruction unit step by step or delegated to other functional units. In the case of a run-controlling command, a specific command module is called in the command unit. Starting from this command module, various functional units are activated: • Command unit: activate Storage unit => load object code of the method • Storage unit: create a container in the storage unit • Storage unit: activate access unit => read meta data of the method • Access unit: read meta data from a resource manager • storage unit: store meta data in container • storage unit: create container in the storage unit • storage unit: enable access unit => read object code of the method • access unit: read the object code from a resource manager • storage unit: store object code in container • Command unit: determine the object instances contained in the declaration area of the method (the classes with property temporary, context, service) • Command unit: activate Memory unit => load the object instances if object instances are defined in the declaration area si nd. The method is loaded via storage and access unit, whereby the object code of the method is stored in a container of the storage unit. After loading, the method is initialized and the first executable command is passed to the instruction unit and executed. Sequential commands that cause an active method to terminate are executed or delegated step by step by the command unit. The storage unit is called and temporary containers of the terminating method are released. After completing this method, the instruction unit will re-activate the original calling method and continue through the sequence of instructions. Sequencing instructions that cause termination of active processing are also executed or delegated by the instruction unit step by step. • Command unit: Restore return information • Command unit: activate Storage unit => release temporary containers • Storage unit: delete Set container or delete status • Command unit: activate Storage unit => release Method • Storage unit: set Use-Count of the method to be stopped • Storage unit : Call Next Command (Method Call Command) The presentation unit is called and an output message is created for the corresponding output device from a previously assigned output container. Subsequently, the message is sent to the output device and the active processing is terminated. Object commands receive operands at execution time, one of which is a reference to an object instance of a particular class to be specifically defined. Through this instance, the command receives input information to which the instruction's processing refers, eg, transferring contents of one or more containers to another container or containers. Object commands are executed or delegated step by step by the command unit. • Command unit: call memory unit => load object instance • memory unit: create container • memory unit: call access unit => read object instance • access unit: read data record and store in container • command unit: call memory unit => read instructions • memory unit: return the instructions • command unit: Processing (with call possibly further functional units) characterized in that presentation unit, test unit, control unit and access unit are implemented in system routines of the runtime environment. The control of the outsourced functional units are not programmed in a technical application to be created, but defined. The functional units paged out in the runtime environment and the associated system routines are independent of the containers involved and their contents, ie they do not need to be reprogrammed or extended to support a new class. The system routines of the functional units are controlled by objects of the application system that are stored in the ANW- * files and loaded into containers when a specialized application is opened. characterized in that from external systems (resource manager) coming data of certain information structure are converted into an internal format and stored as an object instance in a container, which allows direct addressing to individual data elements. The internal format is formally described using metadata of class ANW-CLS. This meta-data, which also resides as an object instance in a container, is referenced by the object instances of the internal format via class ID and element descriptor. characterized in that contiguous information can be summarized in containers. Containers can contain various contents of different classes. In them, data is read from or stored on a persistent medium. Internal, coherent information of the runtime environment is also summarized in containers. Each element with the contained value can be directly addressed in the container, without sequential searching of similar elements. characterized in that containers are formed in the memory unit by a structure in which each individual data element can be stored and read by itself and independently of the location of other data elements. Each container can be uniquely addressed by an identifier, the container ID. Each container contains an index-based addressing mechanism that can be used to directly and uniquely address the data elements contained in the containers. For this purpose, the unique identifier of a data element called element descriptor is used. This element descriptor is used as an index in a table in the container that points to the actual data elements. The object instance contained in a container can be read coherently, so that the correct order of the individual data elements of the object instance is maintained. A container can be moved or copied in its entirety, the internal information is retained. characterized in that information-processing methods to be programmed are classified into two types, whereby mixed forms can occur: a) Infrastructure methods These methods contain commands which are independent of a particular technical processing and perform their processing on a multiplicity of object instances of different classes, eg Copy a container. Characteristic of these methods is that the methods do not contain any functional data elements of a particular class. The data stream or container is routed past the method, but the method retains control of the container. This crucial feature enables infrastructure services to be set up that are independent of the "content" of the containers to be "transported." These infrastructure services are controlled by initialization data of the methods that are defined based on a specialist service concept for each technical service These infrastructure services can be compared to the motorways, for example, they connect Hamburg with Munich via certain sub-highways.The option of getting from Hamburg to Munich via these motorway sections corresponds to an infrastructure service.Which vehicle (container) travels with which content these freeways sections , is usually irrelevant b) Business methods These methods contain a technical processing and are formed by container-reading and container-modifying commands The methods contain in their declaration area technically dependent data definitions. that the storage unit is realized by a central storage management system (SMS) in which all object instances are loaded in containers only once and shared by different processes. Containers to be changed are copied by the storage management system and the new container is made available to the relevant process (task) on its own. All functional units have direct access to the containers and data elements within the storage unit; there is no encapsulation of the containers in relation to the functional units. In the memory management system, each data element of a container is directly and uniquely addressable via the identifier of the container and the identifier of the data element (element descriptor), without iterative sequential passes. For array data elements, the position indices are added to uniquely identify a data element. In addition to the object instances whose class is defined by the type "persistent", ie which are to be stored on a resource manager, there are also object instances in the SMS whose classes are defined as "temporary". The same addressing procedures with identifiers for containers and identifiers of the data element also apply to these. An important feature of the memory management system is that the memory unit for each current transaction carries a log in which status changes (rebuilding a container, changing the contents of a container, deleting a container) of containers are noted. With commit processing, these containers, whose status has been changed, are to be processed as a coherent unit of work and to be communicated to the access unit. A commit command saves all changed containers. characterized in that methods of the processing unit directly address the data elements lying in the containers via an identifier of the container and an identifier of the data element. Methods of the processing unit define in their declaration area the class to which the object instance loaded in the container is accessed. The declaration contains the reference to the unique identifier of the container and the unique identifiers of the contained elements. The compiler uses this definition in the data definition area to construct the opcode and to address a container and the data elements. characterized in that methods of the processing unit exercise direct control over the flow of container contents through the layers involved. By means of a corresponding command, a method can read in the cached container content of a terminal (eg browser) into one or more containers located in the storage unit or, for example, cause the transfer of the containers located in the storage unit to a resource manager for storage. The controlling-type methods have no knowledge of the contents of containers, but are driven by contextual data. As a result, these methods can be used for a large number of different containers. Reusable infrastructure services are hereby established. characterized in that methods of the processing unit can call directly other methods of the processing layer, wherein an information transfer via the following two options: a) the calling method passes for each parameter for each of these parameters a container identifier and the element descriptor to the called method. b) the calling method only transfers container identifiers, in which case the called method has access to all data elements of these containers. After completing the called method, the next command in the calling method continues after the call. characterized in that a continuous and uniform addressing of a data element within a container in the memory unit by container identifier and element descriptor over all functional units of the software system. These units are access unit, processing unit methods, test unit, control unit, presentation unit. Depending on the software implementation of the runtime environment, these units can be clearly delimited from one another, or can merge smoothly. characterized in that a unique identifier of each element of a class is ensured by an element descriptor. The value of this element descriptor is preserved for the entire "lifetime" of an element in a class, uniquely addressing the content of an element within a container, that is, the data element Index used for addressing a table element, characterized in that methods of the processing unit can call the access unit via sending and receiving commands, for example, to cause the loading of an object instance into a container.After that, with the following command, which after the sending or receiving receiving command follows, proceeded. characterized in that for the lying in container object instances of different classes, the support of a continuous object model by command, memory unit, processing and presentation unit consists. Consistent support for an object model in this documentation means: a) for command and memory units, the administration of referential integrity of object instances with respect to generalization / specialization, aggregation, and association. b) processing unit program-technical linking of object instances of different classes with regard to inheritance, aggregation and instantiation of classes. c) Presentation unit The components of an output on a terminal device (eg browser) consist of object instances of the class SVG objects, text objects and technical object instances. SVG and text objects determine formatting and positions of text and input fields on the output device. All output object instances are stored in containers of the central storage unit and can be used from there. Metadata of the object model describing each technical application is loaded by the access unit into containers of the memory unit when a specialized application is opened and is used by internal routines of the presentation, processing and access unit for the purpose of automating processes. Automated processes include managing and checking the referential integrity of object instances or automatically loading dependent object instances. characterized in that update operations are initiated on resource manager of the command "commit" and for a logical transaction all changed, deleted or newly created containers in the storage unit are combined in a "unit of work". The object instances in the containers can contain technical data as well as system-technical information, eg object instances of the class SYS-LNK. The status changes of these containers combined in a "unit of work" are passed to one or more resource managers for storage.The access unit controls all subsystems involved, via which resource managers or external systems can be reached, according to their communication characteristics In the SYS-SYS class, the access unit receives information about the properties of the subsystems.The access unit takes over the control of the entire update process, that is, changing information on a resource manager, deleting information and adding information Specialized classes with their contained methods, inheritance relationships to other classes with regard to specialization, aggregation and association in XML documents are stored When opening a functional application, these definitions are triggered by the instruction unit via the access unit loaded into a container of the storage unit. characterized in that the technical classes do not encapsulate the object instances in the containers for presentation, testing, control and access unit. The "content-dependent" commands of processing unit methods can read and write to the data elements of the containers, characterized in that context-dependent support (device type, language, role, client) is integrated in the functional units of the runtime environment, becoming a logical call Depending on the context, an object of the runtime environment is resolved into a real call of a real object instance, characterized in that an organizational structure for the inclusion of all necessary objects of particular classes of an application (application, classes, methods, services, business processes, users, groups, roles) is integrated is characterized in that the performance support classes of the property "offset" can be defined, which allow a direct offset addressing from a method to the lying in container data elements. In this case, an operand for the addressing of a data element does not represent an element descriptor, but an offset value via which a data element in a container is addressed. characterized in that the key features of the runtime environment are determined in its compilation of points described below: • Outsourcing of the presentation, test, control and access layer of an application system in the functional units presentation, testing, control and access unit of the runtime environment • Unique Identification of data elements via container ID and element descriptor across all functional units • Direct access via the storage unit to containers and data elements from the technical methods • The controlling control remains with the technical methods, which include A) the reading / saving of object instances from / to a resource manager B) the direct call of another method and return to the calling method C) Read in egg news and output output messages. under claims Vorrichtung und Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass auf Basis der unter dem Anspruch 1 genannten Merkmale ein Entwicklungssystem konzipiert wird, welches die Erstellung von fachlichen Methoden durch das Zusammenfügen von graphischen Elementen ermöglicht. Die Befehle (z.B. IF- oder FOR-Befehl) werden nicht als Source-Text, sondern in XML-Dokumenten abgelegt. Für jeden Befehl wird auf den vorhergehenden und nachfolgenden Befehl verwiesen. Über Connection-Points wird die Sequenz der Befehle graphisch definiert. Für jeden Befehl wird die Art des Befehls (z.B. FOR-Schleife) und ihrer notwendigen Operanden festgehalten. Aus der Summe und der Reihenfolge der Befehle einer Methode wird bei der Kompilierung der entsprechende Objektscode erstellt, mit der die Befehlseinheit angesteuert wird.Apparatus and method according to claim 1 characterized characterized in that based on the mentioned in the claim 1 Features a development system is designed, which the creation of technical methods through the assembly of graphical elements allows. The commands (for example IF or FOR command) are not stored as source text, but in XML documents. For each Command is directed to the previous and following command. About connection points the sequence of commands is defined graphically. For each Command becomes the type of command (e.g., FOR loop) and its necessary operands recorded. From the sum and the order of commands one Method will compile the appropriate object code created, with which the command unit is controlled. Vorrichtung und Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass die Funktionseinheiten in die Ablaufumgebung „NATURAL" der Software AG integriert werden. Dabei werden Container-Inhalte, die sich in der Speichereinheit befinden, als neuer Data-Area Typ im Deklarationsbereich eines Natwal-Anwendungsprogrammes definiert. Der Natwal-Compiler erkennt bei der Kompilierung diesen neuen Data-Area Typ und baut für den Zugriff auf die Container-Inhalte intern einen Natwal-Objektcode auf, über den der Natwal-Nucleus die Speichereinheit für den Zugriff auf einen Container ansteuern kann. In einem Natural-Programm können gleichzeitig die Datenelemente von Containern und die Datenelemente in herkömmlichen Datenstrukturen adressiert werden.Apparatus and method according to claim 1 characterized characterized in that the functional units in the runtime environment "NATURAL" Software AG to get integrated. This will be container content that is in the Storage unit as a new data area type in the declaration area a Natwal application program Are defined. The natwal compiler recognizes this during compilation new data area type and builds for accessing the container contents internally a natwal object code up, over the Natwal Nucleus the storage unit for accessing a container can drive. In a Natural program, the data elements can be used simultaneously of containers and the data elements addressed in conventional data structures become. Vorrichtung und Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass informationsverarbeitende Methoden von fachlichen Klassen aus Programmen, Unterprogrammen, Funktionen, Interpretersprachen, Scriptsprachen gebildet werden können.Apparatus and method according to claim 1, characterized characterized in that information-processing methods of professional Classes from programs, subroutines, functions, interpreter languages, scripting languages can be formed. Vorrichtung und Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Befehlssatz der Befehlseinheit erweiterungsfähig konzipiert ist und neuartige Objekt-Befehle ermöglicht. Der Dispatching-Mechanismus der Verarbeitungseinheit liest den Objektcode einer Methode, erkennt einen definierten Befehl und ruft die Befehlseinheit auf. Diese ruft das entsprechende Befehlsmodul für die Bearbeitung des Befehls auf. Folgende Bestandteile finden Verwendung: a) Befehls-Control graphische Control-Element innerhalb der Entwicklungsumgebung, welches Befehl und Operanden für das Befehlsmodul spezifiziert. b) Befehlsmodul Programmcode in der Befehlseinheit, welcher den übersetzten Befehl ausführt. Dieses Befehlmodul bedient sich fest definierter Schnittstellen anderer Funktionseinheiten. c) Befehlsobjektinstanz Objektinstanz einer bestimmten Klasse in der Anweisungen für das Befehlsmodul stehen. Hierüber werden speziell Verarbeitungsschritte des Befehlsmoduls angesteuert. d) Befehlscode in SYS-SYS Definition in der Befehlstabelle mit entsprechenden Befehlscode und zugeordnetem Befehlsmodul. Hierüber wird das Befehlsmodul in die Ablaufumgebung geladen. Durch diese Objekt-Befehle können neuartige, sehr mächtige Befehle, die in einem bestimmten Kontext laufen, implementiert werden.Device and method according to claim 1, thereby in the instruction set of the instruction unit is designed to be expandable is and allows new object commands. The dispatching mechanism the processing unit reads the object code of a method that recognizes a defined command and invokes the command unit. These calls the appropriate command module for processing the command on. The following components are used: a) command control graphic Control element within the development environment, which command and operands for specifies the command module. b) Command module program code in the instruction unit which executes the translated instruction. This Command module uses fixedly defined interfaces of others Functional units. c) Command object instance object instance a specific class in the instructions for the command module. About here special processing steps of the command module are controlled. d) Command code in SYS-SYS Definition in the command table with corresponding command code and associated command module. About this is the command module is loaded into the runtime environment. Through this Object commands can novel, very powerful Commands that run in a particular context are implemented. Vorrichtung und Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass ein Befehl auf Basis der Objekt-Befehle definiert wird, der Datenelement-Übertragungen von Container-Inhalten verschiedener Klassen ermöglicht. Über diesen Befehl werden in der Verarbeitungseinheit Akkumulier- und Verteilungsvorgänge definiert, die von der Präsentations – oder Zugriffseinheit ausgeführt werden. Ein entsprechender Befehl der Verarbeitungseinheit spezifiziert eine Befehlsobjektinstanz, in der Anweisungen für die zu akkumulierenden bzw. verteilenden Elemente von Klassen angegeben sind.Apparatus and method according to claim 5, characterized that defines a command based on the object commands will, the data element transfers container contents of different classes. About this command will be in the processing unit defines accumulation and distribution operations, that of the presentation or access unit accomplished become. A corresponding instruction of the processing unit specifies a command object instance in which instructions are to be accumulated or distributed Elements of classes are specified. Vorrichtung und Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass ein Befehl auf Basis der Objekt-Befehle definiert wird, der eine Befehlsobjektinstanz aus einem Container einliest, die Bedingungen enthält, welche der Objekt-Befehl auswertet, um weitere Verarbeitungsschritte anzusteuern.Apparatus and method according to claim 5, characterized that defines a command based on the object commands which reads a command object instance from a container, contains the conditions which evaluates the object command for further processing steps head for. Vorrichtung und Verfahren nach Anspruch 5 dadurch gekennzeichnet, dass ein Befehl auf Basis der Objekt-Befehle definiert wird, der eine Befehlsobjektinstanz aus einem Container einliest, die fachliche Abläufe enthält, welche der Objektbefehl auswertet und bestimmte Abläufe ansteuert.Apparatus and method according to claim 5 characterized that defines a command based on the object commands which reads a command object instance from a container, which contains technical procedures, which the object command evaluates and controls certain processes. Vorrichtung und Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass Identifier von Container und Element-Descriptor durch Werte realisiert werden, die den direkten, eindeutigen Einsprung in eine Tabelle ermöglichen, um so ein Tabellenelement direkt zu adressieren.Apparatus and method according to claim 1, characterized marked identifier of container and element descriptor be realized by values that are the direct, unambiguous entry to allow in a table to address a table element directly. Vorrichtung und Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in der Befehlseinheit folgende Befehle definiert sind: commit speichern Objektinstanzen auf Resourcen-Manager update speichern bestimmte Objektinstanzen auf Resourcen-Manager createObject erstellen Container und laden Meta-Daten deleteObject löschen Objekt in der Speichereinheit linkObject referentielle Beziehung zwischen Objektinstanzen ausbauen unlinkObject referentielle Beziehung zwischen Objektinstanzen abbauen listObjects referentielle Beziehungen einer Objektinstanz anzeigen getObject eine bestimmte Objektinstanz von einem Resourcen-Manager laden Move Datenlemente von einer Objektinstanz auf eine andere bzw. selbe übertragen Copy gesamten Container mit Inhalt in einen neuen Container kopieren return zurück zu aufrufende Methode logon aktivieren Anwendung mit Laden der Meta-Daten und Aufruf der Startup-Methode if Vergleich mindestens zweier Datenelemente Schleife Schleifenverarbeitung (FOR, WHILE, ...)Device and method according to claim 1, thereby in that in the command unit following commands are defined: commit save object instances to Resource Manager update to save certain object instances on Resource Manager createObject create Container and load meta-data deleteObject delete object in the storage unit link object referential relationship Remove between object instances unlinkObject referential Break down the relationship between object instances list objects referential Display relationships of an object instance getObject a Load specific object instance from a resource manager Move Datenlemente from one object instance to another or the same Copy overall Copy containers with content to a new container return back to calling method logon activate application with loading the meta-data and calling the startup method if Comparison at least two data elements loop Loop processing (FOR, WHILE, ...) Vorrichtung und Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Aufruftechnik für den Zugriff auf die in Containern enthaltenen Datenelemente unterschiedlich realisiert sein kann: a) Der Aufruf ist in der entsprechenden Programmiersprache direkt integriert. In diesem Fall erstellt der Compiler einen Operationscode für den entsprechenden Befehl, einen Verweis auf den Container-Identifier und einen Verweis auf den Identifier des Datenelementes b) er kann durch ein Funktionsaufruf realisiert sein mit Übergabe der beiden Identifier für Container und Datenelement c) er kann durch einen Methodenaufruf mit Übergabe der beiden Identifier an die Instanz einer Klasse realisiert sein. In allen drei Fällen wird durch den Zugriff ein Befehlsmodul der Befehlseinheit angesteuert. Diese Modul steuert anschliessend über weitere Funktionen der Speichereinheit den Zugriff auf die Datenelemente der Container.Device and method according to claim 1, thereby in that the calling technique for accessing the in containers contained data elements can be realized differently: a) The call is directly integrated in the corresponding programming language. In this case, the compiler creates an opcode for the corresponding one Command, a reference to the container identifier and a reference to the identifier of the data element b) he can by a Function call to be realized with transfer of the two identifiers for containers and data element c) he can by a method call with transfer the two identifiers to the instance of a class be realized. In all three cases is accessed by the access a command module of the command unit. This module then controls further functions of the Storage unit access to the data elements of the container. Vorrichtung und Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die zu erstellenden Objekte einer Anwendung • Objekt Anwendung • Objekt Klasse • Objekt Methode • Objekt Menü • Objekt Service • Objekt Geschäftsprozess und ihre Beziehung zueinander aus graphischen Elementen innerhalb der Entwicklungsumgebung erstellt werden. Die Definitionen dieser erstellten Objekte werden in XML-Dateien abgelegt. Die Funktionseinheiten der Ablaufumgebung Laden diese Objektbeschreibungen in Container der Speichereinheit. Diese Beschreibungen steuern das Ablaufverhalten einer Anwendung. Die Beschreibungen in den XML-Dateien stellen gleichzeitig die Dokumentation für eine Anwendung dar.Apparatus and method according to claim 1, characterized in that the objects to be created an application • object application • object class • object method • Object menu • Object Service • Object Business process and their relationship to each other can be created from graphical elements within the development environment. The definitions of these created objects are stored in XML files. The functional units of the runtime environment Load these object descriptions into containers of the memory unit. These descriptions control the flow behavior of an application. The descriptions in the XML files also represent the documentation for an application.
DE200410040010 2004-08-18 2004-08-18 Information processing program runtimes controlling method, involves processing container contents by special commands of processing unit and forwarding contents logically by functional units in runtime environment Withdrawn DE102004040010A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410040010 DE102004040010A1 (en) 2004-08-18 2004-08-18 Information processing program runtimes controlling method, involves processing container contents by special commands of processing unit and forwarding contents logically by functional units in runtime environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410040010 DE102004040010A1 (en) 2004-08-18 2004-08-18 Information processing program runtimes controlling method, involves processing container contents by special commands of processing unit and forwarding contents logically by functional units in runtime environment

Publications (1)

Publication Number Publication Date
DE102004040010A1 true DE102004040010A1 (en) 2006-02-23

Family

ID=35721478

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410040010 Withdrawn DE102004040010A1 (en) 2004-08-18 2004-08-18 Information processing program runtimes controlling method, involves processing container contents by special commands of processing unit and forwarding contents logically by functional units in runtime environment

Country Status (1)

Country Link
DE (1) DE102004040010A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111798216A (en) * 2020-07-14 2020-10-20 上海智子信息科技股份有限公司 Robot process automation multi-tool integration method and system
CN113485686A (en) * 2021-07-22 2021-10-08 苏州万戈软件科技有限公司 Method and device for generating information system program, electronic device and storage medium

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
[http://www.mathema.de/event/campus/2003_11/progra (recherchiert am 18.03.05)
[http://www.mathema.de/event/campus/2003_11/progra(recherchiert am 18.03.05) *
[http://www.voelter.de/publications/papers-confere html],(recherchiert am 18.03,05)
[http://www.voelter.de/publications/papers-conferehtml],(recherchiert am 18.03,05) *
LEßNER,J.:Ein Code - Viele Anwendungen, MATHEMA, Software GmbH, 8.11.2003,S.1-17 *
SOMMER,H.,et.al.:Container-component model and XML in ALMA ACS:In:Proc.SPIE 2004,21-25 June 2004,Glasgow UK,Vol.5496,[5496-24],S.1-11 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111798216A (en) * 2020-07-14 2020-10-20 上海智子信息科技股份有限公司 Robot process automation multi-tool integration method and system
CN113485686A (en) * 2021-07-22 2021-10-08 苏州万戈软件科技有限公司 Method and device for generating information system program, electronic device and storage medium
CN113485686B (en) * 2021-07-22 2023-10-20 苏州万戈软件科技有限公司 Information system program generation method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
DE10121790B4 (en) Software configuration method for use in a computer system
DE60126016T2 (en) Server-side control objects for processing customer-side user interface elements
DE69637436T2 (en) Object-oriented communication system with support for several remote machine types
US7447733B2 (en) Method and apparatus creating network services
DE60006410T2 (en) METHOD AND SYSTEM FOR DISTRIBUTING OBJECT-ORIENTED COMPUTER PROGRAMS
DE69838257T2 (en) METHOD FOR EXPANDING THE HYPERTEXT MARKUP LANGUAGE (HTML) TO SUPPORT ENTREPRENEURSHIP DATA BINDING
DE60132901T2 (en) INTERNET ACCESS TO APPLIED APPLICATIONS
DE69636887T2 (en) System and method to allow different name providers to dynamically join a federation of names
US6745208B2 (en) Method and apparatus for synchronizing an XML document with its object model
DE69921474T2 (en) METHOD REFERENCING IN OBJECT-BASED PROGRAMMING
US7007266B1 (en) Method and software system for modularizing software components for business transaction applications
US20040003091A1 (en) Accessing a remote iSeries or AS/400 computer system from an integrated development environment
DE19705955A1 (en) Workflow processing model implementation method
DE112009000293T5 (en) Automatic connections between application components
WO2015044374A1 (en) Method and device for the automated production and provision of at least one software application
DE60102694T2 (en) MODULAR COMPUTER SYSTEM AND METHOD
DE69907714T2 (en) COMPONENT-BASED SOURCE CODE GENERATOR METHOD
DE69930352T2 (en) Method and apparatus for animating special video effects
DE10054001A1 (en) Automated interface generation method for computer programs, involves generating program interface for converting data between IMS-transfer and program in different program environment after scanning IMS transaction
US8204920B2 (en) Method and system for accessing software-based systems
DE69911660T2 (en) LOAD OBJECT-ORIENTED COMPUTER PROGRAMS
DE102004040010A1 (en) Information processing program runtimes controlling method, involves processing container contents by special commands of processing unit and forwarding contents logically by functional units in runtime environment
EP1490762B1 (en) Method, software product and system for carrying out universal, computer-aided information processing
EP1691275B1 (en) Method and apparatus for computer-assisted creation of a graphical user interface
DE10006416A1 (en) Peripheral management which uses object interfaces has assigned managed entity interface (ME interface) which is referenced to one or more administrative interfaces

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8122 Nonbinding interest in granting licenses declared
8139 Disposal/non-payment of the annual fee