Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Won't Fix
    • Affects Version/s: 9.0pe
    • Fix Version/s: not determined
    • Component/s: other
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All
      URL: http://jminApp.id666.com

    • Issuezilla Id:
      2,394

      Description

      1 Introduction

      a: Services in j2ee server

      Generally,there are some parts in a j2ee server, for example: Naming, JDBC,
      Transaction,EJB, Web and so on. We can regard them as services in j2ee server
      and define them in the below table.

      b: Discovery in j2ee server

      Commonly, a j2ee server should provide a mechanism to discover deployed
      components, if found, then begin to deploy them. Discovery run as begin of
      deployment. We have finished a discoverer to do the similar work in a j2ee
      server, you can get it from the website: http://jminapp.id666.com . When open
      this link, please jump to the “framework� topic. The relative source is at
      the end of it.

      c: Deployment in j2ee server

      Deployment is very important in j2ee server, which makes j2ee components ready
      in server. If be
      careful, you will find that there exists association between services and
      deployed components. In others words, every service may hold a own method to
      deploy its relative components

      Service Component

      JDBCService Data Source

      EJBService EJB Components

      WebService Web Components
      ...........................

      d: Dependency between services

      When a service may invoke other service in its inner action, then depended
      services should be active. Especially in initialization of services. So we
      think that their initialization must obey a order.

      2: Sample

      1 Create a new service in a j2ee server

      //just initialize a server orb.
      public class ORBService implements J2EEService {

      public J2EEAssistant getAssistant()

      { return null;// because no components run on the current service. }

      public J2EESourceParser getParser(){ return null;// because no components run on the current service. }

      public J2EESourceDiscriminator getDiscriminator()

      { return null;// because no components run on the current service. }

      //init a server orb
      public void init()

      { // global variable ServerORB.orb = ORB.init(getORBProperties(), getORBCommandLine ()); }

      //make orb ready
      public void run()

      { ServerORB.orb.run(); }

      public void stop()

      { // not finished }

      }

      2: Configure the service in XML file

      <services>
      <service>
      <name>ORBService</name> //<--- orb service is a basic service, should be
      arranged here.
      <class> ORBService</class>
      </service>

      <service>
      <name>NameService</name>
      <class> NameService</class>
      </service>

      .....................
      <service>
      <name>DiscovereService</name>
      <class> DiscovereService</class> // <------------must be at end of the file
      </service>

      </services>

      3: Launch j2ee server

      When startup server, the service.xml will be resolved by a tool in
      server.Service will be initialized by order in the file

      4: Action in DiscovereService

      A task or a thread run in the service and discover components for server, when
      find deployed files,
      a event will be raised, some listeners will catch the event, then do some logic
      thing for it, for example:
      deployment.

      More detail, please browse “framework� topic in my website:
      http://jminapp.id666.com and get source from it. We provided the framework to
      make organization clearer in servers. If you meet any
      question, please contact me.

      Notes: I will move jmin project to java.net

        Activity

        Hide
        km added a comment -

        This looks like a platform enhancement request.

        Show
        km added a comment - This looks like a platform enhancement request.
        Hide
        Hong Zhang added a comment -

        Platform enhancement, assign to Bill. Also Ccing Jerome.

        Show
        Hong Zhang added a comment - Platform enhancement, assign to Bill. Also Ccing Jerome.
        Hide
        Bill Shannon added a comment -

        This isn't something we're going to address in the Java EE spec, but is very
        similar to what we're going to do with GlassFish V3, thus I'm reassigning it
        to Jerome.

        Show
        Bill Shannon added a comment - This isn't something we're going to address in the Java EE spec, but is very similar to what we're going to do with GlassFish V3, thus I'm reassigning it to Jerome.
        Hide
        obframework added a comment -

        Created an attachment (id=835)
        Chinese description of Jmin service

        Show
        obframework added a comment - Created an attachment (id=835) Chinese description of Jmin service
        Hide
        obframework added a comment -

        I am sorry that my English is not good,so that i can't express freely.In fact I
        want to show my idea to others. I have desiged a very simple micro-kernel,then
        intend to make a very simpel server(jmin) on the micro-kernel.You can regard
        the jmin server and the micro-kernel as demos around my idea.

        Show
        obframework added a comment - I am sorry that my English is not good,so that i can't express freely.In fact I want to show my idea to others. I have desiged a very simple micro-kernel,then intend to make a very simpel server(jmin) on the micro-kernel.You can regard the jmin server and the micro-kernel as demos around my idea.
        Hide
        obframework added a comment -

        I am sorry that my English is not good,so that i can't express freely.In fact I
        want to show my idea to others. I have desiged a very simple micro-kernel,then
        intend to make a very simpel server(jmin) on the micro-kernel.You can regard
        the jmin server and the micro-kernel as demos around my idea.

        Show
        obframework added a comment - I am sorry that my English is not good,so that i can't express freely.In fact I want to show my idea to others. I have desiged a very simple micro-kernel,then intend to make a very simpel server(jmin) on the micro-kernel.You can regard the jmin server and the micro-kernel as demos around my idea.
        Hide
        obframework added a comment -

        I have committed source about reference implementation. Thanks!

        Show
        obframework added a comment - I have committed source about reference implementation. Thanks!
        Hide
        Ken Cavanaugh added a comment -

        This has nothing to do with the rmi_iiop_load_balancer category, so I
        am moving it to the "other" category.

        Show
        Ken Cavanaugh added a comment - This has nothing to do with the rmi_iiop_load_balancer category, so I am moving it to the "other" category.
        Hide
        obframework added a comment -

        Unified Description in service Domain. Different services may hold different
        description for its compomnets. We often talk about a component,which is
        treated as one.We often listen some interesting J2ee Tech,for example: MBean,
        EJB,Datasource....and so on.Let us think over them,we can find out a valid
        way,a common way to describe them? OK, let us look at MBean(management bean).
        Who do manage beans ? Containers ! Observeing a MBean in process,a contaier
        apply its description into itself,and do some control on the cyclelife of the
        bean.In this case,why we can't image out another similar objects:MComponent
        (Management component). I can think a MComponent as a high-level object ?

        Below,I will show you some description sample for referrence

        For example:
        1: POJO description:

        <component id="discoverer" type="Bean">
        <class>xxx.xxx.xxx</class>
        <property name="name" value="Test">
        </component>

        Content between XML tag <component> will be alterable and parsed by a parser

        I think we can regard MBean as a simple component. Do you think so?

        2: Service description.

        In fact, we can regard services as some special components in more high-level
        service domain. Here,I share my definition

        <component id="admin" type="service">
        <class>xxx.FirstService</class>
        <property name="aspectPool">
        <property name="name" ref="First"/>
        </component>

        3:DataSource Component
        <component id ="dataSource1" type="dataSource">
        <jndi>JDataSource</jndi>
        <transaction>local</transaction>
        <driver>sun.jdbc.odbc.JdbcOdbcDriver</driver>
        <url>jdbc:odbc:jmin</url>
        <user>liao</user>
        <password>11111</password>
        </component>

        4:EJB component(composite component)
        <component id="session1" type="ejb3">
        <ejb-type>session</ejb-type>
        <interface>xxx.xxx.xxx</interface>
        <bean>xxx.xxx.xxx</bean>
        <state>stateless</state>
        <jndi>session1</jndi>
        .............
        </component>

        .............

        Every component should hold a unique ID in component container. But How to
        design a component container for the unified compoeents ?? I have some demos in
        Jmin server. You can refer to them. Thanks!

        Let's action in service domain,work together.

        Show
        obframework added a comment - Unified Description in service Domain. Different services may hold different description for its compomnets. We often talk about a component,which is treated as one.We often listen some interesting J2ee Tech,for example: MBean, EJB,Datasource....and so on.Let us think over them,we can find out a valid way,a common way to describe them? OK, let us look at MBean(management bean). Who do manage beans ? Containers ! Observeing a MBean in process,a contaier apply its description into itself,and do some control on the cyclelife of the bean.In this case,why we can't image out another similar objects:MComponent (Management component). I can think a MComponent as a high-level object ? Below,I will show you some description sample for referrence For example: 1: POJO description: <component id="discoverer" type="Bean"> <class>xxx.xxx.xxx</class> <property name="name" value="Test"> </component> Content between XML tag <component> will be alterable and parsed by a parser I think we can regard MBean as a simple component. Do you think so? 2: Service description. In fact, we can regard services as some special components in more high-level service domain. Here,I share my definition <component id="admin" type="service"> <class>xxx.FirstService</class> <property name="aspectPool"> <property name="name" ref="First"/> </component> 3:DataSource Component <component id ="dataSource1" type="dataSource"> <jndi>JDataSource</jndi> <transaction>local</transaction> <driver>sun.jdbc.odbc.JdbcOdbcDriver</driver> <url>jdbc:odbc:jmin</url> <user>liao</user> <password>11111</password> </component> 4:EJB component(composite component) <component id="session1" type="ejb3"> <ejb-type>session</ejb-type> <interface>xxx.xxx.xxx</interface> <bean>xxx.xxx.xxx</bean> <state>stateless</state> <jndi>session1</jndi> ............. </component> ............. Every component should hold a unique ID in component container. But How to design a component container for the unified compoeents ?? I have some demos in Jmin server. You can refer to them. Thanks! Let's action in service domain,work together.
        Hide
        Hong Zhang added a comment -
            • Issue 2395 has been marked as a duplicate of this issue. ***
        Show
        Hong Zhang added a comment - Issue 2395 has been marked as a duplicate of this issue. ***
        Hide
        Hong Zhang added a comment -

        Change category to other as this is for glassfish top level.

        Show
        Hong Zhang added a comment - Change category to other as this is for glassfish top level.
        Hide
        Tom Mueller added a comment -

        Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

        Show
        Tom Mueller added a comment - Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.
        Hide
        Tom Mueller added a comment -

        GlassFish is based on the HK2 framework (see hk2.java.net) which provides similar capabilities as are described in this issue. There are no plans to move GlassFish away from the HK2 framework, so marking this as "won't fix".

        Show
        Tom Mueller added a comment - GlassFish is based on the HK2 framework (see hk2.java.net) which provides similar capabilities as are described in this issue. There are no plans to move GlassFish away from the HK2 framework, so marking this as "won't fix".

          People

          • Assignee:
            Tom Mueller
            Reporter:
            obframework
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: