Slashdot Mirror


Java Web App Framework Millstone 3.0 Released

idot writes "Millstone 3.0 is a java LGPLed library for the development of networked applications. The developer doesn't have to deal with HTML or individual pages, but rather writes a very swing like continous client application. A terminal adapter converts the abstract UI together with a Java Servlet container to the desired themed client side code. In case of Web applications HTML complete with or without JavaScript. Press release millstone home page complex go example game It seems to be a very mature framework, whose first two iterations were used only internally by the developers. It will be interesting to test this library against JSF, tapestry etc. in terms of developer usability and scalability."

12 of 51 comments (clear)

  1. Millstone by Anonymous Coward · · Score: 3, Funny

    is actually meant to be a library destroyer, and has been a staple of control players for years.

  2. It looks nice! by jsse · · Score: 2

    It uses swing-like api and it doesn't has any overhead with pure java applet.

    My friend who is a financial content provider which distribute information with the help of java applets. They just stuck with the problem with XP which does not come with Java support, which is very bad for their business because their users usually don't know(or don't want) to download and install a JRE. Let's see if it can help him.

  3. Great name by Shimmer · · Score: 2

    Millstone: A heavy weight; a burden: "This job is a millstone around my neck."

    --
    The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
    1. Re:Great name by pnatural · · Score: 2

      aye, as if Sun(tm) Java(tm) did not already have enough baggage. java needs many things, but Yet Another Framework or TLA (YAFTLA) is not one of them.

    2. Re:Great name by Shimmer · · Score: 2

      Okay, consider yourself blamed. Surely you were aware of the irony when you chose that name?

      -- Brian

      --
      The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
  4. Cookies bad! by shaper · · Score: 2

    The on-line demo / example pages do not appear to work without cookies. Sorry, thank you for playing! One of the cardinal rules of a good general purpose web app framework is that it should not require cookies to work. It may be that the framework itself does not require cookies. If so, it was a poor decision to write demos that do. Oh well. Next player, please!

    1. Re:Cookies bad! by platypus · · Score: 2

      Cookies are a valid method of transferring state from one page to the next, although admittedly server-side session tracking is usually a better alternative.

      Uhm, and how does the server know which session he stores belongs to which request?

      Yes, right, either cookies hold this information, or the URI, via mangling the displayed links.
      If you use session cookies, the two are equivalent privacy wise, it's just that cookies are is far more robust than link rewriting, because the latter can break in a plenty of ways.

  5. Re:How does this compare with Echo? by travisb · · Score: 2, Informative

    Millstone does not seam as feature rich. I have downloaded it and after looking at a few classes for some of the features I love in echo I find it lacking for example Button There appears to be no rollover support. It seams that Millstone is a reasonable framework, but I feel that it compares better to AWT then swing where ECHO compares to SWING.

  6. Clever but possibly misguided by vbweenie · · Score: 3, Interesting

    If a calculator app which has to make round trips to the server every time you press a button is meant to be a representative demo of this application, then my response has to be: no thanks.

    I tried a couple of other demos on the site, like the treeview control which seemed to need to go off to the server every time you expanded a node. Responsiveness is a key issue in usability: anything slower than PDQ (Pretty Damn Quick) ramps up the end-user's frustration levels and makes the interface feel clunky and hostile rather than intuitive and friendly. All of the stuff on their site looked great, but it handled like a pig in treacle.

    Maybe they're suffering a slashdotting right now, but that actually doesn't excuse them: if the responsivity of individual elements of your user interface depends on the responsivity of your servers, then the usability of your site is - to my mind - unacceptably fragile.

    Is it possible that the developers used this primarily on a small LAN or even spent their time pointing a browser at localhost, and never considered how it would feel to be using it over the web? Surely they must have load-tested it? Surely they must have thought, "hmmm, so that's why client-side scripting was invented"?

    --
    Experience is a hard school, but fools will learn no other.
    1. Re:Clever but possibly misguided by Miqlo · · Score: 2, Insightful

      Misguided not. It would have been possible to create an entirely client-side calculator-app that would be fast as lightning, yet this is not what Millstone is for. I'll conceed that the Calc-app is perhaps a bad example-app as it brings forth sentiments like this. It is only intended to demonstrate and tutor the usage of Millstone, and not, in this case, it's power.

      One important aspect of Millstone is that the presentation of an app is separated from the underlying logic. This means that once adapters have been made for different terminals, that same Calculator app, without so much as one line of code changed, will work on your cell-phone, digi-tv and terminals that aren't even imagined yet.

      As to the responsiveness of the example application, I'd like to point out that it's running on a single server sitting in the room next to me, in Finland ... so you're bound to get some netlag if your surfing in from the states. Regarding the /. :ing as an excuse, it is if we never really believed that we'd get on here. :)

      Realistically, we're too small to make mega $ hardware investments in preparation for high demand, we just have to wait for that demand to realize itself and then respond to it.

      Further discussion regarding the speed and efficiency of the ui transformation process can be found in the serverside.com thread.

      Regards,
      Peter Bäck

  7. Other people agree with you by RhetoricalQuestion · · Score: 3, Interesting

    I still have my doubts about the whole approach, but this is to some extent an ideological issue (HTTP/HTML for complex real-time client-server interaction just feels wrong to me) so basta for now.

    You're not the only one who has doubts about this approach.

    Because everything old is new again, many companies are starting to build hybrid J2EE systems which have a Swing GUI as a front-end instead of a broswers. The advantage is (over traditional client-server) that you can have the scalability and transaction-safe benefits of J2EE on the server, but the fast responsiveness and better UI of a GUI on the client. (As well, you can still create purely serverside applications where it's appropriate and reuse the same infrastructure.) It's far fewer roundtrips, since the client only needs to pull or commit data from the server, but can perform all the interim data manipulation and UI work client-side.

    To extend your calculator example, imagine a mortgage calculator in a bank branch. The calculator would only need to talk to the server when the bank employee pulls up your customer data, or commits any changes. However, before making changes, you as the customer might want to see how much faster you could pay off the mortgage if you increased your payments, or put in a bigger down payment, or tried a different interest rate plan, etc. All of that should be calculated client-side -- there's very little need to make several server roundtrips for these temporary calculations.

    As well, the bank could use that same back-end infrastructure to set up a website to allow you as the customer to check the status of your mortgage and your payments. Customers wouldn't be the same kind of power-user that the bank employee would be, so the number of roundtrips is somewhat less of a problem -- as well, the web version could be a simplified version of the GUI version.

    Sun has actually addressed this (they sometimes call this architecture rich-client J2EE) through the JNLP spec and its reference implementatation, Java Web Start. Personally, I think JWS itself has limited use, but the architecture of the rich-client system is nonetheless pretty sound.

    DISCLAIMER: I haven't looked at Millstone. I have spent a lot of time with these hybrid, rich-client J2EE systems, though.

    --

    I can spell. I just can't type.

  8. Funny... Java libraries... Millstone coffee by ruiner13 · · Score: 2

    When I see "Millstone" I think coffee. I wonder if they did that on purpose (Java... beans... etc)... the Java PR people love the coffee terms, and it is only fitting that something that extends Java should use a coffee related term. I'm gonna make a java-based game engine called Starbuck. :)

    --

    today is spelling optional day.