Code wrapping to simplify access to and use of enterprise...

Electrical computers and digital processing systems: interprogra – Miscellaneous

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06836889

ABSTRACT:

TECHNICAL FIELD
This invention relates generally to the field of distributed computing and more particularly relates to facilitating access to and use of reusable software components, such as Enterprise JavaBeans (EJB) components.
BACKGROUND OF THE INVENTION
Like everything else, computer use has changed over the years. In the early days, large mainframe computers dominated the industry until the advent of the personal stand-alone computer and now many businesses and homes have at least one personal stand-alone computer. A new paradigm of computing, however, is emerging: one of distributed computing in which at least two, but more likely many more computers, called clients and servers, are interconnected to through a network wherein the logic and the software applications used by one client or server resides on another server. Thus, a server provides the application software, the logic, and sometimes even the databases for a number of other servers and clients.
The explosive growth of access to the World Wide Web, moreover, has further changed the paradigm of computing such that in today's computing environment, the network connecting clients and servers is the World Wide Web. JAVA™ is a programming language developed by Sun Microsystems, Inc. that has blossomed and thrived in the mid to late 1990s coincident with the burgeoning expansion of network computer technology and browser technology on the Internet, in part because Java is independent of the operating system of a computer. Java applications can be written on one computer and transferred over a network, such as the Internet, to any processing device having a Java virtual machine regardless of the hardware or software in the receiving machine, consistent with the “Write Once, Run Anywhere” philosophy of Java software development. Thus, Java applications can be written on one server and then transferred over the Web to multiple clients/servers. In fact, this model of computing is the basis of the Enterprise JavaBeans™ technology developed by Sun Microsystems, Inc. and other software developers who write development tools.
A tutorial in definitions as used herein may be helpful. An application or a client program is a software program used by an end user. For instance, a person entering data to schedule employees' work days may be using a scheduling client program or application. A person writing a paper may be using a word processing application. A person creating a visual demonstration may be using a presentation application. A tool is a software application environment that enables a software developer to write further applications in a particular computer environment IBM Corporation's VisualAge® for Java and Microsoft Corporation's Visual J++® are examples of tools that allow a programmer to write Java applications. A component is software code that can be reused across multiple applications; in other words, a component is standard software that can be pulled off a server and incorporated into new applications using a tool by software developers. For example, a calendar component may be used in several applications such as a scheduling application, a presentation application, a database application to calculate employee's vacation and pay, etc. Thus, a software developer using tools to write an application can pull a calendar component off the server for insertion into the application.
A Java bean is a particular kind of component that can be visually manipulated in a tool and is designed according to a standard protocol of Sun Microsystems for the Java programming language, namely the JavaBeans specification. An enterprise bean is a reusable development component in a client/server environment that is designed according to Sun Microsystems' Enterprise JavaBeans specification, a programming model for server side components in Java with support for transactions and security. Enterprise beans are intended to be relatively coarse-grained business objects such as a generic purchase order or an employee record or a calendar. Preferably, Java beans and enterprise beans conform to their respective Sun specifications. However, it should be apparent to those skilled in the art that enterprise beans, Java beans or any other components defined according to a Sun specification herein need not fully conform to those specifications but rather may meet only some of the specification requirements.
An enterprise bean is defined by two interfaces: (1) the public or home interface containing methods to either create or remove enterprise beans and, in the case of persistent enterprise beans (entity beans), to find and instantiate an enterprise bean; and (2) the remote interface or EJBObject which defines the business methods of an enterprise bean that can be accessed by a client program. Any interface of a Java bean is defined by three aspects: (1) attributes; (2) events; and (3) methods. An attribute is supported by public getter and/or setter methods. Attributes of the class must be exposed to the developer by the remote interface according to the JavaBeans protocol of the specification and have a naming convention for getter/setter methods to allow the tools and programmers to easily recognize and utilize the capabilities of Java beans defined according to the JavaBeans specification. Attributes may be of three kinds: simple; boolean; or indexed, each of which may be bound or constrained. An example of a simple attribute in a spreadsheet tool would be the balance of an account. An example of an indexed attribute in the spreadsheet tool would be the owners of an account, if there were more than one owner. An example of a boolean attribute would be if the balance of the account were greater or less than a particular amount—the response would be true or false. A bound attribute tells its dependent attributes that it has changed when/after it changes. A constrained attribute notifies its dependent attributes before it changes and the listeners of that constrained attribute have the option to veto the change, which is called an exception, i.e., the dependent attribute generates an exception to the proposed change. An example of a bound attribute would be the balance of a bank account. An example of a constrained attribute would be change of ownership of the account. A session object is an Enterprise JavaBeans object that executes on behalf of a single client, can be aware of transactions, can update shared data in an underlying database but does not represent directly shared data in the database, and is relatively short-lived. An entity object provides an object view of data in the database, allows shared access of data in the database from multiple users, and can be long-lived. Java beans are distributed across a computer network through a Java Archive (JAR) which is basically a zip file with a manifest file.
FIG. 1
illustrates a typical prior art method of a client program accessing an enterprise bean. In step
1
, a client program
150
must first obtain a name service context for a name server
120
. Using the name server context, then in step
2
, the client program
150
looks up the home interface
132
of an enterprise bean
138
(of possibly a plurality of enterprise beans n) using the name server
120
. In step
3
, using the home interface
132
, the client program
150
creates or finds an instance of the enterprise bean
138
on the Enterprise JavaBeans (EJB) server
130
. In step
4
, the enterprise bean
138
returns an Enterprise JavaBeans proxy object
134
, i.e., the remote interface, representing the enterprise bean instance. The proxy object
134
may issue a remote call which can generate and throw an exception if the client program
150
wishes to access or change data in database
100
.
While programming directly to a Java bean is simple and well-established, programming directly to Enterprise JavaBeans interfaces increases the complexity of a user program and creates significant performance problems thus requiring extra effort on the part of the software developer. Performan

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Code wrapping to simplify access to and use of enterprise... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Code wrapping to simplify access to and use of enterprise..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Code wrapping to simplify access to and use of enterprise... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3329509

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.