Projecten van toepassingsclients bevatten de resources die voor modules van toepassingsclients nodig zijn. Zo'n module bevat een volledig werkende Java™-clienttoepassing (niet-webgebaseerd) die verbinding maakt met de J2EE-resources die op de server zijn gedefinieerd. Als u de clientcode in een module plaatst in plaats van een eenvoudig JAR-bestand, profiteert de toepassingsclient van de serverresources. Het klassenpad van JAR-bestanden op de server en van J2EE hoeft immers niet opnieuw te worden verstrekt. Bovendien verlopen JNDI-zoekopdrachten beter, omdat de begincontext en andere parameters door de clientcontainer worden ingesteld. In het toepassingsclientproject kunt u net zo werken alsof u een zelfstandige Java-toepassing in een Java-project maakt.
Met een toepassingsclientproject kunt u het volgende doen:
Evenals Java-projecten bevatten projecten van toepassingsclients de resources die voor toepassingsclients nodig zijn, waaronder Java-klassenbestanden. Als u een nieuw toepassingsclientproject maakt, wordt de omgeving ingesteld voor de ontwikkeling van Java. Er wordt een Java builder aan het project gekoppeld, zodat de Java-broncode tijdens het bijwerken incrementeel kan worden gecompileerd. Het project van de toepassingsclient bevat gegevens over de typehiërarchie en Java-elementen. Tijdens het aanbrengen van wijzigingen worden deze gegevens bijgewerkt en de projectresources worden tijdens het bijwerken incrementeel gecompileerd.
In de workbench wordt altijd naar toepassingsclientprojecten verwezen door bedrijfstoepassingsprojecten (EAR). Bij het maken van een toepassingsclientproject geeft u het bedrijfstoepassingsproject op waarvan het toepassingsproject deel uitmaakt. Aan de ingebruiknamedescriptor in application.xml van het EAR-project wordt automatisch een module-element toegevoegd.
Een toepassingsclientproject wordt als JAR-bestand in gebruik genomen. Dit JAR-bestand bevat de resources die voor de toepassing nodig zijn, zoals Java-klassenbestanden, ingebruiknamedescriptorgegevens en extensies en bindingbestanden in metagegevens.
Meestal wordt een toepassingsclientproject uitgevoerd op een clientsysteem dat met een J2EE-server (EJB) is verbonden. Een statische main-methode in een Java-klasse fungeert als ingangspunt voor de toepassingsclient. De klasse wordt in het manifestbestand van de clientmodule gedeclareerd.
Een container van de J2EE-toepassingsclient verleent toegang tot de J2EE-service (services voor JNDI-naamgeving, ingebruikname, transacties en beveiliging) en communicatie-API's (internetprotocollen, protocollen voor het aanroepen van methoden op afstand, protocollen voor objectbeheergroepen, protocollen voor berichtenvoorziening en gegevensindelingen).
Standaard bevatten toepassingsclientproject een map met de naam appClientModule, die de Java-broncode en gecompileerde .class-bestanden bevat, naast alle metagegevensbestanden, die in de submap META-INF staan.