The Source for Java Technology Collaboration
User: Password:



Lorenzo Puccetti

Lorenzo Puccetti's Blog

Why is javaspaces technology not as successful as it should be ?

Posted by unoinpiu on January 28, 2007 at 07:36 AM | Comments (32)

When I got myself a java.net blog I thought I'd have used it to talk about the java technologies I use everyday. Whether it is Spring, XStream or less popular open-sources, the idea was to divulge what I was learning to the benefit of the java community and my own.

Today instead I feel like writing about javaspaces but, not to discuss about some good practice I learnt, but to ask everybody who has worked with it a few questions.

I've been working with javaspaces on and off for the last 12 months and I simply love it.
We have been designing an OLAP solution with javaspaces. We had to deal with large volume of data and high performance expectations and come out with a powerful solution where parallel computations are the core of the architecture.

These days I could not think of solving the same business problem in any other way.

So my questions are, why is that the javaspaces technology is not as popular as I think it should be ? how come there is only one proper open-source implementation (Blitz) and one proper commercial solution (gigaspaces) ? why does it seem that only few patterns have been described to work with spaces ?

Surely I can see that, while the javaspaces API is remarkably concise and simple, it takes some good practice to learn how to design a good distributed solution. The mindset needs to adapt to deal with problems that do not occur in local computation (e.g.: partial failure, network-latency,...). But there must be more than this ?

A colleague of mine told me that is just a "marketing" issue. Sun did a good job in promoting EJB and less of a good job for jini and javaspaces.

