WebSphere eXtreme Scale fournit un certain nombre de fonctionnalités accessibles par programmation à l'aide du langage Java via des interfaces de programmation d'applications (API) et des interfaces de programmation système.
Lorsqu'il s'agit d'utiliser des API eXtreme Scale, il convient de distinguer soigneusement les opérations transactionnelles et celles qui ne le sont pas. Une opération transactionnelle est une opération qui s'effectue au sein d'une transaction. ObjectMap, EntityManager, Query et DataGrid sont des API transactionnelles qui sont contenues dans l'objet Session, lequel est un conteneur transactionnel. Les opérations non transactionnelles n'ont rien à voir avec une transaction. C'est le cas, par exemple, des opérations de configuration.
ObjectGrid, BackingMap, et les API de plug-in sont non transactionnels. ObjectGrid, BackingMap et d'autres API de configuration rentrent dans la catégorie des API ObjectGrid Core. Les plug-in permettent de personnaliser le cache pour réaliser les fonctions que l'on souhaite et ils rentrent dans la catégorie des API de programmation système. Dans eXtreme Scale, un plug-in est un composant qui fournit un certain type de fonctionnalité aux composants connectables d'eXtreme Scale (ObjectGrid et BackingMap). Une fonctionnalité représente une fonction ou une caractéristique spécifiques d'un composant eXtreme Scale (ObjectGrid, Session, BackingMap, ObjectMap, etc.). En général, les fonctionnalités sont configurables à l'aide d'API de configuration. Il peut arriver que des plug-in soient pré-intégrés mais vous pouvez très bien être amené à développer vos propres plug-in dans certains cas.
Vous pouvez normalement configurer ObjectGrid et BackingMap en fonction des besoins de votre application. Si l'application a des besoins spéciaux, vous pouvez envisager d'utiliser des plug-in spécialisés. WebSphere eXtreme Scale a des plug-in pré-intégrés qui répondent peut-être à vos besoins. Si, par exemple, vous avez besoin d'un modèle de réplication entre homologues entre deux instances ObjectGrid locales ou deux grilles eXtreme Scale réparties, vous pouvez très bien utiliser le plug-in pré-intégré JMSObjectGridEventListener. Si aucun des plug-in pré-intégrés n'arrive à résoudre vos problèmes métier, reportez-vous à l'API de programmation système pour produire vos propres plug-in.
ObjectMap est une API simple basée sur une mappe. Si les objets mis en cache sont simples et qu'aucune relation n'intervient, l'API ObjectMap est parfaitement indiquée pour votre application. Si les objets entretiennent des relations, il est conseillé d'utiliser l'API EntityManager qui prend en charge les relations de type graphes d'objets.
Query est un puissant mécanisme de recherche de données dans l'ObjectGrid. Session et EntityManager fournissent tous deux les fonctions classiques de requêtes.
L'API DataGrid offre des fonctionnalités puissantes de calcul dans un environnement eXtreme Scale réparti impliquant un grand nombre de machines, de fragments réplique et de partitions. Les applications peuvent exécuter une logique métier parallèlement à tous les noeuds d'un environnement eXtreme Scale réparti. L'application peut obtenir l'API DataGrid via l'API ObjectMap.
Le service de données WebSphere eXtreme Scale REST est un service HTTP Java compatible avec Microsoft WCF Data Services (ex-ADO.NET Data Services) et il implémente Open Data Protocol (OData). Le service de données REST autorise n'importe quel client HTTP à accéder à une grille eXtreme Scale. Il est compatible avec la prise en charge de WCF Data Services, qui est fournie avec Microsoft .NET Framework 3.5 SP1. Il est possible de développer des applications compatibles REST avec les outils fournis par Microsoft Visual Studio 2008 SP1. Pour plus de détails, voir le manuel eXtreme Scale REST Data Service — Guide d'utilisation.