Discussions

News: Open Source J2EE AppServer JFox 1.0 Released

  1. Open Source J2EE AppServer JFox 1.0 Released (14 messages)

    JFox is an Open Source, J2EE-based application server written by the Chinese Open Enterprise Foundation. Version 1.0 has been released. JFox has subprojects: JFoxMX (JMX), JFoxMQ (JMS), JFoxKNL (JFox Core).

    JFox 1.0 Features:

    1. Supports JTA 1.0.1 specification
    2. Data source support: Mysql, Oracle, and DB2.
    3. Improved jmx kernel
    4. Follows EJB 2.0 specification
    5. Integrates with Jetty as web server
    6. Adopt automatic proxy invocation framework
    7. Complete document with illustrative examples, tutorial for basic and advanced developers (chinese and english)

    Visit: http://sourceforge.net/projects/jfox/
            http://www.huihoo.org

    Threaded Messages (14)

  2. JFox 1.0 Released[ Go to top ]

    First, I'd like to express my sincere admiration for the folks who did put together JFox. It takes a lot of gumption to identify a burgeoning market niche (J2EE support for Chinese market), and then assemble software of this scope to meet that niche.

    Next, I'd like to make fun of their code. How about the variable names in this method?

      final public ASTEJBQL EJBQL() throws ParseException {
     /*@bgen(jjtree) EJBQL */
      ASTEJBQL jjtn000 = new ASTEJBQL(JJTEJBQL);
      boolean jjtc000 = true;
      jjtree.openNodeScope(jjtn000);
        try {
          SelectClause();
          FromKeyword();
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
          case WHERE:
            WhereClause();
            break;
          default:
            jj_la1[0] = jj_gen;
            ;
          }
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
          case ORDER:
            OrderByClause();
            break;
          default:
            jj_la1[1] = jj_gen;
            ;
          }
          jj_consume_token(0);
         jjtree.closeNodeScope(jjtn000, true);
         jjtc000 = false;
         {if (true) return jjtn000;}
        } catch (Throwable jjte000) {
         if (jjtc000) {
           jjtree.clearNodeScope(jjtn000);
           jjtc000 = false;
         } else {
           jjtree.popNode();
         }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
         if (jjte000 instanceof ParseException) {
           {if (true) throw (ParseException)jjte000;}
         }
         {if (true) throw (Error)jjte000;}
        } finally {
         if (jjtc000) {
           jjtree.closeNodeScope(jjtn000, true);
         }
        }
        throw new Error("Missing return statement in function");
      }

    Is this some artifact of having to translate Chinese variable names into ASCII text? Who could possibly maintain this aside from the original author?

    Dear God, don't let Cameron see this! :)

    Corby
  3. JFox 1.0 Released[ Go to top ]

    "Is this some artifact of having to translate Chinese variable names into ASCII text? Who could possibly maintain this aside from the original author?"
     
    It's an artifact of using a code generator. The code in question looks as if it is autogenerated by JACC, a java compiler generator. It's derived from a BNF grammar describing the language, in this case EJBQL. The original author would maintain the grammar definition file, not the source code.

    Taylor Cowan
  4. JFox 1.0 Released[ Go to top ]

    Ah, that explains the other files I saw with Rose tags in them. That's pretty ambitious, using modeling tools and code generators to create a J2EE server!
  5. JavaCC's Funny Code[ Go to top ]

    The code was generated by JavaCC. It's a useful tool, but when the auto-generated code throws exceptions, it's absolutely impossible to debug. I never did find the cause, and wound up moving to SableCC as a result. (It's less flexible, but quite a bit simpler, and the grammars are way more concise.)
  6. example of MDA[ Go to top ]

    Looks like it is a real world example of the application of MDA method. Great.
  7. JFox 1.0 Released[ Go to top ]

    Corby: Dear God, don't let Cameron see this! :)

    Mmm ... underscores.

    (A la Homer's "Mmm ... donuts.")

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Clustered JCache for Grid Computing!
  8. JFox 1.0 Released[ Go to top ]

    The fun is that, it looks like another fork of JBoss! But these guys renamed the packages and removed author tags. It's easy to write J2EE servers these days ;)
  9. JFox 1.0 Released[ Go to top ]

    don't let marc see this...

    ^_^


    francis
  10. Do we need so many app servers?[ Go to top ]

    Though I am Chinese, I don't think there will be enough place for so many open source app servers.

    In fact, before JFox, there is a kind of app server developed by a big Chinese software company Kingdee, it is named Apusic. More infomation can be found at http://www.apusic.com/

    I don't know much about apusic, but it is supported by a large company, debuted years before JFox. However, very few person (even in china) know this product.

    But the problem is, do we need so many open source app servers? I think what we really need is common components (such as commons-*), architecture infrastructural components (such as Spring, HiveMind etc).

    Home-built app servers can make total solution price low for customers, that's like what sap-db is to SAP. Open source app servers can get their places in non-mission-critical projects. Commercial app servers can get there places in mission-critical projects.

    Among all projects, reuseable infrastructural components are what we really need.

    In fact, I am looking for a user-user_group-role-permission management component to use in my projects, but after googled a lot, I found none :-(
  11. Do we need so many app servers?[ Go to top ]

    About security system:

    I want to have a security

    for user_group->users (acyclic graph!!), permissions, and permission for objects (instance base secur. system)!!!

    Not hear anything about
  12. i don't like ejb
  13. I admire Kent, Martine....[ Go to top ]

    But I dong't like anybody who considers himself always right .
  14. EJBMeta Interface[ Go to top ]

    What's up with the EJBMeta Interface? Is it an alternative to ejb-jar.xml?
  15. EJBMeta Interface[ Go to top ]

    yep, now, jfox 1.0 uses EJBMeta as EJB deployment descriptor ,
    in the next version, it will support ejb-jar.xml