Maybe or maybe not... In any case I'd love to hear more...


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • the reason is simple: jini was not open-sourced from the beginning. when jini came out many years ago, i thought it was the coolest technology around. but sun had chained it to a commerical license and that was the beginning of an end, imho. let's hope it's not too little too late to open source it now.

    Posted by: walterc on January 28, 2007 at 08:28 AM

  • one of the reasons I've strayed away from it and other clustered VM solutions like tangsol/coherance is that there wasn't much emphasis on pessimistic persistence and reliability upon hardware/network failure. this is why I've stuck to JMS because it advertises the ability to recover and guarantee message handling across a load balanced cluster. I posed the same issue with Jini-- how feasible is the business case for things as important as purchase orders to be reliably handled without duplication or loss if a node could drop from the cluster? maybe it comes down to the fact that we're simply solving a different usecase than javaspaces, but you have to admit, there's some overlap on the architectural decision to pursue either.

    Posted by: jhook on January 28, 2007 at 08:30 AM

  • @jhook: actually Jini / JavaSpaces solutions, but also Coherence (even though for this last product I'm just relaying some information, never used it) have a very good reputation about hardware / network failure (consider that one of the most "extreme" architectures that are sometimes proposed with these technologies rely on some massive cluster for data replication with no hard disk backing up... just to say that you can rely on the memory copies of data). Did you have a different experience here?

    Back to the original question: it _is_ a marketing issue. It's not necessarily a opensource thing (I think that opensource is good, but looks like too many people think that it's the only way to to things...) - for instance J2EE was not opensource for several years. Nevertheless J2EE came out from a definition process that involved the major players in the market, including IBM and others, thus "paving" the way for market penetration. OTOH JavaSpaces probably bound its destiny to Jini, another excellent technology that didn't penetrate the market yet - most likely because it was initially addressed to domotics and such at the end of the 90's, way too early. Now Jini / JavaSpaces are excellent and successful stuff for high-reliability and grid computing stuff, but this kind of technology is still a niche in the market. Probably things will change in the close future.

    Posted by: fabriziogiudici on January 28, 2007 at 08:51 AM

  • maybe this proves it's a pure marketing failure for the technology-- a couple years ago when I started looking at options for scaling processes out, the people I asked folks in the Jini-space community and even today with the commercial cluster-VM solutions-- they didn't have the answers I was looking for, while there were clear business cases and tutorials/examples in the JMS realm.

    Posted by: jhook on January 28, 2007 at 05:24 PM

  • Mentioning gadgets to use Jini got the press to hype it in a coma, as gadgets lacked power and connectivity. Now laptops outsell desktops and mobile phones turn into webtablets, the IT landscape is now more in need of Jini

    When Jini just came out ease of use for the developer was totally lousy and there were some serious bugs.
    You had to be a java coding guru and network admin at the same time.
    While the principles were not too difficult, actually coding a working system together should have been almost as easy.

    just double click something on a web site should be enough to startup some Jini system, like for example JavaSpaces. And if it doesn't work it should tell you exactly why, firewall, etc.
    Some graphical configuration would also do wonders.

    Now ajax is hitting some single-threading bottle-necks, Jini has chances.

    Posted by: steltenpower on January 28, 2007 at 07:25 PM

  • Since gigaspaces and coherence has been mentioned here, I think it also worth to mention terracotta. The beast part is that there is no API. You basically can write multi threaded app for single VM and use terracotta to distribute it...

    Posted by: euxx on January 28, 2007 at 10:38 PM

  • This is really a mixed up set of questions that all inter-relate somewhat so it's difficult to be concise but I will try:

    Yes, Jini was marketed badly but we're getting past that but I'd also say that any engineer that looked past the hype at the API's themselves could clearly have seen that the device story was errr, codswhallop.

    Jini and the JavaSpaces service (which is but one service in the starter kit and no more important than any other) require different patterns and more importantly thinking. You can't treat the lookup service like a JNDI registry and you can't treat JavaSpaces like JMS or a database:

    Jini requires thinking differently from how you do with J2EE et al - that's the biggest hurdle. If you go looking at the API's with your J2EE mindset, you'll mash your brain.

    Due to Jini's focus on network failure and ad-hoc service assemblies clustering is avoided. It can be done but it doesn't work well except in strictly controlled data-centre type environments and Jini is deployed wider than that problem-space.

    Having consulted on a number of Jini systems including highly resilient and scalable ones, I can assure you that clustering under the covers such as offered by some JMS implementations is not necessary. In fact, clustering quite often compromises performance outside of message/event driven approaches.

    @jhook What you describe is how JMS does things - it's not the way Jini/JS does things. Many people ask questions similar to "this is how I do it in JMS why doesn't Jini/JS do it this way?" and the answer is simple, because it's different and Jini does it another way. Continuing on the design pattern/thinking/solutions space - do Tangosol tell you how they do what they do? No, why? Because it's high-value! So, if someone asks me how to do similar things with Jini, do you think I'll give that information away for free? The Jini-Users list is a free (and very good) resource for information but there's a limit to what you can reasonably expect to get for zero-dollar investment.

    @walterrc Given the amount of commercial interest and usage I and others are seeing (and that was prior to the move to Apache) I think we're at a beginning not an end.

    @lorenzo Why are there only a couple of JavaSpace implementations? Because they're damned hard to implement at all, let alone well - I should know because I wrote Blitz.

    Posted by: dancres on January 29, 2007 at 03:18 AM

  • I've been going on about the benefits of blackboard architectures (the underlying representation that would be JavaSpaces + events) for 20 years at least. Its really the best way to build stuff. Yay, go JavaSpaces.

    Posted by: jacksjpt on January 29, 2007 at 07:53 AM

  • I don't see a huge difference between tuple spaces and SQL used in a particular fashions (especially with ORM). Is it just the right factoring of features/simplicity for common use cases? Or am I missing something entirely?

    Posted by: tompalmer on January 29, 2007 at 08:52 AM

  • "I don't see a huge difference between tuple spaces and SQL used in a particular fashions (especially with ORM). Is it just the right factoring of features/simplicity for common use cases? Or am I missing something entirely?"

    I think you're missing something - as a starter:

    SQL constructs require fixed schemas communicated to the database in advance. The result is the constant rub of schema migration, code changes all over the place etc. Tuplespaces et all provide better support in this area and reduce impact on code. JavaSpaces go even further and allow for distribution of code alongside or instead of data.

    There's lots more to learn and I don't propose to write it all down as there's plenty of information out there - Google is your friend.

    Posted by: dancres on January 29, 2007 at 09:21 AM

  • Its been a while since last I looked at JavaSpaces but its not the marketing. EJB 1.0 had no marketing and in fact when you tried to understand it the specs claimed that its not for the general public... It was complicated, relied on serialized objects rather than XML and had no tools or buzz around it. Nothing. Yet it picked up steam and industry demand, IBM incorporated it into WebSphere and WebLogic did the same. From then on it became a hit.
    JavaSpaces came from a different group within Sun and didn't enjoy the marketing, but then Jini did enjoy far more buzz than EJB's ever got... So what went wrong?
    So many different things in so many areas the technology just didn't have a chance since the technology is a hard sell to begin with...

    It didn't have the Java EE features, the concept of a transaction in JavaSpaces was overly simplified and lacked "basic" ideas that Java EE had forever. So todays products such as GigaSpaces integrate with Java EE but then you need to justify using GigaSpaces on top of Java EE rather than Java EE alone.
    Since there was no proper solution for the need of the enterprise the whole technology was badly positioned for small devices (to which it didn't fit at the time)... I'd wager that 99% of Java developers today have no idea what JavaSpaces really is. (yes this can be seen as a marketing blunder but I see it more as a product weakness which marketing didn't know how to handle).
    Its a different way of thinking, developers in the enterprise think about flows and use cases. There might be messages involved but generally they have a very sequential problem space... Sure you can represent every problem using JavaSpaces and many of them quite elegantly (e.g. stock market). But then you have to retrain your developer not just around new language/tools but also for new concepts... This might be possible with existing Java developers but I personally had to retrain COBOL developers, if you break a paradigm you have to show a real benefit and JavaSpaces wasn't there yet at the time.
    Tools and knowledge were completely missing, there still isn't all that much in both departments.

    Today Java EE took over everything, is well know and relatively lightweight... JavaSpaces implementations have improved to the point of offering a valid alternative or even a complementary solution. So what is stopping us from picking them up?
    No need. Most of what we do as developers is web/AJAX with a database backend. Maybe a fat client to some reasonably complex backend logic. Sure this logic can fit into JavaSpaces, but whats the benefit?
    JavaSpaces can allow greater scalability/clustering but thats only valid for extreme cases where JavaSpaces is in fact noticed (GigaSpaces does have real deployments), most people just don't really need it.
    Now you could argue about simplicity providing an advantage for JavaSpaces but that would be incorrect. JavaSpaces simplifies some things while keeping the complex portions of Java EE just as complex as they always were so you just get added complexity of JavaSpaces when you choose to go with it.

    Posted by: vprise on January 29, 2007 at 10:09 AM

  • One reason: coupling it to Jini.

    I used JavaSpaces back in the beta days and loved it. Tried to use it again recently, and had to abandon it.

    Tying it to the obscure, under-documented, overly clever, overblown Jini mess killed JavaSpaces.

    Outrigger? What does that mean? Why does it have to be involved.
    Discovery? Why do I need discovery? Can I do without it?
    How many agents or daemons need to be running? How reliable are they? How to get persistent spaces? Non-persistent ones?

    Jini adds too much complexity to what should have been a simple idea.

    Posted by: mtnygard on January 29, 2007 at 11:01 AM

  • "One reason: coupling it to Jini."

    Without Jini you lose a bunch of benefits like movable code.

    "I used JavaSpaces back in the beta days and loved it. Tried to use it again recently, and had to abandon it."

    Why?

    "Tying it to the obscure, under-documented, overly clever, overblown Jini mess killed JavaSpaces."

    It's not clever, just different.

    "Outrigger? What does that mean? Why does it have to be involved. Discovery? Why do I need discovery? Can I do without it? How many agents or daemons need to be running? How reliable are they? How to get persistent spaces? Non-persistent ones?"

    Outrigger is the stock JavaSpaces implementation that comes with the JSTK. It's a name, that's all. And it needs to be involved cos without it you don't have a JavaSpaces implementation to use. Discovery is the process of locating a lookup service so's you can find a Jini service. You don't need agents or daemons - are you referring to Jini 1.x? How reliable are they? You replicate for resilience to avoid single point of failure, reliable enough? Persistent and non-persistent mode is a configuration option (or not) of an individual JavaSpaces implementation - nothing to do with Jini. That's down to the service implementer.

    "Jini adds too much complexity to what should have been a simple idea."

    You need to explain what you consider complex and differentiate that from what you don't know cos it's new and then we can assess genuinely whether it's complex or not.

    As it happens, Blitz JavaSpaces provides an installer that allows you to start up the relevant bits of Jini (lookup service, transaction manager, codebase server and JavaSpace) all with one script and all running in one JVM. How simple do you need it?

    Posted by: dancres on January 29, 2007 at 01:38 PM


  • @vprise: I guess I'm a little confused about where some of these "deficiences" are coming from. You say that the transaction model is overly simplified. First off, transactions are a feature of Jini, not a JavaSpace. A space is a service in a jini architecture and you can run a Jini setup without a space if you want to. So I guess one thing to make very clear Jini != JavaSpace. Jini transactions are simple, yes. You can commit or abort them at any time or assign a lease to it in order to auto-abort after a given time (so that in the case of hardware failure, all jini services will automatically be notified to roll back). What more exactly do you expect out of a transaction? If the answer is *anything* my guess is that you're making the transaction, itself, way too complex.


    Also, most of us that use JavaSpaces regularly don't try to integrate a space with some Java EE system. We use it instead of Java EE because it simplifies things (we don't usually view the JavaSpace as the part that makes the integration complex). It may be a different way of thinking, but you can't possibly be arguing that standalone services that perform "put" and "take" under the umbrella of a transaction is a hard concept?


    And yes, we all work in "flows" and "use cases" but at some point, you have to have code to support it. And even though the paradigm is different, you rarely will code in a space.put() anywhere in your software. You'll be working with some 150 line abstraction class which caters specifically to having one service communicate with another. Training is not an issue. You'll spend all of your time writing services and will completely forget that there's jini and/or a space behind the scenes. Again, it may be a different way of thinking, but it's certainly not hard.


    I'll give you that some of the stock documentation is a bit lacking. But as with any community-based project, they came to the rescue with plenty of helpful things to get you started:

    http://dancres.org/cottage/starting_jini.html


    And in the instance of Blitz, you can use Dan's installer to create a fully functional Jini setup in about 18 seconds (literally). Also the Jini-Users list is a great source for any documentation or help you may need to find.


    So frankly, the reason that you don't hear much about Jini these days is simply because Java EE is the mainstream technology and we're mostly the types of people that stick to what's comfortable. And any time you ask why Jini isn't more popular, you're going to get responses like "well it's too different and hard" which warrants a similar response to the thought that "you shouldn't write your code in Java because it's slow." So basically a lot of people dismiss it without knowing really what it is and what it's capable of... which is fine as long as they're not trying to disuade others from using it.

    Posted by: robsignorelli on January 29, 2007 at 01:43 PM

  • @vprise - No marketing? Your recollection is somewhat different from mine - Wikipedia is hardly definitive but checkout http://en.wikipedia.org/wiki/Enterprise_Java_Bean#History. It would be interesting to consult the internet archive as well to look at the websites of IBM and Sun but it's down right now.

    "It didn't have the Java EE features, the concept of a transaction in JavaSpaces was overly simplified and lacked "basic" ideas that Java EE had forever"

    Simplified? In what way? The transaction model for Jini is distributed two-phase commit whereas the early transaction model for EJB was based on nothing more than a thin wrapping around SQL-level transactions. Further, given JavaSpaces simple API, how complex of a transaction would you want anyway?

    "No need. Most of what we do as developers is web/AJAX with a database backend. Maybe a fat client to some reasonably complex backend logic. Sure this logic can fit into JavaSpaces, but whats the benefit?"

    How about, easier deployment, simple upgrading on the fly with no interruption, no need for a myriad of containers or expensive database licenses, or perhaps you'd like the ability to run across lots of blades without needing heavyweight strictly controlled, expensive data-centre type environments.

    Consider also that the simple web/AJAX with a database backend architecture you mention is a lunch being rapidly eaten by Ruby, Rails and the LAMP crowd which suggests that J2EE might not be as good as we all think. Perhaps it's time to try something new?

    "Now you could argue about simplicity providing an advantage for JavaSpaces but that would be incorrect. JavaSpaces simplifies some things while keeping the complex portions of Java EE just as complex as they always were so you just get added complexity of JavaSpaces when you choose to go with it."

    You appear to be complaining that mixing JavaSpaces with J2EE is complex? Take two things, one that is very static, supports no movable code concepts and favours an all in one JVM model and the other which is dynamic, makes heavy use of movable code and favours a multiple JVM, multi-service model. Now mix those two things together - complex? You betcha but you just put yourself between two stools didn't you?

    Posted by: dancres on January 29, 2007 at 01:58 PM

  • I think it's because most developers can't write decent concurrent apps, so a framework that requires concurrent design won't be widely used.

    Posted by: tball on January 29, 2007 at 03:27 PM

  • EJB 1.0 had no marketing ... Yet it picked up steam and industry demand, IBM incorporated it into WebSphere .... From then on it became a hit.

    That is: IBM did the marketing. :-) EJBs were a joint effort by IBM and Sun. IBM manages most of the IT in world-wide banks and banks are somewhat used to deploy "heavy" systems. That's the explanation of the penetration of EJBs in the market. Yes, I'm saying that without IBM efforts, probably EJBs could have been a failure.

    Posted by: fabriziogiudici on January 29, 2007 at 03:59 PM

  • "but sun had chained it to a commerical license and that was the beginning of an end"

    Yes. Correct answer.

    Actually, more that it was the end of the beginning (in that this move helped prevent it from gaining momentum). But I give you full points anyway.

    For extra credit you could also have mentioned that it was extremely difficult to set up.

    Jini + Javaspaces was (theoretically) much more awesome than EJB 1.0. Nowdays however, there are some impressive alternatives.

    Being too expensive for small production projects and too time consuming to install and just have a play around with is a great way to kill a fledgling technology.

    Posted by: rickcarson on January 29, 2007 at 04:29 PM

  • @rickcarson: "Being too expensive for small production projects and too time consuming to install and just have a play around with is a great way to kill a fledgling technology."

    Well maybe but it's still around and re: too time consuming to install and play, well:

    "And in the instance of Blitz, you can use Dan's installer to create a fully functional Jini setup in about 18 seconds (literally)."

    and

    "As it happens, Blitz JavaSpaces provides an installer that allows you to start up the relevant bits of Jini (lookup service, transaction manager, codebase server and JavaSpace) all with one script and all running in one JVM. How simple do you need it?"

    Posted by: dancres on January 29, 2007 at 05:18 PM

  • EJB 1.0 didn't have any marketing, you can argue that IBM/WebLogic did the marketing indirectly but really there wasn't much. I am aware of only one book that covered EJB's at the time (Richard's book) and the spec was hell. The Wikipedia link doesn't contradict that, marketing of EJB's started roughly around the 1.1 timeline and was mostly because people were looking for a direct answer to MS's transaction server.

    Deployment of Jini isn't much easier than Java EE, in fact I would argue that Jini has won in a sense since practically all Java EE servers have picked an internal architecture that reminds us more of Jini than classic monolithic servers. JBoss was a trend setter when it chose a microkernel approach that delivers internally many of the ideas and even allows 3rd party developers to deploy such objects. Still few people bothered to check that out, possibly because of the non-standard API. Deployment is less related to the spec and more related to the product, since Java EE has a very wide choice of implementations I would argue its an easier deployment.

    When I discuss transactions I'm talking about a direct correlation to the TP monitors of the past, EJB's allowed a migration path from CORBA and TP monitors to a component model. I notice that when I talk with managers about an EE container they often think of it as a "block" that you can just plug in somewhat like a communication bus. This is obviously far from the truth but thats the perception, JavaSpaces/Jini is just very different and its integration with the legacy systems is at the very least confusing. If it does have native XA 2pc transactions since the very beginning not through Java EE then its just unclear. A couple of years ago I spoke at length with a high ranked official in a JavaSpaces vendor and I didn't understand that XA/2pc was indeed a feature inherent in Jini.

    I'm not arguing that put/take are hard to learn, I'm arguing that the concept of a space and the abstractness of the ideas is hard for some people to grasp. One of the hardest things for new Java EE developers is the fact that they can't use file IO to access data, they don't understand clustering and don't see why that is bad. Same problem holds in JavaSpaces but to a bigger extent, the flow is not as linear and abstractions make some concepts hard. I never argued the fact that when you would write a pure application using only Jini it would be simpler than the Java EE equivalent.

    The success of Spring/IoC and lightweight servers pretty much proves that it is not marketing or the lack of desire to learn new things that has stopped Jini/JavaSpaces from succeeding. After all people adopted some of the these frameworks with no marketing from Sun or anything of that sort, even the more complex aspects of these frameworks.

    Posted by: vprise on January 29, 2007 at 11:34 PM

  • May be simply because not much people need parallel computation? And the one work on parallel computation already smart enough and not to ask too many questions in forums which make people think not much people using it?

    In fact, sound like most company need to do parallel computing already use javaspace? http://c24.biz/index.htm release a few white paper about using jini/javaspace with success

    Posted by: carfield on January 29, 2007 at 11:39 PM

  • @vprise: "The success of Spring/IoC and lightweight servers pretty much proves that it is not marketing or the lack of desire to learn new things that has stopped Jini/JavaSpaces from succeeding. After all people adopted some of the these frameworks with no marketing from Sun or anything of that sort, even the more complex aspects of these frameworks."

    I disagree - the adoption of Spring and IoC says two things:

    (1) Most people like to imagine they are still writing their whole app in one JVM. All the wiring together of components without showing exceptions etc demonstrates this.

    (2) People are hot on wiring things together with endless flexibility options which they likely never exercise. And they like to do all that in XML because it makes them feel like they save code (a hot topic that also comes up in the endless language extension requests).

    Spring is just the current "integration platform" of choice rather than an app server.

    How much has changed really? A little of the implementation and a choice of product but the mental underpinnings are the same, single JVM, pretend there's no network etc. That's not change, that's mild evolution at best and does nothing in terms of a demonstration of willingness to try something truly new/different.

    Such a demonstration would require that we drop some of our favoured concepts (e.g. Containers, RDBMS, tiered architecture) in preference to some new ones.

    Posted by: dancres on January 30, 2007 at 03:07 AM

  • @dancres: The question posed was, "Why is JavaSpaces not as successful as it should be." I've answered based on my own experience: that of an experienced Java developer who has worked with many concurrency architectures. I'm a fan of tuplespaces... even to the extent of promoting them in a book that I'm writing. I've used TSpaces and JavaSpaces.

    So, when I relate that I've found Jini to be a difficult technology to approach (obscure naming, outdated or misleading documentation, few books on the topic, little general knowledge in the community) with many moving parts (how many services was that again?) please understand that I am not some ignorant basher who is trashing your favorite technology.

    On a project recently, my team attempted to use JavaSpaces to provide distributed work queue management in small networks. We were going to have hundreds of far-flung networks. We wanted each to be self-discovering and configuring, resilient to single-node failures, and above all, require no administration. That sounds like exactly the prescription for JavaSpaces. Moreover, discovery sounded like a good application of Jini.

    We made a serious effort: an entire iteration spent on this architecture spike. At the end of it, we decided that we would not be able to keep our environments consistent, that startup and clean shutdown was a problem, and that we could not find a way to have the development workstations run their own virtual environments without crosstalk. Moreover, the QA and acceptance test environments would cross-talk into the individual development environments, making isolated testing impossible.

    It's quite likely that we simply didn't know enough about how to configure the environments. It's probable that someone much more intimate with the technology would be able to get better results. On the other hand, when you have eight developers with an average of 15 years experience, and all of them having at least 7 years of Java experience, and they can't get it to work reliably in two full weeks... then there's little chance of turning casual interest into successful pilots, into successful implementations.

    For the vast majority of developers, a technology has to be something they can pick up and get a modicum of results with in a single afternoon. Those don't have to be great results, but they should be able to get something to work.

    One of the reasons for the level of excitement about Ruby on Rails is the immediacy of positive feedback. Within a few minutes of installing Rails, you have a functional application. Changes are quick and the positive feedback keeps coming rapidly.

    There's an old adage that skills won hard are valued highly. It's totally true. That can also make those who worked hard to develop those skills insensitive to those who are still on the learning curve. (Read most Linux newsgroups for illustration.) The fact that you already know all the code names for the components speaks well of your expertise, but don't overlook the difficulty it presents for those who aren't at your level yet.

    Posted by: mtnygard on January 30, 2007 at 05:22 AM

  • @dancres I don't think you disagree with me ;-)
    I don't like Spring personally, my only point was that people do pick up technologies that they want to use despite lack of marketing or corporate drive. I think Spring is a great example of that even though I agree with both of your points. So I personally think marketing had very little to do with Jini/JavaSpaces limited adoption.

    Posted by: vprise on January 30, 2007 at 06:02 AM

  • @mtnygard: did you try to hire an expert Jini consultant just for the inception? I did my first Jini project three years ago, four people (at the time: two experienced persons, one near-senior and one junior), nobody of us has the least experience with Jini. We had the support of a senior consultant for a few days, and after these days we had the system working with Jini /+Rio). I mean, dancres is right when he's saying that Jini requires a different way to think, maybe we can agree that there are not tons of docs, but just a single good consultant can make the difference IMHO - sometimes the problem is just in starting up well.

    Moreover, the QA and acceptance test environments would cross-talk into the individual development environments, making isolated testing impossible.

    Can you further elaborate on this?

    Posted by: fabriziogiudici on January 30, 2007 at 06:04 AM

  • ... nobody of us haD the least experience with Jini ...

    Posted by: fabriziogiudici on January 30, 2007 at 06:04 AM

  • @mtnygard: "So, when I relate that I've found Jini to be a difficult technology to approach (obscure naming, outdated or misleading documentation, few books on the topic, little general knowledge in the community) with many moving parts (how many services was that again?) please understand that I am not some ignorant basher who is trashing your favorite technology."

    Errr, so your opinion of yourself is that you are not ignorant? Should I expect you to say anything else? If you're working in an unfamiliar technology, do you think you are the best judge of your ignorance?

    "It's quite likely that we simply didn't know enough about how to configure the environments. It's probable that someone much more intimate with the technology would be able to get better results. On the other hand, when you have eight developers with an average of 15 years experience, and all of them having at least 7 years of Java experience, and they can't get it to work reliably in two full weeks... then there's little chance of turning casual interest into successful pilots, into successful implementations."

    7 Years of Java experience - Java's a pretty big topic. Which API's and programming models? What tools are you used to? Much technical experience is only useful if it's applied in the areas it was derived from - there's only so much crossover to other new areas. And given that, how much of your experience do you really believe is applicable to Jini/JS?

    In respect of your segregation troubles between QA etc, it's achieved with groups which is documented in the specs (http://www.dancres.org/cottage/doc/specs/html/discovery-spec.html).

    I certainly understand that you mightn't have looked there straight off and perhaps we need a FAQ for that but note in the list of specs (http://www.dancres.org/cottage/doc/spec-index.html), it's right at the top and only a couple of sections in. I've just done a search of the JINI-USERS archives and open-subscriber for "nygard" and can see no postings. Did you ask how to do this on the list?

    "One of the reasons for the level of excitement about Ruby on Rails is the immediacy of positive feedback. Within a few minutes of installing Rails, you have a functional application. Changes are quick and the positive feedback keeps coming rapidly."

    Instant gratification - much has been written about the merits (or not) of that. In respect of RoR giving you instant results, might it be because it contains a bunch of familiar concepts and tech that you're used to using and it's designed to work on one or maybe a couple of boxes? Jini is naturally about lots of boxes and therefore has different constraints and needs. That's the nature of true distributed systems. Regardless, as has been mentioned several times here and elsewhere (http://www.theserverside.com/tt/articles/article.tss?l=UsingJavaSpaces) there are other options such as the Blitz installer that will help with that.

    "There's an old adage that skills won hard are valued highly. It's totally true. That can also make those who worked hard to develop those skills insensitive to those who are still on the learning curve. (Read most Linux newsgroups for illustration.) The fact that you already know all the code names for the components speaks well of your expertise, but don't overlook the difficulty it presents for those who aren't at your level yet."

    You're making an awful lot of assumptions about my mindset. I am very aware of how hard running up learning curves is which is evidenced by the time I spend discussing things with people such as yourself, posting articles, writing up tutorials, blogging and commenting on other's blogs, consulting and so on. In fact, if you talk to people about me, they'll tell you I won the 2004 Jini Contributors award for amongst other things, my dedication to helping out newbies.

    I'd like to help out but I'm not sure how much use that will be cos my mentors nose is twitching and saying you're too angry right now and not yet ready to move beyond a subjective debate.

    Posted by: dancres on January 30, 2007 at 06:31 AM

  • @vprise: "@dancres I don't think you disagree with me ;-)
    I don't like Spring personally, my only point was that people do pick up technologies that they want to use despite lack of marketing or corporate drive. I think Spring is a great example of that even though I agree with both of your points. So I personally think marketing had very little to do with Jini/JavaSpaces limited adoption."

    :) There were certainly a myriad or reasons for limited adoption but personally the devices thing is an objection I've heard a whole hell of a lot, though less so recently. Regardless, we each have our opinions and I'm happy for them to differ - variety is the spice of life.

    Posted by: dancres on January 30, 2007 at 06:35 AM

  • @Dan - I think that technologies and products also need to take advantage of the "network effect". While JINI has a broad range of problems that it can potentially be used to solve, and Javaspaces has a broad range of problems that it can potentially be used to solve, they have (IMHO :-) been largely isolated from the larger body of work occurring in the industry, in terms of application frameworks, IoC/DI frameworks, web frameworks, application servers, etc. The net result is that JINI has remained "pure" but "aloof", and hence largely un-used. My comment is not intended to be either positive or negative, but simply explanatory in nature. With the new licensing terms available on JINI, we are now looking at specific places that we can use JINI to help our customers solve real problems, which _will_ naturally have a network effect due to the thousands of production applications using our Tangosol Coherence software today.

    Peace,

    Cameron Purdy
    Tangosol Coherence: The Java Data Grid

    Posted by: cpurdy on January 30, 2007 at 11:27 AM

  • @Cameron: "@Dan - I think that technologies and products also need to take advantage of the "network effect". While JINI has a broad range of problems that it can potentially be used to solve, and Javaspaces has a broad range of problems that it can potentially be used to solve, they have (IMHO :-) been largely isolated from the larger body of work occurring in the industry, in terms of application frameworks, IoC/DI frameworks, web frameworks, application servers, etc. The net result is that JINI has remained "pure" but "aloof", and hence largely un-used. My comment is not intended to be either positive or negative, but simply explanatory in nature. With the new licensing terms available on JINI, we are now looking at specific places that we can use JINI to help our customers solve real problems, which _will_ naturally have a network effect due to the thousands of production applications using our Tangosol Coherence software today."

    I agree re: the network effect needing exploiting. There are of course, multiple reasons why it hasn't happened but there's one that gets run into over and over which is the conflicting requirements in respect of classloader's/classloading. Whilst the problem itself is well understood, hacks/fixes are difficult because many a container doesn't expose the necessary innards. I have had success with GlassFish and Jetty and someone else has got things working on Tomcat.

    On licensing, it's a moot point but the licensing has been Apache V2 for some time whcih would allow Tangosol to get their hands dirty, I guess the big difference from your perspective is that Jini/Apache River is now in "neutral hands" which maybe makes the difference?

    Posted by: dancres on January 31, 2007 at 03:15 AM

  • After many years working in the industry, solving distributed
    computing problems, sometimes from the ground up, I find this
    discussion to be quite intriguing.

    I agree that Javaspaces and Jini have not had the marketing and press
    coverage that they deserved, and in many cases they were shelved by
    many technologists as new technologies of interest, but not ready for
    prime time. I for one, was one of the people that used to bash this
    technology because it was easy to do so.

    Well times have changed my friends, and the market is now educated
    and eager to adopt such technologies as part of their strategic build
    out of the distributed enterprise. Most folks that that we speak to
    today do not need the educational process that we had to go through
    in the previous years. What you are seeing is the market has realized
    that through the adoption of low cost compute units and fast
    networking, that concepts such as tuple spaces, proactive scalability
    and self healing networking are an essential ingredient of a truly
    enterprise ready distributed platform.

    At the end of the day it is not about the API, it is all about the
    qualities that the platform affords to the implementor, time to
    market, uniform architecture, performance and reliability. JavaSpaces
    is just a specification and outrigger is just an example
    implementation. Whilst Jini has been bashed for its complexity, there
    have been no notable offerings to solve mobility, discovery and
    location transparency available in a public domain.

    It is sad but admirable that the original work done in tuple spaces
    over twenty five years ago has finally found its time, we have been
    through databases, application servers, message buses, Corba, Com and
    now .NET, only to realize that the answer we were looking for to
    solve the distributed, transactional, scalable and portable
    architecture was under our noses all the time.

    Surprisingly enough there is a larger community of expertise
    available in this arena and there are a growing number of ISVs that
    are taking on and building teams in this discipline. The folks that
    adopted this technology in the early days are now reaping the rewards.

    Forget all the minutia surrounding the past history and the
    specifications and embrace it with ernest, the lucky ones who already
    have, do not normally shout about it as they realize they are on to a
    winner.

    Watch this space ( no pun intended )

    Posted by: stevewhite on February 04, 2007 at 02:47 AM

  • I agree re: the network effect needing exploiting. There are of course, multiple reasons why it hasn't happened but there's one that gets run into over and over which is the conflicting requirements in respect of classloader's/classloading. Whilst the problem itself is well understood, hacks/fixes are difficult because many a container doesn't expose the necessary innards. I have had success with GlassFish and Jetty and someone else has got things working on Tomcat.


    sexe
    sexe
    sexe
    sexe
    sexe


    bondage
    blowjob
    blondeblaguesblagueblackblackbizarrebitebisexuelbisexual
    beurettebedbikini
    bebebeautybeachbdsmbbwbang_gangbang
    acrobatbaise
    babeavatarsavatarautoastuceassasiatiqueasian
    ares
    ad_awareanusantivirus_gratuitantivirusanimeanalamatriceamateuramateur
    amateur
    adultedivx_gratuitdivxdivxdirtydildodickdiaporamasdiaporama
    deep_throat
    cumshotcumculcreampiecouplecouplecouillecoquin
    code_jeu
    cockcochonclose_upcloneclitoriscinemacheatcharmechansons_gratuit
    chanson_gratuit
    chaleurcelebritecartooncartescartescartescartecartecarte
    busty
    bukkakebruneboybootyboobfilmsfilmsfilm_gratuitfilm_gratuitfilmfilm
    ffm
    fetishfetichismefetichefessefemmefemmefemmefemdomfellation
    fat
    famillefamilialefacialfacef_rallyeexoticexhibitionnisteetudianteethnic
    erotisme
    erotiqueserotiqueemuleemule_gratuitenfantenfantenculeremule_gratuitemoticonesemoticoneedonkeyecrans_de_veilleecran_de_veille
    ebony
    drunkdownloaddouble_penetrationiconehumourhumourhugehousewife
    hothoroscopeshoroscopehomosexuelhistoire
    hentaihardcorehardhandjobhairygrossegrosgratuitegratuitegratuitegratuitegratuitgratuitgratuitgratuitgrannygaygolfglory_holegirlgaygayfuckingfootjobfootball
    footfonds_d_ecranfond_d_ecranflashingfisting
    first_timefirefoxfingeringmilfmidgetmessenger_gratuitmessengermature
    maturemasturbationmassagemardi_gras
    mangamalemaidlogiciels_gratuitlogicielslogicielslogiciel_gratuitlogiciellogiciel
    lingerielimewirelesbiennelesbianlatinaslatinalatexkazaa_gratuitkazaajeux
    jeuxjeuxjeunejeujeu
    jeujapaneseinterracial
    indianimage_humourimageimageimageicqillusion
    piedphoto
    photophotophotopetitepenispartitionspartition
    paroles_gratuitparole_gratuitpantieoutdoororientalorgyorgieorgasmeoralnudistenudistnudenunoirenero_gratuitneronaughtynaturenaturalnakedmusiques_gratuitesmusique_gratuitemusic_gratuitemuremsn_gratuitmsn
    msn
    mp_gratuitmoviemorpheusmommodelsmodel
    mmfsexysexuellesex_gratuit
    sexe_gratuitsexe_gratuitsexesexesexesexsexschoolgirlsalope
    safarisadorousserimjobredheadrecettes
    recettesrecette
    recettereal_playerrasee
    pussypuffyprogrammeprivatepregnantpps_pptpornstarporno_gratuit
    porno_gratuitpornographiepornopornoporno
    porn_gratuitpornpoitrineplumperpipe
    pinkclip video xxx
    hot xxx gay
    sexe photo porno
    photo and sexe and gratuit
    sexe vieille mature
    rencontre sexe senior
    photo sexe black
    photo sexe homme nu
    sexe porno gratuit photo free
    jeu online gratuit sexe
    sexe extreme dilatation
    hot sexe to brazil
    film porno telecharger gratui
    extrait porno video amateur
    histoire de sexe gratuite
    film xxx forum rapidshare
    photo gratuit galerie tgp sexe
    video demo porno gratos
    video porno gratuit gros vagin
    galerie photo sexe gratuite
    video porno sex gratuit usa
    femme mature porno
    film xxx porno media player
    xxx bd
    sexe gay porno
    epilation sexe homme
    video de sexe extreme
    sexe ultra bizarre
    extrait video film porno
    porno jeu video
    video gratuite porno amateur
    photo gratuite xxx hymens vierge
    video sexe demo gratuite
    plus grand site porno francais
    photo femme sexe gratuit
    video sexe lesbienne gouine gratuit
    photo sexe amateur francais
    mature nylon porno
    humour sexe pps
    liste meilleur site porno mature
    beurette sexe avec voile
    porno asiatique
    black xxx mas
    elisa actrice porno
    sexe femme poilue photo gratuit france
    sex cul porno
    photo beurette sexe
    femme xxx rencon
    teacher sex xxx
    xxx mangas hentai sakura
    beurette sexe amateurt
    clip xxx gratuitt
    sexe mature hardt
    jeu porno shockwavet
    sky blog sexet
    video preview free xxxt
    free gay pornot
    video porno voir gratui san telechargement
    sexe rasee gratuitt
    video de sexe a telechargert
    porno gay transt
    xxx hard xxx videot
    video porno gratuit voirt
    telecharger comic xxxt
    sexe filmes livet
    voir extrait gratuit video porno sans abonnementt
    porno gratuit photot
    sexe et vieille femmet
    casting porno parist
    mini video pornot
    photo sexe amateur gratuit sans connexiont
    sexe homme hommet
    extrait film porno a telechargert
    extrait video sexe blogt
    disney porn xxxt
    gratuit amateur sexet
    hot young couple xxxt
    liste acteur pornot
    telechargement gratuit porno sexet
    webcam live xxxt
    extrait film porno femme soumiset
    cam live free sexet
    porno homme gay gratuitt
    video sexe gratuite femme muret
    photo porno amatricet
    gratuit sexe videot
    cul sexe pornot
    clip video gratuit sexe debutantt
    jouer au jeu pornot
    porno free videot
    pute arabe pornot
    vente film pornot
    larges extrait video porno gratuitt
    film xxx gayt
    sexe gratuit analt
    photo sexet
    sexe porno video gratuitt
    petits extrait video de sexe gratuitt
    photo porno gratuite femme blackt
    i love sexe skyblogt
    arabe pornot
    agnes photo gratuite sexe vieillet
    sexe porno cult
    metz sexe amatricet
    disney xxx sexet
    histoire porno d adot
    video amatrice cul xxxt
    video porno gratuite a visionnert
    sexe shop toulouset
    photo gratuit xxxt
    annuaire forum sexet
    mami salope xxxt
    sexe amateur hard gratuitt
    sexe hard photo gratuitet
    photo salope xxxt
    photo galerie cul latine porno start
    webcam sex adult pornot
    cam frog sexe freet
    comic xxxt
    live show audio sexet
    free sexe moviest
    humour sexe gratuitt
    sexe video freet
    sexe gratuit hard interracial asiant
    galerie porno gratuitt
    gay porno video demot
    actrice film pornot
    sexe gratuit et hardt
    sexe hard cradet
    yasmine and pornot
    video francaise de sexet
    film porno yasminet
    baiser lesbienne xxxt
    sexe xxx videot
    video clip sexe xxx porno gratuitt
    sexe asiatique spermet
    catalogue divx pornot
    pps image sexe sexyt
    extrait porno videot
    divx porno gratuitt
    yasmine lyon pornot
    film de sexe francaist
    jeu en ligne pornot
    sexe asiatique gros seint
    les photo porno du bresilt
    video porno gratist
    image porno simpsonst
    demo virtuelle film xxx gratuit sans connexiont
    sexe amateurt
    video xxx defemme mure gratuitt

    demo virtuelle film xxx
    actrice porno nu
    pps sexe perso
    perso sexe amateur
    sexe tres extreme
    jeu sexe en ligne gratuit
    sex porno film
    photo arabe porno
    video amateur porno
    spanking lesbienne sexe
    blog sur sexe
    free xxx galerie updated daily
    liste acteur porno
    photo sexe hard xxx
    galerie sexe porno
    xxx and gratuit
    mangas porno photo gratuite
    sexe xxx girls video
    porno arabe video
    luna sex porno photo video gratuit
    jennifer gargner sexy xxx
    photo de sex et porno
    photo gratuite de sexe de femme mature
    sexe anal extreme
    porno and gratui
    pps sexe diaporama
    photo porno anal
    xxx gay photo
    video webcam sexe
    pipe porno xxx
    porno video amateur
    star porno photo
    photo de gay porno gratuite
    professeur sexe xxx
    video porno et gratuit
    femme hentai xxx
    video adults xxx free
    hard xxx black gratuit
    extrait video porno gratuit
    porno black anal
    video asiatique et galerie sexe
    sexe amateur gratuit perso
    blog video amateur sexe
    clip film porno gratuit
    extrait free video xxx
    jeu sexe online
    xxx video
    amatrice sexe belge
    hentai xxx
    gay porno poilu gratuit
    video porno etudiante gratuite
    sexe asiatique gratuit video
    photo et dvd porno gratuit
    arabe hetero porno
    film mangas porno
    sexe hot mom
    image porno gratuite
    video porno africaine
    porno gratuit ejaculation anal
    photo video sexe amateur gratuit
    clip porno lesbienne
    sexe crade jpeg
    couple video sexe
    sexe hardcore gratuit extrait
    sexe nu photo
    sexe porno mangas
    devenir actrice porno
    film x gay porno
    dvd sexe lesbienne
    forum sexe amateur
    grosse marocaine beurette sexe
    porno tres mature
    cam and sexe
    sexe image sexe
    forum de discussion sur le sexe
    animation video porno gratuite
    sexe hardcore film
    xxx video movie
    girls sucking men porno video
    demo porno gratuite
    clip de film porno
    sexe entre femme et homme
    porno gay maroc
    telechargement video porno amateur gratuit
    sexe gratuit porno
    couple libertin sexe photo
    blog porno perso
    photo porno et video gratuite
    blonde xxx
    sexe extreme allemand
    sexe ala cam
    image de film porno
    femme mure sexe tres poilu gratuit
    video hard xxx
    clip and video and de and sex
    deviant clip xxx
    dvd xxx gay
    free live sexe
    image porno d homosexuel
    amatrice et sexe et free
    bulle actrice porno
    video ultra hard sexe gratuite
    extrait amateur porno gratuit
    lesbienne porno francaise
    rencontre sexe
    porno gay amateur gratuit
    ado xxx sexe video
    annuaire sexe exhibitionniste
    blog film porno
    histoire porno bas masque
    skyblog paris hilton sexe
    photo sexe amateur contribution gratuite
    sexe avec amateur
    film sexe hard
    sexe amateur gratuis
    video sexe preview hard gratuit amateur perso
    sexe bien poilu
    black girls xxx
    clip sexe gay
    free xxx porn
    sexe black gay gratuit
    sexe star video photo gratuit
    photo and porno and gratis
    mature porno
    xxx totalement gratuit
    sex xxx hard photo gratuit
    xxx shannen doherty video free
    photo sexe masculin
    muscle men xxx hard
    sexe amateur extrait gratuit
    photo sexe homme nu
    demo video sexe gratuit
    sexe photo femme
    video de star xxx
    annuaire de sexe totalement gratuit
    top sexe fr
    sexe mature and boy
    galerie photo et sexe
    pin up toon xxx
    xxx anal sexe pictures
    extrait video sexe grtuit
    video jeune sexe
    photo porno couple gratuit
    sexe xxx trans
    arabe sexe gay
    sexe gay gratuit etranger
    porno gratuit amateur
    annuaire porno couple jeune
    femme sexe video
    xxx porn movies
    xxx extrait transexe
    sexe nipples porno
    lesbienne sexe bite
    pps sexy porno sexe
    photo porno star
    blonde xxx gratuit
    sexe web cam tout gratuit
    porno amateur.x gratuis
    film de porno a telecharge gratuit
    anal porno movies
    sexe video anal
    extrait video xxx son image gratuit
    sexe image
    gratuit xxx pic photo
    download free movies porno mpeg
    video sexe porno gratuit
    image porno gratuit
    free black porno picture
    video porno des star de cinema
    sexe vieille
    free anal porno
    chat cam sexe gratuit
    photo gay sexe
    rencontre sexe vendee
    sexe vieille pute
    jeu java sexe
    lolita tgp xxx gratuit
    actrice porno asiatique
    xxx clip free
    photo xxx gratos
    sexe femme noir
    sexe avec femme mure
    archive sex xxx video
    star photo sexe
    sex lolita xxx
    histoire sexe homme nu
    porno actrice
    femme experimentees sexe anal
    sexe video extreme
    video perso porno amateur
    free sample video porno
    web cam gratuite de sexe
    photo professeur xxx
    sex free porno
    extrait film porno vieille femme
    azzedine acteur porno
    photo sexe bizarre
    sexe mgp clip
    jeu sexe gratuis
    road sexe
    photo porno de naine
    photo porno de naine
    anal sexe video
    hard sexe photo gratuite
    sexe tres crade
    video sexe gratuit sans telechargement
    gay porno gratuit perso
    film et photo porno
    video porno femme mure pauline
    sexe rencontre amateur
    xxx movies jenna
    mangas gratuit sexe
    jeu and de and sexe and gratuit
    telechargement gratuit film porno
    photo porno femme black banlieue
    sexe film x gratuit marre faux site
    histoire sexe cocu
    chatte star sexe
    video gay porno extrait gratuit
    film porno gratuit anderson
    mangas and sexe and hentai and extrait and gratuit
    hard sexe porno
    jeu porno sans inscription
    video xxx sur vieille zt vieux bourgeois

    sexe
    sexe
    sexe
    sexe
    sexe
    sexe
    sexe
    sexe
    sexe
    sexe
    sexe
    sexe
    sexe
    <a href="http://minisexe.creablog.com/note_video_gratuite_sex_porno_sexe_gros_plan_vids_so

    Posted by: manuloc on May 29, 2007 at 01:19 AM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds