ITMI20120457U1 - METHODS AND EQUIPMENT TO EXPOSE DEFINITIONS OF WORKFLOW PROCESSES AS BUSINESS OBJECTS - Google Patents

METHODS AND EQUIPMENT TO EXPOSE DEFINITIONS OF WORKFLOW PROCESSES AS BUSINESS OBJECTS

Info

Publication number
ITMI20120457U1
ITMI20120457U1 ITMI20120457U ITMI20120457U1 IT MI20120457 U1 ITMI20120457 U1 IT MI20120457U1 IT MI20120457 U ITMI20120457 U IT MI20120457U IT MI20120457 U1 ITMI20120457 U1 IT MI20120457U1
Authority
IT
Italy
Prior art keywords
data
business object
workflow
business
workflow process
Prior art date
Application number
Other languages
Italian (it)
Inventor
Preez Jacobus Du
Toit Wynand Du
Pieter Jason
Wyk Adriaan Van
Original Assignee
Sourcecode Technology Holding Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sourcecode Technology Holding Inc filed Critical Sourcecode Technology Holding Inc
Priority to ITMI20120457 priority Critical patent/ITMI20120457U1/en
Publication of ITMI20120457U1 publication Critical patent/ITMI20120457U1/en

Links

Description

Descrizione del brevetto per modello d’utilità avente per titolo: “METODI E APPARECCHIATURA PER ESPORRE DEFINIZIONI DI PROCESSI DI WORKFLOW COME OGGETTI AZIENDALI” Description of the utility model patent entitled: "METHODS AND EQUIPMENT FOR EXPOSING DEFINITIONS OF WORKFLOW PROCESSES AS BUSINESS OBJECTS"

RIFERIMENTO INCROCIATO A DOMANDE CORRELATE CROSS REFERENCE TO RELATED QUESTIONS

La presente domanda rivendica i benefici della domanda di brevetto statunitense n. 60/916.706, METHODS AND APPARATUS FOR REPRESENTING BUSINESS PROCESS INFORMATION AS BUSINESS ENTITIES, depositata Γ8 maggio 2007; e della domanda di brevetto statunitense n. 60/939.270, METHODS AND APPARATUS FOR EXPOSING WORKFLOW AND PROCESS DEFINITIONS AS BUSINESS OBJECTS, depositata il 21 maggio 2007, l'intero contenuto delle quali è incorporato nella presente per riferimento. The present application claims the benefits of U.S. Patent Application No. 60 / 916.706, METHODS AND APPARATUS FOR REPRESENTING BUSINESS PROCESS INFORMATION AS BUSINESS ENTITIES, filed on May 8, 2007; and U.S. Patent Application No. 60 / 939.270, METHODS AND APPARATUS FOR EXPOSING WORKFLOW AND PROCESS DEFINITIONS AS BUSINESS OBJECTS, filed May 21, 2007, the entire content of which is incorporated herein by reference.

CONTESTO CONTEXT

Con l'aumento del numero di fonti di informazione nelle organizzazioni, diventa sempre più difficile per i fruitori delle informazioni accedere a esse in un modo logico e strutturato che sia correlato agli oggetti aziendali tradizionali che essi trovano familiari all'interno delle loro organizzazioni (per esempio, clienti, asset, venditori, personale ecc.). Tipicamente, i dati provenienti dai sistemi esistenti sono resi disponibili in un modo tecnico che richiede notevoli competenze tecniche e di sviluppo per presentarli a utenti non tecnici nell'organizzazione. È necessario un meccanismo praticabile per gli utenti non tecnici che consenta loro di aggiungere informazioni all'interno di una definizione di oggetto aziendale logico senza l'implicazione di competenze tecniche o di sviluppo. In modo analogo, è necessaria una soluzione praticabile che consenta sia a utenti tecnici che non tecnici dei dati di accedere alle loro informazioni da molteplici fonti di dati/informazioni in un modo strutturato secondo oggetti aziendali, pur mantenendo la flessibilità di aggiungere definizioni di informazioni aggiuntive agli oggetti aziendali esistenti o di creare nuovi oggetti aziendali da fonti di dati esistenti o nuove senza la necessità di sviluppare soluzioni complesse. As the number of information sources in organizations increases, it becomes increasingly difficult for information users to access them in a logical and structured way that is related to traditional business objects that they are familiar with within their organizations (for example, customers, assets, vendors, staff, etc.). Typically, data from existing systems is made available in a technical way that requires significant technical and development skills to present it to non-technical users in the organization. There is a need for a workable mechanism for non-technical users to allow them to add information within a logical business object definition without the involvement of technical or development skills. Similarly, a workable solution is needed that allows both technical and non-technical data users to access their information from multiple data / information sources in a structured way according to business objects, while still retaining the flexibility to add additional information definitions. to existing business objects or to create new business objects from existing or new data sources without the need to develop complex solutions.

È possibile usare gli esistenti sistemi di Enterprise Application Integration (EAI) combinati a strumenti di sviluppo per sviluppare soluzioni su misura che rendono più accessibili dati e informazioni, ma queste soluzioni sono codificate in modo rigido e richiedono notevoli competenze tecniche e di sviluppo per essere gestite e modificate nel tempo. Gli utenti non tecnici necessitano di un modo praticabile per cambiare la definizione dei dati strutturati (oggetti aziendali) o per aggiungere fonti o campi di informazioni aggiuntivi all'interno di definizioni di oggetti aziendali esistenti che possono già essere presenti all'interno delle loro organizzazioni. Per esempio, le informazioni del cliente possono essere presenti in un sistema CRM, in un sistema ERP e in un sistema di gestione dei problemi personalizzato. Le soluzioni EAI esistenti aiutano a integrare dati tra questi sistemi, ma non forniscono un meccanismo per vedere una singola definizione di un cliente come un obiettivo aziendale logico indipendentemente da dove è stata ricavata l'informazione. It is possible to use existing Enterprise Application Integration (EAI) systems combined with development tools to develop bespoke solutions that make data and information more accessible, but these solutions are hard coded and require considerable technical and development skills to manage. and changed over time. Non-technical users need a viable way to change the definition of structured data (business objects) or to add additional sources or fields of information within existing business object definitions that may already exist within their organizations. For example, customer information can be present in a CRM system, an ERP system, and a custom problem management system. Existing EAI solutions help integrate data between these systems, but they do not provide a mechanism to see a single definition of a customer as a logical business goal regardless of where the information was obtained.

In aggiunta, gli operatori delle informazioni (Information worker) sono limitati dai form aziendali statici e dalle informazioni presentate loro dalle applicazioni delle soluzioni o dalle applicazioni sviluppate su misura che essi utilizzano quotidianamente. Indipendentemente dal fatto che questi form siano basati su thin client (web o browser) o basati su thick/smart client (form di Windows), la capacità dell'operatore delle informazioni di aggiungere su richiesta informazioni aggiuntive ai form esistenti in base allo stato e contesto attuali degli stessi è estremamente limitata. Le tecnologie dei form esistenti dipendono dal coinvolgimento di uno sviluppatore a legare il form a una fonte di dati (servizio web, database ecc.) che compila il form con informazioni in base a un evento di utente (pulsante cliccato ecc.). Qualora l'utente finale richieda che sul form siano visualizzate informazioni aggiuntive, è necessario che si basi sulla funzionalità pre- sviluppata specifica per l'applicazione che può consentirgli di vedere informazioni aggiuntive o campi dati sui form. Tuttavia, questa implementazione dipende dalla logica incapsulata nell'applicazione o nella soluzione sviluppata su misura. In addition, information workers are limited by static business forms and the information presented to them by the solution applications or custom-developed applications they use on a daily basis. Regardless of whether these forms are thin client based (web or browser) or thick / smart client based (Windows form), the ability of the information operator to add additional information on demand to existing forms based on state and current context of the same is extremely limited. Existing form technologies depend on the involvement of a developer to bind the form to a data source (web service, database, etc.) that fills the form with information based on a user event (button clicked, etc.). If the end user requests additional information to be displayed on the form, he or she must rely on the application-specific pre-developed functionality that can allow them to see additional information or data fields on the forms. However, this implementation depends on the logic encapsulated in the custom developed application or solution.

Inoltre, gli strumenti esistenti di automazione di processi non forniscono il livello di modellazione di strumenti e concetti necessario a consentire sia agli utenti tecnici che non tecnici di creare una soluzione completa di processo aziendale in un unico ambiente di strumentazione di modellazione/ automazione. È estremamente difficile per gli analisti aziendali e il personale tecnico del responsabile di business/processo utilizzare un'unica soluzione che consente a tutti i ruoli di operare insieme senza interruzioni per scoprire, modellare e automatizzare rapidamente processi aziendali all'interno delle organizzazioni. Gli strumenti esistenti di automazione di processi aziendali e di workflow sono scollegati e non consentono un ambiente unico che metta insieme utenti tecnici e non tecnici con un insieme di strumenti che integrano completamente i necessari blocchi costruttivi. Additionally, existing process automation tools do not provide the level of tool and concept modeling necessary to enable both technical and non-technical users to build a complete business process solution in a single modeling / automation instrumentation environment. It is extremely difficult for business analysts and business / process manager technical staff to use a single solution that allows all roles to work together seamlessly to quickly discover, model and automate business processes within organizations. Existing business process and workflow automation tools are disconnected and do not allow for a single environment that brings together technical and non-technical users with a set of tools that fully integrate the necessary building blocks.

SOMMARIO SUMMARY

