Trying Out Maya
NOTE: These instructions are out of date. The maya project has recently had a name change, now maynstall. So the repositories have changed as well. In addition to that maynstall is undergoing many changes in preparation for p2, the new provisioning effort. So this page does not have the correct information available. For instance the dependency to hibernate has been removed.
The following instructions highlight how to try out Maya. At this time, Maya does not have a formal "release" available however we understand that certain developers may wish to setup Maya to begin experimenting how it could work in their environment. The follow steps are designed to use a local Derby database and include example plugins that have a local update site run to expose the Maya features and plugins as needed. In addition, a set of JUnit tests are used to populate the database including configuring default profiles and scanning standard update sites. Once you experiment with this configuration, you can deviate from these steps including registering additional update sites and potentially switching to use other database technologies.
You will use the following components in trying out Maya.
- To build and run the database, update site, and Maya server
- Maya Server
- To expose the web services needed for Maya to operate
- To host the local update site for testing (in this example)
- Derby DB
- To store the meta information for Maya to perform provisioning
- Maya Javastrap
- A Java implementation of Maya's bootstrap to initiate provisioning
- Maya Launcher
- Run by the bootstrap and allows selection of profile to be executed
Trying Out Maya
- Install the Sun JRE 1.6 (if not already installed)
- Note: Needed for testing of Maya when automatic VM distribution is enabled (currently default)
- Start Eclipse, download from Eclipse.org if needed
- Note: We've tested with 3.2.2 as well as 3.3M6+
- Import Maya's Getting Started team project set
- Add Hibernate Jars to org.eclipse.maya.server.example.hibernate project
- Place Hibernate files in the org.eclipse.maya.server.example.hibernate/lib folder.
- Copy Jars from the downloaded hibernate zip's top-level directory:
- Copy Jars from the downloaded hibernate zip's lib directory:
- Once Jars in place, all build errors should go away (if not, do a clean build)
- Start the Derby network server
- Run the server using the launch config Derby Network Server
- Create zip file of the Sun 1.6.0 JRE and place in JRE folder
- On Windows navigate to the directory where there is folders like bin & lib and some other files and create a zip file just containing those files
- Place that in the JRE folder for your os in the org.eclipse.maya.server.example.db plug-ins (Note: the file must be named jre_1.6.0.zip)
- For Windows, place the file at org.eclipse.maya.server.example.db/jre/win/jre_1.6.0.zip
- For Linux, place the file at org.eclipse.maya.server.example.db/jre/linux/jre_1.6.0.zip
- Build Update Site for the Maya software
- Open the site.xml located in the update_site folder of the org.eclipse.maya.server.example.db project click Build All
- Note: Under Eclipse 3.3M7 you may receive an error building the update site, typically this can be ignored
- Start the Maya Web Server
- Run the server using the launch config Maya Server (Win)
- Prepare the Maya Database including initial population
- Run using the Initialize Maya Database launch config
- Part of preparation includes running update site sync which can take 10-60 minutes depending on network connection. Subsequent runs of the update site sync will run significantly faster as it will only retrieve incremental changes
- Run the Maya Launcher via Bootstrap
- Launch the Maya Javastrap launch config from the Run... menu
- When prompted for a user name and password, specify user / pass or admin / admin
What to Try Next
- Distributed Testing
- Even though you are testing with Maya running on a local Derby DB, this setup will allow you to test from a remote system. Since the meta information cached in the Derby DB includes the base URL to update sites, the Maya plugins and features will be referenced based on the hostname of the test server. In environments where WINS is configured, you should be able to modify the Maya Javastrap to have the hostname of the server specified under VM arguments as -Dmaya.host=<hostname>. If you do not have WINS configured, you will need to specify -Dmaya.host=<a.b.c.d> where a.b.c.d is the server's IP address. Please note that while you can set the Maya hostname for testing, typically the native bootstrap you would deploy would be installed and configured ready for a given server. Note: If the server's IP address or name changes, you may need to re-run Initialize Maya Database which will dump the tables and re-create from scratch.
- Create Additional Profiles
- At this time, the user interface is not quite complete for administrating profiles. If you would like to test creating a new profile, create a derivative of the AddJavaPorfile.java test case. You can create as many profiles as you like. Please note that for purposes of simplifying the examples, we are using a simple user and group mechanism. If you need to test profiles allocated to specific groups, modify the org.eclipse.maya.server.example.user/users/users.xml file or provide an alternate implementation of those functions tied to your own authentication system.
Once you've created the Maya database, you may want to periodically run the Rescan Update Sites launch configuration. This will have Maya go out and verify that all of the features exposed on the registered update sites are stored within Maya's meta cache. In addition, for this Derby-based usage of Maya, the database itself will have information including the machine's hostname to be used as the web site for the Maya plugins exposed by the update site. In a full installation these files would be hosted on a stable server, though in this setup, since the hostname of the machine could change, you may need to re-initialize the database if certain configuration changes occur.