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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Abstract
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:
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-ServicesThe 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.
- • 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.
- • 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
- 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
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, 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.
- 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
- • 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
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
- • 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: Example:
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-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
Es
zeigt
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
- a) persistent
- b) temporary, context, service
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-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:
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) 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:
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
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
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
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: 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:
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:
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-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
- a) device => specified
- b) Language => set in its user definition
- c) Role => set in its user definition
Aufrufe
von Objektinstanzen bestimmter Klassen des Anwendungssystems sind
für die
Ablaufumgebung logische Aufrufe, dies gilt für
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
Beispiel:Example:
Kontext-Eintellung
eines Anwender
Suchpfad:
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
- a) event data
- b) Technical data from input form
Nach Erhalt einer Nachricht werden folgende Schritte durchlaufen:
- a) Aufbau einer Ereignis-ID
- 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
- • 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.
- 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:
- • 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.
- 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:
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
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
Ü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
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.
- 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
- • 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
- • 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
- 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
- • 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
- • 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
- • 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
- • 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.
- • 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
- • 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.
- • 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).
- • 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.
- • 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
- • 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
- • 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.
- (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
- 2) Definition einer Klasse in ANW-CLS von Typ „context".
- 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.
- 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.
- 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.
- 1) Set context definition of an application
- 2) Definition of a class in ANW-CLS of type "context".
- 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.
- 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.
- 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
- • 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
- • 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 BefehleEach 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.
- 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.
- 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.
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)
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)
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 |
-
2004
- 2004-08-18 DE DE200410040010 patent/DE102004040010A1/en not_active Withdrawn
Non-Patent Citations (6)
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)
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 |