# Working With Business Component Projects, Packages, and System Options

When beginning a business components application, you should consider the organization of your workspace, the default system and project options, and the type(s) of database you will use.

## Organizing your workspace

Before you start a business components project you should consider the organization of your workspace. In particular, you may find that that you will need multiple projects in your workspace, each one customized for a particular task or area. Likewise, within each project you will want to customize the packages by grouping them functionally, how they are delivered, or along some other logical lines. For information on structuring your projects and packages, see the topic About Structuring Business Component Projects and Packages.

## Setting default system and project options

Before you start a business components project you will find it helpful to set default options. Setting default schema options can help limit the number of initial choices, which is particularly useful when your schema defines a large number of database objects. Setting default framework base classes is useful when the framework supplied by JDeveloper will be customized by a core group. All business components may be built over this customized framework, which will allow you to add custom functionality to all objects of a given type, by extending the framework base classes. It may help you organize your application by setting business component root and working directories for each project.

There are also additional options for setting business component project properties and options.

## Choosing a database development scenario

Plan your application around a database scenario. Since Business Components for Java was designed to work with Oracle8i, this is the default database configuration. However, with the 3.2 release of JDeveloper you can connect to Oracle8i Lite or any standards-based (SQL92) foreign datasource and specify custom type mapping. This opens up a range of development scenarios, from creating an application that will run against generic databases, to custom database support, to databases that can be switched at design-time or runtime. For more information, see the topic About Developing Business Components for Foreign Datasources.

## Importing business components

You can build extended Business Components by adding a JAR file of business components (`.class` files and `.xml` metadata) to your project's library list and creating your new derived components by extending the components delivered in the JAR file. For more information, see the topic About Importing a Business Component Package.

## Incorporating legacy code

If you have a legacy client-server application that you are converting into a Business Components for Java application, there are some guidelines that will help you make a start. For more information, see the topic Incorporating Legacy Code into Business Component Programs.