CA2122565A1 - Integration of result data from first program operations on dynamic source data into data of a second program - Google Patents

Integration of result data from first program operations on dynamic source data into data of a second program

Info

Publication number
CA2122565A1
CA2122565A1 CA002122565A CA2122565A CA2122565A1 CA 2122565 A1 CA2122565 A1 CA 2122565A1 CA 002122565 A CA002122565 A CA 002122565A CA 2122565 A CA2122565 A CA 2122565A CA 2122565 A1 CA2122565 A1 CA 2122565A1
Authority
CA
Canada
Prior art keywords
data
script
application program
data object
result data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002122565A
Other languages
French (fr)
Inventor
John M. Pratt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories 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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of CA2122565A1 publication Critical patent/CA2122565A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Abstract

A mechanism for integrating first data created by a first application program and residing in a first data object into a second data object where the first data is result data generated by operation of the first application program on source data. A computer system includes an integrated operating environment and a user creates and stores a script identifying the source data and directing the operation of the first application program to generate the result data from the source data and inserts to a reference to the script in the second data object wherein the reference identifies the script, the first application program and an operation of the first application program to execute the script. The user may then invoke the reference to indication that a current version of the result data derived by operation on a current version of the source data is to be provided to the second data object. The system resolves the reference to identify the script, the first application program and the operation of the first application program to execute the script and invokes the first application program to execute the script to generate the result data from the source data and to provide the result data to the second data object.

Description

212256~

INTEGRATION OF RESULT DATA FROM ~IRST PRO&RAM OPERATIONS
ON DYNAMIC SOUROE DATA ~TO DATA OF A SECOND PROGRAM
Cross References to Related Applic tions This patent applicalion is related to:
Fidd of tbe Invention The present invention relates to a means for integl aling data between applications programs executing in an integrated ~.al~8 env~n"~nl by P ..bed~ g a ref~i-ence to f~rst data created by a first applicalion program into second data aeated by a second application program and more particularly for il~t~dting data between applications wherein the first data is result data generated by operation ofthc first a~plic~ion program upon source data of the first app~ ';on progra~L
Background or the l~lvention Recent years ha~re seen the d~ ~_lop~ and adoption of integrated op~.allng envilvr~,le~ls such as MicrosoR Wmdows~ and NeW Wave2. for ~ y ~ co .~t-~data pr~s~ g ~; t~ S whem an ,~tc~alcd op~ng cn~r~nn~ is c~,l;~d of op~aling system fi~ ;ons together ~th a plurality of other fuDctions such as user interface and data eAchange and ,llt~Lion fi ~ which may be used in co~ullon by applic&tions pl'O~InLS written to exealte in the integrated op~ t. Such integrated op~.dting emi~vr~ 1$ usually provide a variety of rneansby which first data created by a first applic~lion program and residing iD a first f~e or object be~ to the first application pro~ll rnay be hlt~aled into second data created by a second applicalion plogl~ and residing in a second file or object ~4ngJng to the second sl?p!icc~;on pro~2lnl.
The inte~lion of data bet~ n app ~'i~ pro~ams iD inte~t~d op~
envhonlne.~ls ofthe prior art alsto~ ily involves the e-..bedd;ng of a ref~enc~ to the first data in the second data The integraled opelaling environrnent is r~ e to the invocation of the second application progl ~,. or to an indication by a user of the seco~
application program of an operation to be performed on the embedded f~rst data to invoke either the first application prograrn or a local handler designed to emulate at least some of IMicrosoft and ~Indows are tradernarks of M~crosoR Colpolalion 2New Wave is a trademark of Hewlett-Packard Corporation ~ 21225G~
the functions of the first application program and to provide the embedded reference to the first data to the first application or local handler. The first applicalion or local handl will then open the first file or object, resolve the reference to first data, and provide 8 current copy of the first data from the first file or object to the second application through the integrated opc,aling en~i~oru,-c,~t's data transfer mecl~nismc. The upd~ted copy of the first data will then appear in the second data.
To illustrate by way of e,.&l,ple, Miaosoft Wmdows provides two ...e~ n;s .~s for çmbedding or linking data from a first data file into a second data file. The first uses the Wmdows Clipboard to pe.rollll a copy and paste operation and the second uses Object ~ ;nling and Embedding (OLE) and Dynamic Data E~chPng~ (ODE) to linlc a copy of the data from the f~rst data Sle into the second data file. Both .-~ll~d~ require that either tbe first application program that generated the first data file or a local handler capable of p~.rO,.,..I g the required fimctionc ofthe first arpli~;on p.~.. be invoked for each e-.~bedd;~g and upd~ g of data and diffa primarily in that OLE provides automatic imocation ofthe first arpli.~;on pro~n while the cLpboa.d l~uir~s that the user imroke the first applic~ion prograrn manually.
That is, when using the Cl;pboald the user must invoke the first application p-O~LII and, using the first ~rpE~ n pr~,~, either indicate the data to be copied or use the first &pplic~on p.og,~u.. to genc~lc and then indicatc the data to be copied. Tbe user then uses the Cow fimCtion to cow the data to the Cl;~s~d &nd then goes to the second application program, which was used to gel-c~dte the second data file, and uses tbe paste ope~lion to paste the data from the first data file into the second data file. This sluçnc~ of ope,~on~ must thcn be ~ep~t~d cach ti ne the copied data is to bc update~
OLE requires the same initial steps to initially embed the data from thc first f~c into the second file but differs in that the data from the first file is ~linked~ into the second file through DDE by ~rnbedding a reference in the second file to the d~ta from the first file The OLE will then use the embedded refe-ence and link to the first data file to copy the data ~om the first file to the second file through DDE so that the data appears to reside in the second file. ThereaRer, the embedded data may be updated each time the second data file is opened by the second application pro~", either manually by using the manual update function or dynamically by using the auton-stic update function. OLE performs the updating operation, however, by using the e..,bedded refele.-ce and the link to invoke the 2122~gS
3 A94'~)03 first application program, the first application prog.~,. to make a new copy of the data, and DDE to provide the new copy from the first application prog.~n to the second applicalion prograrn.
It must be noted that both of these data integration .I~,thods of the integratedope.aling en-~iroru-,enls ofthe prior art permit only a copy ofthe data from the first file to be provided to the second file and that only the copy of the embedded data can be upd~ted That is, these methods are capable only of copying already existing data from the first file. This limitation, in tum, results in severe problems when the first application is of the type which operates upon original or raw data, referred to hereafter as source data, to ge~lelate new data, r~,..,d to hereafter as result data wherein the source data is dynamic, that is, may change with time. EYP F!e9 of such first applications would include database inquiry prog.~l,s, ~readshxt pro~ n~f.:~ programs, and so forth.
Because the data ;JIt~ ~lion methods of t-he prior art permit only copies of either or b~oth ofthe source data or thJe result data ofthe first application to be el--bedded in the data ofthe second ~pp1;c~;on and to be l,~A potentially scvere problems may arise when the source data ofthe first applic~ion changes. That is, if the source data changes, for example, because of new additions to or changes to the source data in a d2t?~oce or to the input data to a spreadsheet or l~n~n. ;o~ predict on or analysis p~ u.., the re~lt data will not change w~l the f~rst applicaLon pro~l. has been imoked and directed by the user to re e~ccule the operations which op~..lo~ upon the source data to ge~ te the result data. As a result, the result data urill be out of s~..chron: ~io~ with the source data, that is, will be in error with respect to the ~rrent source data and will not reflect the current source data, and this error will be carried over to the copy of the data e -~edd~d in the second data file, regardless of how often the ~ bedded data i~ upd~tcd th~h the data integration means. In other ;n~t~nC~5, the first application, by design or user choice, may not save the result data from a given operation on the source data and, as aconsequence, there will be no result data to be embedded into the second data.
The present invention provides a solution to these and other problems of the data integration methods of the integrated op~- aling em~iro~unenls of the prior art.Summarg of thc Invention The present invention provides a l-.e~h~nis.,~ and a method for integrating first data created by a first application program and residing in a first data file or object belonging to 212~56~
the first application into a second data file or object belonging to a second application, or into a second data file or object of the first application, whae the first data i~ result data generated by operation of the first application program upon source data ofthe first applicalion prograrn.
The present imention includff a computer system inclu~1ing a plurality o applicalions programs and objects for storing data, a memory and p.ocessor for storing and exeouting the application prograrns, and an integrated ope.ating enviror~ t, and the means for inte~alillg result data from a first data object into a second data object wl~erein the result data is generated by operations performed on source data by an s{~~;on program. According to the present invention, a user creates and stores a script identi~ing thc sourcc data and du~ting thc ope...tion of the application program to gencrate the result data from the source data and inserts, a ~f~r~cc to tbe script in the second data object, wherein the .~f~,~nce id~tifies the script, the applic~ion pl~a,l. ~nd an operation ofthe application prog~ll to ex~te the script. Thc user tnay thcn invoke thc ref~nce to indicate that a current version ofthc result data derived by operation upon a current version of the source data is to bc provided to thc second data objed, ~h~rwpon the system resolves the r~f~nce to identif~ the scnpt, thc app!ic2tion progrm and the opcration ofthe ~)p~ !n pl`Ogl~ll to ~ -c~e the script and imoka the ~lic~;on program to execute the script to gene~ale thc result data from the source d~ and to provide thc result data to the aecond data object.
In further aspects ofthe present imention, the user insens the reference into the second data object at the location in the second data object whcre the result data is to appear, creata a col,e3ponding result data object to receive thc result data. The user then creates a co.,espond;ng interface d~ fi.-ing op~,~ons ofthe integrat~g ope~t;flgenviloru~.e,n to be pe,~l...cd with respect to the result data object, creates a moniker co" ~sponding to the result data object, the monika includi~ information identifying the script, provides a verb identif~ing the operation of the application program to execute the script, and obtains a unique identifia identifying the application program from an application program registration d~t~base of the integrated environment In still further aspects of the present invention, the resolution of the r- f, e.)ce includes resolving the moniker il~l",a~ion identifying the script to identify the location of the script in the computer system, indexing the program registration ~ t:~b:~ with the ~ 225 65 A94003 unique identifier to identify the application program, and providing the identification of the applicalion program, the location of the script and the verb to the application prograrn.
In yet funher aspects of the present invention, the providing of the result data to the second data object is accomp!ished by invoking a data ~cçhq~ echqnicm ofthe integrated ope. aling environ.,le.lt and providing the result data to the data ~c-hqnge n.~,l.qn-Sm In an alternate embodiment of the present invention, the script a~K 91ed with the first dats object inc1udes coll~ n~lc di,~;ling a data exchange ",e~h~ni,... ofthe inle~ted op~aling envirol""cnl to provide the result data to the second data object and a second script is associated with an application prograrn for ope~aling upon the second data object a second sc~ipt for d;lccling the invocation ofthe applicadon prog.~,l ofthe first data object. The second script directs the applic~ion prow~u,l asso~,aled with the second data object for requesting an ~ ~ch~r~ge ofthe result data from the first data object, identitjing the result data and the applic~lion prog~ ofthe first data object and &~ing thc e-C~ ;Gn ofthe ~cript sc~c;L~ed with the app!ic~l;on pro~d.n ofthe first data object The second script is respor~;~e to the invocation ofthe ref~encc to the result data for invoking the &pplic~lion prog,~" ~ssoeist~d with the f~rst data object and providing the id~ ;ons ofthe ~lic~ion prog,~u,. a~soc:~led with the f~rst data object and the ~cs~,i~ed script to the applic~;on ~, og,.u" ~csa~;ste~d with the fir~ data object and thc script associated with the first data object is rwpons;~e to the invocstion ofthc script associated ~ith the first data object for invol~ng the data e~change mechanism of the integrated Ope.aling envilor""~,nl and providing the result data to thc data e~cc-h~ngc Other f~atu,~, objects and ad~t~&es ofthe present invention will be und~stdod by those of ordinary skill in the art afler reading the following descriptions of a present implementation ofthe present invention, and after eAam-ning the drawings, wherein:
Brief Description of thc Drawings FiB 1. is a diagrammatic representation of the system of the present invention.
Detailed Description A. General Description (~ig. I) Referring to Fig. 1, therein is presented a diagrammatic represenlalion of a Data Processing System 10 imple."enling the present invention. As will be described below, the ~122~6~

present invention provides a means for inte{~ al;ng first data created by a first application prog. ~,.. and rej;ding in a first data file or object belon~ng to the first applical;on into a second data file or object belonging to a second applic&lion, or into a second data file or object ofthe first applica~ion, where the first data is result data Ren~.alcd by operation of the first applicalion prograrn upon source data of the first applicalion prograrn.
According to the present invention, the user will create a ~script" which is stored as an object or file ~soci~ted with the first applicalion prograrn wherein a ~script" directs the first application prog. ~-, to perforrn the operations on the source data that are ne~cc~. y to generate the result data. A ~script~ may be generally de~.,bed as a script, prog.~l, routine, macro, instruction or con,."and for d---~l.ng the first ~F~ic~tion to p~.r...., an operation or sequenc~ of operations OD the source data to generate ~e re~lt data, such as an SQL query of a datab~se, and may range from nccc~ and copying an idenlirl~d body of source data in a fiJe to complex manipulations ofthe sourc~ data to generate new data The user may insert a refer~ce to the script into the sec,ond data file or object, either into the menus or co...~n~ ofthe second applic~'ion prog..u.., that is, into t~he applicalion prog.~" that normally operates upon the second d~ta file, or into the second data file or object itself. In the fust case, the r~ c~ can be i. s4ncd, for example, as a new menu pick with acccs,--;)a"jing script to r~ cc the first data and invoke the f~rst &pplic&lion pro~.l to execute the query. The user may then update the data by imol~ng the menu pick, whereupon the com.~and line will invoke the first application program, open the first data file, execute the script, copy the new data ;D the richest co~?~ Jle data forn~at, and paste the new data into the second data file in the indicated location.
In the second i~ Anc~ a refaence link to tbe query file is e-.~dded in the data of the second data file and may take two forms, d~ d;.~g upon whetha the second applicalion program supports object linking and embedding. If the applicdtion program does not support object linking and embedding as implemented, for e~ ple, in MicrosoR
Windows OLE 2.0, the user may click on thè e nbedded reference and the query mechanism of the present invention will invoke and exeeute the query and copy the new data into the second data file as described just above; that is, the query will include the co",.,~and, instructions or routines necess~ry to perforrn the copy operation as weU as the operations on the source data. If the application program does support object linking and embedding as implemented, for example, in MicrosoR ~mdows OLE 2.0, the embedded ~ eference will be in the form of a link to an object CO,.~ ;ng thc query, and the user may invoke the query by clicking on the reference or by invoking the quy. The queryn.e~.h~n.c... ~,vill then open the first data file, p~,rO"" the query op~ions and pass the new data to the second file through the integrated ope.dting envuoru,.e.l~'s data ~ch~ ~ge mechanis"~ such as Microso~ Wmdo~s Dynamic Data Exchange (DDE) and Object Linking and Embedding (OLE 2.0) and the automation support provided in OLE 2.0 through data ob3ects, in the nchest compatible data format.
FinaUy, it will be ~csl~ed in the following detailed d~tion of the present invention that the integrated ope. atil-g enviroh".~ t in which the invention is implem~ed is coln~,;sed of MicrGson Wmdows, togethçr with the funcdoD~r nd apabilides of Microso~ ~mdows as used to implement the present inventio~ Ihc fi)nctionolity and capabilitiec of MicrosoR Wmdows are well known to those in the l~anl arts and is well d~lil,ed in readily available p.Jblis~;onc~ such as ~Wmdows 3.1 P~,~s R~,f~rence" by James W. McCord and pUblish~d by Que Co,~.~t;on and qnside OLE 2"by Kraig Broc~ !l and ~ ;S~IC~ by M;CrG3~ Press.
Those of sl~ll in the rdevant arts will readily understand from the fonowing de~liption ofthe present imention how to implement the present inventioo using the functionality and capabilities of M;c~wII ~mdows and how to adapt the present invention to other op~rating system en~irorL ..e.~, such as New Wave and Macintosh3. As such, the following d~l;p~ion ofthe invention will include only suco deta~ as is n~-~ss- ~r to understand the implementation and operation of the present ,.,~io4 but will not indude a detailed d~c,;~ion ofthe ~k~ of Microson Wmdows that Jre used to ple~ the present inver~on as such det~iled d~,;ylions ofthese ~k- ~-AC are readily and publicly available, as in tbe above rcrerenced publications.
B. Detailed Description (~1) As shown in Fig. 1, System 10 includes a plurality of Applications Programs (APPs) 12 executing in an Integrated Operating Environment (Environment) 14 wherein APPs 12 include a First Application Program (FAP) 12A and a Second Application Program (SAP) 12B wherein FAP 12A serves as the source ofthe Srst data which is 3Macintosh is a trademark of Apple Computer Corporation.

2122~65 embedded in the second data of SAP 12B. Envir~n",enl 14, FAP 12A and SAP 12B
execute in System 10's Memo-y Space (MEM) 16 and on a Processor 18 where~n MEM
16 includes System 10's op~.~ing memory, such as random access memory, and Systern lO's storage "-e.."o,y, which may include disk drives, tape units, file servers, and other systems.
As indicated, FAP 12A includes the Application Execut7b!e Code (AEC) 20A and a First Data Object (FDO) 22A, or file, which in turn ;~-eludes Source Data (SD) 24 and Result Data (RD) 26 wherein AEC 20A operates upon SD 24 under direction of ~ user to generate RD 26. FAP 12A fillther inch1d~ a Script Generator (SPTGEN) 28 which isavailable to a user to generate a Script 30 wherein Script 30 is a script, pro~ , routine, macro, instruction or comrnand for L~ling the FAP 12A to pe.f~ an opera~oo or sequenc of operations on SD 24 to generate RD 26. It will be unde. ~lood that a user may also us; the functions of AEC 20A to ope.aliGn upon SD 24 to B- nc~ate RD 26 aod will g~ne.ally do so to create the original version of RD 26. FAP 12A wi~ also gener lly include a Menu Rcsource (I~IR) 28A which p,~,.qdes an interfilce, such u maa~, to the user and through which tbe use~ directs the ope.alions of FAP 12A.
Refe..ing now to SAP 12B, as in~icated SAP 12B ;~ d~s Application E~ecutable Code (AEC) 20B which pe.r~...s o~.~;ons upon d,ata residing in a Second Data Object (SDO) 22B, or dat,a file, under the direction of a user and urill g~.dly include a Me R~urce (~NR) 28B which provides an interface, wch as mem-s, to the user and through which the user directs the op ,.dtions of SAP 12B.
As r~re~nle~, SDO 22B wilL in those ;~ nces of SAP 12B which wpports object linking and enlbed~li~ as i npl~ , for example, in l-c O~n Wmdows OLE
2.0, include one or more R~.,.~ccs (REFs) 32 with c~ ond;ng Sites 34 wherein alch SITE 34 is an object for elnbedding first data from a FAP 12A and each REF 32 ;~icatff the location of the first data in SDO 22B. Each Site 34 is associaled with and supports a Site Interface (SITI) 36 which is co."p,ised ofthe interfaces between the Site 34 object and the functions of Enviro~.,l 14 that are supported by the Site 34. In the i~ Anc~ of a Microsoft ~mdows c~mpa~ible application which supports OLE 2.0, for e,.d",ple, sm 36 would include interfaces for IOleClientSite:: and IAdviseSink::. In the il~ nc~ of an SAP 12B which supports object linking and embedding as implemented, for example, in Microsoft Wmdows OLE 2.0, SAP 12B will also include a Reference Insert interface 2~22565 (lnsert) 38 to the OLE 2 0 functions for inse~ ling linking and embedding ~,f~r~ces, that is, Sites 34, into the SDOs 22B of that SAP 12B
Flrst considering the instance of an SAP 12B which SUppOl ls object linking and embedding as impl~nen~ed, for exarnple, in Microso~ Wmdows OLE 2 0, the user will operate through the OLE 2 0 functions (Insert 38) for inse. Lng a lining and embedding reference to create a Site 30 for the first data, such as RD 26, to be e.llbedded into SDO
22B from FDO 22A and to create the SITI 32 for that Site 30. As is well l~nown to those of skill in the arts and familiar with En~uolhne.lts 14 such as Microsoft Wmdows, the in~sertion of a Site 34 in~b-des the steps of ins~ ling the eol l ~;ponding REF 32, cl ~ing the Site 34 object and ~ssi~ing a Moniker 40 to the Site 34 wherein each Moniker 40 inrb,ldes l~tio~ Items a,OClls) 42 COlllpliSlllg informatioD used by tbe ~r~cfior~ of Environ.l~nl 14 to identify and locate an object upon which FAP 12A or a co,lespond.l-g local handler is to operate to provide the embedded f~t data from FDO 22A to SDO22B. ~4CSC~ ed with each Moniker 40 will be a Ve~b 44 defning an action to be ~lt~d or pe.fo.~d with ref~nce to the çn~bedde~ first d~lta and a Unique Id~ (U~) 46 identifying FAP 12A and the source ofthe first data and stored in an Env~-,...l~lt 14 Rcg~ on Database (REGDB) 48.
In the present example, it is as~rnPd that the first data from FDO 22A is c4..lpl;scd of RD 26, but the first data may also be co,~.p.;~d of SD 24 or, with two Sites 34, both RD 26 and SD 24. In the present invention, bowevcr, the LOCITs 42 of Moniker 40 do not resolve to an identifir~tiQn of RD 26, but instead resolve to iden~fy Script 30.
The ~-l~,onding Verb 44 ~cc~rdu~ does not de&ne an action or op~ation to be p~olll.ed with respect to data, but instead directs F~P 12Ato execute the Script 30.
lbcr~h, the user of SAP 12B may update SDO 22B with the most reccnt version of RD 26, as based upon the most recent version of SD 24, by invoking the COIleSpOnding Site 34, usually by "clis1ring" on the REF 32 in SDO 22B corresponding to the Site 34 As is well known to those of skill in the arts and familiar with En~uol~nenls 14 such as Microsoft Wmdows, the SITI 36 corresponding to the Site 34 will respond to this invocation by issuing a request for the col ~esponding Moniker 40, for example, through IOleClientSite::, and Enviroru..enl 14 will respond to the request by resolving Moniker 40 to obtain LOCITs 42 of the first data, the Verb 44 dçfining the action or operation to be performed, and the UID 46 of the FAP 12~

l o A94003 In this regard, and is well known to those familiar with En~iloru.lcnts 14 such as Microsoft Wmdows, the Verb 44 may be as the default verb of the Monika 40 creation process, may be defined by the usa as part of the proce-cs of creating the Moniker 40, or may be provided to the user of SAP 12B as a menu pick choice defined in an Insert Menu Resource (IMENR) 50 created during the creation of Monika 40 and eitha added to the SAP 12B menus or provided as a ~pop-up" menu associated with the invocation of the Site 32.
The object linking and embedding n)e~h~n.c...c of Envi-oru"~,nt 14 will then invoke the FAP 12A idantified by the UID 46 and will provide the LOCITs 42 and Vab 44 to the FAP 12A and the FAP 12A will pcl~llll the operation idelltiGed by the Verb 44 on the object ide-~1;fi~d by the LOClTs 42, that is, will ~ u~e tbe Script 30. The Saipt 30 in turn will contain an idçntifi~tion of SD 24 and RD 26 and the op~ions to be executed on SD 24 to genaate R`D 26 and will execute these ope.~tions to g~.ale a new vasion of RD 26 based upon the current SD 24.
Tbe En~uoru"~,.lt 14 object linking snd e~.l,bedd~ mechu~i~ns will then provide the new version of RD 26 to Site 32 through the ~nd~d Dsts r~ ~e M~ ~h~ 7 (DEMs) 52 of En~;roru,..,.lt 14. In Microsc 11 Wmdows, for exunple, tbese DEMs 52 will include Dyrumic Data FYch~n~e (DDE), Object 1 inlri~ and F....~d~ g (OL_ 2.0) uld the auto...~iQn support provided in OLE 2.0 through data objects. Tbe use and operations of such native data tl~rL,~_ facilities is well ~own to those of sldll in the relevant uts and as such will not be d~ ~d fwther herein.
Finally, in the ;~ nc4 of those SAPs 12B which do not support object linking ande ..be~ as imple...~ ~, for example, in Microso~ OLE 2.0, the above desc,il~ mechanism of a SlTI 34, Monik 38, Verb 44 and UID 46 are cl~l;v~ly notavailable and the method is ...o~;~ed to utilize the copy and paste ope.alions available in OLE 10.0 and OLE 2.0 rather than the object linking and embedding function~.
In this instance, a REF 32 is again inserted into SDO 22B to rep,~se.lt and identify the location of the RD 26 and an object corresponding to a Site 34 is created to receive the RD 26, as is well understood in copy and paste operations in Envhonllienls 14. The Script 30 is then invoked through a menu pick embedded in SAP 12B, either as an addition to SAP 12B's menus or as a pop-up menu associated with the REF 32, such as IMENR 50 as described above, rather than through the object linking and embedding 21~25~

functions and whaein the menu pick includes a comrnand line or script which identifies FAP I 2A and Script 30 and which directs that FAP I 2A be invoked and Script 30 be eYeeuted The Script 30 again includes the macros, sc,;pling, routines~ c4ln.n~ds or instructions neces~ to execute the opaations to generate RD 26 from SD 24 and further inc1udes the macros, s~;lipling, routines, co.~....Ands or instructions nece~.y to direct the En~;,on",enl 14 copy and paste functions to execute a copy and paste O~al;on between FDO 22A and SDO 22B to copy the resulting RD 26 from FDO 22A to the ide3l~ified location in SDO 22B
In summary, therefo,t, the present imention provides a means for i lte~at;ng first data created by a first applica~i~n pro~u and res~ding in a first data f~e or object belonging to the first application into a second data file or object b~lo~g to a second application, or into a second data file or object ofthe first &pplic~ion, where the first data is result data generated by ope.al;on ofthe first &pplic~l;on pro~ upon source data of the first application pro~,.. The user will create a ~script~ ich is stored u an object or file in the systern wherein the "script~ directs the first al F' ;s~iQn program to phfo,lll the ope-~lions on the source data that are nc~s~ ~ to gen~3dte the result data The user will insert a refe.~,nce to the script into the second data file, either as a reference in the second data file or as an ~Q~cistod command line or script in the second appGcation prograrn The user rnay then update the r T bedd~d data by invoking the r~ t ;o~ of the e."bcdded data, wherc~jpon the systern will invoke the first ~plicst;on pro~.un and direct the f~rst appGca~ion pro~ to execute the referenccd script. The first appLic~;o~ pro~" will open the first data file, execute the script, and provide the new data in tbe richest ~o..~ il,le data format to the second applic~tion progra n to appear in the second data.
While the invention has been particularly shown and described ~vith refe.~"-ce to prefe.,~d embodiments of the apparatus and methods thereof, it will be dso understood by those of ordinaJy skill in the art that various changes, variations and modiScations in form, details and impl~ ..enl~tion may be made therein without departing from the spirit and scope of the invention as defined by the appended claims Thereîore, it is the object of the appended claims to cover all such variation and modifications of the invention as come within the true spirit and scope of the invention

Claims (10)

1. In a computer system including a plurality of applications programs and objects for storing data, a memory and processor for storing and executing the application programs, and an integrated operating environment, a method for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, comprising the steps of:
creating and storing a script identifying the source data and directing the operation of the application program to generate the result data from the source data, inserting a reference to the script in the second data object, the reference identifying the script and the application program and identifying an operation of the application program to execute the script, invoking the reference to indicate that a current version of the result data derived by operation upon a current version of the source data is to be provided to the second data object, and resolving the reference to identify the script, the application program and the operation of the application program to execute the script, invoking the application program to execute the script to generate the result data from the source data, and providing the result data to the second data object.
2. The method of claim 1 for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, wherein the step of inserting the reference further comprises the steps of:
inserting the reference into the second data object at the location in the second data object where the result data is to appear, creating a corresponding result data object to receive the result data, creating a corresponding interface defining operations of the integrating operating environment to be performed with respect to the result data object, and creating a moniker corresponding to the result data object, including information identifying the script, providing a verb identifying the operation of the application program to execute the script, and obtaining a unique identifier identifying the application program from an application program registration database of the integrated environment.
3. The method of claim 2 for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, wherein the step of resolving the reference further comprises the steps of:
resolving the moniker information identifying the script to identify the location of the script in the computer system, indexing the program registration database with the unique identifier to identify the application program, and providing the identification of the application program, the location of the script and the verb to the application program.
4. The method of claim 1 for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, wherein the step of providing the result data to the second data object further comprises the steps of:
invoking a data exchange mechanism of the integrated operating environment, and providing the result data to the data exchange mechanism of the integrated operating environment.
5. The method of claim 1 for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, wherein:
the step of creating and storing a script further includes providing in the script commands directing a data exchange mechanism of the integrated operating environment to provide the result data to the second data object, the step of inserting a reference to the script in the second data object further includes, providing in association with an application program for operating upon the second data object a second script directing the invocation of the application program of the first data object, the second script directing the application program associated with the second data object for requesting an exchange of the result data from the first data object, the second script identifying the result data and the application program of the first data object and directing the execution of the script associated with the application program of the first data object, the step of invoking the reference to indicate that a current version of the result data derived by operation upon a current version of the source data is to be provided to the second data object further includes the step of invoking the second script, and the step of invoking the application program to execute the script to generate the result data from the source data further comprises the step of invoking the application program associated with the first data object and providing the identifications of the application program associated with the first data object and the associated script to the application program associated with the first data object, and the step of providing the result data to the second data object further includes the steps of invoking the data exchange mechanism of the integrated operating environment and providing the result data to the data exchange mechanism.
6. In a computer system including a plurality of applications programs and objects for storing data, a memory and processor for storing and executing the application programs, and an integrated operating environment, a data integrated mechanism for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, comprising:
a script generator for creating and storing a script identifying the source data and directing the operation of the application program to generate the result data from the source data, a reference insertion mechanism for inserting a reference to the script in the second data object, the reference identifying the script and the application program and identifying an operation of the application program to execute the script, a reference invocation mechanism for invoking the reference to indicate that a current version of the result data derived by operation upon a current version of the source data is to be provided to the second data object, and a reference resolution mechanism for resolving the reference to identify the script, the application program and the operation of the application program to execute the script, an application invocation mechanism for invoking the application program to execute the script to generate the result data from the source data, and a data exchange mechanism for providing the result data to the second data object.
7. The data integration mechanism of claim 6 for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, further comprising:
a reference insertion mechanism for inserting the reference into the second dataobject at the location in the second data object where the result data is to appear, an object creation mechanism for creating a corresponding result data object to receive the result data, an interface definition mechanism for creating a corresponding interface defining operations of the integrating operating environment to be performed with respect to the result data object, and a moniker creation mechanism for creating a moniker corresponding to the result data object, including information identifying the script, providing a verb identifying the operation of the application program to execute the script, and obtaining a unique identifier identifying the application program from an application program registration database of the integrated operating environment.
8. The data integration mechanism of claim 7 for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, further comprising:
a moniker resolution mechanism for resolving the moniker information identifyingthe script to identify the location of the script in the computer system, indexing the program registration database with the unique identifier to identify the application program, and providing the identification of the application program, the location of the script and the verb to the application program.
9. The data integration mechanism of claim 5 for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, further comprising:
a data exchange invocation mechanism for invoking data exchange mechanism of the integrated operating environment.
10. The data integration mechanism of claim 5 for integrating result data from a first data object into a second data object wherein the result data is generated by operations performed on source data by an application program, further including:
in the script associated with the first data object, commands directing a data exchange mechanism of the integrated operating environment to provide the result data to the second data object, a second script in association with an application program for operating upon the second data object a second script for directing the invocation of the application program of the first data object, the second script directing the application program associated with the second data object for requesting an exchange of the result data from the first data object, the second script identifying the result data and the application program of the first data object and directing the execution of the script associated with the application program of the first data object, the reference invocation mechanism is responsive to the invocation of the reference to indicate that a current version of the result data derived by operation upon a current version of the source data is to be provided to the second data object by invoking the second script, and the second script is responsive to the invocation of the second script for invoking the application program associated with the first data object and providing the identifications of the application program associated with the first data object and the associated script to the application program associated with the first data object, and the script associated with the first data object is responsive to the invocation of the script associated with the first data object for invoking the data exchange mechanism of the integrated operating environment and providing the result data to the data exchange mechanism.
CA002122565A 1994-04-15 1994-04-29 Integration of result data from first program operations on dynamic source data into data of a second program Abandoned CA2122565A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/224,412 US5564044A (en) 1994-04-15 1994-04-15 Integration of result data from first program operations on dynamic source data into data of a second program
US08/224,412 1994-04-15

Publications (1)

Publication Number Publication Date
CA2122565A1 true CA2122565A1 (en) 1995-10-16

Family

ID=22840555

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002122565A Abandoned CA2122565A1 (en) 1994-04-15 1994-04-29 Integration of result data from first program operations on dynamic source data into data of a second program

Country Status (2)

Country Link
US (1) US5564044A (en)
CA (1) CA2122565A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2011201988B2 (en) * 2003-06-16 2013-01-17 Alcoa Deutschland Gmbh Sealing system and method for sealing containers

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729745A (en) * 1994-11-14 1998-03-17 Microsoft Corporation Methods and apparatus for creating a base class for manipulating external data connections in a computer generated document
JP2859559B2 (en) * 1995-05-26 1999-02-17 インターナショナル・ビジネス・マシーンズ・コーポレイション Computer network system, computer system, and clipboard control method
US5799314A (en) * 1995-06-30 1998-08-25 Sun Microsystems, Inc. System and method of controlling mapping of data buffers for heterogenous programs in digital computer system
WO1997015885A1 (en) * 1995-10-25 1997-05-01 Open Market, Inc. Managing transfers of information in a communications network
US5819293A (en) * 1996-06-06 1998-10-06 Microsoft Corporation Automatic Spreadsheet forms
US6449661B1 (en) * 1996-08-09 2002-09-10 Yamaha Corporation Apparatus for processing hyper media data formed of events and script
US6317737B1 (en) 1996-10-18 2001-11-13 Sagent Technologies, Inc. Data descriptions in a database system
US5930794A (en) 1996-10-18 1999-07-27 Sagent Technologies, Inc. Database repository with deferred transactions
US6038558A (en) * 1996-10-18 2000-03-14 Sagent Technology, Inc. Extensible database retrieval and viewing architecture
US6728933B1 (en) 1996-11-03 2004-04-27 International Business Machines Corporation System and method for importing data
US6393135B1 (en) 1997-12-23 2002-05-21 Pitney Bowes Inc. OLE automation server for manipulation of mail piece data
US6430538B1 (en) 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
US6442563B1 (en) 1998-04-30 2002-08-27 Enterworks Workflow management system, method, and medium that morphs work items
US6138118A (en) * 1998-07-30 2000-10-24 Telcordia Technologies, Inc. Method and system for reconciling concurrent streams of transactions in a database
US6292842B1 (en) * 1998-08-28 2001-09-18 Hewlett-Packard Company Method for transferring data to an application
US20030145051A1 (en) * 2002-01-31 2003-07-31 International Business Machines Corporation Method and system for selecting multiple sets of data in an application
US20040133492A1 (en) * 2002-09-25 2004-07-08 Markus Stricker Method and apparatus for public information dynamic financial analysis
US8443036B2 (en) * 2002-11-18 2013-05-14 Siebel Systems, Inc. Exchanging project-related data in a client-server architecture
US8381207B2 (en) 2003-12-02 2013-02-19 International Business Machines Corporation Script generation engine and mapping semantic models for target platform
US20070265896A1 (en) * 2006-05-12 2007-11-15 The Boeing Company System for valuing multiple solutions in multiple value categories
US7788259B2 (en) * 2006-07-21 2010-08-31 Microsoft Corporation Locating, viewing and interacting with information sources
US20080183766A1 (en) * 2007-01-31 2008-07-31 Weston David W Methods and systems for inductive data transformation
US8805887B2 (en) * 2008-10-03 2014-08-12 Microsoft Corporation Packaging system to facilitate declarative model-driven development
US8438295B2 (en) * 2008-10-14 2013-05-07 Microsoft Corporation Declarative programming model for modeling and execution of triggers for resource oriented system
US8490052B2 (en) * 2008-10-14 2013-07-16 Microsoft Corporation Declarative programming model for authoring and execution control and data flow for resource oriented system
US8533666B2 (en) * 2008-10-17 2013-09-10 Microsoft Corporation Interactive design environments to visually model, debug and execute resource oriented programs
EP2535811A1 (en) 2011-06-15 2012-12-19 Amadeus S.A.S. Improvements in or relating to pasting data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US4916610A (en) * 1988-10-05 1990-04-10 Racal Data Communications Inc. Multilanguage software integration through preprocessing
US5159687A (en) * 1989-11-14 1992-10-27 Caseworks, Inc. Method and apparatus for generating program code files
US5063523A (en) * 1989-11-16 1991-11-05 Racal Data Communications Inc. Network management system with event rule handling
US5301326A (en) * 1991-09-24 1994-04-05 Microsoft Corporation Method and system for controlling the execution of an application program
US5404528A (en) * 1993-01-19 1995-04-04 Canon Information Systems, Inc. Scripting system
US5414809A (en) * 1993-04-30 1995-05-09 Texas Instruments Incorporated Graphical display of data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2011201988B2 (en) * 2003-06-16 2013-01-17 Alcoa Deutschland Gmbh Sealing system and method for sealing containers

