What the IONA team is saying
-
Keep an eye out for ZooKeeper
Wow, I love the simplicity that ZooKeeper brings to a really hard set of distributed problems. Check out this Introductory Video that explains it more in depth. Basically group leadership/coordination and cluster wide configuration issues are taken care of if you Use ZooKeeper.
Oh and it's an Apache Project now. Yay! Seems like the project website is still not fully setup since they are migrating from SourceForge to Apache, be here's a link to the source tree. -
TODO: Double Write Buffers
Note to self: investigate implementing the Double Write Buffers idea in ActiveMQ. ActiveMQ keeps several indexes into the persistent messages that it's holding and when ActiveMQ is shutdown ungracefully, we rebuild the indexes from the data logs due to them being in inconsistent state. If your queueing up millions of messages, building those indexes can take a long time.
Double buffering may allow us fix inconistencies in those index and gets us running faster.. -
RESTful Services - Dana Gardner, Adrian Trenaman, Roland Tritsch - wrapping it up
The Webinar went very well. I think we had over 50 poeple that showed up. The archived webinar and the source code will be available on open.iona.com.
Check it out. -
JAX-RS (JSR-311) & Apache CXF
Yesterday I did my first Webinar on open.iona.com (see "Open Source in the Enterprise, Webinar III" in http://open.iona.com/resources/video-archived-webinars/). Dana Gardner covered big trends in the middleware and infrastructure sector, I talked about our support in FUSE for building RESTful services using JAX-RS, and my fellow IONA-ian Roland Tritsch did a live code demo showing, among other things, how to access both RESTful and SOAP services using browser-based javascript connected to a FUSE (Enterprise Apache CXF) service. Nice!
I must echo Dan Kulp's thanks to Sergey Beryozkin for putting together some really nice work on CXF's JAX-RS implementation: I've been using the original JRA annotations with CXF previously, and the new JAX-RS stuff is simpler to use: no need to worry about wrapping parameter payload, and much easier to specify content types. Thanks Sergey!
There's some good documentation on the JAX-RS CXF implementation on the CXF site. There's also a list of todo's there as well; one thing I'd love to see is support for marking responses as cacheable so that we really cash-in (errr, exuse the pun) on REST. -
Effective Mac - call me slow
You can call me slow, but it took me only a year to find the RSS reader that everybody else is using. David Greco finally pointed me to NetNewsWire. This seems to be it :).
-
Link of the month - Google Twitter (GTwit)
Micro-blogging (Twitter, Pounce, Facebook, ...) just go a little bit easier. Check out GTwit. It is a light-weight Google App, that allows you to access your Twitter account from any browser you might have access to. It is based on the Twitter API. It stores all tweets that you send/receive in a private "Google-Cloud" and allows you to search on them by whatever you like (word, person, tag).
Check it out. -
The iPhone - and what you can learn from thinking about it
On Sunday I went to the driving range and while Alexandros was working on my early retirement plan (aka. he making lots of money with golf and I am managing his career), I was reading an article on Businessweek about the new iPhone 3G contracts. The article made me think again.
It made me think about two presentations that I saw recently: One by Michael Crossey from Aepona at the Mobile Monday in Belfast and the other one by Peter Moeckel from T-Labs (the R&D think-tank of Deutsche Telekom) at the OSGi community event in Berlin. Both are saying the same thing: Mobile Phone Operators are struggling to maintain their value proposition in the food/value chain. More and more applications are totally provider-independent and just use the network as a bit-pipe. Even worse, customers actually have either no or a bad perception of the underlying network operator.
Lets take a look at the current situation. I have a mobile phone and I am willing to spend EUR 100,-/month for that luxury (e.g. like I am willing to pay a certain amount of money for the luxury to have a dish washer). Right now and in general, there are three parties I am spending this money with:- the device/platform provider
- the network operator
- (and to a much lesser extend) 3rd party application/service/content providers
Going to a Vodafone, O2 or T-Mobile shop is actually the wrong way around and is just a desperate attempt by the mobile phone operators to make sure that existing customers stay with them. People do not buy a "contract". They buy a and/or feel loyalty for a device (e.g. the iPhone) or a platform (e.g. Palm OS, Windows Mobile). Means normally you should go to an Apple-, Nokia- or HTC-Store. Most customers have an emotional relationship with the hardware and/or the operating system that runs on it, but not with the network operator (or at least not a positive one).
When the network operators realized that people do not buy contracts, but hardware, they approached the device manufactures and said "Hey Mr. Device-Manufacturer, give me 1M of your phones, make me a good price and I sell it for you". They then give away the device for a fraction of the prize to make people sign up for their contracts. The result is, that people buy devices and pay for these devices through contracts. Means today most of the money flows through the network operator, but a certain fraction of this money (my EUR 100,-/month) ends up in the pockets of the device manufacturer. Interesting enough, right now I am spending close to nothing on 3rd party (value-add) applications/services.
In the next 5 years all of this is going to change. The Mobile Phone Operators will get a lot of pressure from customers, politicians and competing technologies (e.g. WiMax) to drop their prices for voice and data services. At the same time the Mobile Phone Operators have created an acceptance in the market to spend a certain amount of money on/with the mobile phone (e.g. in my case EUR 100,-/month). In the end some customers will just to be happy to save money, but others will be willing to spend the saved money on something else.
The companies who have a good answer for the question, what this something else is, will win. Means the future of the mobile market is not in the network and/or the device. Instead the future is in mobile applications, services, solutions and content. And to enable such a market you need to provide a platform to connect the customers/consumers/users with the application/solution/content-providers. And this is what Apple is doing right now. They (and a lot of other poeple) realized that the future is in applications and content. Means they will create some applications themselves and will also provide a platform (aka. AppStore) to allow others to sell applications and content (against a fee).
Today I am spending a 100% of my monthly budget, buy paying my mobile phone bill. My prediction is that in 5 years from now this will drop to below 50% and that I will spend the remaining +50% on monthly subscriptions for applications, services and content. Becoming a platform- and/or application/content-provider in such a world will make you a winner. -
Mobile Payment - what is needed
in the last 4 weeks, i was talking to sailesh panchal (Enterprise Architect - Payments at Lloyds TSB) and hermann sauer (EDS - Integration Engineering Lead EMEA North/Central) about the future of mobile payment.
there is clearly a need and a benefit to find a solution, but implementations are not available yet (leaving aside lots of POCs that are out there).
one obvious driver is the need to find a replacement for cheque payments. cheque payments are expensive and slow, means neither banks nor customers/retailers like them, but they are still a popular means of settling bills in the UK, Ireland and other countries. in the UK the national payments council has just released the national payments plan, which states that one the ambitions is to find a suitable replacement for cheque payments by 2013. a first step into that direction is the Faster Payment Service that got launched in May 2008.
today (in Ireland) i am using cheques to pay my utility bills and my dentist. in germany i haven't used cheques in a long time. in general i am getting an invoice (e.g. from my doctor) and just pay by electronic funds transfer (EFT). in some cases (e.g. utility bills) i allow direct debit on my account and last but not least for some i have a standing order (e.g. rent). for everything else i am using cash and/or a credit card. i know that this is maybe a simplistic way to look at it, but it allows us to focus on the real nature of a cheque. what can a cheque do, that i cannot do otherwise?- a cheque allows me to give money to somebody with no bank account, means i can write a cheque and the person can go the next bank and can get cash for it
- the payment can be anonymous, means even if the person has a bank account the decision might be not to use any means of EFT
a good summary what a cheque is all about can be found here. the question for me is, what problem mobile payment solutions will solve. currently i cannot see, how they can possibly address the two capabilities that i described above and everything else makes them just another way to transfer money besides EFT and plastic cards.
where is the value in mobile payment? what problems will mobile payments solutions solve? replacing cheques (probably no)? competing with ETF and plastic (probably yes, but then the question is what makes mobile payment solutions superior to EFT and plastic)?
Blogged with the Flock Browser -
Effective Mac - the beginning of a journey
yesterday i finally finished my upgrade to Mac OS X 10.5 (Leopard).
overall it went well. i did an erase and install (as a 20 year windows user i feel much more comfortable with clean installs. maybe next time if will try it the mac-way :)) and also used theÃ'Â exerciseÃ'Â to clean up my disk and the way i work. the biggest problem was that leopard does not come with iLife, means you need to find your old tiger CDs and reinstall iLife from there (or buy (!?!?) iLife 08, no comment).
using a mac is like using any other tool. just using it is not going to give you the maximum ROI. using it effectively is going to make the difference.
therefore i decided to start a little series of blogs and i am going to call it "Effective Mac".
this is the first one and i just want to give a summary of tools that i am using on my mac. please feel free to comment and add to this list.- mail - looked at a couple of options, but for the time being
will stick with mail.app. using YAI
to deal with exchange invitations and will probably checkout
MailTags.
- calendar and contacts - have not looked around and will stick with iCal and AdressBook.
- todos - did look at the functionality in iCal and did not really like it. did a little bit of research and finally settled for iGTD (get things done).
- browser - currently using safari and occasionally firefox (especially, if i am in london heathrow airport. the safari browser cannot get me onto the bingo wifi network there). also looked at Flock to get a grip on my social networking (xing, linked-in, pulse, facebook - it is madness).
- RSS reader - looked at safari (and a couple of other browsers) and the wonderful TimesReader (looks very good. almost like a newspaper), but settled for the new RSS reader in mail.app.
- communication - using iChat (AIM), Skype, Aqua X-Chat (IRC) and TwitterificÃ'Â (James also pointed me to GTwit, but i still need to makeup mind, if and how i am going to use it). tried to find a universal "chat" client. stumbled over Fire, but it does not support SSL enabled IRC server (and keeps on crashing on me).
- programming - still like my emacs :). using Aqua-Emacs, but have also started to use Dashcode for my web developement.
- brainstorming - using Freemind for my mindmaps and OmniOutliner for structured bullet list type brainstorming.
let me know, what you think about the toolset. anything missing? anything that could/should be replaced by a better tool?
- mail - looked at a couple of options, but for the time being
will stick with mail.app. using YAI
to deal with exchange invitations and will probably checkout
MailTags.
-
Reflections on Progress and IONA from Reykjavik

I have spent the day traveling on airplanes, and finally arrived in beautiful Reykjavik at about 1600 without baggage but very glad to be in Iceland again. It's a beautiful, awe-inspiring landscape and the people are lovely. Is this a thing were folk from island nations naturally resonate with each other? Anyway: I'm here doing some work on Apache CXF with a big player in the telco market here. I look forward to getting stuck in tomorrow.
I've been out of touch for most of the day, gleaning information on a drip about today's big news that Progress Software has agreed to purchased the company I work for, IONA Technologies, later this year. This is a really great move for Progress; IONA has strong technology offerings, an innovative engineering department and a smart services organization hell-bent on customer success. It's also a fantastic opportunity for the great people I work with in IONA to play an even bigger role in the SOA market. Today's statement also indicated continued investment in IONA's Orbix, Artix and open-source FUSE offerings; I'm looking forward to seeing how Progress will approach a blended, hybrid business model. And, I can't wait to get my hands on Progress's technology :)
IONA has been such a great place to work, since my first incarnation here in 1995 as an engineer. I was reminiscing with myself over dinner on all the places I've traveled to while working as a consultant in the "old IONA", and got so excited that I mapped them on Google Maps. Check it out! Now, where is the new Progress going to take us?
-
Kulp Micro Edition 2.0 Ships!
Kulp Technologies is proud to announce the immediate availability of Kulp Micro Edition 2.0. This release builds on the success of the previous version to provide enhancements to the popular features:
- Ability to produce a wide variety of stinky, smelly fluids and excrement.
- A high pitched wail, expected to occur for about 4-5 hours a day, every day.
- Guaranteed to distrupt any thoughts of sleep for anyone around for the first couple months.
- Inate ability to require the use of all spare resources for the next 18 years. If you’re lucky, it will then require even MORE resources for another 4 years.
In addition, version 2.0 is specifically designed to work closely with existing Kulp Micro Edition 1.0 installations to produce:
- A very high level of general chaos and disorder.
- And even higher level of resource usage.
- Several new incessant noises that will sound very similar to “he did itâ€, “he’s touching meâ€, “that’s mineâ€, “he started itâ€, etc…
Weighing in at a healthy, 6 pounds, 14 ounces, 19 1/2 inches, Kulp Micro Edition 2.0 (code named Nathan Riley) is only slightly larger than than the 1.0 version.
Julie Kulp, lead developer, exhausted but in good shape, had this to say: “9 months of sleepless nights…. What were we thinking?!?!?!? Never again.†Ryan Kulp, Junior Developer Assistant, said “MY Baby.â€
More information is now available at the product website:
http://www.nathankulp.com -
Are people blogging less?
Maybe its a bug with google reader or something but for the first time in ages my great and good folders of feeds I track (my kinda 2 tier way of keeping on top of blogs) are nearly empty. Do folks just twitter now or something?
-
Software Engineering Radio - talking about OSGi, Rest, Opensource, ...
In the last four weeks a lot of people asked me about this "show" I am listening to on my way to work. It is called Software Engineering Radio and talks about trends and technologies in Software Engineering (OSGi, Rest, Opensource, ...). I was told that one of the next issues will be an interview with Peter Kriens on the current state of affairs with respect to OSGi.
Check it out.Ã'Â -
2008 OSGi Community Event - talking about trains
Two weeks ago I attended the OSGi Community Event in Berlin.
One of the presentations was from Deutsche Bahn about their new Mobile Integration Platform (MIP). It was not only in this presentation that I felt that OSGi has become the ICE of deployment platforms. A 300 km/h high-speed trend/train with a lot of momentum. Think about it: Do you want to be on the train or in front of it.
There were lots of good and interesting presentations. Here are a couple of highlights ...- Deutsche Bahn: Mobile Integration Platform - using OSGi to bridge the gap between the lifecyle of a vehicle (e.g. train) and software (e.g. an application). Vehicles have a much longer lifecycle than software. A huge challenge with a lot of opportunity, but only the tip of the iceberg. After you have tapped into the vehicle and can really access it (anytime, anywhere) I would predict a new dimension of integration challenges that will arise on the backend side to make all the relevant information available to the train and also to process the information that comes from the train. Interesting. Very interesting.
- Deutsche Telekom/T-Labs: "WeÃ'Â catalyzeÃ'Â technology-based innovations" - very good presentation on the role of OSGi as an enabler for innovation. As previously discussed, currently (Mobile) Telekom Operators look for ways to maintain or even increase their relevance in the value-chain. If they do nothing they might turn into (more or less) value-less bit-pipes. OSGi is the kind/type of technology that will allow them to innovate faster and to roll-out these innovations to the customers, much faster than previously possible.
- Sprint: Titan - the next generation mobile service platform ("Browser with AJAX is JUST NOT ENOUGH"). Earlier this year Sprint released its new mobile software development platform called Titan. Ã'Â This platform is a show-case, how Java technologies can come together to create a portable mobile software engineering platform that can bring applications to a wide variety of devices. OSGi is clearly a key enabler to make this happen.
BTW, this does not mean that the presentations I am not mentioning were not interesting. It means that I had to step out of the room for a meeting or a call and missed that specific presentation :).
Last but not least, we (IONA :)) showed a demo of the current status of the Distributed OSGi Reference Implementation. Overall a very energizing, educational, interesting event. I recommend you put it into your calendar for next year :). -
Boston Java Meetup and Eclipse Demo Camp TONIGHT!
The Eclipse Gannymede release is quickly approaching, and it is a great time to learn more about what is happening with Eclipse. Vineet from Architexa is giving an update on Eclipse at the Boston Java Meetup at MIT tonight, and then we are heading over for an informal Boston Eclipse Demo Camp for drinks, food, demos, and interesting conversations afterwards at the nearby Asgard restaurant. Stop by if you can.
-
Tales from the Serverside Prague - Day III
Hurrah for Scala! Ted Neward showed us all the sheer joy of Scala this morning. I think I might be hooked. Yet now I am truly torn: to which language do I dedicate my spare cycles - jRuby, Groovy or Scala? The answer I think is all of them, for the sheer fun of it. The exotic part of me says jRuby first, but then the pragmatic part of me says Scala might be the way to go.
I've been dipping in and out of the day since then: I sat in on John Davies replay of his extreme transaction processing material. After his talk the feedback forms were glowing with positives like "the best material in the whole conference" Nice work John - just what we'd expect from an IONA employee ;)
Ola Bini from ThoughtWorks showed off couple of jRuby test frameworks; one of the nice side applications of this, apart from testing your jRuby code, is that you can use jRuby to test your Java code. As it turns out I spent most his talk down the back doing some Junit test cases for a project I'm working on at the moment; there is not doubt that Ola's tests in jRuby looked a hell-of-a-lot less verbose than my Java-bound test framework.
I attended the fireside chat on Architectural Patterns in Mule by Antoine Borg. He's doing a great job; that said, it's all the same as the stuff I covered in my own fireside chat yesterday! The EIPs supported by Mule directory are implemented in XML; while functionaly equivalent it's no where near as ergonomic as the Camel DSL, in my humble opinion. I've done XML-based EIP before, and you can get bogged down in XML. It is nice to see that Mule 2.0 is using Spring Schemas to simplify the XML configuration.
Off home in a few hours to Dublin. This year's TSSJS in Prague was a really high quality event; hats off to the speakers, and a big thank you to the tech target team! -
Tales from the Serverside Prague - Day II
Neal Ford gave a cracking keynote this morning on the evolution of programming abstractions towards domain specific languages. He talked about internal DSL's (like Apache Camel) using fluent interfaces in languages like Java, and proposed that internal DSL's work better in languagues like ruby and groovy. Ultimately though, internal DSL's are limited by the language they're embedded in, forcing you to match the parent language's syntax . In an external DSL, you design your language from scratch; this year a number of products (like mps from JetBrains) will address the problem of how to easily create domain specific languages.
There was a whole part of Neal's talk about considering XML to be "deprecated". My friend Ciaran McHale has believed this since day one ;) Neal did concede that XML is "marginally OK as a data format", but in terms of configuration or communicating intent it's overkill.
Eugene Ciurana's presentation on real-world SOA & event-driven architecture showed a really nice case study of a SOA system. One of the biggest challenges on this is how to get information from millions of network-enabled children's toys. Interesting stuff, but also interesting in terms of the price tag; he saved quite a lot of money by using open source infrastructure along with best-of-breed commercial products.
I hooked up with Ted Neward and the new editor of TSS, Peter Varhol on the way to John Davies's talk on extreme transaction processing. Ted is in great form; we had a chat about DSLs and what it might take to get the JVM to make the most of multi-core CPUs. Dammit we should have had a tape recorder; who knows though, maybe there was some secret agents knocking around. That said, many of the things we had chatted about came up again in the expert panel on next generation languages, with Ted Neward, Ola Bini and Guillaume LaForge. Ola's jRuby talk later on has shown me the light; I am now torn between going headlong into either a scala or jRuby devlopement binge.
Kirk Pepperdine blew everyone away with a presentation on Java performance and concurrency. The rise of the multi-core CPU means that now, more than ever, sloppy multi-threaded code is going to begin to throw up problems that never arose in our single CPU machines. Hmmm. Maybe I'll hang on to this old single-CPU Dell laptop for a bit longer...
I gave a fireside chat on implementing enterprise integration patterns using Apache software. I've been working with the FUSE distribution of ServiceMix, Active MQ, Camel and CXF for some time now and it was nice to get a chance to share the experience. I showed off the Camel DSL, and we went on to talk about innovation adoption (getting around the "let's just code it up in Java" objection), open source licensing (is there a best license / business model?), and whether standards really matter. On that last point I think we reached some agreement: standards matter at the edges of your system where you're working with other parties. Internally, however, you're free to do whatever you want. -
Tales from the Serverside Prague - Day I
Day one at the server-side Java Symposium in Prague; but the fun started last night when Kirk Pepperdine smacked me for suggesting that the agenda was very like last year. Last year in Barcleona was all about caching technologies; this year the focus is on dynamic languages: jRuby, Groovy and Scala are all on the agenda.
Stephan Janssen kicked off the day's proceedings with a really good keynote on the landscape of technologies for developing rich internet applications, including DHTML, Google Web Toolkit, Flex/Air & JavaFX. I think what was most impressive is that he showed how the parleys.com web-site (an educational web-site for posting up tech talks including audio, video and slides) has been built using all four (five, if you include this Silverlight version). Kudos to Stephan: I've always felt that when you apply a number of techhnologies to the same problem you get a really good picture of which works best. The message? DHTML was difficult. GWT was great, but needed one or two tickles to support Internet Explorer. Flex/Air was great, but you have two different development streams for your online & offline application code. Finally, JavaFX is very promising, but adoption may be hindered by the fact that the nice guys at Sun haven't got a version of JavaFX for Apple Mac yet.
Costin Leau from SpringSource gave an in-depth view of how Spring Dynamic Modules supports OSGi development and deployment. Benefits? Better modulatory, versioning of artifacts and operations control. I look forward to seeing how the new SpringSources Application Platform (based on Tomcat, OSGi and Spring) gets on. Hmmm. Am I the only on that's shocked though that after more than 12 years of Java, we're still coming up with new ways to prevent class loading problems?
GigaSpaces Nati Shalom's session was notable in that he discussed that business drivers behind the need of scalable systems: the number of financial transactions, data, and users is constantly growing. Further, the number of traffice spikes (overload situations that can bring down your business is growing). The challenge is to scale up cost-effectively while not sacrificing reliability and performance. Over-provisioning is one expensive way of catering for peak traffic, but has lead to average industry server utilization rates of 15-20%.
Michael Keith from Oracle presented on SOA using Service Component Architecture (SCA). SCA is all very reasonable and sensible, but I'm not convinced that it's something that developers can get really excited about.
Mike Aizatsky from Google's presentation on synchronization models for multi-threaded applications was a gem, where he described nine models including the unexpected "No Multithreading" threading model. His advice: pick the simplest model, don't over-engineer your solution. I really enjoyed this talk and got a lot out of it. On the way out of Mike's talk I caught the end of Holly Cummin's presentation on java performance tuning & contented(!) locks; it's a pity these two sessions were on the same time, as they would have really complemented each other. -
Setting your bash command prompt to subversion or git repo info
I love this tip to set your bash command prompt to the svn/git repo, branch and version - its installed. Neat!
-
RESTful Services - Dana Gardner, Adrian Trenaman, Roland Tritsch
Everybody is talking about REST. We do too :).
Join us on July, 15th for this existing Webinar on REST and RESTful Services. Will include a live demo of a RESTful iPhone integration.
CU there. -
Another CXF podcast….
A couple weeks ago, I did another podcast about Apache CXF with Dana Gardner. This podcast was a bit different than my first podcast as we brought in another CXF committer, Benson Margulies, to provide another view point.
All in all, it definitely went smoother than my first podcast. Experience definitely helps.
-
Now an Apache Foundation member
I’m fairly excited. At the Apache Members meeting last week, I was voted in as a member of the Apache Software Foundation by the existing members. This truly is an honor in recognition of the work that I’ve done in helping the various Apache projects learn about the Apache ways and striving to learn more about the ASF myself.
-
Innovation on Innovation - How to make elephants dance
Yesterday I went out and had a pint with Sailesh Panchal. He is an Enterprise Architect with the payments division of Lloyds TSB in London. Part of his responsibility is to foster innovation in Lloyds.
Obviously innovation needs to be directed towards a measurable goal/target/impact for the customer and/or the company. To judge, if an/the idea was just a good idea or a real innovation, you must be able to show some measurable ROI in a defined timeframe. Depending on the "size" of the innovation and the size of the organizations these timeframes can be easily 6 month or more. That's a long way down the road.
Question is: What kind of signposts can you create to judge ideas earlier?
We are looking for innovative ideas to foster, measure and rank (by value and relevance) innovative ideas in large enterprises. Sailesh is currently contemplating about implementing a system/culture, where the value of ideas gets rated by the number of citations that are made, means if you and your idea gets cited a lot theÃ'Â likelyhoodÃ'Â that it is a good idea is high(er).
Just wondering ... communities.iona.com is implemented with Jive. We have a ranking for the number of posts a given individual creates. But there are markups that you can use to reference other docs and threads. Just wondering, if it would be possible to have a ranking for the docs and threads that get referenced the most?
Just wondering ...Ã'Â -
TimeCapsule & TimeMachine saved my ass!
My MacBookPro died on me. It kinda kept freezing so I did a hard reboot then after that it wouldn't boot at all :) Took it to the Apple Store; they figured out it was some kinda disc corruption; so wiped the disk (after managing to restore the files I was hacking on, bless that genius at the bar), reinstalled Leopard and things are OK (the disk may be faulty, we'll see soon).
Luckily the TimeCapsule had all my stuff so I could use the Migration Assistant to restore my apps & user accounts from the backup on the Time Machine. The UI did freak me out a bit - when the thing started it kept saying 'connecting...' then hanging for ages. I kept thinking it wasn't working so trying all kinds of things. Turns out, its just wacky slow. The next screen shows the list of user accounts - again thats wacky slow - takes maybe an hour for a 100Gb backup to show the few user accounts in the backup!
The 2 massive delays in the UI are kinda irritating; I mean why can't it keep a little index of what machines & users its got in the backup and let me pick 'em in a second then leave the thing for a few hours while it restores?
Anyway - all is well - once I got past the 2nd screen, chose the things to restore I left it chugging away for a few hours and I'm now restored. The only thing I've missed so far is I had to reinstall my VPN client as it shoved stuff in /System and maven is hardwired in /usr/bin to point to mvn 2.0.6 in /usr/share - other than that it worked fine.
One final tip if you try and restore from Time Capsule/Time Machine; when you reinstall Leopard don't create a user account with the same ID as the one you are gonna restore - as the Migration Assistant forced me to rename the restored one (which caused some problems that took me a little while and some 'chown'ing to fix :).
Other than those little gremlins; nice job Apple! If I ever have another catastrophic failure, the next restore should be pretty painless -
I'm liking JAX-RS and Jersey
A great post by Paul Sandoz on MVCJ. Jersey rocks!
I'm loving the simple JAX-RS POJO based programming model (quite Rails-ish) for writing controllers and models which work beautifully in a hi-RESTful way which also now support a rails-like way of implicit templates via JSP/Velocity/whatever with a minimal amount of fuss.
I'm liking the controller-is-the-model-facade option with implicit MVC too; so the model is totally decoupled from the web and the controller just has a few annotations to deal with binding methods nicely to the URI/REST/content types and so forth - then you can have as many representations of a model as you want - just write views (e.g. index.jsp, detail.jsp, brief.jsp or whatever). Lovely and Rails-ish
Its now pretty easy to write hi-rest web apps in Java which render content as (X)HTML, XML, JSON with nice RESTful content negotiation and using good URIs. -
ActiveMQ/SpecJMS/Camel Webinar
Whoa, time flies by, and I forgot to post about the upcoming webinar that I will be co-hosting with Rob Davies on June 10th. We will be covering some messaging basics, introducing Apache ActiveMQ and Apache Camel to the audience, but most interesting I think will be the section where Rob will be covering the results that IONA has been seeing benchmarking ActiveMQ against the SpecJMS2007 test suite. I totally agree with Rob's comment that "An independent benchmark is important, because it negates the chance to skew home groan tests to a vendor's strengths."
-
SpecJMS2007 using ActiveMQ
There has been a need for an industry standard benchmark for message-oriented middleware that use the JMS API for a long time. SpecJMS2007, which came out October 2007 is the first - and we've been waiting for a JMS vendor to be the first to dip their toe and share their results. An independent benchmark is important, because it negates the chance to skew home groan tests to a vendor's
-
InfoQ Covers ActiveMQ 5.1 Release
InfoQ has posted nice article on the new features in the ActiveMQ 5.1 release versus the last 4.1 release:
Apache ActiveMQ, an open source provider of enterprise messaging services, recently released version 5.1 which includes improvements in stability and performance of the message broker product. This version also includes support for priority message ordering and a Microsoft Message Queue (MSMQ) to ActiveMQ Bridge with the new msmq transport component.
There are also improvements in the monitoring module of ActiveMQ container. A new DestinationSource class was added to access the available Queues or Topics or listen to Queues/Topics being created or deleted in the container. There is a new API to help end users view available destinations and query them to find JMS statistics such as active queue count, queue depth, number of messages etc.
-
JEE specs in OSGi
For ServiceMix 4, I've been working on making sure the JEE specifications can be used in OSGi. The first step was to release OSGi versions of the various specifications by just adding the needed manifest entries to make them usable in OSGi. This was done inside the Geronimo project (on which I am a committer). This means that since a few months, most of the JEE specification jars are available as OSGi bundles (you can grab those from maven 2 public repositories.
However, this is not always sufficient. Some of these specifications (mostly JAXB, SAAJ, JAX-WS and Stax) do not work well in OSGi. The mean reason is that the implementation is discovered using different mechanisms by the API. The most commonly used one is to find a file on the classpath in the META-INF/services directory and find the main entry point class of the implementation. Unfortunately, to make this work in OSGi, the client bundle (the one using one of these APIs) has to have the required file in its classpath, which means the inability to use one provided by the runtime in which the bundle is deployed and that it can not be switched without changing and re-compiling the bundle. Another way would be to add a Require-Bundle OSGi manifest so that the classpath of the implementation becomes part of the client bundle, but this also ties the client bundle to the implementation used.
The solution came to me after a chat with Dan Kulp: an OSGi specific discovery mechanism can be easily plugged into these spec jars. It consists in two small classes shared amongst these spec jars: an OSGi bundle activator and another class not tied to the OSGi api that maintain a list of available implementations. The final step if to rewrite the factory of those jars to look inside this map before performing the usual lookup.
This means that in a non OSGi environment, the jar behaves as usual, but when deployed into an OSGi runtime such as ServiceMix Kernel, the spec bundle will be able to locate dynamically the implementation to use. Therefore, the client bundle using the spec jar is now free of any requirements. -
FUSE Master Class Series - Hidden Gem
A couple of weeks ago, I published the first 3 videos of the FUSE Master Class Series on the open.iona.com wiki. Sooner or later we might link to it from the top page, but for the time being they are hidden gems :). The videos are also available from my homepage.

by
by
by
by