SourceForge.net Logo

openMDX JMI Tutorial

Version 1.0

www.openmdx.org

The contents of this file are subject to a BSD license (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at http://www.openmdx.org/license.htm


Table of Contents
1. Preface
Who should use this tutorial
About the Labs
Prerequisites for the Labs
Downloading the Labs
How to build the Labs
How to run the Labs
Related Information
Conventions used in this tutorial
2. Introduction to the lab model
How to generate JMI accessor classes and XMI model files?
3. JMI Mapping Overview
JMI Mapping - Package
JMI Mapping - Class
JMI Mapping - Instance
JMI Mapping - References
4. Getting started with a Typed JMI client
How to retrieve a package?
How to create an instance?
How to retrieve the openMDX URI for a given instance?
How to set/retrieve attribute values?
How to set/retrieve reference values?
How to invoke an operation?
How to make the changes persistent?
Lab Example
5. Getting Started with a JMI Plugin
Overview of JMI Plugin Programming
Case Study: JMI Application Plugin
How to implement the plugin object?
How to configure the application plugin?
How to implement the JMI object implementations?
6. Getting started with a Reflective JMI client
How to retrieve a package?
How to create an instance?
How to retrieve the openMDX URI for a given instance?
How to set/retrieve attribute values?
How to set/retrieve reference values?
How to invoke an operation?
How to make the changes persistent?
Lab Example
7. Enterprise JavaBeansT Deployment
General Overview
How to setup the gateways?
How to setup a provider?
EAR layout
Practical Deployment on JBoss Application Server
Prerequisites
What needs to be done to run my openMDX EJBs on JBoss?
How to modify the JBoss installation to enable the execution of openMDX EJBs?
How to deploy your EAR that contains the gateways and provider EJBs?
How to write an openMDX client?
How to create a deployment configuration for your openMDX client to access the deployed gateways and provider EJBs?
How to run the openMDX client?
How to troubleshoot openMDX EJBs?
A. Lab Overview
Bibliography
List of Examples
3-1. Initializing the JMI package.
4-1. Setup initial root package and retrieve desired package
4-2. Create a new instance of class Person
4-3. Retrieve the openMDX URI of a given object
4-4. Retrieve the object for a given openMDX URI
4-5. Set attribute values
4-6. Get attribute values
4-7. Retrieve group instances of the reference group of a Person instance
4-8. Add a group instance to the reference group of a Person instance
4-9. Remove a group instance from the reference group of a Person instance
4-10. Call an operation
4-11. Create a Person instance, set some attributes and make it permanent in a UnitOfWork
5-1. JMI Plugin implementation
5-2. KERNEL:APPLICATION Example
5-3. KERNEL:modelPackage Example
5-4. KERNEL:packageImpl Example
5-5. JMI object implementation using Overriding approach
5-6. JMI object implementation using Mixin approach
5-7. Example delegation
5-8. JMI object implementation using Multiple Inheritance approach
5-9. Example delegation
5-10. Accessing other JMI objects that have been implemented using the Overriding approach
5-11. Accessing other JMI objects that have been implemented using the Mixin or Multiple Inheritance approaches
6-1. Create a new instance of class Person
6-2. Retrieve the openMDX URI of a given object
6-3. Retrieve the object for a given openMDX URI
6-4. Set attribute values
6-5. Get attribute values
6-6. Retrieve group instances of the reference group of a Person instance
6-7. Add a group instance to the reference group of a Person instance
6-8. Remove a group instance from the reference group of a Person instance
6-9. Call an operation
6-10. Create a Person instance, set some attributes and make it permanent in a UnitOfWork
7-1. Example EAR layout
7-2. Example manifest file
7-3. Modify JBoss startup script to include the following Java system properties
7-4. jboss.xml for gateway EJBs
7-5. jboss.xml for provider EJB
7-6. deployment.configuration.xml