Well come on you guys tell me, what’s a tech blog without some dumb post on “web 2.0” stuff. First question is of course will there be a 2.1? Um…anyway I read a story in eWeek (yes the paper addition) and it mentioned a mashup server so I decided to see what the deal is with these things. I’m not completely ignorant, I’ve messed around with wikis, pipelining tools, and various stuff that everyone now calls “web 2.0”. I stated poking at a couple of servers, IBM’s thing (IBM Mashup Starter Kit) that seems to be pseudo commercial sort of and then I looked at the mashup server from WS02 (Mashup Server 0.2).
You may be wondering what a mashup server is I suppose. Well essentially it is a server that can consume XML data streams and provide mechanisms to render the contents in a few format. A mashup server is a way to aggregate “web services” from federated sources into a single user interface. If you need to know more than that, both of these products have decent sets of documentation that provide more background. You can also just google it.
IBM Mashup Start Kit (I-MSK)
I started looking at IBM alphaworks site – I’ve been a fan of this site for years – and QEDWiki grabbed my interest. QEDWiki is one of the main components in this I-MSK. At this point IBM transitioned the mashup server technology to a different site. I grabbed the software and started working through the documentation. Straight off the requirements are pretty huge. You need to first off go and get the Zend Core for IBM with DB2 (inlcuding DB2-Express). That’s a whopping 450MB download! Yikes. Then you need the IBM stuff too.
The Zend thing is a commercial product, but they have a “try it” option so I guess I’ll do that one. I grabbed it and started the installation. I’m a little nervous since I already have a PHP environment (from php.net) so I hope this does not screw it up or replace it or something. Watching the installation I saw that it copies some PHP files to my windows directory – I don’t like that at all. Software vendors should never put things in the core windows directories. I have sort of problem, the installer hangs after a popup displays saying “extracting gui files”. The installer is doing something and I think waiting for it to complete. My guess is that it is hanging after trying to start the DB2 install. I tried the installer a few times and even once using the “run as administrator” option, but no luck.
I posted a message to the forums they have so I’ll have to hang on…at least my original PHP and Drupal setup seems to be still working. TheDB2 stuff is pretty important because the wiki data is probably stored in a database and I would guess that the I-MSK is making use of DB2’s relational-OO technologies for XML related processing.
WS02 Mashup Server 0.2
Installing WSO2 was just as problematic. You download a 60 MB package, extract it, and then should be able to startup the server with a simple command. For me I got a window to flash and then disappear. I looked at what the startup script was doing and everything looked ok, but I did notice that the command line being executed was quite large…probably too large for Vista and I would guess even for Linux. The startup script recurses thru the lib directories adding each jar one at a time. Why don’t they package these all up like BEA does with WLS? I posted a question to their forums too.
I figured out my own answer to the problem – here’s my post on their forums. Now that I have the server up and running I can see the opening home and admin screens:
The next step is to start with the User Guide. The WS02 server so far is impressive. It is fast, pages are refreshing nicely, session expiration is working, and the admin console is very functional and intuitive. You can drag out the registered services, look at their documentation, API, XMl models, etc. Very cool.
Setting up your own simple services is pretty simple, I followed the tutorials examples and was able to create some things very easily by dropping files and scripts under the root of the folder hierarchy. My next challenge is to create a web site that actually uses a few of these services.