Language selection

Search

Patent 2376038 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2376038
(54) English Title: SYSTEM AND METHOD FOR GRAPHICALLY CREATING DATA FLOWS AND CONTROL FLOWS FOR XML WEB SERVICES
(54) French Title: SYSTEME ET METHODE DE CREATION GRAPHIQUE DE FLUX DE DONNEES ET DE COMMANDE POUR SERVICES WEB XML
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 16/80 (2019.01)
  • G06F 16/95 (2019.01)
  • G06F 3/14 (2006.01)
  • G06F 17/00 (2019.01)
(72) Inventors :
  • SIDDA, AJAY (Canada)
(73) Owners :
  • SIDDA, AJAY (Canada)
(71) Applicants :
  • SIDDA, AJAY (Canada)
(74) Agent:
(74) Associate agent:
(45) Issued:
(22) Filed Date: 2002-03-07
(41) Open to Public Inspection: 2003-09-07
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English Abstract




System and method as shown in the Figure 1, are provided for graphically
developing a
data flow and control-flow composition for XML Web Services, without the need
for a
user to write any code. The composition includes graphical representation of
XML Web
services using data nodes and control nodes. Simple data types and complex
data
types are represented in the form of custom components. The composition
facilitates
data flows by connecting the data nodes of a plurality of objects. The
composition
facilitates control flows by connecting the control nodes of a plurality of
objects. The
data flow and control flow is directed by means of if and Loop constructs. The
objects
are queued according to their position and hierarchy in the data flow.


Claims

Note: Claims are shown in the official language in which they were submitted.



CLAIMS

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:

1. A method for graphically developing data flow and control flow
compositions for interaction with XML web services. The composition
includes graphical representation of XML Web services called objects,
using data nodes and control nodes. There can be zero or more data
nodes on each object depending on the source XML web service. There
are two control nodes for each object. One on the incoming side and the
other on the outgoing side.

2. The method as claimed in claim 1, wherein the data nodes of one object
can be connected to the data nodes of another object to create a
dataflow. The control nodes of one object can be connected to the
control flow of another object to create a control flow. The data nodes
and control node can be inter-connected. Each connection between
objects can define an If condition on the outgoing data of the first
object. The objects can be arranged in a Loop construct to
accommodate repetitive compositions. The said compositions when
executed change the objects visibly to show the incoming and outgoing
data.

3. The method as claimed in claim 1 wherein the object is symbolized by
the name of the Web service it represents.

4. The method as claimed in claim 1 wherein the number of input data
nodes of an object is determined by the number of inputs of the Web
service it represents.

1



5. The method as claimed in claim 1 wherein the number of out data
nodes of an object is determined by the number of outs of the Web
service it represents.

6. The method as claimed in claim 1 wherein the object data nodes are
represented as a name and data type pair or any combination thereof.

7. The method as claimed in claim 1, wherein the object data nodes can
be visible or invisible according to user settings.

8. The method as claimed in claim 1 wherein the object data nodes can
represent the result of a Web service execution.

9. The method as claimed in claim 1 wherein the object control nodes are
represented at the top corners across the title.

10. The method as claimed in claim 2 wherein the placement of objects in
the composition can create a hierarchy in the execution of objects
according to the position of the object within the composition. The top
objects execute before the bottom objects, moving left to right.

11. The method as claimed in claim 2 wherein the links between objects can
create a hierarchy in the execution of objects. The objects that provide
data inputs get executed before the objects that receive the data
inputs.

12. The method as claimed in claim 2 wherein the links between objects can
have If conditions set, by setting the properties of the link.

13. The method as claimed in claim 2 wherein multiple objects can be
enclosed in a Loop construct to accommodate repetitive compositions.

2



14. The method as claimed in claim 1 wherein the object representing a
Web service data type can have a "get" custom type automatically
generated for extracting data from the aforesaid Web service data type.

15. The method as claimed in claim 1 wherein the object representing a
Web service data type can have a "set" custom type automatically
generated for creating instances of the aforesaid Web service data type.

16. The method as claimed in claim 1 wherein the object representing an
array of a Web service data type can have a "getArrayOf" custom type
automatically generated for extracting data from the aforesaid array of
Web service data type.

