Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-05-25
2002-07-16
Chaki, Kakali (Department: 2122)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C717S104000, C717S108000
Reexamination Certificate
active
06421681
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to a framework for representation and manipulation of record oriented data. Particularly, a preferred embodiment of the framework is designed in and for the Java language, has a concrete class implementation written in Java capable of handling C language data types and provides the ability to access stored or sent records, created by an application written in the C language, from applications written in the Java language.
BACKGROUND OF THE INVENTION
The Java™ language has quickly become one of the accepted languages for writing enterprise-level applications. For many companies and other organizations it has in fact become the language of choice for new software applications. This is not only true for web-based software applications running in a browser (such as applets), but exceedingly more so for traditional full-function software applications that include user interface, as well as distribution and server-side resource access.
Nevertheless, the bulk of enterprise data continues to reside either in the traditional database or some record-oriented store (e.g. VSAM on S/390®). This enterprise data is processed by existing line-of-business software applications, the majority of which are written in traditional programming languages such as COBOL and C. While the Java language does provide support for database access (e.g. Java Database Connectivity (JDBC) function), it currently has no effective facility for handling non-database record data.
It is therefore desirable to provide for a framework for representation and manipulation of record oriented data, preferably a framework designed in and for the Java language. As used herein, a record is loosely defined as a logical collection of application data elements or fields, related by some application-level semantic, that is stored and retrieved (or sent and received) in a computer system as a unit (e.g. a contiguous area of bytes). For example, referring to
FIG. 1
, an Invoice record may be defined by a software application to have the form as shown and stored on a computer usable medium such as a hard drive disk. Particularly, the invoice record of
FIG. 1
includes data elements in a contiguous group of bytes (
0
to
90
) semantically allocated wherein bytes
0
to
10
are allocated to the data element Invoice Number
10
containing data of the integer data type, bytes
11
to
30
are allocated to data element Purchaser Name
20
containing data of the character data type, bytes
31
to
80
are allocated to data element Purchaser Address
30
containing data of the character data type, and bytes
81
to
90
are allocated to data element Amount
40
containing data of the floating point data type. Typically, the record is defined by means of a data structure in an application written in a traditional programming language such as COBOL and the individual data elements can be directly accessed through that application or another application written in the same programming language. Accordingly, the framework of the present invention provides access from applications written in another programming language, preferably the Java language, to such records by describing and correctly converting record data in such records.
The present invention builds upon a similar framework provided as part of the IBM® VisualAge® for Smalltalk product. Some of the similarities between this Smalltalk framework and the framework of the present invention include provision for converting between record bytes and the framework representation of the data only when the corresponding field is accessed (a “lazy fetch” mechanism). Both frameworks also make a distinction between dynamic and custom records, although in the Smalltalk framework, the concept is not apparent to the user, nor does the user have a choice of between using dynamic or custom records. Further, both frameworks provide for the iteration over the fields of a dynamic record.
Nevertheless, the Java framework of the present invention provides a number of improvements and/or distinctions over the Smalltalk framework. The framework of the present invention has an advantage of providing variable length record support, as well as the ability to mix fixed length and variable length records together in one record. The present invention has a further advantage of providing support for overlaid fields. Additionally, the invention advantageously provides distinct typesets which are used by generic fields. In the Smalltalk framework, the field and type were combined together and so instead the distinct typesets of the present invention allow a new typeset to be easily incorporated into the framework for use. Also, the invention advantageously provides for “packing” a record after creating the fields which allows for the dynamic record to be fully editable i.e. a user can add, delete, rename, and/or replace fields of a record. Furthermore, the builder tool support classes of the present invention beneficially allow for graphical user interface (GUI) based editors to manipulate the records.
In sum, it is desirable to provide a method, system and article of manufacture comprising a computer usable medium having computer readable program code means therein for access from applications written in a computer programming language, preferably the Java language, to records created by an application written in another programming language by describing and correctly converting record data in such records.
SUMMARY OF THE INVENTION
Accordingly, the present invention provides new and useful methods, systems and articles of manufacture comprising a computer usable medium having computer readable program code means therein are directed to a framework for representation and manipulation of record oriented data. Particularly, the framework of the present invention provides access from applications written in a computer programming language, preferably the Java language, to records created by an application written in another programming language by describing and correctly converting record data in such records.
The present invention provides a computer-implemented method for accessing a record, said record having a field and record bytes, comprising the steps of (a) modeling the record by means of an implementation of a framework, wherein the framework comprises a record interface, a record type interface, a field interface and a type interface, and (b) accessing the record bytes through said implementation of the framework. The above-method is further provided with a record interface that associates a record type with the record bytes and describes attributes of the record bytes in terms of data encoding characteristics. Additionally, the record interface may comprise a dynamic record interface, said dynamic record interface providing an accessor to the field in accordance with an identifier of the field. The record interface may also comprise a custom record interface, said custom record interface providing a user-defined accessor to the record bytes. The user may also selectively choose implementation of the dynamic record interface or the custom record interface.
The above-method may also have a record type interface that collects a field descriptor of the field in the record. The record type interface may further comprise a dynamic record type interface, said dynamic record type interface providing the ability to add, insert, delete, or retrieve field descriptors. The dynamic record type interface may also provide the ability to iterate over field descriptors of the record through an enumerator. Additionally, the record type interface may provide the capability to define new records of the record type.
The above-method may also have a field interface that associates a field descriptor with the field of the record, said field descriptor comprising a field name, a data type, and a field relative offset into the record bytes. The field interface can provide an accessor to the field in accordance with an absolute offset with respect to the record in terms of record b
Gartner Harold J.
Green John H.
Klicnik Vladimir
Stephenson John W.
Chaki Kakali
Das Chameli C.
Gamon Owen J.
Moser Patterson & Sheridan LLP
LandOfFree
Framework for representation and manipulation of record... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Framework for representation and manipulation of record..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Framework for representation and manipulation of record... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2836270