Things on my mind. George Drapeau's Weblog

Dec 09
8
So, I wanted to use the latest build of OpenSolaris to take advantage of some new features.  I am using the June 2009 release (2009.06) and upgrading to the latest build means using a development build.  I was thinking the easiest way for me to switch to the development builds is to go into the Package Manager application, add the publisher "http://pkg.opensolaris.org/dev/" (and give this publisher a name like "development"), tell Package Manager to set this as the preferred publisher, then delete the "opensolaris.org" publisher from the list because I no longer need that one; I'm getting the software I need from the dev publisher.

Well, that's nice in theory but it didn't work for me, and there's a bug for that (here, check it out).  Turns out that for now, you must name your preferred publisher "opensolaris.org".  So the relatively simple workaround is to create a publisher called "opensolaris.org", and have it point to "http://pkg.opensolaris.org/dev/", then delete the original publisher that is called "opensolaris.org".

Worked for me, and now I'm using build 128 (b128) and it's working (mostly) like a charm.  There are other minor things going on with that build, but I've been able to work around them so far with no problems.  I'm happy.


Powered by ScribeFire.

Dec 09
7
I've been doing some nice upgrades to my home media server: I just put 4 2TB drives in it in a raidz configuration.  This now gives me over 5TB of fault-tolerant storage; if one of those disks fails, my data is still fine and I have time to buy a replacement drive and pop it into the machine so that ZFS can heal itself.

But I ran into a problem when trying to transfer my data from one machine to another.  I would try "zfs send <filesystem> | ssh zfs receive <receivingFilesystem>" of a filesystem that is perhaps 100GB large, but the transfer would never complete.  It seemed to go fine until maybe 10GB of content was sent, then the transfer would stall, and the sending side would complain of a time-out, then quit.  When I logged into the receiving machine (which I earlier wrote about here, so you can see the parts list), I found that it could no longer see the network.

I looked into it; turns out that there's an OpenSolaris bug with the RGE network driver, which is what my computer uses for its on-board Realtek Gigabit Ethernet circuitry.  The community really came through for me here.

Here's a discussion thread that talks about what is going on with the bug, and several versions of a fix that, after several iterations, did the trick for me.  I tried a couple of versions of the developer's fix, and finally one version worked like a charm.  I've used it to successfully transfer over a TB of data.  I just hope this fix makes it into an OpenSolaris build soon; the developer thinks it will take a few months for it to get accepted, which sounds sub-optimal for an open source project that is trying to get support from a community of helpers.  But 3 months is better than nothing, and I'm grateful that somebody created a fix.  Nice job, masa; thank you!



Dec 09
6
I had been running OpenSolaris 2008.11 on one of my machines for a long time, and when I recently upgraded it to the June 2009 (2009.06) release, all of a sudden the remote desktop control feature stopped working.  I mean, I could type "vncviewer " and would see the desktop initially, but it just didn't refresh its display.

Turns out I'm not the only one who ran into this problem, which doesn't seem to be fixed but at least it has a workaround.  The workaround is to turn off visual effects for desktop actions.  To do that, go to the System menu, choose "Preferences -> Appearance" and you will see a panel that looks like the image below.  Be sure to check "None:" for the visual effects, and vncviewer from other computers (including Macs, which is where I first saw the problem) should go away.

Here's a link to the discussion I found about this problem.

And here's what the preferences panel looks like in OpenSolaris 2009.06 and later builds:





Powered by ScribeFire.

Dec 09
2

I've talked about g-snap! before; I still think it's one of the most innovative ways of sharing live events with other people.  It beats Twitter hands-down, and is a more natural way of doing what people call "live blogging".  Plus, G-Snap! was designed from the start to work well on mobile devices; the whole idea is that you may be on the move when a favorite event of yours is on, but if you could stay in touch via your mobile device, you can still be a part of the community, part of the action.

The next Snapcast  coming up is tomorrow's (that's Thursday, December 3rd) Pac-10 college football game between Oregon and Oregon State.  The outcome of the game will determine which team wins the Pac-10 conference title and therefore goes to the Rose Bowl.  Both teams are playing great football; the game should be a treat to watch.

So check it out by going here, and join in the trash talking, or just check out how communities interact on G-Snap!

Nov 09
23
A while ago, I wrote several blog entries about what I did to set up a media server at home.  I'm writing this blog entry to wrap things up with some details about how much it all cost, and the software I'm running on the computer now.

Background

I decided to design a "media server" for home that would be the main data storage for our family's music, photos, recorded TV shows and movies, and personal documents and backups of our home directories on the computers we commonly use at home.  I had a few objectives for the media server:
  1. All of this data would be in a single computer that we could grab and stick in the car in case of emergency.  Friends of ours lost their house, but they had the foresight of having all of their personal data (over a terabytes' worth) on a single file server, so when they evacuated the house, they didn't lose any personal data.  Seemed like a great idea to me.
  2. The media server would store data reliably; i.e., I assumed that a disk would fail, and I wanted the media server to be able to continue working in case of failure.
  3. Reduce noise in the house as much as possible.  That meant putting the server in the garage where it could make as much fan noise as it needed to, but we wouldn't hear a thing in the home office or where we watch TV.
  4. Keep the cost down to a reasonable amount.  This was not the primary factor, but it was important enough for me to pay attention to when shopping for the components.

What I Purchased

Here's the build of materials for the computer I put together (I'm sure prices on these will have gone down since I bought them in October 2008).  Total price of the system: $742.  If you take out the cost of the disks, the rest of the computer cost $345.
  • Motherboard (newegg.com, $62.99) : ECS Elitegroup A780VM-M2 Micro ATX AMD Motherboard.  Supported the cheap AMD processor I wanted, and had plenty of on-board SATA ports (6).  Remember, I want all the disk to be in a single enclosure for easy, snatch-and-grab transportation.
  • Memory (newegg.com, $69.99): GSkill 4GB (2 x 2GB) DDR2 SDRAM (PC2 6400).  No reason to get greedy, and it keeps power draw and price down for the system.
  • CPU (newegg.com, $59.50): AMD Athlon 64 X2 5000 Brisbane 2.6GHz Socket AM2 65W Dual-Core Processor.  Nice price for a processor that does everything I need in a media server that can also run some apps.  More on the apps in a bit.
  • Disks (newegg.com, $396.80): 2 Seagate Barracuda 1.5TB 7200 RPM SATA internal disks.  Prices have gone down considerably for the storage, but this was a fair enough price last year.
  • Case (Fry's Electronics, $130): Antec Sonata III Mid Tower ATX Case.  Got good reviews, came with a 500W power supply which is plenty for what I was putting in it, and has plenty of ports and internal drive bays for the storage.

How I Set Up The Media Server

Here is the first blog entry I wrote that describes my thought process about using ZFS on OpenSolaris to store our home's data.

Here is the second blog entry I wrote, giving all the details about what I needed to do to format the disks and set up the ZFS pools and filesystems.  This was based on the OpenSolaris 2008.11 release; I plan to upgrade to a more recent release (probably an OpenSolaris build after the June 2009 release; I'd love to try the new ZFS deduplication feature).  Everything has been running fine, with the exception of the TimeSlider feature for doing automated ZFS snapshots.  That was fixed in the June 2009 release.

What I'm Running On The Media Server

The media server is doing a few things for us at home; here are the services it's providing:
  • iTunes music storage.  We have a Mac mini that we use for iTunes; all of our music is in iTunes, and the Mac mini NFS-mounts a filesystem from the media server.  I tried both CIFS (Samba) and NFS.  I preferred NFS, but it seemed to have troubles with the Mac as an NFS client.  After reading James Gosling's blog entry on what he observed with Macs and Solaris and NFS, I made a tweak on the Mac mini and everything has been working smoothly ever since.  We make this library shareable to our other Macs on the home network.
  • iPhoto storage.  The same Mac mini also stores all of our photos.
  • TiVo media backup and playback.  There is a great open source Java application called Galleon that uses the TiVo Home Media Engine (HME) API; the API lets you write your own Java apps that show up as part of the TiVo's on-screen menu system, and it lets you talk to the TiVo to grab shows off the TiVo's disk and put shows on there, among other functions.  Primarily, we use it as a way to keep backups of shows that we don't want to lose in case the TiVo's disk crashes and loses data.  This has happened several times, mostly due to unforeseen loss of power.
  • Personal finances (via Intuit's Quicken software).  To do this, I run the free, open source VirtualBox software.  I used to use VMware, but VMware isn't free and it doesn't run on any version of Solaris.  VirtualBox runs on every operating system I use, it's free, and it's improving much faster than VMware is.  So, I run Windows XP as a guest OS inside VirtualBox, and use that guest OS to run Quicken.  When I'm feeling like the guest OS is getting slow or am worried that it's collected viruses, I just blow away that guest image and go back to an earlier snapshot.

My Wish List

Are any of you doing something similar with your home setups?  If so, maybe you have done some of the things I'd like to set up but haven't gotten done yet.  Here's my wish list of apps and features I'd like to add, and I'd like to do it all natively in OpenSolaris (in other words, none of these services would need to run in a guest OS like Windows or Linux under VirtualBox):
  • DLNA server running natively in OpenSolaris.  DLNA will give me the ability to share and stream my media (photos, music, video) to the PlayStation 3.  I've played with several solutions; more on this in a moment.
  • Live streaming of TiVo content from the media server back through the TiVo.  Galleon lets me transfer shows to and from the TiVo, but not play them live.  This is a feature that the ReplayTV product had (I still miss that product, and am sorry they went out of business), and their Java app was superior in several ways to Galleon.  But, it looks like somebody has written software to let you play TiVo shows from your media server straight through the TiVo.  I just haven't gotten it running on the media server yet.

Powered by ScribeFire.



Nov 09
22

OpenSolaris logo TiVo logo

Sometimes my TiVo gets confused after a power outage, and it takes forever to reboot (I think it's trying to recover its files which takes a while when you have over 1TB of storage connected to the TiVo).  Sometimes, I lose some of my shows, and that makes me sad.

So I decided to find some software I could get running on OpenSolaris so I could use my home media server as a backup device for my TiVo shows.

I did it, using the Galleon open source Java application; here's how.

Now, if somebody smarter than me would just port the TiVo software to OpenSolaris, we'd have the benefits of ZFS on a TiVo box.  That would be fantastic.

Powered by ScribeFire.

Nov 09
11
I just published a short how-to video showing how you can easily install Acquia Drupal on OpenSolaris.


Sun's ISV Engineering group has been working with Drupal for a couple of years now; I also use Acquia Drupal to develop and maintain this web site, which also hosts my personal blog.  The Drupal community is amazingly vibrant and growing by leaps and bounds, and Acquia has done a nice job of commercializing the Drupal open source content management software package.  Acquia Drupal is still free, but it has some nice additions that any Drupal user or developer would want.

Anyway, check out the video; it's about 8 minutes long and walks you through the steps to find the catalog of third party applications, then get Acquia Drupal and configure it on your OpenSolaris system.  It's easy, and it just works.

Oh and by the way: props to our Sun Learning Exchange web site and staff for making it so darned easy to publish content.  Nice job, folks!



Powered by ScribeFire.

Nov 09
9
Movable Type is another open source blogging platform, written in Perl, and is one of several I've been playing with over the past few weeks.  Sun's ISV Engineering group has been working on getting several of the leading open source content management systems and blogging engines into OpenSolaris via the neato installation system, to make it as easy as possible for fans of these blog engines and CMS's to get working right away, with little hassle.

Eric Reid in ISV Engineering recently made Movable Type available in the OpenSolaris "pending" repository of software, the "pending" meaning "please somebody test this package so we can vote it into the "contrib" third-party software repository.  So, I spent some time checking out the installation and configuration process for Movable Type.  Here is what I did and what I observed.

First, I set up the OpenSolaris to find packages from the Source Juicer "pending" repository, with these two steps:
  1. type "pfexec pkg set-publisher -O http://jucr.opensolaris.org/pending jucr-pending"
  2. type "pfexec pkg refresh"
Next, I launched the Package Manager application and chose the "jucr-pending" repository from the pop-up menu on the right side of that application's user interface.  After Package Manager thought about its new catalog of apps for a moment, I saw a list of hundreds of packages available to me.  I used the search field to type "type", and found the "movabletype" package.  Selected that, saw that it lists several other packages as dependencies (i.e., those other packages had better be installed for Movable Type to work correctly), then I installed it.  Nicely, the Package Manager installed MovableType and its dependent packages for me.

One more thing: we've configured MovableType to use the PostgreSQL database by default; before quitting Package Manager, I selected the main "opensolaris.org" repository, then selected PostgreSQL 8.3 packages (the server and client packages, plus one for docs and manual pages) and installed those.

Next step: get the database running.  I don't know much about PostgreSQL (shame on me), so I cheated by looking at this nice blog entry to show me what I needed to do to configure it as a nice Solaris service, so that it will launch for me automatically.

Got the database running, created a database called "mtype", granted all privileges to that database for a user I created, and was ready for the next step: web-based configuration of MovableType.

I launched my web browser and went here: http://localhost/movabletype to bring up the easy-to-use web-based installer.  It checked the system, told me everything was fine (except that I'm missing a few optional components that won't hurt me; I tested on a minimally-installed system), then asked me some questions about the name of the database to use, which user and password, then it took a minute to churn.  No problem, it was ready to go.

After install, MovableType brought up a web page asking me to login.  I did so, created my first blog entry (which was incredibly easy to do), then saw it published.

I made a minor mistake when I set up MovableType: it asked me where I wanted to publish my blog.  I mistakenly said "http://localhost/my_first_blog".  I should have said "http://localhost/movabletype/my_first_blog", because the web server has write access to that directory.  This messed up subsequent preview and blog navigation actions, but when I entered the correct URL, everything worked just fine.  Pilot error, not the package's problem.

Next, I created a new user, gave that user access to the original blog (so now I have a blog that can have two different authors), and tested it by posting a guest blog entry.  Yep, it worked.  Next, tried posting a comment to the blog.  That worked, too.

I futzed around a little bit with the Movable Type features.  Although I didn't spend a ton of time on it, everything seemed to work as expected.

So, check it out, Movable Type users.  Does Movable Type worke okay for you on OpenSolaris?  It was pain-free for me, but let us know what you think.


Powered by ScribeFire.

Nov 09
6
Rack is a webserver interface for the Ruby open source programming environment.  Amanda Waite took the trouble of making this package available via the OpenSolaris packaging mechanism; ultimately, ruby-rack will be in the OpenSolaris "contrib" repository, but not until it gets a little testing and review, and some votes from the community, this functionality is now in the OpenSolaris "pending" repository.  I admit to great naivete about Ruby, so I'll refer you to this excellent explanation of what Rack does for Ruby developers.  (my summary of what I got from the explanation: Rack is a web framework for Ruby developers; in other words, if you like writing Ruby code and you want to write code to create a web-based application, Rack is a nice extension to Ruby to make doing this easy).

Anyway, been doing some testing of the package that Amanda submitted.  Here's what I did and what I observed:

First, I made sure I had access to the OpenSolaris Source Juicer "pending" repository.  As I've noted before, two steps:
  1. type "pfexec pkg set-publisher -O http://jucr.opensolaris.org/pending jucr-pending"
  2. type "pfexec pkg refresh"
After that, the next time you launch the Package Manager application, look on the right side of the application and you can choose "jucr-pending" from the pop-up menu.  Do that, and after a moment you'll see a list of all the packages in the "pending" repository.  You will find the package "ruby-rack" there.  Note that case matters; the package name is all lowercase.

So I did this and downloaded the package.  The package notes that it depends on the Ruby package.  The Package Manager pulled it in just fine.  How do I know?  Before installation, I could not type "ruby" and get anything back.  Afterward, it worked.

Next step:

$ cd /usr/ruby/1.8/lib/ruby/gems/1.8/gems/rack-1.0.1/example
$ rackup lobster.ru


This starts a web server on port 9292 with a little "lobster" program.  I launch the web browser and go to "http://localhost:9292" and I saw a simple web app that shows a crude "picture" of a lobster, and two things I can do: flip the lobster from right to left and back again, and show a crash dump of the Ruby Rack program.  I tried both of those things; they worked just fine.

After this, I killed the "rackup" program then tried it again with the other ".ru" file in that same directory, "protectedlobster.ru".  That gives an added feature of authenticating into the web app (password is "secret"; as far as I can tell, use any username you wish).  That worked, too: if I didn't provide the right password, nothing happened.  If I provided the right password, it worked fine.

So that all worked just fine.  The next set of tests was more in-depth, running a partial test suite.  For this set of steps, I had to install both the "SUNWgcc" and "SUNWgmake" packages, again with the Package Manager.  I did these steps:
  1. su - (i.e., pretend you're root; without doing this, step 3 below complained that it couldn't write to /var/ruby/1.8/gem_home/bin)
  2. Add /var/ruby/1.8/gem_home/bin to your $PATH
  3. type CXX=/usr/sfw/bin/g++ gem install memcache-client ruby-openid camping mongrel thin test-spec --no-ri --no-rdoc
  4. type "gem install rake"
  5. type "rake test".
The output showed it compiling some stuff, then it said "Started" followed by a bunch of periods showing status, then "Finish in 3.960495 seconds."  Finally, a results line said "267 tests, 928 assertions, 0 failures, 0 errors".

That sounds like good news to me!

So folks: the Ruby Rack web framework is available via OpenSolaris.  Check it out and see if it works for you, Ruby developers.  Let us know how it goes, will ya?


Powered by ScribeFire.

Nov 09
2
I don't have anything unique of my own to offer today, but I wanted to pass on a really nice piece of writing that I read this morning.

Jeff Bonwick writes in his blog today about a new feature in ZFS, called deduplication.  There's no way I can explain it better than he, so I'll just leave you to it.  It really lays out the problem of deduplication and ZFS's solution to it nicely.


Powered by ScribeFire.

Oct 09
27
SilverStripe is an open source content management system (CMS); we in Sun's ISV Engineering department have been working on getting this and other important open source applications into the OpenSolaris "contrib" repository, a place meant for third party applications that anybody can contribute.  I've been testing the SilverStripe package that Jenny Chen contributed; here are my notes.

Mostly, SilverStripe installs just fine; however, it has the same little hiccup as Joomla! did when I tested its installer.  (I documented that problem and workaround here)  No big deal, though: it's easy to apply the same quick workaround for MySQL before you get on your way.

Once done, I launched my web browser on my OpenSolaris box and went here: "http://localhost/silverstripe".  That brings me to the web-based SilverStripe installer.  It all looks good, but one thing to note at the bottom of the page (in the "Webserver Configuration" section) is that SilverStripe can't tell what web server OpenSolaris is running.  With the Web Stack, we're running the Apache web server.

One other note from the SilverStripe installer: it advises me to set the "allow_call_time_pass_reference" parameter in /etc/php/5.2/php.ini to "On", which I did just to avoid getting warnings shown to me during the installation process.

Anyway, did that, then pressed the "Install SilverStripe" button to get the installation on its way.  The installation took two minutes fifteen seconds (really; I timed it) under a fairly heavily-loaded computer.

It worked fine; I was able to add a couple of pages to my site, add a user and give that user privileges, and see it in action.

So now, if you use SilverStripe you can get to it in OpenSolaris via the Package Manager.  If you don't know how to install packages from the OpenSolaris "pending" repository (a staging area we use to test packages before they're promoted to the "contrib" repo I mentioned above)., then the main thing you need to learn is how to add repositories to your Package Manager application.  Do these two steps from a shell on your OpenSolaris installation:
  1. type "pfexec pkg set-publisher -O http://jucr.opensolaris.org/pending jucr-pending"
  2. type "pfexec pkg refresh"
After that, the next time you launch the Package Manager application, look on the right side of the application and you can choose "jucr-pending" from the pop-up menu.  Do that, and after a moment you'll see a list of all the packages in the "pending" repository.  You will find the package "silverstripe" there.  Note that case matters; the package name is all lowercase.

Check it out and let us know what you think.  Did SilverStripe install and work fine for you in OpenSolaris?  Give us some feedback.


Powered by ScribeFire.

A big win for open source software happened this weekend, with the primary U.S. government web site being re-built using the Drupal open source content management system:

Also, Tim O'Reilly talked about it as well.

General Dynamics is the prime contractor for the project, with several Drupal shops being subs.

Nice job, Drupal people!


Powered by ScribeFire.

Oct 09
19
Nagios is an open source system monitoring software package; we thought it important to get the Nagios community supported on OpenSolaris so Sun's ISV Engineering department spent some time on the task.  You can check out our results by going to the OpenSolaris "pending" repository and installing these packages:
  1. nagios
  2. nagios-plugins
  3. nrpe
If you want to see what I did to test these packages after installation, look at this review page and you'll see my comments from October 17.

If you don't know how to install packages from the OpenSolaris "pending" repository, then the main thing you need to learn is how to add repositories to your Package Manager application.  Do these two steps from a shell on your OpenSolaris installation:
  1. type "pfexec pkg set-authority -O http://jucr.opensolaris.org/pending jucr-pending"
  2. type "pfexec pkg refresh"
After that, the next time you launch the Package Manager application, look on the right side of the application and you can choose "jucr-pending" from the pop-up menu.  Do that, and after a moment you'll see a list of all the packages in the "pending" repository.  Nagios, nagios-plugins, and nrpe will be there.

Check 'em out, and leave comments to let us know what you think.  If they look fine, we'll promote them to the main third-party applications repository, the "contrib" repo.


Powered by ScribeFire.

Oct 09
15
Sun's ISV Engineering group has been working hard all spring and summer to get fistfuls of popular and important open source applications into the OpenSolaris "contrib" repository, a repo for third-party applications that can be assumed to have some level of sanity checking done on them.

Eric Reid in ISV Engineering has submitted three different releases of Drupal; today, the final release (Acquia Drupal) was approved and placed into /contrib.  These three applications are
  1. Drupal 5 (release 5.20)
  2. Drupal 6 (release 6.14)
  3. Acquia Drupal, created by the commercial enterprise backing Drupal: Acquia.com
It's nice and easy to try out any of these Drupal packages in OpenSolaris.  Want help?  Read this entry on drupal.org for complete yet succinct instructions.

(update)
I should also point out that when you install Drupal in OpenSolaris, the package management system will pull in the Sun WebStack components automatically, which is all free as you would expect.  It's the AMP stack components you know and love, but optimized by Sun for out-of-the-box performance improvement, plus a management console that lets you see what's going on with the components while you're running your Drupal web site.

(Okay, that may have sounded a bit like an advertisement, but we really did put a lot of engineering effort into optimizing the AMP components on Sun's systems and the new analytics thingy is pretty cool looking.)
(/update)

Meanwhile, this adds one of the premier open source content management systems to the stable of apps freely and easily available to you when you install OpenSolaris on your computer.  You can even choose from amongst the leaders in blog engines / content management systems / web site building tools: Drupal, Joomla!, WordPress are all available now.  Here is a list of packages published to the contrib repository.

Check 'em out!




Powered by ScribeFire.



Oct 09
14

It's been a busy conference, that's for sure.  On Monday I spent a fair amount of time both in keynotes and in the exhibition halls.  By the way, there are two exhibition halls; if you're like me and think that JavaOne is a large conference with "only" one enormous exhibition hall being enough to satisfy the vendors and attendees, well you haven't been to Oracle Open World.  Two exhibition halls in two different Moscone Center buildings is almost overwhelming.

Anyway.

The morning keynote session with Safra Catz and Charles Phillips was pretty straightforward; I wouldn't say the keynotes were inspiring, but they did move along smoothly and delivered their business messages crisply.  The demos all went perfectly which is also something I can't say about JavaOne in the past couple of years (man, it hurts to write that).

I've never seen Andy Mendelsohn speak in person but I did on Monday, watching his keynote about new features in the Oracle database 11g.  He did fine, the features seem interesting if you're a DB guy (which I am not, but I got the point of the features being discussed), and Andy seems like an uber-nerd.  I mean that as a compliment; I think Sun people would have an easy time adjusting to him.

The last keynote of the day was Steve Miranda's keynote about applications; to be clear, the focus was on the Oracle E-Business Suite ("E-Biz"), PeopleSoft, and Siebel CRM.  Here are the two main things I observed about that keynote's content:

  1. Miranda had a slide that mentioned PeopleSoft's latest release, and he made it extremely clear that this is the third release since PeopleSoft was acquired, and that thousands of features had been added.  The message: we are not killing off PeopleSoft, customers.  You like it?  We have continued to invest heavily in it.  I find it interesting that almost five years after the acquisition, Oracle is still emphasizing that PeopleSoft is still a viable entity; I wonder if this is still a customer concern?  In any case, it is a positive message for customers, and Miranda made sure his customers got the point.
  2. There is a component that I should learn more about, called "AIA" (Oracle Application Integration Architecture).  There was a slide that showed how Oracle's Analytics product (the former Siebel Analytics product) can be used to run decision-making analysis on data from the following applications: Siebel, PeopleSoft, E-Biz, SAP (yes, that's right: SAP), JD Edwards.  There was a component in the middle that took the data from these apps and did something to it to make it all look the same to Analytics, essentially.  That component in the middle is AIA.

Here is why I think this AIA thing is important to learn about.  Several years ago when I managed Sun's engineering relationship with Siebel, I remember a series of conversations with the Siebel Analytics business unit where they told us that their focus on Siebel Analytics was to "democratize" analytics; up to that point with everybody's analytics products, anybody in an enterprise used the CRM tool (think customer service rep at an AT&T Wireless store), but only a minority used the decision-making analytics packages. Siebel wanted to push decision-making power down the chain.  You can also think of analytics software as higher in the stack than the standard CRM / ERP software: you're taking the CRM and ERP data, looking at it, and making decisions about your enterprise based on it.

If AIA really can ingest data from SAP, then this is a smart strategy by Oracle to gain control over SAP in SAP accounts.  Suddenly, to the customer it doesn't matter so much what application is running under your analytics: the high-value activity is your decision-making activity (i.e., analytics), so who cares about whether it's SAP or E-Biz or JD Edwards that is feeding the ERP data into the analytics package?  SAP just became a lot less important.

So, I think it's important to learn more about AIA.  If it really can talk to all of these applications, it's a key component to the future integration of Oracle's application properties, and it's also an SAP take-out tool.