Il sistema illustrato utilizza fonti di Enterprise Application Integration (EAI) (per esempio, software EAI, servizi web, Application API) per fornire un'architettura di livello superiore (per esempio, servizi runtime di mediazione/adattamento (broker and adapter) con componenti di soluzioni correlate (per esempio interface utente e strumentazione) che consentono a utenti tecnici e non tecnici di creare oggetti aziendali logici che includono definizioni di dati (per esempio nome e cognome del cliente ecc.) e azioni o metodi (per esempio, salvare, caricare, eliminare) a partire da fonti di dati esistenti e/o nuove. Le fonti di dati esistenti includono sistemi ERP, CRM e/o sistemi sviluppati su misura in un'organizzazione. Le fonti di dati nuove sono create e gestite dal sistema illustrato. Il sistema consente agli utenti di combinare dati da fonti multiple in un'unica definizione di oggetto aziendale, comprese definizioni di dati e metodi/azioni. Il nuovo oggetto aziendale logico espone un'unica struttura di dati logici e visione dell'oggetto nonché un unico insieme di metodi logici che sono associati a quell'oggetto. Per esempio, l'oggetto aziendale logico può implementare metodi SQL standard come INSERT, UPDATE, SELECT, DELETE (inserire, aggiornare, selezionare, eliminare) ecc. I metodi possono fungere da procedure memorizzate in interfacce esterne e possono utilizzare parametri per manipolare gli insiemi di risultati dei dati. Per esempio, il metodo INSERT può utilizzare un certo numero di parametri per l'esecuzione dell'operazione INSERT. The illustrated system uses Enterprise Application Integration (EAI) sources (for example, EAI software, web services, Application API) to provide a higher level architecture (for example, broker and adapter runtime services with components of related solutions (e.g. user interface and instrumentation) that allow technical and non-technical users to create logical business objects that include data definitions (e.g. customer name and surname etc.) and actions or methods (e.g. save, upload, delete) from existing and / or new data sources. Existing data sources include ERP systems, CRMs and / or systems that are custom developed in an organization. New data sources are created and managed by the system shown . The system allows users to combine data from multiple sources into a single business object definition, including data definitions and methods / actions. The new logical business object exposes a single logical data structure and object vision as well as a single set of logical methods that are associated with that object. For example, the logical business object can implement standard SQL methods such as INSERT, UPDATE, SELECT, DELETE (insert, update, select, delete) etc. Methods can act as stored procedures in external interfaces and can use parameters to manipulate data result sets. For example, the INSERT method can use a number of parameters to perform the INSERT operation.

L'object broker (intermediario tra oggetti) interpreta la nuova definizione di oggetto e invia dati/informazioni e chiamate di metodo alle fonti di dati (o ai sistemi esistenti). È possibile aggiungere campi aggiuntivi alla nuova definizione di oggetto. Questi campi aggiuntivi sono associati a identificatori unici dalle altre fonti di dati incluse nella nuova definizione di oggetto. Le strutture dati e le azioni (per esempio inserisci, aggiorna, seleziona, elimina come esempi) sono gestite dall'object broker. I dati attuali sono memorizzati nel formato nativo della memoria dati da cui provengono e non sono duplicati. L'object broker crea un oggetto aziendale dinamico la cui definizione può essere modificata aggiungendo o rimuovendo dati o azioni senza la necessità di coinvolgere risorse tecniche o di sviluppo per riconfigurare o ricompilare gli oggetti attuali. The object broker interprets the new object definition and sends data / information and method calls to the data sources (or existing systems). You can add additional fields to the new object definition. These additional fields are associated with unique identifiers from the other data sources included in the new object definition. Data structures and actions (for example insert, update, select, delete as examples) are managed by the object broker. Current data is stored in the native format of the data memory it came from and is not duplicated. The object broker creates a dynamic business object whose definition can be changed by adding or removing data or actions without the need to involve technical or development resources to reconfigure or recompile the current objects.

I sistemi esistenti sono accessibili attraverso una componente di Service object (oggetto del servizio). Il Service object per uno specifico sistema di back-end implementa l'interfaccia di base prevista dall'object broker. Ciò consente all'object broker di utilizzare un meccanismo di comunicazione coerente per scambiare dati e chiamate di funzione con le applicazioni che integra. L'object broker, insieme all'interfaccia di Service object, fornisce l'infrastruttura di base per scambiare dati, chiamate di metodo e partecipazione in servizi di supporto come transazioni, modelli di compensazione, gestione di eccezioni e gestione di ruolo/sicurezza. L'object broker include anche un'implementazione single- sign on (autenticazione unica), che consente all'object broker di utilizzare un unico insieme di credenziali per accedere a sistemi multipli (ciascuno con il suo modello di autenticazione). Existing systems are accessible through a Service object component. The Service object for a specific back-end system implements the basic interface provided by the object broker. This allows the object broker to use a consistent communication mechanism to exchange data and function calls with the applications it integrates. The object broker, along with the Service object interface, provides the basic infrastructure for exchanging data, method calls, and participating in support services such as transactions, compensation models, exception handling, and role / security management. The object broker also includes a single-sign on implementation, which allows the object broker to use a single set of credentials to access multiple systems (each with its own authentication model).

Il sistema illustrato facilita anche la creazione di processi aziendali automatizzati da parte sia di utenti tecnici che non tecnici. Tipicamente, il progetto di processo aziendale utilizza due elementi principali di informazione che fanno parte delle informazioni di processo design-time e run-time, dei dati di istanza di processo o delle azioni che sono state utilizzate nel processo, e dei dati oggetto che sono associati all'istanza di processo. I dati oggetto che sono utilizzati in un processo aziendale possono essere rappresentati mediante gli oggetti aziendali logici. Mediante l'astrazione dei dati di processo aziendale come oggetti aziendali logici, il sistema consente all'utente di accedere alle informazioni, o di alterarle, senza la necessità di scrivere un codice o complesse interrogazioni per il database. Gli oggetti aziendali logici associati a un processo aziendale possono essere editati e creati in modo simile a tutti gli altri oggetti aziendali logici. The illustrated system also facilitates the creation of automated business processes by both technical and non-technical users. Typically, the business process design uses two main pieces of information that are part of the design-time and run-time process information, the process instance data or actions that were used in the process, and the object data that are associated with the process instance. Object data that is used in a business process can be represented using logical business objects. By abstracting business process data as logical business objects, the system allows the user to access, or alter, information without the need to write code or complex database queries. Logical business objects associated with a business process can be edited and created similar to all other logical business objects.

Ulteriori caratteristiche e vantaggi sono descritti nella presente e risulteranno evidenti dalla descrizione dettagliata seguente e dalle figure. BREVE DESCRIZIONE DELLE FIGURE Further features and advantages are described herein and will become apparent from the following detailed description and figures. BRIEF DESCRIPTION OF THE FIGURES

La figura 1 è un diagramma a blocchi di livello alto di un sistema di comunicazione. Figure 1 is a high level block diagram of a communication system.

La figura 2 è un diagramma a blocchi più dettagliato illustrante un esempio di un dispositivo informatico. Figure 2 is a more detailed block diagram illustrating an example of a computer device.

La figura 3 è un diagramma a blocchi illustrante connessioni esemplificative tra una pluralità di fonti di dati e un form elettronico tramite un object broker. Figure 3 is a block diagram illustrating exemplary connections between a plurality of data sources and an electronic form via an object broker.

La figura 4 è un diagramma a blocchi illustrante connessioni esemplificative tra fonti di dati e oggetti aziendali. Figure 4 is a block diagram illustrating exemplary connections between data sources and business objects.

La figura 5 è una immagine di un processo aziendale esemplificativo. La figura 6 è una immagine di un modello di oggetto aziendale esemplificativo. Figure 5 is an image of an exemplary business process. Figure 6 is an image of an exemplary business object model.

La figura 7 è una immagine di un modello di flusso dati esemplificativo. Figure 7 is an image of an exemplary data flow model.

La figura 8 è una immagine di una schermata di sviluppo esemplificativa. Figure 8 is an image of an exemplary development screen.

La figura 9 è una immagine esemplificativa di una schermata di workflow. Figure 9 is an exemplary image of a workflow screen.

La figura 10 è una immagine esemplificativa di una schermata di selezione di entità aziendali. Figure 10 is an exemplary image of a business entity selection screen.

La figura 11 è una immagine esemplificativa di una schermata di selezione dati. Figure 11 is an exemplary image of a data selection screen.

La figura 12 è una immagine esemplificativa di una schermata di report di riepilogo del processo di workflow. Figure 12 is an example image of a workflow process summary report screen.

La figura 13 è una immagine esemplificativa di una schermata di report di istanze di processo. Figure 13 is an example image of a process instance report screen.

La figura 14 è una immagine esemplificativa di una schermata di report di flusso di visualizzazione. Figure 14 is an exemplary image of a display flow report screen.

DESCRIZIONE DETTAGLIATA DETAILED DESCRIPTION

Il presente sistema è realizzato più prontamente in un sistema di comunicazione di rete. Un diagramma a blocchi di livello alto di un sistema di comunicazione di rete esemplificativo 100 è illustrato nella figura 1. Il sistema illustrato 100 include uno o più dispositivi client 102, uno o più router 106 e una pluralità differenti fonti di dati 108, compresi server di database 110 e/o database 112. I dati trasferiti da/verso i dispositivi client 102 da/verso le fonti di dati 108 sono gestiti da uno o più server di object broker 114. Ciascuno di questi dispositivi può comunicare con l'altro tramite una connessione a uno o più canali di comunicazione 116 come internet e/o qualche altra rete dati compresa, ma non a titolo restrittivo, qualsiasi idonea rete a estensione geografica o rete locale. Si apprezzerà che qualsiasi dei dispositivi descritti nella presente può essere collegato direttamente a qualsiasi altro anziché su una rete. The present system is most readily implemented in a network communication system. A high level block diagram of an exemplary network communication system 100 is illustrated in Figure 1. The illustrated system 100 includes one or more client devices 102, one or more routers 106, and a plurality of different data sources 108, including servers database 110 and / or database 112. The data transferred from / to client devices 102 from / to data sources 108 are managed by one or more object broker servers 114. Each of these devices can communicate with each other via a connection to one or more communication channels 116 such as the internet and / or some other data network including, but not limited to, any suitable geographic extension network or local network. It will be appreciated that any of the devices described herein can be connected directly to any other rather than over a network.

Le fonti di dati 108 memorizzano una pluralità di file, programmi e/o pagine web in uno o più database 112 per essere utilizzata dai dispositivi client 102. Per esempio, una fonte di dati può memorizzare informazioni sul cliente. Le fonti di dati 108 possono essere connesse direttamente a un server di database 110 e/o tramite una o più connessioni di rete. Data sources 108 store a plurality of files, programs and / or web pages in one or more databases 112 for use by client devices 102. For example, a data source may store information about the client. The data sources 108 can be connected directly to a database server 110 and / or via one or more network connections.

Una fonte di dati 108 e/o un server di object broker 114 può interagire con un gran numero di altri dispositivi. Di conseguenza, ciascuna fonte di dati 108 e/o server di object broker 114 è tipicamente un computer di fascia alta con una grande capacità di memorizzazione, uno o più microprocessori veloci e una o più connessioni di rete ad alta velocità. Invece, per quanto riguarda un server tipico, ciascun dispositivo client 102 tipicamente include meno capacità di memorizzazione, un unico microprocessore e una unica connessione di rete. A data source 108 and / or an object broker server 114 can interact with a large number of other devices. Consequently, each data source 108 and / or object broker server 114 is typically a high-end computer with a large storage capacity, one or more fast microprocessors, and one or more high-speed network connections. Instead, for a typical server, each client device 102 typically includes less storage capacity, a single microprocessor, and a single network connection.

Un diagramma a blocchi più dettagliato dei sistemi elettrici di un dispositivo informatico (per esempio, dispositivo client portatile 102, dispositivo client personal computer 102, router 106, server di database 110 e/o server di object broker 114) è illustrato nella figura 2. Sebbene i sistemi elettrici di questi dispositivi informatici possano essere simili, le differenze strutturali tra questi dispositivi sono ben note. Per esempio, un tipico dispositivo client portatile 102 è piccolo e leggero rispetto a un tipico server di database 110. A more detailed block diagram of the electrical systems of a computing device (for example, portable client device 102, personal computer client device 102, router 106, database server 110, and / or object broker server 114) is shown in Figure 2. Although the electrical systems of these computing devices may be similar, the structural differences between these devices are well known. For example, a typical portable client device 102 is small and light compared to a typical database server 110.

Il dispositivo informatico esemplificativo 102, 106, 110, 114 include una unità principale 202 che preferibilmente include uno o più processori 204 elettricamente accoppiati mediante un bus di indirizzo/dati 206 a uno o più dispositivi di memorizzazione 208, altra circuiteria informatica 210 e uno o più circuiti di interfaccia 212. Il processore 204 può essere qualsiasi processore idoneo, come per esempio un microprocessore della famiglia di microprocessori INTEL PENTIUM®. Preferibilmente, la memoria 208 include una memoria volatile e una memoria non volatile. Preferibilmente, la memoria 208 memorizza un programma software che interagisce con gli altri dispositivi nel sistema 100 come descritto di seguito. Questo programma può essere eseguito dal processore 204 in qualsiasi modo idoneo. La memoria 208 può anche memorizzare dati digitali indicativi di documenti, file, programmi, pagine web ecc. recuperati da un altro dispositivo informatico e/o caricati tramite un dispositivo di ingresso 214. The exemplary computer device 102, 106, 110, 114 includes a main unit 202 which preferably includes one or more processors 204 electrically coupled via an address / data bus 206 to one or more storage devices 208, other computer circuitry 210 and one or more multiple interface circuits 212. The processor 204 can be any suitable processor, such as for example a microprocessor of the INTEL PENTIUM® family of microprocessors. Preferably, the memory 208 includes a volatile memory and a non-volatile memory. Preferably, the memory 208 stores a software program that interacts with the other devices in the system 100 as described below. This program may be executed by processor 204 in any suitable manner. Memory 208 can also store digital data indicative of documents, files, programs, web pages, etc. retrieved from another computing device and / or loaded via an input device 214.

Il circuito di interfaccia 212 può essere implementato utilizzando qualsiasi interfaccia standard idonea, come per esempio un'interfaccia Ethernet e/o una interfaccia USB (Universal Serial Bus). Uno o più dispositivi di ingresso 214 può/possono essere connesso/i al circuito di interfaccia 212 per immettere dati e comandi nell'unità principale 202. Per esempio, il dispositivo di ingresso 214 può essere una tastiera, un mouse, un touch screen, un tappetino tattile, una trackball, una isopoint e/o un sistema di riconoscimento vocale. Interface circuit 212 can be implemented using any suitable standard interface, such as an Ethernet interface and / or a Universal Serial Bus (USB) interface. One or more input devices 214 can / can be connected to the interface circuit 212 to input data and commands into the main unit 202. For example, the input device 214 can be a keyboard, a mouse, a touch screen, a tactile mat, a trackball, an isopoint and / or a voice recognition system.

È anche possibile connettere uno o più display, stampanti, altoparlanti e/o altri dispositivi di uscita 216 all'unità principale 202 tramite il circuito di interfaccia 212. Il display 216 può essere un tubo a raggi catodici (CRT), un display a cristalli liquidi (LCD) o qualsiasi altro tipo di display. Il display 216 genera visualizzazioni di dati generate durante l'operazione del dispositivo informatico 102, 106, 110, 114. Per esempio, il display 216 può essere utilizzato per visualizzare pagine web ricevute dal server di object broker 114, compresi dati provenienti da fonti di dati multiple 108. Le visualizzazioni possono includere prompt per ingressi umani, statistiche di runtime, valori calcolati, dati ecc. It is also possible to connect one or more displays, printers, speakers and / or other output devices 216 to the main unit 202 via the interface circuit 212. The display 216 may be a cathode ray tube (CRT), a crystal display liquids (LCD) or any other type of display. The display 216 generates data displays generated during the operation of the computing device 102, 106, 110, 114. For example, the display 216 can be used to display web pages received from the object broker server 114, including data from sources of multiple data 108. Views can include prompts for human inputs, runtime statistics, calculated values, data, etc.

È anche possibile connettere uno o più dispositivi di memorizzazione 218 all'unità principale 202 tramite il circuito d'interfaccia 212. Per esempio, è possibile connettere all'unità di memorizzazione 202 un disco rigido, un lettore CD, un lettore DVD e/o altri dispositivi di memorizzazione. I dispositivi di memorizzazione 218 possono memorizzare qualsiasi tipo di dato idoneo. It is also possible to connect one or more storage devices 218 to the main unit 202 via the interface circuit 212. For example, it is possible to connect to the storage unit 202 a hard disk, a CD player, a DVD player and / or other storage devices. The storage devices 218 can store any type of suitable data.

Il dispositivo informatico 102, 104 può anche scambiare dati con altri dispositivi di rete 220 tramite una connessione alla rete 116. La connessione di rete può essere qualsiasi tipo di connessione di rete, come una connessione Ethernet, una linea d'abbonato digitale (DSL), una linea telefonica, un cavo coassiale ecc. Agli utenti del sistema 100 può essere richiesto di registrarsi con uno o più dei dispositivi informatici 102, 106, 110, 114. In tal caso, ciascun utente può scegliere un identificatore utente (per esempio l'indirizzo e-mail) e una password che possono essere richiesti per l'attivazione dei servizi. L'identificatore utente e la password possono essere trasmessi in rete 116 usando una codifica incorporata nel browser web dell'utente. In alternativa, l'identificatore utente e/o la password possono essere assegnati dal dispositivo informatico 102, 106, 110, 114. The computing device 102, 104 can also exchange data with other network devices 220 via a connection to the network 116. The network connection can be any type of network connection, such as an Ethernet connection, a digital subscriber line (DSL) , a telephone line, a coaxial cable, etc. Users of the system 100 may be required to register with one or more of the IT devices 102, 106, 110, 114. In this case, each user can choose a user identifier (e.g. e-mail address) and a password that may be required for the activation of services. The user identifier and password can be transmitted over the network 116 using an encoding embedded in the user's web browser. Alternatively, the user identifier and / or password can be assigned by the computer device 102, 106, 110, 114.

In una forma di realizzazione, un utente in un dispositivo client 102 vede e/o modifica dati provenienti da una pluralità di differenti fonti di dati 108 tramite un form elettronico interattivo. Uno schema a blocchi esemplificativo illustrante connessioni tra una pluralità di fonti di dati 108 e un form elettronico 302 tramite un processo di object broker 304 è illustrato nella figura 3. In generale, il processo di object broker 304 (descritto in dettaglio di seguito in riferimento alla figura 6) compila i dati in una varietà di formati nativi delle differenti fonti di dati 108 (per esempio differenti sistemi database preesistenti) in oggetti aziendali standardizzati 306, 308 (per esempio un formato dichiarativo come XML). Successivamente, un utente può vedere i dati utilizzando uno o più form elettronici 302, 310, 312. In aggiunta, l'utente può manipolare i dati e/o aggiungere dati tramite i form elettronici 302, 310, 312. Quando i dati del form vengono cambiati, il processo di object broker 304 accetta i dati tramite gli oggetti aziendali 306, 308 e memorizza i dati nuovamente nelle fonti di dati 108 nel formato nativo corretto. In one embodiment, a user in a client device 102 views and / or modifies data from a plurality of different data sources 108 via an interactive electronic form. An exemplary block diagram illustrating connections between a plurality of data sources 108 and an electronic form 302 via an object broker process 304 is illustrated in Figure 3. In general, the object broker process 304 (detailed below in reference Figure 6) compiles the data in a variety of native formats of the different data sources 108 (for example different pre-existing database systems) into standardized business objects 306, 308 (for example a declarative format such as XML). Subsequently, a user can view the data using one or more electronic forms 302, 310, 312. In addition, the user can manipulate the data and / or add data via the electronic forms 302, 310, 312. When the form data are changed, the object broker process 304 accepts the data via business objects 306, 308 and stores the data back into the data sources 108 in the correct native format.

In questo esempio, le fonti di dati 108 includono una fonte di dati ERP (Enterprise Resource Planning: pianificazione risorse aziendali) 314, una fonte di dati CRM (Customer Relationship Management: gestione dei rapporti con la clientela) 316, una fonte di dati personalizzata 318, una fonte di dati accessoria 320 e una fonte di dati funzione 322. In aggiunta, un servizio ruoli 323 e una memoria di dati oggetto 325 sono inclusi nel sistema 300. In this example, 108 data sources include an enterprise resource planning (ERP) data source 314, a customer relationship management (CRM) data source 316, a custom data source 318, an ancillary data source 320 and a function data source 322. In addition, a role service 323 and an object data store 325 are included in the system 300.

Tipicamente, una fonte di dati ERP 314 memorizza dati relativi a debiti, crediti, inventario ecc. Tipicamente, una fonte di dati CRM 316 memorizza dati relativi a risposte, offerte, ordini ecc. Una fonte di dati personalizzata 318 è una fonte di dati 108 che non è considerata un prodotto commerciale standard. Per esempio, un'azienda può avere una forte di dati personalizzata che memorizza informazioni di fabbricazione in tempo reale. Alcune fonti di dati 108 possono utilizzare un server intermediario per le comunicazioni. Per esempio, la fonte di dati ERP 314 può utilizzare un server BizTalk 324. Typically, an ERP 314 data source stores data related to debts, credits, inventory etc. Typically, a CRM 316 data source stores data related to responses, offers, orders, etc. A custom data source 318 is a data source 108 which is not considered a standard commercial product. For example, a company may have a strong custom data that stores manufacturing information in real time. Some data sources 108 may use an intermediary server for communications. For example, the ERP 314 data source may use a BizTalk 324 server.

La fonte di dati accessoria 320 memorizza dati associati a campi di form aggiunti dall'utente che non sono supportati da una delle altre fonti di dati 108. Per esempio, un'azienda può avviare un programma di schede di clienti abituali e necessita di memorizzare un numero di scheda per ciascun partecipante. Di conseguenza, un utente può aggiungere un campo di numeri di clienti abituali a un form esistente contenente dati preesistenti. Poiché in questo esempio le esistenti fonti di dati 108 non includono un campo di numeri di clienti abituali, il campo di numeri di clienti abituali e i dati associati sono memorizzati mediante la fonte di dati accessoria 320. Accessory data source 320 stores data associated with user-added form fields that are not supported by one of the other data sources 108. For example, a company may initiate a repeat customer card program and needs to store a card number for each participant. As a result, a user can add a repeat customer number field to an existing form containing pre-existing data. Since in this example the existing data sources 108 do not include a repeat customer number field, the repeat customer number field and associated data are stored by the ancillary data source 320.

Al fine di manipolare dati in una specifica fonte di dati 108, preferibilmente il processo di object broker 304 richiama metodi incorporati nella fonte di dati associata 108. Per esempio, ciascuna fonte di dati 108 include tipicamente metodi per memorizzare/recuperare dati nella/dalla fonte di dati 108 (per esempio, la fonte di dati CRM può supportare un metodo "LoadContact" (Caricare contatto) come descritto in dettaglio di seguito). In aggiunta, il sistema 300 consente a un utente di creare le sue funzioni. Per esempio, un utente può dover applicare uno sconto ad alcuni clienti. Tuttavia, le esistenti fonti di dati 108 possono non includere un metodo per calcolare lo sconto. Di conseguenza, l'utente può creare una funzione "CalcDiscount" (Calcolare sconto) come descritto di seguito. Le funzioni definite dall'utente possono utilizzare dati da più di una fonte di dati 108. Successivamente, le definizioni per queste funzioni definite dall'utente sono memorizzate nella fonte di dati funzione 322. In order to manipulate data in a specific data source 108, preferably the object broker process 304 calls methods embedded in the associated data source 108. For example, each data source 108 typically includes methods for storing / retrieving data in / from the source data 108 (for example, the CRM data source may support a "LoadContact" method as detailed below). In addition, the system 300 allows a user to create his own functions. For example, a user may need to apply a discount to some customers. However, existing data sources 108 may not include a method for calculating the discount. Consequently, the user can create a "CalcDiscount" function as described below. User-defined functions can use data from more than one data source 108. Subsequently, the definitions for these user-defined functions are stored in the function data source 322.

Le funzioni definite dall'utente possono essere create utilizzando uno strumento di interfaccia utente grafico. Per esempio, i parametri per una funzione definita dall'utente possono essere definiti selezionando una rappresentazione grafica del parametro associato a un oggetto aziendale. Preferibilmente, le funzioni definite dall'utente sono memorizzate come frammenti. I frammenti includono una porzione di struttura che definisce la funzione e una porzione di interfaccia utente che fornisce all'utente un modo per testare la funzione. Per esempio, la porzione di struttura può essere memorizzata come XML e la porzione di interfaccia utente può esser memorizzata come HTML nello stesso file. User-defined functions can be created using a graphical user interface tool. For example, the parameters for a user-defined function can be defined by selecting a graphical representation of the parameter associated with a business object. Preferably, the user-defined functions are stored as fragments. The snippets include a structure portion that defines the function and a user interface portion that provides the user with a way to test the function. For example, the structure portion can be stored as XML and the user interface portion can be stored as HTML in the same file.

Alcune funzioni definite dall'utente possono essere eseguite dai dispositivi client 102, riducendo di conseguenza la comunicazione con i server 110, 114. Altre funzioni definite dall'utente possono richiedere l'esecuzione dal lato server. Preferibilmente, viene determinato se una specifica funzione debba essere eseguita sul lato client o sul lato server, e un indicatore di questa determinazione è memorizzato con il frammento di funzione. Per esempio, può essere determinato che le funzioni definite dall'utente create da alcune primitive predefinite (per esempio, aggiungere, moltiplicare, eseguire loop, minore di, ecc.) siano eseguibili dal dispositivo client 200, mentre altre funzioni definite dall'utente che includono ricerche nel database (per esempio, istruzioni SQL) siano eseguibili da un server 110, 114. Some user-defined functions can be performed by client devices 102, thereby reducing communication with servers 110, 114. Other user-defined functions may require execution from the server side. Preferably, it is determined whether a specific function is to be performed on the client side or on the server side, and an indicator of this determination is stored with the function fragment. For example, it can be determined that user-defined functions created by some predefined primitives (e.g., add, multiply, loop, less than, etc.) are executable by the client device 200, while other user-defined functions that include database searches (for example, SQL statements) are executable by a server 110, 114.

Dalla prospettiva di un utente, i dati provenienti dalle fonti di dati 108 (nonché i dati calcolati da dati nelle fonti di dati 108, per esempio uno sconto) sono visti utilizzando uno o più form elettronici 302, 310, 312. In aggiunta, l'utente può manipolare i dati e/o aggiungere dati tramite i form elettronici 302, 310, 312. I form 302, 310, 312 possono essere combinati in pagine 302 e un form può utilizzare dati provenienti da più di una fonte di dati 108. Per esempio, la pagina degli ordini dei clienti 302 combina il form dei contatti clienti 310 e il form della lista ordini 312 (come descritto in dettaglio di seguito in riferimento alla figura 5). In aggiunta, porzioni di form e/o form interi che fanno parte di una pagina più grande possono essere bloccati in modo che soltanto determinati utenti possano modificare quella porzione del form o della pagina. From a user's perspective, data from data sources 108 (as well as data calculated from data in data sources 108, for example a discount) are viewed using one or more electronic forms 302, 310, 312. In addition, the user can manipulate data and / or add data via electronic forms 302, 310, 312. Forms 302, 310, 312 can be combined on pages 302 and a form can use data from more than one data source 108. For example, the customer order page 302 combines the customer contact form 310 and the order list form 312 (as detailed below in reference to Figure 5). In addition, portions of forms and / or entire forms that are part of a larger page can be locked so that only certain users can modify that portion of the form or page.

Al fine di facilitare i form 302, 310, 312 che combinano dati da differenti fonti di dati 108, il sistema 300 impiega un processo di object broker 304 e un processo di form 326. In una forma di realizzazione, il processo di object broker 304 è un codice ASP eseguito sul server di object broker 114 e il processo di form 326 è un JavaScript eseguito su un dispositivo client 102. Il processo di object broker 304 compila dati in una varietà di formati nativi differenti delle differenti fonti di dati 108 in oggetti aziendali standardizzati 306, 308 (per esempio, file XML). In aggiunta, il processo di object broker 304 accetta i dati tramite gli oggetti aziendali 306, 308 e memorizza i dati nuovamente nelle fonti di dati 108 nel formato nativo corretto. In order to facilitate forms 302, 310, 312 which combine data from different data sources 108, the system 300 employs an object broker process 304 and a form process 326. In one embodiment, the object broker process 304 is an ASP code running on the object broker server 114 and the form process 326 is a JavaScript running on a client device 102. The object broker process 304 compiles data in a variety of different native formats of the different data sources 108 into objects corporate standardized 306, 308 (for example, XML files). In addition, the object broker process 304 accepts data via business objects 306, 308 and stores the data again in the data sources 108 in the correct native format.

Più in particolare, il processo di object broker 304 utilizza una pluralità di servizi broker per comunicare con le fonti di dati 108. Preferibilmente, è utilizzato un servizio broker per ciascuna fonte di dati 108. In questo esempio, il processo di object broker 304 include un servizio broker ERP 328, un servizio broker CRM 330, un servizio broker personalizzato 332, un servizio broker accessorio 334 e un servizio broker funzione 336. Ciascun servizio broker 328, 330, 332, 334, 336 è configurato per comunicare con la fonte di dati associata 108 utilizzando i formati e i protocolli nativi della fonte di dati. More specifically, the object broker process 304 uses a plurality of broker services to communicate with the data sources 108. Preferably, a broker service is used for each data source 108. In this example, the object broker process 304 includes an ERP Broker Service 328, a CRM Broker Service 330, a Custom Broker Service 332, an Accessory Broker Service 334, and a Function 336 Broker Service. Each Broker Service 328, 330, 332, 334, 336 is configured to communicate with the source of associated data 108 using the native formats and protocols of the data source.

Successivamente, ciascun servizio broker 328, 330, 332, 334, 336 automaticamente espone le proprietà e i metodi della fonte di dati associata 108 come proprietà e metodi standardizzati 338 per l'utilizzo mediante gli oggetti aziendali 306, 308. Per esempio, il servizio broker ERP 328 comunica con la sorgente dati ERP 314 tramite il server BizTalk 324 ed espone le proprietà e i metodi della fonte di dati ERP 314 all'oggetto aziendale clienti 306 e all'oggetto aziendale ordini 308 come file XML. Se nuove proprietà e/o metodi diventano disponibili da una fonte di dati 108, preferibilmente il servizio broker associato rileva queste nuove proprietà e/o metodi e automaticamente espone le nuove proprietà e/o metodi per l'utilizzo mediante gli oggetti aziendali 306, 308. Gli oggetti aziendali 306, 308 possono includere alcune o tutte le proprietà e i metodi esposti 338. Successivamente, ciascun oggetto aziendale 306, 308 espone le sue proprietà e metodi inclusi 340 al processo di form 326. Subsequently, each broker service 328, 330, 332, 334, 336 automatically exposes the properties and methods of the associated data source 108 as standardized properties and methods 338 for use through business objects 306, 308. For example, the broker service ERP 328 communicates with the ERP 314 data source through the BizTalk 324 server and exposes the properties and methods of the ERP 314 data source to the customer business object 306 and the order business object 308 as an XML file. If new properties and / or methods become available from a data source 108, preferably the associated broker service detects these new properties and / or methods and automatically exposes the new properties and / or methods for use through business objects 306, 308 Business objects 306, 308 may include some or all of the properties and methods exposed 338. Next, each business object 306, 308 exposes its properties and methods including 340 to the form process 326.

Il processo di form 326 richiama metodi di oggetti aziendali 340 in risposta a eventi di form e compila i form 302, 310, 312 con dati dalle proprietà di oggetti aziendali 340. Per esempio, un utente può premere un pulsante "Caricare" sulla pagina degli ordini del cliente 302, che induce il processo di form 326 a richiamare uno o più metodi 340 esposti dagli oggetti aziendali 306, 308. A sua volta, ciò induce il processo di object broker 304 a recuperare i dati appropriati da una o più fonti di dati 108. Successivamente, i dati sono rinviati come proprietà degli oggetti aziendali 306, 308, e il processo di form 326 utilizza i dati per compilare i form 310, 312. The form process 326 calls methods of business objects 340 in response to form events and fills forms 302, 310, 312 with data from the properties of business objects 340. For example, a user can press a "Upload" button on the page of customer orders 302, which causes the form process 326 to invoke one or more methods 340 exposed by business objects 306, 308. In turn, this causes the object broker process 304 to retrieve the appropriate data from one or more sources of data 108. Thereafter, the data is returned as the property of business objects 306, 308, and the form process 326 uses the data to fill forms 310, 312.

In aggiunta, il processo di form 326 può memorizzare valori nelle proprietà di oggetti aziendali 340 e richiamare metodi per avere nuovamente i dati nuovi/modificati memorizzati nell'appropriata fonte di dati 108 tramite il processo di object broker 304. Per esempio, un form può accettare un valore nuovo per un indirizzo di cliente e richiamare un metodo UpdateContact (aggiornare contatto) per avere il nuovo indirizzo memorizzato nella fonte di dati appropriata 108. Il form consente all'utente di aggiornare l'indirizzo del cliente senza conoscere la fonte di dati di base 108. In addition, the form process 326 can store values in the properties of business objects 340 and invoke methods to have the new / changed data stored in the appropriate data source 108 again via the object broker process 304. For example, a form can accept a new value for a customer address and invoke an UpdateContact (update contact) method to have the new address stored in the appropriate data source 108. The form allows the user to update the customer address without knowing the data source base 108.

Il processo di form 326 può richiamare metodi che implementano metodi standard SQL come INSERT, UPDATE, SELECT, DELETE ecc. I metodi fungono da procedure memorizzate in interface esterne e possono utilizzare parametri per manipolare gli insiemi di risultati dei dati. Per esempio, il metodo INSERT può utilizzare un certo numero di parametri per l'esecuzione dell'operazione INSERT. The 326 form process can invoke methods that implement standard SQL methods such as INSERT, UPDATE, SELECT, DELETE etc. The methods act as stored procedures in external interfaces and can use parameters to manipulate the result sets of the data. For example, the INSERT method can use a number of parameters to perform the INSERT operation.

In aggiunta, un oggetto aziendale può rappresentare dati associati a un processo aziendale. Per esempio, un modulo di presentazione di dati di processo aziendale sul server di object broker può creare un oggetto aziendale esponendo i dati di processo aziendale come un costrutto di database standard. In addition, a business object can represent data associated with a business process. For example, a business process data submission module on the object broker server can create a business object by exposing the business process data as a standard database construct.

Il modulo di presentazione di dati di processo aziendale può utilizzare un processo aziendale e creare un wrapper (involucro) di entità di oggetto aziendale che incapsula dati di processo aziendale nonché oggetti di processo aziendale in un'unica entità. The business process data presentation module can use a business process and create a business object entity wrapper (envelope) that encapsulates business process data as well as business process objects into a single entity.

Esponendo un processo aziendale come un oggetto aziendale con operazioni di database standard, l'utente del processo aziendale è in grado di eseguire funzioni sul processo di workflow, come per esempio creare report o creare applicazioni client. By exposing a business process as a business object with standard database operations, the business process user is able to perform functions on the workflow process, such as creating reports or creating client applications.

Un diagramma a blocchi più dettagliato illustrante queste connessioni tra le fonti di dati esemplificative 108 e gli oggetti aziendali esemplificativi 306, 308 è illustrato nella figura 4. In questo esempio, l'oggetto aziendale Clienti 306 è connesso alla fonte di dati ERP 314 e alla fonte di dati CRM 316. L'oggetto aziendale Ordini 308 è connesso alla fonte di dati ERP 314, alla fonte di dati accessoria 320 e alla fonte di dati funzione 322. Queste connessioni logiche possono essere definite in qualsiasi modo idoneo. Per esempio, è possibile utilizzare un'interfaccia utente grafica per consentire a un utente di tracciare linee di connessione tra rappresentazioni grafiche delle fonti di dati 108 e rappresentazioni grafiche degli oggetti aziendali 306, 308. A more detailed block diagram illustrating these connections between example data sources 108 and example business objects 306, 308 is shown in Figure 4. In this example, the Customers business object 306 is connected to the ERP data source 314 and the CRM data source 316. The Orders business object 308 is connected to the ERP data source 314, the ancillary data source 320, and the function data source 322. These logical connections can be defined in any suitable way. For example, a graphical user interface can be used to allow a user to draw connecting lines between graphical representations of data sources 108 and graphical representations of business objects 306, 308.

Queste connessioni logiche sono mantenute mediante il processo di object broker 304. Per esempio, i dati per compilare il form dei contatti clienti 310 e il form della lista ordini 312 può essere inserito nell'oggetto aziendale clienti 306 e nell'oggetto aziendale ordini 308 dalle fonti di dati 108 mediante il processo di object broker 304. In modo analogo, dati nuovi e modificati dal form dei contatti clienti 310 e dal form della lista ordini 312 possono essere inviati dall'oggetto aziendale clienti 306 e dall'oggetto aziendale ordini 308 alle fonti di dati 108 mediante il processo di object broker 304. In aggiunta, il servizio ruoli 323 può generare una definizione di oggetto ridotta in base a queste definizioni di oggetto complete. Per esempio, il servizio ruoli 323 può recuperare un ruolo associato a uno specifico utente e una pluralità di proprietà e/o metodi associati a quel ruolo. Successivamente, proprietà e/o metodi non autorizzati sono rimossi dalla definizione di oggetto aziendale (per esempio, a uno specifico utente non è consentito scrivere nell'oggetto aziendale Cliente, pertanto i metodi UpdateBalance (aggiornare saldo) e UpdateContact sono rimossi). These logical connections are maintained through the object broker process 304. For example, the data to fill in the customer contact form 310 and the order list form 312 can be entered into the customer business object 306 and the order business object 308 from 108 data sources using the object broker process 304. Similarly, new and changed data from the customer contact form 310 and the order list form 312 can be sent from the customer business object 306 and the order business object 308 to 108 data sources using the object broker process 304. In addition, the role service 323 can generate a reduced object definition based on these complete object definitions. For example, the role service 323 can retrieve a role associated with a specific user and a plurality of properties and / or methods associated with that role. Subsequently, unauthorized properties and / or methods are removed from the business object definition (for example, a specific user is not allowed to write to the Customer business object, so the UpdateBalance (update balance) and UpdateContact methods are removed).

L'oggetto aziendale Clienti esemplificativo 306 include una proprietà ID cliente, una proprietà nome, una proprietà indirizzo, una proprietà pendenze, un metodo caricare saldo, un metodo aggiornare saldo, un metodo caricare contatto e un metodo aggiornare contatto. La proprietà ID cliente nell'oggetto aziendale Clienti 306 è connessa alla proprietà ID cliente nella fonte di dati ERP 314 e/o alla proprietà ID cliente nella fonte di dati CRM 316. La proprietà nome e la proprietà indirizzo nell'oggetto aziendale Clienti 306 sono connesse alla proprietà nome e alla proprietà indirizzo nella forte di dati CRM 316. La proprietà pendenze nell'oggetto aziendale Clienti 306 è connessa alla proprietà pendenze nella fonte di dati ERP 314. Il metodo caricare saldo e il metodo aggiornare saldo nell'oggetto aziendale Clienti 306 sono connessi al metodo caricare saldo e al metodo aggiornare saldo nella fonte di dati ERP 314. Il metodo caricare contatto e il metodo aggiornare contatto nell'oggetto aziendale Clienti 306 sono connessi al metodo caricare contatto e al metodo aggiornare contatto nella fonte di dati CRM 316. The example Customers business object 306 includes a Customer ID property, a Name property, an Address property, a Pending property, an Load Balance method, an Update Balance method, an Upload Contact method, and an Update Contact method. The Customer ID property in the Customers 306 business object is connected to the Customer ID property in the ERP 314 data source and / or the Customer ID property in the CRM 316 data source. The Name property and the Address property in the Customers 306 business object are connected to the Name property and the Address property in the CRM data base 316. The Pending property in the Customers business object 306 is connected to the Pending property in the ERP data source 314. The Load Balance method and the Update Balance method in the Customers business object 306 are connected to the load balance method and the update balance method in the ERP data source 314. The load contact method and the update contact method in the Customers business object 306 are connected to the load contact method and the update contact method in the CRM data source 316.

L'oggetto aziendale Ordini esemplificativo 308 include una proprietà numero d'ordine, una proprietà ID cliente, una proprietà data di consegna, una proprietà tasse, una proprietà totale, una proprietà stato, un metodo creare ordine, un metodo caricare ordine, un metodo aggiornare ordine, un metodo cancellare ordine, un metodo calcolare sconto e un metodo calcolare tasse. La proprietà numero d'ordine e la proprietà stato nell'oggetto aziendale Ordini 308 sono connesse alla proprietà numero d'ordine e alla proprietà stato nella fonte di dati ERP 314. La proprietà ID cliente nell'oggetto aziendale Ordini 308 è connessa alla proprietà ID cliente nella fonte di dati ERP 314 e/o alla proprietà ID cliente nella fonte di dati accessoria 320. La proprietà data di consegna, la proprietà tasse e la proprietà totale nell'oggetto aziendale Ordini 308 sono connesse alla proprietà data di consegna, alla proprietà tasse e alla proprietà totale nella fonte di dati accessoria 320. Il metodo creare ordine, il metodo caricare ordine, il metodo aggiornare ordine e il metodo cancellare ordine nell'oggetto aziendale Ordini 308 sono connessi al metodo creare ordine, al metodo caricare ordini, al metodo aggiornare ordine e al metodo cancellare ordine nella fonte di dati ERP 314. Il metodo calcolare sconto e il metodo calcolare tasse nell'oggetto aziendale Ordini 308 sono connessi al metodo calcolare sconto e al metodo calcolare tasse nella fonte di dati funzione 322. Si apprezzerà che i nomi delle proprietà e/o dei metodi nelle fonti di dati 108 non devono necessariamente essere uguali ai corrispondenti nomi di proprietà e/o di metodi negli oggetti aziendali 306, 308. The Sample Orders business object 308 includes an order number property, a customer ID property, a delivery date property, a tax property, a total property, a status property, a create order method, an order upload method, a update order, a cancel order method, a calculate discount method and a calculate tax method. The order number property and the status property in the Orders 308 business object are connected to the order number property and the status property in the ERP 314 data source. The Customer ID property in the Orders 308 business object is connected to the ID property Customer in the ERP data source 314 and / or the Customer ID property in the accessory data source 320. The delivery date property, the tax ownership and the total ownership in the Orders 308 business object are connected to the delivery date property, the property tax and total ownership in accessory data source 320. The create order method, the load order method, the update order method, and the delete order method in the Orders business object 308 are connected to the create order method, the load orders method, the order update method and order delete method in ERP data source 314. Calculate discount method and calculate tax method in business object Orders 308 are connected ss to the calculate discount method and the calculate tax method in the function 322 data source. It will be appreciated that the property and / or method names in the data sources 108 do not necessarily have to be the same as the corresponding property and / or method names in the corporate objects 306, 308.

Un'immagine di un processo esemplificativo è presentata nella figura 5. Sebbene il processo esemplificativo sia descritto facendo riferimento alla figura 5, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche differenti. An image of an exemplary process is presented in Figure 5. Although the exemplary process is described with reference to Figure 5, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have different geographic representations.

La maggior parte dei processi consistono in un certo numero di attività ed eventi. Alcuni eventi possono richiedere un ingresso da parte di un utente e sono denominati eventi. Altri eventi possono essere eseguiti senza l'interazione dell'utente e sono denominati eventi server. Il processo 500 ha tre attività: Approvazione ordine 502, Ordine approvato 504 e Ordine respinto 506. Le attività possono avere eventi associati. Per esempio, l'attività Approvazione ordine 502 ha un evento associato Approvare ordine 508. Gli eventi sono classificati in base all'entità che esegue l'evento, per esempio l'evento Approvare ordine 508 è un evento. Most processes consist of a number of activities and events. Some events may require a user to enter and are called events. Other events can run without user interaction and are called server events. Process 500 has three activities: Order Approval 502, Order Approved 504, and Order Rejected 506. Activities can have associated events. For example, the 502 Order Approval activity has an associated 508 Order Approval event. The events are classified according to the entity that executes the event, for example the 508 Order Approval event is an event.

Gli eventi possono avere azioni. Per esempio l'evento Approvare ordine 508 ha le azioni "Approvato" 510 e "Respinto" 512. Come con i processi aziendali, le attività possono avere dati associati all'ambito di quella attività. Per esempio, l'evento Approvare ordine 508 può avere un "ID ordine" che è definito come dato nel livello di processo. Events can have actions. For example, the Approve order event 508 has the actions "Approved" 510 and "Rejected" 512. As with business processes, activities can have data associated with the scope of that activity. For example, the Approve Order 508 event may have an "Order ID" which is defined as given in the process level.

Quando un processo è respinto, oggetti aziendali logici ("entità aziendali") possono essere creati per il processo stesso e per ciascun evento nel processo. Per esempio, quando respinto, il processo 500 può avere un oggetto aziendale creato per il processo 500 e per l'evento Approvare ordine 508. When a process is rejected, logical business objects ("business entities") can be created for the process itself and for each event in the process. For example, when rejected, process 500 can have a business object created for process 500 and for the Approve order event 508.

Un'immagine di un modello di oggetto aziendale esemplificativo è presentata nella figura 6. Sebbene il modello di oggetto aziendale esemplificativo sia presentato facendo riferimento alla figura 6, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an exemplary business object model is presented in Figure 6. Although the exemplary business object model is presented with reference to Figure 6, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

Se i dati sono definiti al livello di processo aziendale, quei dati possono diventare una proprietà per tutte le entità aziendali (per esempio, l'oggetto aziendale di processo e le entità aziendali di evento). Per esempio, se 1"'ID ordine" è definito come un dato al livello di processo, esso può diventare una proprietà "ID ordine" 606 nell'oggetto aziendale di processo Approvazione d'ordine 602 e nell'oggetto aziendale Approvare ordine 604, dove l'oggetto aziendale di processo Approvazione d'ordine 602 è associato al processo aziendale complessivo e l'oggetto aziendale Approvare ordine 604 è associato all'evento Approvare ordine 508. If data is defined at the business process level, that data can become a property for all business entities (for example, the process business object and event business entities). For example, if 1 "'Order ID" is defined as a data at the process level, it can become an "Order ID" property 606 in the Order Approval process business object 602 and the Order Approval business object 604, where the order approval process business object 602 is associated with the overall business process and the order approval business object 604 is associated with the order approval event 508.

Un'immagine di un modello di flusso di dati esemplificativo è presentata nella figura 7. Sebbene il modello di flusso dati esemplificativo sia presentato facendo riferimento alla figura 7, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an exemplary data flow model is presented in Figure 7. Although the exemplary data flow model is presented with reference to Figure 7, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

Il flusso di dati può iniziare con il processo di progetto (blocco 702). Per esempio, i dati richiesti possono essere identificati durante il progetto iniziale del processo aziendale. Successivamente, il flusso di dati può continuare nel processo di sviluppo (blocco 704). Per esempio, nel runtime possono essere determinati i dati richiesti. The data flow can begin with the design process (block 702). For example, the required data can be identified during the initial business process design. Subsequently, the data flow can continue in the development process (block 704). For example, the required data can be determined in runtime.

Un metodo di oggetto aziendale può essere creato per ciascuna azione di processo (blocco 706). Per esempio, per ciascuna azione di processo aziendale può essere creato un metodo di oggetto aziendale. L'oggetto aziendale di processo Approvazione d'ordine 602 può avere un metodo Avvia approvazione ordine creato per l'attività Avvio approvazione, come osservato nella figura 6. Per ciascun campo dati del livello di processo può essere creata una proprietà dell'oggetto aziendale (blocco 708). Per esempio, se era impostato "ID ordine" in un campo dati del livello di processo aziendale, una proprietà "ID ordine" può essere creata per l'oggetto aziendale. A business object method can be created for each process action (block 706). For example, a business object method can be created for each business process action. The Order Approval process business object 602 can have a Start Order Approval method created for the Start Approval activity, as seen in Figure 6. A business object property ( block 708). For example, if "Order ID" was set in a business process layer data field, an "Order ID" property can be created for the business object.

Un oggetto aziendale può essere creato anche per ciascun evento (blocco 710). Per esempio, un evento Approvare ordine 508 può avere il suo oggetto aziendale creato appositamente. Come con l'oggetto aziendale di processo aziendale, ciascuna azione di evento può avere un metodo di oggetto aziendale creato appositamente (blocco 712). Ciascun campo dati del livello processo può essere una proprietà di oggetto aziendale (blocco 714) e ciascun campo dati del livello di attività può essere una proprietà di oggetto aziendale (blocco 716). Per esempio, nell'oggetto aziendale Approvare ordine 604, un campo dati del livello processo può essere "ID ordine" e un campo dati del livello attività può essere "Data di avvio attività" che è localizzato nell'oggetto aziendale Eventi. A business object can also be created for each event (block 710). For example, a 508 Order Approve event may have its business object created for it. As with the business process business object, each event action can have a specially created business object method (block 712). Each process level data field can be a business object property (block 714) and each activity level data field can be a business object property (block 716). For example, in the Approve Order 604 business object, a process level data field can be "Order ID" and an activity level data field can be "Activity Start Date" which is located in the Events business object.

Un'immagine di una schermata di sviluppo esemplificativa è presentata nella figura 8. Sebbene la schermata di sviluppo sia presentata facendo riferimento alla figura 8, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an exemplary development screen is presented in Figure 8. Although the development screen is presented by referring to Figure 8, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

Quando viene sviluppato il processo, all'utente può essere data la scelta se generare entità aziendali durante lo sviluppo del processo o generare entità aziendali manualmente dopo lo sviluppo. Per esempio, all'utente può essere presentata un'opzione 802 per creare l'oggetto aziendale, o "Workflow SmartObject." When the process is developed, the user can be given the choice of whether to generate business entities during process development or generate business entities manually after development. For example, the user may be presented with an 802 option to create the business object, or "Workflow SmartObject."

Un'immagine di una schermata di workflow esemplificativa 900 è presentata nella figura 9. Sebbene la schermata di workflow esemplificativa 900 sia presentata facendo riferimento alla figura 9, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an exemplary workflow screen 900 is presented in Figure 9. Although the exemplary workflow screen 900 is presented by referring to Figure 9, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

La schermata di workflow 900 può contenere un oggetto di workflow, o una pluralità di oggetti di workflow, come compiti, eventi, attività ecc. Il workflow può essere memorizzato nelle fonti di dati 108. The workflow screen 900 can contain a workflow object, or a plurality of workflow objects, such as tasks, events, activities, etc. The workflow can be stored in the data sources 108.

Un'immagine di una schermata di selezione di entità aziendali esemplificativa 1000 è presentata nella figura 10. Sebbene la schermata di selezione di entità aziendali esemplificativa 1000 sia descritta facendo riferimento alla figura 10, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an exemplary business entity selection screen 1000 is presented in Figure 10. Although the exemplary business entity selection screen 1000 is described with reference to Figure 10, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

La schermata di selezione di entità aziendali 1000 può essere basata su processi di workflow memorizzati nelle fonti di dati 108. La schermata di selezione di entità aziendali 1000 può avere un elenco di entità aziendali 1002. L'elenco di entità aziendali 1002 mostra tutti i processi aziendali disponibili. La schermata di selezione di entità aziendali 1000 può anche avere una finestra dati correlata 1004. La finestra dati correlata mostra dati dall'entità aziendale che è selezionata sull'elenco di entità aziendali 1002 nonché da qualsiasi altra entità aziendale correlata. Per esempio, un processo di workflow, rappresentato come un oggetto aziendale, può utilizzare altri oggetti aziendali come parte del processo aziendale. Un processo di workflow che tratta le informazioni clienti può avere un oggetto aziendale associato per un cliente che ha interazioni di lettura/scrittura attraverso il runtime del processo aziendale. L'oggetto aziendale associato sarà anche presentato nella finestra dati correlata 1004 e sarà disponibile per la creazione di report e l'accesso ad applicazioni client esterne. Poiché tutti gli oggetti aziendali possono essere rappresentati come costrutti di database standard, l'utente aziendale non è limitato soltanto a lavorare con i dati di workflow. The 1000 business entity selection screen can be based on workflow processes stored in data sources 108. The 1000 business entity selection screen can have a 1002 business entity list. 1002 business entity list shows all processes company available. The 1000 business entity selection screen can also have a related data window 1004. The related data window shows data from the business entity that is selected on the business entity 1002 list as well as from any other related business entities. For example, a workflow process, represented as a business object, can use other business objects as part of the business process. A workflow process that handles customer information can have an associated business object for a customer that has read / write interactions through the business process runtime. The associated business object will also be presented in the related data window 1004 and will be available for reporting and access to external client applications. Since all business objects can be represented as standard database constructs, the business user is not limited to just working with workflow data.

Un'immagine di una schermata di selezione di dati esemplificativa 1100 è presentata nella figura 11. Sebbene la schermata di selezione di dati esemplificativa 1100 sia descritta facendo riferimento alla figura 11, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an exemplary data selection screen 1100 is presented in Figure 11. Although the exemplary data selection screen 1100 is described with reference to Fig. 11, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

La schermata di selezione di dati 1100 consente all'utente di selezionare specifici elementi di dati su cui creare report. La schermata di selezione di dati 1100 può includere un elenco di dati di report 1102 e una finestra di creazione di report 1104. Utilizzando la schermata di selezione di dati 1100, l'utente può creare report dettagliati sui dati che desidera monitorare. La schermata di selezione di dati 1100 fornisce un'interfaccia front-end per le entità aziendali e un'interfaccia per eseguire operazioni di database sulle entità aziendali. The 1100 data selection screen allows the user to select specific data items to report on. The data selection screen 1100 can include a 1102 report data list and a 1104 report creation window. Using the data selection screen 1100, the user can create detailed reports on the data they want to monitor. The 1100 data selection screen provides a front-end interface for business entities and an interface for performing database operations on business entities.

Un'immagine di una schermata di riepilogo del processo di workflow esemplificativa 1200 è presentata nella figura 12. Sebbene la schermata di riepilogo del processo di workflow esemplificativa 700 sia descritta facendo riferimento alla figura 12, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an example workflow process summary screen 1200 is presented in Figure 12. Although the example workflow process summary screen 700 is described with reference to Figure 12, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

La schermata di riepilogo del processo di workflow 1200 contiene un elenco di processi di workflow 1202. L'elenco di processi di workflow 1202 mostra tutti i processi in esecuzione su un server di object broker 114 o un altro server che esegue un processo aziendale. The workflow process 1200 summary screen contains a list of workflow processes 1202. The workflow process list 1202 shows all processes running on an object broker server 114 or another server running a business process.

Un'immagine di una schermata di report di istanze di processo esemplificativa 1300 è presentata nella figura 13. Sebbene la schermata di report di istanze di processo esemplificativa 1300 sia descritta facendo riferimento alla figura 13, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an example process instance report screen 1300 is shown in Figure 13. Although the example process instance report screen 1300 is described with reference to Figure 13, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

La schermata di report di istanze di processo 1300 contiene un elenco di istanze di workflow 802. L'elenco di istanze di workflow 1302 mostra tutte le istanze in esecuzione di un dato tipo di entità aziendale. Si apprezzerà che sono possibili molti altri report. Per esempio, report di dettaglio di processo e attività. The Process Instance 1300 Report screen contains a list of 802 Workflow Instances. The 1302 Workflow Instance List shows all running instances of a given business entity type. It will be appreciated that many other reports are possible. For example, process and activity detail reports.

Un'immagine di una schermata di flusso di visualizzazione esemplificativa 1400 è presentata nella figura 14. Sebbene la schermata di flusso di visualizzazione esemplificativa 1400 sia descritta facendo riferimento alla figura 14, si apprezzerà che sono possibili molte altre configurazioni. Per esempio, gli elementi possono avere localizzazioni differenti, gli elementi possono avere nomi differenti e gli elementi possono avere rappresentazioni geografiche. An image of an exemplary display flow screen 1400 is presented in Figure 14. Although the exemplary display flow screen 1400 is described with reference to Figure 14, it will be appreciated that many other configurations are possible. For example, elements can have different locations, elements can have different names, and elements can have geographic representations.

La schermata di flusso di visualizzazione 1400 include una visualizzazione del processo di workflow. La visualizzazione del processo di workflow può includere oggetti di processo di workflow colorati 1402 che mostrano le fasi di processo completate. La visualizzazione del processo di workflow può anche includere un oggetto di processo di workflow colorato 1404 che mostra l'attuale fase di processo di workflow. In questo modo, l'utente può determinare da dove nel processo provengono i dati. Inoltre, la schermata di flusso di visualizzazione 1400 consente all'utente di passare tra la visualizzazione del costrutto di database standard e la visualizzazione del processo di workflow. The 1400 visualization flow screen includes a visualization of the workflow process. The workflow process visualization can include 1402 colored workflow process objects showing the completed process steps. The workflow process view can also include a 1404 colored workflow process object showing the current workflow process step. In this way, the user can determine where in the process the data is coming from. In addition, the 1400 view flow screen allows the user to switch between viewing the standard database construct and viewing the workflow process.

Ricapitolando, le persone mediamente esperte nella tecnica apprezzeranno prontamente che sono stati illustrati metodi e apparecchiatura dell'invenzione correlati a workflow e form automatizzati. La descrizione precedente è stata presentata a scopo illustrativo e descrittivo. Essa non intende essere esaustiva né limitare l'invenzione alle forme di realizzazione esemplificative descritte. Molte modifiche e varianti sono possibili alla luce degli insegnamenti di cui sopra. È inteso che l'ambito dell'invenzione è limitato non da questa descrizione dettagliata di esempi ma piuttosto dalle rivendicazioni annesse a essa. In summary, those of average skill in the art will readily appreciate that methods and apparatus of the invention related to automated workflows and forms have been illustrated. The foregoing description has been presented for illustrative and descriptive purposes. It is not intended to be exhaustive nor to limit the invention to the exemplary embodiments described. Many modifications and variations are possible in light of the above teachings. It is understood that the scope of the invention is limited not by this detailed description of examples but rather by the claims appended thereto.

Claims (21)

RIVENDICAZIONI 1. Metodo per esporre una definizione di processo di workflow come un oggetto aziendale, il metodo comprendendo: creazione di un processo di workflow, in cui il processo di workflow include dati di workflow; esecuzione del processo di workflow; e creazione di un oggetto aziendale in base al processo di workflow, in cui l'oggetto aziendale include un'interfaccia di database per accedere ai dati di workflow e in cui l'oggetto aziendale include dati da una prima fonte in un primo formato e dati da una seconda fonte in un secondo formato. CLAIMS 1. Method for exposing a workflow process definition as a business object, the method comprising: creation of a workflow process, where the workflow process includes workflow data; execution of the workflow process; And creation of a business object based on the workflow process, where the business object includes a database interface to access workflow data and where the business object includes data from a first source in a first format and data from a second source in a second format. 2. Metodo secondo la rivendicazione 1, in cui i dati di workflow includono primi dati da un primo sistema di back-end e secondi dati da un secondo sistema di back-end. The method according to claim 1, wherein the workflow data includes first data from a first back-end system and second data from a second back-end system. 3. Metodo secondo la rivendicazione 1, in cui l'interfaccia di database include un metodo Inserì (inserire), un metodo Update (aggiornare), un metodo Select (selezionare) e un metodo Delete (eliminare). The method according to claim 1, wherein the database interface includes an Insert (insert) method, an Update (update) method, a Select (select) method and a Delete (delete) method. 4. Metodo secondo la rivendicazione 1, che comprende la creazione di un report sull'oggetto aziendale. The method according to claim 1, which comprises creating a report on the business object. 5. Metodo secondo la rivendicazione 1, che comprende il recupero dei dati di processo di workflow e una fase di processo di workflow associata dall'oggetto aziendale. The method according to claim 1, which comprises retrieving the workflow process data and an associated workflow process step from the business object. 6. Metodo secondo la rivendicazione 1, che comprende la creazione di metodi su misura associati all'oggetto aziendale. The method according to claim 1, which comprises creating tailored methods associated with the business object. 7. Metodo secondo la rivendicazione 1, che comprende la creazione di una nuova memoria dati per memorizzare dati nuovi, in cui i dati nuovi sono associati a un nuovo campo dati creato nell'oggetto aziendale e il nuovo campo dati non è localizzato in una memoria dati esistente. The method according to claim 1, which comprises creating a new data store to store new data, where the new data is associated with a new data field created in the business object and the new data field is not located in a memory existing data. 8. Sistema per esporre una definizione di processo di workflow come oggetto aziendale, il sistema comprendendo: un processore: creazione di un processo di workflow, in cui il processo di workflow include dati di workflow; esecuzione del processo di workflow; e creazione di un oggetto aziendale in base al processo di workflow, in cui l'oggetto aziendale include un'interfaccia di database per accedere ai dati di workflow e in cui l'oggetto aziendale include dati da una prima fonte in un primo formato e dati da una seconda fonte in un secondo formato. 8. System for exposing a workflow process definition as a business object, the system comprising: a processor: creation of a workflow process, where the workflow process includes workflow data; execution of the workflow process; And creation of a business object based on the workflow process, where the business object includes a database interface to access workflow data and where the business object includes data from a first source in a first format and data from a second source in a second format. 9. Sistema secondo la rivendicazione 8, in cui i dati di workflow includono primi dati da un primo sistema di back-end e secondi dati da un secondo sistema di back-end. The system according to claim 8, wherein the workflow data includes first data from a first back-end system and second data from a second back-end system. 10. Sistema secondo la rivendicazione 8, in cui l'interfaccia di database include un metodo Inserì, un metodo Update, un metodo Select e un metodo Delete. System according to claim 8, wherein the database interface includes an Insert method, an Update method, a Select method and a Delete method. 11. Sistema secondo la rivendicazione 8, che comprende la creazione di un report sull'oggetto aziendale. The system according to claim 8, which comprises the creation of a report on the business object. 12. Sistema secondo la rivendicazione 8, che comprende il recupero dei dati di processo di workflow e una fase di processo di workflow associata dall'oggetto aziendale. The system according to claim 8, which comprises the retrieval of the workflow process data and a workflow process step associated with the business object. 13. Sistema secondo la rivendicazione 8, che comprende la creazione di un metodo su misura associato all'oggetto aziendale. The system according to claim 8, which comprises creating a bespoke method associated with the business object. 14. Sistema secondo la rivendicazione 8, che comprende la creazione di una nuova memoria dati per memorizzare dati nuovi, in cui i dati nuovi sono associati a un nuovo campo dati creato nell'oggetto aziendale e il nuovo campo dati non è localizzato in una memoria dati esistente. The system according to claim 8, which comprises the creation of a new data memory for storing new data, in which the new data is associated with a new data field created in the business object and the new data field is not located in a memory existing data. 15. Supporto informatico leggibile che memorizza un programma per indurre un sistema informatico a: creare un processo di workflow, in cui il processo di workflow include dati di workflow; eseguire il processo di workflow; e creare un oggetto aziendale in base al processo di workflow, in cui l'oggetto aziendale include un'interfaccia di database per accedere ai dati di workflow e in cui l'oggetto aziendale include dati da una prima fonte in un primo formato e dati da una seconda fonte in un secondo formato. 15. Readable computer medium that stores a program to induce a computer system to: create a workflow process, where the workflow process includes workflow data; perform the workflow process; And create a business object based on the workflow process, where the business object includes a database interface to access workflow data and where the business object includes data from a first source in a first format and data from a second source in a second format. 16. Supporto informatico leggibile secondo la rivendicazione 15, in cui i dati di workflow includono primi dati da un primo sistema di back- end e secondi dati da un secondo sistema di back-end. A readable computer medium according to claim 15, wherein the workflow data includes first data from a first back-end system and second data from a second back-end system. 17. Supporto informatico leggibile secondo la rivendicazione 15, in cui l'interfaccia di database include un metodo Inserì, un metodo Update, un metodo Select e un metodo Delete. A readable computer medium according to claim 15, wherein the database interface includes an Insert method, an Update method, a Select method and a Delete method. 18. Supporto informatico leggibile secondo la rivendicazione 15, che comprende la creazione di un report sull'oggetto aziendale. 18. Readable computer medium according to claim 15, which comprises the creation of a report on the business object. 19. Supporto informatico leggibile secondo la rivendicazione 15, che comprende il recupero dei dati di processo di workflow e una fase di processo di workflow associata dall'oggetto aziendale. 19. Readable computer medium according to claim 15, which comprises the retrieval of the workflow process data and an associated workflow process step from the business object. 20. Supporto informatico leggibile secondo la rivendicazione 15, che comprende la creazione di un metodo su misura associato all'oggetto aziendale. 20. A readable computer medium according to claim 15, which comprises the creation of a tailor-made method associated with the business object. 21. Supporto informatico leggibile secondo la rivendicazione 15, che comprende la creazione di una nuova memoria dati per memorizzare dati nuovi, in cui i dati nuovi sono associati a un nuovo campo dati creato nell'oggetto aziendale e il nuovo campo dati non è localizzato in una memoria dati esistente.21. A human-readable computer medium according to claim 15, which comprises the creation of a new data memory for storing new data, in which the new data is associated with a new data field created in the business object and the new data field is not located in an existing data memory.
ITMI20120457 2012-12-28 2012-12-28 METHODS AND EQUIPMENT TO EXPOSE DEFINITIONS OF WORKFLOW PROCESSES AS BUSINESS OBJECTS ITMI20120457U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ITMI20120457 ITMI20120457U1 (en) 2012-12-28 2012-12-28 METHODS AND EQUIPMENT TO EXPOSE DEFINITIONS OF WORKFLOW PROCESSES AS BUSINESS OBJECTS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITMI20120457 ITMI20120457U1 (en) 2012-12-28 2012-12-28 METHODS AND EQUIPMENT TO EXPOSE DEFINITIONS OF WORKFLOW PROCESSES AS BUSINESS OBJECTS

Publications (1)

Publication Number Publication Date
ITMI20120457U1 true ITMI20120457U1 (en) 2014-06-29

Family

ID=48048862

Family Applications (1)

Application Number Title Priority Date Filing Date
ITMI20120457 ITMI20120457U1 (en) 2012-12-28 2012-12-28 METHODS AND EQUIPMENT TO EXPOSE DEFINITIONS OF WORKFLOW PROCESSES AS BUSINESS OBJECTS

Country Status (1)

Country Link
IT (1) ITMI20120457U1 (en)

Similar Documents

Publication Publication Date Title
US7596546B2 (en) Method and apparatus for organizing, visualizing and using measured or modeled system statistics
US8381197B2 (en) Method and system for testing a software development activity
US8209660B2 (en) Model driven software
US8010940B2 (en) Methods and apparatus for designing a workflow process using inheritance
US8239226B2 (en) Methods and apparatus for combining properties and methods from a plurality of different data sources
ITMI20130390U1 (en) METHODS AND SYSTEM FOR DYNAMIC ENDPOINT GENERATORS, DETECTION AND MEDIATION (BROKERAGE) OF DYNAMIC REMOTE OBJECTS
EP1975795B1 (en) Method and system for estimating resource provisioning
US8626477B2 (en) Spreadsheet-based graphical user interface for modeling of products using the systems engineering process
US9672560B2 (en) Distributed order orchestration system that transforms sales products to fulfillment products
US20160179982A1 (en) Canonical data model for iterative effort reduction in business-to-business schema integration
US20060224425A1 (en) Comparing and contrasting models of business
US20040103186A1 (en) Platform and method for monitoring and analyzing data
US20210103862A1 (en) Methods and apparatus for exposing workflow process definitions as business objects
US11461410B2 (en) Case leaf nodes pointing to business objects or document types
US8224853B2 (en) Methods and apparatus for updating a plurality of data fields in an electronic form
US8688626B2 (en) Software tool for generating technical business data requirements
US20130227590A1 (en) Managing and optimizing workflows among computer applications
EP1683095A1 (en) System and method for modeling costed entities and performing a value chain analysis
US20130238549A1 (en) Using Dimension Substitutions in OLAP Cubes
US20230026911A1 (en) Describing changes in a workflow based on changes in structured documents containing workflow metadata
Hamdaqa et al. Stratus ML: A layered cloud modeling framework
CN109978392B (en) Agile software development management method and device, electronic equipment and storage medium
US7996758B2 (en) Methods and apparatus for storing data associated with an electronic form
US20070208777A1 (en) Methods and apparatus for designing a workflow process using resource maps and process maps
US20070143305A1 (en) Methods and apparatus for storing functions associated with an electronic form