# Ways to Call Exported Methods on Clients

This topic describes how to invoke exported methods in client programs and contains these sections:

- Invoking Exported Application Module Methods

- Invoking Exported View Object Methods

- Invoking Exported View Row Methods

The client program follows the coding pattern for EJBs. To use the exported methods, the program must import the package or packages that contain the Java interfaces for the Application Module and any View Objects or View Rows that have exported methods. These are typically found in the `common` package. The `common` package contains the generated interfaces and classes which are common to the remote client and the server tier. The program also typically imports the `oracle.jbo.*` package.

To access an exported Application Module method, first get an instance of the Application Module and cast it to the interface of the exported Application Module. This interface represents a proxy for the Application Module—the actual objects and their methods reside on the application tier. How you manipulate the proxy in the client tier will be replicated on the actual objects in the application tier. Note that if your client program does not work with exported Application Module methods, you do not have to perform the cast.

Similarly, when you work with exported methods for a View Object or View Row, first get an instance of the Application Module that contains the objects. If the Application Module does not export any methods or if the client program does not work with exported Application Module methods, you do not have to perform the cast. Next, get a reference to the View Object or Row and cast its handle to the proxy interface for the object. How you manipulate the proxy in the client tier will be replicated on the actual objects in the application tier.

For a complete code example of a client program that calls exported Application Module, View Object, and View Row methods, see Writing a Client Program that calls Exported Methods.