17. The method as claimed in claim 1 wherein the object representing an
array of a Web service data type can have a "setArrayOf" custom type
automatically generated for creating instances of the aforesaid array of
Web service data type.

18. The method as claimed in claim 2 wherein the composition when
executed change the objects visibly to show the incoming and outgoing
data by setting the results in the input data nodes and the output data
nodes.

19. The method as claimed in claim 2 wherein the composition when
executed shows the direction of the data flow and control flow by
animating the execution from one object to another.

20. The method as claimed in claim 2 wherein the composition when
executed automatically generates XSL templates to aid the display of
the resulting XML data.

3

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02376038 2002-03-07
DESCRIPTION
Graphical programming for XML Web Services
Contents
A. TECHNICAL FIELD
B. BACKGROUND INFORMATION AND PRIOR ART
C. LIST OF FIGURES
D. DETAILED DESCRIPTION OF THE INVENTION
E. EXAMPLE OF INTENDED USE
Description

CA 02376038 2002-03-07
A. TECHNICAL FIELD
The Internet is evolving. In its early stages providing static information to
the Web was a challenge. Then we were able to overcome and provide not
only interactive tools, but also integrate our systems with the Web. Now we
are facing the challenge of integrating our systems with other systems
across the Web, and respond quickly to changing needs. Web services
permits existing software to interoperate, communicate and integrate across
operating systems, networks, and software.
XML and SOAP
XML is eXtensible Markup Language and SOAP is Simple Object Access
Protocol. XML and SOAP are the technologies that enable systems to
communicate with each other, but as they're hidden in the background, you
really don't have to worry about it. XML is the standard for data encoding
just as ASCII is the standard for character encoding. XML is a method for
describing data and allows data to be viewed without the program that
produced it. Your software stays the same and is able to communicate with
different software across the Internet. SOAP enables a program running one
kind of operating system, such as Windows, to communicate with a program
running on another kind of operating system, such as Linux, by using the
World Wide Web's Hypertext Transfer Protocol (HTTP). SOAP describes how
to encode an HTTP header and an XML file so that a program in one
computer can call a program in another computer, and pass it information.
These two things are the basis for allowing the information on your
electronic calendar to be viewed and accessed by outside sources. Your
software is broken down into components and wrapped in XML, which
permits it to communicate with other software.
Description

CA 02376038 2002-03-07
XML Web Services
A Web service is the reusable software component based on the above
standard. It can be used like a building block to create complex applications
and tools. Web services provide businesses with flexibility and speed to
build applications by re-using components or purchasing new ones from Web
service providers. It saves time in the development cycle because you don't
have to build applications from scratch. It is the technology that not only
permits your software to integrate across systems, but gives you the
versatility to expand quickly as your needs change without having to spend
long costly hours rewriting your systems to do it.
ObjectView
ObjectView is a drag and drop development tool for accessing Web service
components and simplifying the process of creating complex tools and
applications. Further, its unique environment creates an object of the Web
service, essentially a picture, and by graphically connecting the objects
together, you can create complex applications without ever having to view
one line of code. It is freedom from the annoyance of acronyms and the
confusion of code.
Description 3

CA 02376038 2002-03-07
B. BACKGROUND INFORMATION AND PRIOR ART
The architecture of ObjectView attempts to combine the data flow and
control flow logic of Computer Aided Software Engineering (CASE) with the
complexities of the upcoming technologies such as XML, SOAP, WSDL, WSFL
and UDDI. The main aim is to hide the technology so that developers can
concentrate on the solution they are developing.
ObjectView takes the CASE paradigm one step further by providing an
infrastructure that tracks the development changes throughout the software
development lifecycle. This enables the Development Managers and the
Software Developers to work on the same scenario.
ObjectView functionality is unique and there are no alternatives available in
the market. There are only a handful of companies developing tools for Web
services; let alone provide a comprehensive graphical programming
environment.
The ObjectView architecture is based on object-oriented methodologies such
as:
Unified Modeling Language (UML),
~ Data flows,
~ Control flows,
~ Object Model,
~ Dynamic Model, and
~ Functional Model
Description 4

CA 02376038 2002-03-07
The traditional approach to software development is to build the entire
application from scratch. With the advent of reusable components and
object-oriented development this process was further refined. Several
Computer Aided Software Engineering (CASE) tools use these object-
oriented methodologies to automate software development. However, most
CASE tools fall short of supporting complete software lifecycles, since
reverse engineering a component is virtually impossible. In other words,
CASE tools are important earlier on during the requirements analysis.
However, as the development progresses, there is no way of maintaining
correlation between the source code and the CASE scenario.
The introduction of Web services opens a new chapter in web-application
development. Web services provide businesses with flexibility and speed to
build applications by re-using components. Finding Web services will soon be
as simple as looking up a number in a phone book. With the UDDI
(Universal Description, Discovery, and Integration) initiative rapidly on its
way, businesses will be able to register their Web services and allow others
to find them on the Internet. The registries contain WSDL (Web Services
Description Language) files, which describe the Web service and what it
does, so you can quickly find components that will suit your needs.
ObjectView in the Evolution: ObjectView extensively uses the above-
mentioned technologies in its RAD environment. The success of ObjectView's
architecture relies heavily on the Web service contract- WSDL. ObjectView
uses WSDL to provide one-step synchronization. As a Web service changes,
your scenario can be updated with a click of a button. There is no waiting for
the programmers to update code to reflect the changes in the Web services.
We believe this functionality is revolutionary and we expect over the next
few years, 70% of software programs to be developed using application
frameworks such as ObjectView.
Descriprion 5

i
CA 02376038 2002-03-07
c. DST~ of F=~uREs
Figure 1: Screenshot of ObjectView.
Figure 2: Representation of a Web service in ObjectView.
Figure 3: Loop Construct.
Figure 4: get and set data for Complex data types.
Figure 5: Using get and set objects with Web service objects.
Figure 6: Using Loop construct to iterate through an array.
Figure 7: Using setArray<DataType>
Figure 8: Linking data nodes to control nodes
Figure 9: Using If construct to set a condition on a link
Figure 10: Auto generation of XML/XSL files.
Figure 11: Case Study 1: Stocks Portfolio
Figure 12: Case Study 2: Data Synchronization between 2 Enterprises
Descriprion 6

CA 02376038 2002-03-07
D. DETAILED DESCRIPTION OF THE INVENTION
CONTENTS
Introduction
XML and SOAP
XML Web services
ObjectView
Importing Web Services
Using a WSDL address to import a Web service into a new project
Working with Web service components
Adding Objects to the Project Window
Representation of an Object
Object name
Output control node
Input control node
Input data node
Output data node
Run order
Web service indicator
Loop indicator
Working wig Object Data
Working with simple data types
Working with complex data types
Linking objects to create a flow
Linking different data types to create a data flow
Descriprion 7

CA 02376038 2002-03-07
Linking Objects
Creating data flows
Creating control flows
Linking objects to create a flow
Linking different data types to create a data flow
Run Order
Run order and data flow
Viewing the run order of a project
Positioning of objects and run order
Running and Viewing Results
Viewing the result of a single object
Viewing results in XML
If Construct
Creating an If construct
Loop Construct
Creating a Loop construct
Generating XML and XSL files
Creating an XSL file
Description 8

CA 02376038 2002-03-07
Introduction
XML Web services are reusable software components. ObjectViewT"' lets you
integrate Web service components into its unique drag and drop
environment. When a Web service is imported into ObjectView, the
components are represented as graphical objects, which can be used as
building blocks to create complex applications.
Complex applications are created by objects that have been linked together
to pertorm a series of functions. When an individual object or project is
executed, ObjectView generates a SOAP request, which is sent to the Web
server. The Web server processes the SOAP request and sends a SOAP
response back to ObjectView. ObjectView parses the SOAP response and
sets the correct value to object's output.
ObjectView is a fast, flexible and functional way to build customized
applications and tools that can interoperate, communicate, and integrate
across operating systems, networks, and software.
ObjectView provides the intelligence to simplify your solution:
1. Fast - import Web service components into the drag and drop
environment
2. Flexible - graphically connect objects together to create a data flow
scenario
3. Functional - run the scenario and view the result
Description 9
.. .~__..~..-..__..~_~_~ ...__._...~.._..____.T_....

CA 02376038 2002-03-07
Importing Web Services
Using a WSDL address to import a Web service into a new
project
In order to access and import a Web service you need to know the Web
service WSDL (Web Service Description Language) address. A WSDL address
is an URL that points to the location that describes the Web service and its
components.
Once a Web service has been imported into ObjectView it is automatically
added to the library for future use again.
Working with Web service components
All the Web services imported to your project are displayed on the tabs in
the component window at the bottom of your project window. Click the Web
service name tab to view all of its components.
The right side of the component window lists the Web service component
name, any inputs and outputs, the source, as well as any description. Once a
Web service component is added to the project window it is represented as a
graphical object.
Adding Objects to the Project Window
Click the Web service name tab at the bottom of the project window. Select
a Web service component and drag it into the project window. Once a Web
service component is added to the project window it is represented as a
graphical object.
Description 10

CA 02376038 2002-03-07
Working with objects
Objects are representations of Web service components. Once a component
has been added to the project window it is represented as a graphical object.
Each object has an object name, data input node, data output node, control
input node, control output node, and Web service indicator, as shown in
Figure 2.
Object name
Object name is the name of the Web service component.
Output control node
The top node on the right side of the object is the output control node and is
used to set the control flow or order of execution of the objects. An object
that is sending output to another object is executing first.
Input control node
The top node on the left side of the object is the input control node. An
object that is receiving input from another object is executing second.
Input data node
An object may contain multiple input data nodes. The number of input data
nodes depends on the definition of the component. By default the data type
and name is shown, and contains the data to be executed by the object.
A data node that is shaded gray contains default values for the object.
Description 11

CA 02376038 2002-03-07
Output data node
An object may contain multiple output data nodes. The number of output
data nodes depends on the definition of the component. By default the data
type and name is shown, and contains the results of the executed
component.
A data node that is shaded green contains executed result values for the
object.
Run order
The run order number displays the order of execution for each of the objects
in a project. The run order states which objects will execute in which order.
Each object functions on its own until linked to another object.
When two or more objects are linked together, the first object passes its
result to the next object to execute.
The order of execution can also be changed by connecting the output control
node of one object to the input control node of another object.
Web service indicator
An object marked with an asterisk (*) is an actual Web service component.
Only these components send and receive SOAP requests and responses. An
object marked with an exclamation point (d) is a local component. This
means that the component is used to create SOAP requests from simple data
types or to parse SOAP responses into simple data types. These components
are executed locally on your machine.
Loop indicator
An Object marked with a circle (O) in its header indicates that the object is
contained within a Loop construct, as shown in Figure 3.
Description _ 12

CA 02376038 2002-03-07
Working with Object Data
Once a Web service component is added to the project window it is
represented as a graphical object. Generally, each object has a minimum of
one input data node and one output data node.
An input data node contains the default value to be executed by the object.
An output data node contains the result of the executed object.
By linking the output node of one object to the input node of another object
you are instructing the project to execute an object's data and then pass the
result to the next object to execute. The runtime value overrides the default
value during execution. This is the data flow.
Generally, only data that is of similar type can be linked, such as strings to
strings (text to text) or floats to floats (numbers to numbers). You can force
a link between different data types, but this may result in odd behavior and
should only be done with caution.
Working with simple data types
By default Object View supports the following simple data types:
string: A string is a data type that is sequence of characters or text,
such as letters or numbers.
int (integer): The integer data type is a whole number that can be
either positive or negative.
For example: -1, 0, 12678967543233, +100000
float: The float data type is a number that may have decimals and be
positive or negative, but is limited to 108 or 32 bits.
For example: -1, 1267.43233, -12.78, 12
Descriprion 13

CA 02376038 2002-03-07
double: The double data type is a number that may have decimals and
be positive or negative, but is limited to 1064 or 64 bits.
For example: -1, 1267.43233, -12.78, 12
decimal: The decimal data type is a number that may be positive or
negative and represents a fraction by separating the number by a
period as a decimal indicator.
For example: -1.23, 12678967.543233, +100000.00, 210
duration: The duration data type represents a duration of time and is
ordered by year, month, day, hour, minute and second.
Format: PnYn MnDTnH nMnS
For example: To indicate a duration of 1 year, 2 months, 3 days, 10
hours, and 30 minutes, one would write: P1Y2M3DT10H30M
DateTime: The dateTime data type represents a specific instant of
time.
Format: CCYY-MM-DDThh:mm:ss
For example: 1999-05-31713:20:00-05:00
date: The date data type represents a calendar date.
Format: CCYY-MM-DD
For example: 1999-05-31
time: The time data type represents an instant of time that
recurs every day.
Format: hh:mm:ss.sss
For example: 13:20:00-05:00
Description 14
._.._.-.__._ . _.__._ . ... _,

CA 02376038 2002-03-07
Working with complex data types
In addition to simple data types, ObjectView can generate components that
support complex data types. Complex data types are user defined data types
such as client records. For example, consider the following data type in a
Web service:
public class Address
public string Name;
public string Street;
public string City;
public string State;
public string Zip;
public string Country;
ObjectView automatically creates components that can get and set data for
the above data types, as shown in Figure 4.
We can use these components to create a SOAP request or to parse a SOAP
response. The Figure 5 illustrates how you can use these components:
Note that the setAddress and the getAddress components are denoted by
an exclamation (l) mark. This means that the component is acting as a
parser for the SOAP messages. These components are executed locally on
your machine. Components denoted by an asterisk (*) mark are actual Web
service components. Only these components send and receive SOAP
requests and responses.
Description 15

CA 02376038 2002-03-07
Get array data types
If a Web service component returns an array of strings as output, a
getArrayOfstring component is added to the list of objects. You can use this
component to parse the SOAP response of the Web service component.
Note that the getArrayOfstring component has an index as one of its inputs.
You can use this index to traverse the array. An index value of 0 returns the
first element, 1 for the second element, 2 for the third element, and so on.
Please refer to Figure 6 for an illustration of how to iterate through an
array
of strings.
Set array data types
If a Web service component requires an array of strings as input, a
setArrayOfstring component is added to the list of objects. You can use this
component to create a SOAP request to the Web service component.
Note that only setArray<DataType> accepts multiple inputs. In the Figure 7,
three strings are appended to create an array of strings. The resulting data
is then sent to DeleteAddress. The setstring and setArrayOfstring
components are executed locally on your machine. DeleteAddress is an
actual Web service and is denoted by an asterisk (*). Only DeleteAddress
sends and receives a SOAP request and response. The other components are
used to create data.
Descriprion 16

CA 02376038 2002-03-07
Linking Objects
Creating data flows
A single object can perform a function. By entering data into its input data
nodes and running the object you can view a result. An object only executes
its own values until linked to another object.
By linking the output data node of one object to the input data node of
another object, you can execute a series of functions: data flow. When two
or more objects are linked, the first object passes its result to the next
object to execute.
Generally, only data that is of similar type can be linked, such as strings to
strings (text to text) or floats to floats (numbers to numbers). You can force
a link between different data types, but this may result in odd behavior and
should only be done with caution.
Creating control flows
The top node on the right side of the object is the output control node and is
used to set the control flow or order of execution of the objects. When you
link the output control node of one object to the input control node of
another object you are setting first object to execute before the next.
Linking data nodes to control nodes and vice-versa
The data nodes can be connected to a control node and vice-versa to create
a control flow, as shown in Figure 8. Generally, you would use this to set an
If condition on the link.
Description 17

CA 02376038 2002-03-07
Run Order
Run order and data flow
Run order is the order that objects get executed when a project is run.
Run order is first determined by the positioning of the objects: objects
placed at the top of the project window execute first, from top to bottom,
then left to right.
Data flow is the order that data gets executed when a project is run.
By linking the output node of one object to the input node of another object
you are instructing the project to execute an object's data and then pass the
result to the next object to execute. This is the data flow.
Positioning of objects and run order
The vertical and horizontal position of the objects first determines the run
order. Objects placed in the top most position in the project window execute
first, from top to bottom, then left to right.
Description 18

CA 02376038 2002-03-07
Running and Viewing Rasults
Running a Project
To run a project: On the Project menu, click Run.
Viewing the result of a single object
1. Right-click the object and select Run Object from the shortcut menu.
The object turns green when it has finished executing.
2. Do one of the following:
~ Mouse-over the output data node to view the tool tip pop-up.
The value is the executed result of the object.
~ Double-click the output data node to view the results in the Result
window.
Viewing results in XML
1. Run an object or project.
2. Right-click the output data node of the object that contains the final
result of your project and select View Result... from the shortcut menu.
The Result window opens:
~ The XML/XSL tab displays the result in a table by applying an
auto-generated XSL stylesheet to the XML data.
~ Click the Tree tab to view the XML data in the tree form.
~ Click the Text tab to view the actual XML text.
Descriprion 19

CA 02376038 2002-03-07
If Construct
An If construct is a function that changes the state of a project, such as
stopping a project, if a certain condition is reached. You can set an If
construct on any data flow or control flow line, as shown in Figure 9.
Creating an If construct
To create an If construct:
1. Click a data flow (solid) line or control flow (dotted) line linking two
objects.
2. Right-click the dotted line and select Properties from the shortcut menu.
3. Select the Allow the data to pass only if the following condition is
true check box.
4. In the Incoming data is box, select a condition from the drop down box:
~ valid
~ invalid (the operation failed)
~ equal to Compare Data
~ not equal to Compare Data
~ greater than Compare Data
~ greater than or equal to Compare Data
~ less than Compare Data
~ less than or equal to Compare Data
5. In the Compare Data box, type the If condition value.
6. Click OK.
Description 20

CA 02376038 2002-03-07
Loop Construct
A loop is a sequence of functions or instructions that is continually repeated
until a certain condition is reached. The EndLoop component sets the
condition that is to be met. Please refer to Figure 6 for an illustration of
Loop
Construct.
A Loop construct is the same thing as adding a Loop component to a project.
Creating a Loop construct
To add a Loop to a project:
1. Click the Main tab at the bottom left corner of the Components window.
2. Select Loop from the component list and do one of the following:
~ double-click the Loop component
click the Loop component and drag it into the Project window.
3. Resize the Loop to surround the objects by clicking and dragging the Loop
bounds.
All objects inside the Loop are denoted with a circle (O) in the object
header.
4. Set the EndLoop condition by dragging an output node from an object to
the input node on the EndLoop object. A dotted line is formed.
5. Select the dotted line and right-click the dotted line and select
Properties from the shortcut menu.
6. Set the If condition.
7. Click OK.
Description 21
_._._._.._ .. , _

CA 02376038 2002-03-07
Generating XML and XSL Files
Extensible Markup Language, XML is used to describe data. Extensible
Stylesheet Language, XSL is used to transform XML documents into HTML
documents.
Creating an XSL File
ObjectView automatically generates XSL files to display XML data in a
readable user-friendly format. To create an XSL file:
1. Select object that contains the result you want outputted to an XML file.
2. Right-click and select Properties... from the shortcut menu.
3. Click the Outputs tab and select the data output node name from the
Name list.
4. Check the Save the runtime value to XML file check box.
S. Enter an XSL label in the XS~ Label for the data box. This label
appears as a heading on the XSL file.
6. Click OK.
7. Run your project. ObjectView opens and displays the XSL file in your
browser.
You can view the XML~XSL output as shown in Figure 10, after running a
project by right-clicking the output data node and then selecting View
Result. The XML and XSL files are saved to your Projects folder.
Description 22

CA 02376038 2002-03-07
E. EXAMPLE OF INTENDED USE
Stocks Portfolio
The example as shown in Figure 11, illustrates how to calculate the current
worth of a stock portfolio by using a stocks database web service and an
online stock quote Web service. It retrieves an array of holdings from the
stocks database, and then uses the online stock quote Web service to
calculate the current worth of the portfolio.
Data Synchronization between two Enterprises
The example as shown in Figure 12, illustrates how two different companies
running different operating systems and using different databases can use
ObjectView to synchronize their business objects. Once this scenario is
created, the companies can publish it as a Web service onto their servers,
using ObjectView.
Description 23

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(22) Filed 2002-03-07
(41) Open to Public Inspection 2003-09-07
Dead Application 2005-03-07

Abandonment History

Abandonment Date Reason Reinstatement Date
2004-03-08 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $150.00 2002-03-07
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
SIDDA, AJAY
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Representative Drawing 2002-06-19 1 97
Cover Page 2003-08-22 1 126
Abstract 2002-03-07 1 26
Description 2002-03-07 23 744
Claims 2002-03-07 3 129
Correspondence 2004-01-27 6 453
Assignment 2002-03-07 2 68
Correspondence 2004-10-08 3 149
Correspondence 2004-05-27 2 135
Correspondence 2004-12-08 3 141
Drawings 2002-03-07 6 1,261