Also Published As

Publication number Publication date
US5564044A (en) 1996-10-08

Similar Documents

Publication Publication Date Title
CA2122565A1 (en) Integration of result data from first program operations on dynamic source data into data of a second program
KR100303548B1 (en) Method and apparatus for dynamically combining software modules within a computer system during program execution
US6014666A (en) Declarative and programmatic access control of component-based server applications using roles
US6415435B1 (en) Method and apparatus for determining compatibility of parent classes in an object oriented environment using versioning
US5950008A (en) System and method for resolving symbolic references to externally located program files
US7506175B2 (en) File language verification
EP0729610B1 (en) A link manager for managing links integrating data between application programs
US7681184B1 (en) System and methodology for cross language type system compatibility
US8185876B2 (en) Method and implementation for constructing of corrected java native code
CN111399853A (en) Templated deployment method of machine learning model and custom operator
CN107041158A (en) The limited access control reflected for modularization
CA2171601A1 (en) Methods and apparatus for providing transparent persistence in a distributed object operating environment
JPH05274151A (en) System and method for determining new class object
US9183011B2 (en) Method and system for runtime environment emulation
US8606766B2 (en) Method and system to handle java class versioning
JPH0934713A (en) Method and device for processing programming language
CN111552480B (en) Cross-platform compiling method, device, equipment and readable storage medium
US20220147376A1 (en) Selective substitution of legacy load module programs with classes for execution in a java virtual machine
US7155701B1 (en) System for dynamically constructing an executable computer program
CN114416202B (en) Mobile terminal SDK calling method and system
US6941556B1 (en) Method and system for type identification for multiple object interfaces in a distributed object environment
EP0733968A2 (en) Method and system for type identification for multiple object interfaces in a distributed object environment
JP3019915B2 (en) Procedure call method
CN116795336A (en) Service interface registration method and device, service interface registration equipment and medium
Thompson et al. Distributed component object model (DCOM)

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued