Discussions

News: Future Directions for Java - and where should TSS go?

  1. Rounding out the view on JavaOne 2006, it's clear that Java is no longer putting all its eggs in few baskets: Java is making inroads in realtime, going into mobile environments, becoming more manageable (and interoperable) in the enterprise, becoming grid-enabled, and diversifying on the desktop. The realtime display of Java at JavaOne was highlighted by the slot-car races. While perhaps this wasn't the most productive use of Java's realtime capabilities, it was certainly a lot of fun to watch, with quite a bit of audience participation. Mobile Java made a huge impact this year, with Nokia, Spring, SavaJe, Motorola, UIEvolution, and other vendors stepping in and showing off some incredible things done with the JME platform. Some of the applications shown were surprisingly powerful - rivaling the sister applications delivered via the web, and the toolkits for creating these applications get more and more powerful. Manageability was also featured quite heavily. Terracotta, Azul, Gemstone, BEA, IBM, Oracle, and others (not to mention Sun, of course) all mentioned manageability of application servers in their booths (whether directly or indirectly, through analysis of data from clusters, through traditional server management techniques, or through architectures such as SCA). Management isn't traditionally a developer's concern, but now that component architectures feature them heavily, they can directly impact choices developers and architects make. Grids - architectures leveraging many cores to process in parallel - were also featured front and center. The Sun Grid was the primary beneficiary of attention, of course, but other technologies highlighted grid capabilities for high-end capabilities. It's worthy of note that some of the biggest websites in the world (in terms of traffic and computational capacity) are using grids now, and the technology is available for smaller sites as well. Grids are impacting service-oriented architecture by changing how services are accessed and located, leaving web services for non-grid-enabled services only. The desktop is also making a resurgence, even for the enterprise. Sun showed off desktop applications using AJAX, and Webstart is showing some maturity as well (one Java EE vendor, for example, even delivers the application server via Webstart.) All of these things - grids, manageability services, mobile, realtime applications, and desktop application - can now be considered "enterprise." (All right, realtime might be a bit of a stretch - although Sun does have a real-time application server now.) What of these affect you? Where should TSS focus, in order to stay on top of the technologies that interest you?

    Threaded Messages (25)

  2. Well, given the topic of sooo many "discussions" you instigated here -- go Ruby. SCNR, Lars
  3. Java ME rocks![ Go to top ]

    And you noticed this diversification, when...? ;-) Although I do quite a lot of Java server-side work, we've been doing mobile app development for quite a while now. Java ME (MIDP) started out as a cute toy, but as features have piled onto features and the industry has grown, you've got quite a large ecosystem of Java MIDP mobile apps being created. In fact, 2 of the most-used Java apps I have are on my Nokia 9300: 1. Opera Mini browser http://www.opera.com/products/mobile/operamini/ This baby is probably the most downloaded mobile app ever, with several million downloads in just a couple months. 2. Google Maps http://www.google.com/gmm/index.html?utm_source=us-et-localhpp&utm_medium=et&utm_campaign=gl I never tire of seeing my home on satellite, or seeing Puerto Vallarta from afar ;-) We use Netbeans Mobility pack, and visually designing a complete Midlet app is as easy as anything VB could offer: http://www.netbeans.org/products/mobility/ The newest member of the Java ME family, which will run on high-end smartphones and PDAs and will likely run Swing in future, has started to show some signs of life: The Personal Profile of CDC http://java.sun.com/products/cdc/ http://developer.sonyericsson.com/site/global/newsandevents/latestnews/newsmar06/p_cdc_getting_started_doc.jsp I think providing an end to end solution, from the enterprise server apps to desktop clients to mobile clients is the way to go.
  4. Re: Java ME rocks![ Go to top ]

    Oh, yeah, and if you've ever thought about creating sensor-aware "dust motes" using Java, this might be just for you: http://sunspotworld.com/
  5. Re: Java ME rocks![ Go to top ]

    And you noticed this diversification, when...? ;-)
    Well, it's been on the radar for a while. At TSSJS-Vegas, 2006, we had some presentations on mobile for this very reason, and in Barcelona we've more mobile focus on the way. At J1, though, you really saw it break through more than it had before, which was really cool.
  6. Re: Java ME rocks![ Go to top ]

    I agree wholeheartedly. The more turn-key and cross-medium any of these apps can be, the more successful they will become.
    Jens, Genuitec, LLC & MyEclipse Evangelist MyEclipse: an Eclipse product extension supporting UML, AJAX, Web, J2EE, JSP, XML, Struts, JSF, HTML, Spring, Hibernate and application server integration needs.
    DOWNLOAD MyEclipse Free Trial
  7. J2ME is going nova[ Go to top ]

    I'm doing my first J2ME application right now and it seems like the J2ME space is going nova. Mobile devices are so powerful now that you can think of J2ME Personal Profile as JDK 1.3 without Swing. And if you want Swing, NSICom has a JVM with Swing support. IBM's J9 has SWT support on certain mobile platforms. The future looks like J2ME mobile devices with J2EE a back end. My inner nerd can't wait to write a real-time Java application on an RTOS like VxWorks or Real Time Linux, but the real time stuff is still a ways in the future.
  8. I've worked as an architect and developer at a number of very large concerns plus the U.S. government - all on data -based systems, e.g. OLTP, SOA, data warehousing, etc. I see "enterprise" as the infrastructure and code that delivers services. I don't see the code that runs on this or that device as "enterprise". I do see the characteristics of the device and its runtime as well as its connection requirements and limitations as enterprese. For example, to me AJAX is a way of implementing clients that can work directly with my services and require less server-side presentation infrastructure. I don't care about AJAX per se. I care about the capabilities it represents, its server-side requirements and how it affects what I do at the "enterprise". I also don't care about JSP or JSF other than the problems or opportunities they represent as to how I connect my process tier and services to them. (I also care about JSP because it encourages very bad practices like embedded direct access to the database and mixing process and presentation logic. It's also unnecessarily complex because it combines to many types of things on one page. That's another story.) So, from my perspective, mobile Java only pertains to the enterprise in terms of how it connects to enterprise services and applications. Real-time Java is enterprise at some kinds of business though for most of us its a niche specialty. For all you presentation tier and client folks who love wallowing in the client and user interface space, I am not insulting when I say what you do is "not enterprise". Its just that UI is so personal it resists standardization and it requires a very different set of skills and has a very different set of concerns than does "enterprise" computing. Also, core business processes of large enterprises are almost never run in the client or presentation tier. I could swap out or mix and match presentation technologies and not affect the core business a bit. So my vote is to keep TSS "enterprise" (as I define it) and perhaps open up another sister site that addresses devices and clients. For TSS the coverage of these technologies should be in terms of how we integrate them and their impact on the "enterprise". I don't care about "Ruby on cell phones" or whatever.
  9. For all you presentation tier and client folks who love wallowing in the client and user interface space, I am not insulting when I say what you do is "not enterprise".
    Correct, it's insulting when you describe their activities as 'wallowing'.
  10. For all you presentation tier and client folks who love wallowing in the client and user interface space, I am not insulting when I say what you do is "not enterprise".


    Correct, it's insulting when you describe their activities as 'wallowing'.
    Any of us who spend our working time almost exclusively in one domain - whether "enterprise" or UI or devices - can be said to be wallowing. Lighten up, at least I didn't say "diddling".
  11. You should go to h....[ Go to top ]

    Sorry, but "where should TSS go?" was too good setup. For a while "enterprise" implied serious programming, worthy of a lot of discussion, and expensive software. Lately, the "enterprise emperor" has appeared to have much less clothing than he has had in the past. Some (latest edition of JDJ, in particular), have even been saying outright that J2EE and EJB in particular have been costly failures. Quick! TSS, spin your way out of the "enterprise".
  12. Programming snobbery?[ Go to top ]

    For a while "enterprise" implied serious programming, worthy of a lot of discussion, and expensive software. Lately, the "enterprise emperor" has appeared to have much less clothing than he has had in the past. Some (latest edition of JDJ, in particular), have even been saying outright that J2EE and EJB in particular have been costly failures. Quick! TSS, spin your way out of the "enterprise".
    Ok, granted programming for smaller devices aren't on the level of say, creating a finance back-end built to process 1 gazillion transactions per second - but then again, probably 99.999% of all server-side developers only deploy light-weight webapps that require Tomcat and nothing else - so saying serverside programming is "serious" whereas other programming isn't is just plain snobbery at its worst. In some ways, device programming for Java ME right now needs more subtlety and knowledge than server programming. Why? Limited resources and a very diverse app environment. When I do a server app, I barely need to consider discrepancies in the final work environment, mostly because I have full control over where the webapp will run. Contrast this with Java ME programming, where your app may not only be expected to run on several models of phones or PDAs, but on dozens of manufacturer devices as well, each with their own quirks. Also unlike server apps, where the thing runs on boxes with hundreds of megabytes (if not gigabytes) of RAM and enormous heaps, the Java ME developer has to be constantly aware of resource limitations. It's a subtle dance between the urge to pack as many googies into one app and the knowledge that less and less devices will be able to run your app in the end if you don't control yourself. Also, maybe it's just me, but for some reason it gives me greater joy to see my apps running on various consumer devices (like my mom's cellphone and my own high-end smartphone) than to see webapps huddling in their safe server room environments. It's just cooler, you know? You add in the hollywood angle, and BOOM, it's just no contest ;-) http://www.rimlife.com/bluray/
  13. I'll add one more thing....Java ME right now, although it has overwhelming mindshare in the consumer space, is sorely in need of developers who can integrate the mobile enterprise using more powerful Java ME configurations, especially the new CDC Personal Profile (which may soon run Swing apps). There are now Symbian (Nokia 9300/9500, Sony P990, Sony M600), Palm, and Windows (Windows Mobile 5?) devices which can run this profile (in addition to MIDP), but I have yet to see any substantial number of Java ME apps rushing into this space, with the net result that native apps and .NET apps may be able to fill this void. Maybe I'm just being paranoid, but I'd rue the day when your JEE server apps give way to dotnet apps simply because the desktop and mobile infrastructure of the company is running on dotnet. So, I think the mobile enterprise space is definitely something Java developers should start focusing on, either MIDP or (preferably) PP.
  14. Re: Programming snobbery?[ Go to top ]

    I hope it's not snobbery. I'm on the "enterprise" side of things though I've done some device level work back in the old days. We on the enterprise side have a certain set of skills and concerns we deal with. My collegues and friends who do real-time and device level development have their own sets of skills and concerns. Some of these folks program avionics and other things for spacecraft, fighter planes, weapon systems, etc. and some do some very neat things squeezing out the most of hand held devices with constrained and intermittent bandwidth back to the servers. I'd say from a programming perspective what they do is harder than what I do. My challenges are more architectural and strategic. My vendors solve the more difficult programming problems for me. (It ain't rocket science in the enterprise, you might say.) Truth be told its a lot easier to get away with being a mediocre programmer when you are buried inside the IT department of a large enterprise than it would be if you were trying to control a device in real-time.
  15. Re: You should go to h....[ Go to top ]

    Some (latest edition of JDJ, in particular), have even been saying outright that J2EE and EJB in particular have been costly failures. Quick! TSS, spin your way out of the "enterprise".
    Surely it's only the users of JEE and EJB that need to be "spinning out", the rest of the enterprise architects, designers and programmers have been spinning out for years now. There's more than enough of Java left for enterprise work without needing to use only JEE. More than half of JavaOne was technologies for the enterprise, very little of it was JEE centric and with one or two exceptions, notably Patrick Linskey, virtually nothing was on EJB. Personally I'd prefer to see a majority of enterprise technologies, that doesn't by any means mean JEE or EJB, it can include POJOs, Grid, Testing, Modeling, Maven, IDEs, Performance, Binding, and Caching to name just a few, of course I welcome news about JEE and EJB too. As for JME/CDC etc. then yes definitely, I picked up one of the new Savaje Jaspers at the show, I'm looking forward to finding time to play with it. I'd like to see some Ruby / Rails too, let's just hear what everyone's up to in the leading and bleeding edge. TSSJS-E should be a show to inspire new ideas, people should leave with a new zest for technology, we need to recycle the geeks. -John-
  16. Re: You should go to h....[ Go to top ]

    As for JME/CDC etc. then yes definitely, I picked up one of the new Savaje Jaspers at the show, I'm looking forward to finding time to play with it.
    The color scheme of that Jasper looks bad ;-) But I ordered one too, just to see what it can do. I already have a Nokia 9300 though, which can run CDC apps, but so far all the apps I'm running on it are MIDP.
  17. One place to go next is adding support for virtualized, user-space, communication. For example UDAPL is a C-compatible api for system area networks that support RDMA - remote direct memory access. Infiniband is a great implementation of this, but you can do it even with some Gigabit ethernet cards. That type of support would bring inter-node latency to <10us with effectively zero cpu utilization (zero copy), and it would therefore enable us to build distributed application in completely different ways. We could stop wasting cpus on moving packets back and forth. Guglielmo Enjoy the Fastest Known Reliable Multicast Protocol with Total Ordering .. or the World's First Pure-Java Terminal Driver
  18. I think TSS lost it's way. It was supposed to be the home of all middleware java news patterns discussions and tips. Now it is a bazaar of vendor advertising. At least it should go for quality content.
  19. I think TSS lost it's way. It was supposed to be the home of all middleware java news patterns discussions and tips. Now it is a bazaar of vendor advertising. At least it should go for quality content.
    Btw, all interesting things for java have moved to infoq. I'm wondering why ? :-D
  20. Btw, all interesting things for java have moved to infoq. I'm wondering why ? :-D
    Have they? What kind of things are you looking for, specifically?
  21. SaaS[ Go to top ]

    I believe software-as-a-service (SaaS) is an iportant trend in the SME space and beyond. But there are issues like how can we avoid that each service becomes a data silo? What are the new forms of application hosting (think AppExchange) and what are the specific design challenges that go with it? What is a deployment unit on an application hosting platform? How is schema evolution and versioning managed? What about dependencies between services? I think the enterprise is very much about integration and SaaS will change the integration picture in fundamental ways.
  22. TSS should address all of JME, grid, JEE, real time Java, desktop Java and so on. I've been working heavily in SOA for the last in my day job but in my spare time I've playing around with JME, which is probably about the coolest thing to come from Sun in a long time. I'm also looking to use real time Java to create a training buddy/instructor that can help people like me learn to fly model RC helicopters, as learning to fly these things on your own usually means writing off a helicopter or two - expensive! So for people like me who love anything Java related why not reorganise the whole site as a portal where I can see the latest news on anything to do with Java and then drill into the article for more detail. You could also have separate discussion boards for each Java technology. These would be accessed through the portal. While your at it why don't you change the name from TSS to LoveYourJava.com, as in this Web 2.0 world the name "TheServerSide.com" is so Web 1.0!
  23. While your at it why don't you change the name from TSS to LoveYourJava.com, as in this Web 2.0 world the name "TheServerSide.com" is so Web 1.0!
    Nah, to qualify as Web 2.0 it needs to be called something like j.luf.r and you'd have to drop any mention of enterprise because the enterprise is so Web 1.0 ;-)
  24. While your at it why don't you change the name from TSS to LoveYourJava.com, as in this Web 2.0 world the name "TheServerSide.com" is so Web 1.0!
    I like JavaJavaJava.com (Java3x.com) myself. Or pay respect to the 3 foundations of Java less subtly: JavaMEEESE.com * Pronounced like "Japanese" and not to be confused with Ed Meese.
  25. Grids - architectures leveraging many cores to process in parallel - were also featured front and center. The Sun Grid was the primary beneficiary of attention, of course, but other technologies highlighted grid capabilities for high-end capabilities. It's worthy of note that some of the biggest websites in the world (in terms of traffic and computational capacity) are using grids now, and the technology is available for smaller sites as well. Grids are impacting service-oriented architecture by changing how services are accessed and located, leaving web services for non-grid-enabled services only.
    There are lots of different applications of the term "grid". The two general categories are: 1. Making a "mainframe" (fault-tolerant, secure, manageable, serviceable and scalable host) out of a bunch of Linux (etc.) blades. This is the goal of projects such as Globus (a.k.a. IBM Global Services) and the Sun Grid, for example. 2. Making an application scale horizontally (and as close to linearly as possible) across a bunch of Linux (etc.) blades by horizontally scaling the services (e.g. data) that tend to bottleneck large-scale systems. This is the goal of our Coherence software, for example. There are lots of blurry lines between the two definitions. In five years, I suspect they will be all one and the same, i.e. you'll have to do both very well just to stay in the game. For a great example, see the work going on in the banking industry today with DataSynapse and Coherence. Peace, Cameron Purdy Tangosol Coherence: The Java Data Grid
  26. RCP Eclipse Applications[ Go to top ]

    Personally I’d like to see an active group discussing Rich Client Eclipse based applications. True this topic does not have a direct connection to "server side," but since when did a technicality like that every stop a TSS discussion. Eclipse RCP seems to be the best bet for Java succeeding in the application domain. Steve Punte Measurement Focused Testing Test Lens