Aaron,
Your answer really helps me. And this could be helpfull for other devs
on dev-list.
Schema its ok form me. I take a look on schema directory and I found
other xsd and dtd files. Will DConfigBeans be provided just for
deployment plans (WAR, JAR, EJB-JAR, EAR and RAR) or it needs to cover
all the plans?? For example, web-jsptaglibrary, openejb-pkgen,
geronimo-[login-config, naming, security, sevice]...
Now I understand the purpose of connector and ra.xml. I think will be
better firstly to finish the DConfigBeans of connector-builder. When
all will be ok with these beans we will have a stable point to build
others DConfigBeans.
How could I test these API? You told you have a GUI that make
something like this. Could you send me?
Thanks,
Adriano...
On 7/14/05, Aaron Mulder <ammulder@alumni.princeton.edu> wrote:
> Adriano,
> If you build Geronimo and look in the
> modules/assembly/target/geronimo-1.0-SNAPSHOT directory, or download a
> build and look inside, you'll find a directory called "schema". That
> directory holds XML Schema definitions for all the XML files (both J2EE
> and Geronimo). Generally speaking, each J2EE module type has one J2EE
> XML file (J2EE deployment descriptor) and one Geronimo XML file (Geronimo
> deployment plan). These are:
>
> Type XML File Name XML Schema Name
>
> Web App WAR
> J2EE: WEB-INF/web.xml web-app_2_4.xsd
> Ger: WEB-INF/geronimo-web.xml geronimo-web.xsd *
>
> EJB JAR
> J2EE: META-INF/ejb-jar.xml ejb-jar_2_1.xsd
> Ger: META-INF/openejb-jar.xml openejb-jar.xsd *
>
> Connector RAR
> J2EE: META-INF/ra.xml connector_1_5.xsd
> Ger: META-INF/geronimo-ra.xml geronimo-connector_1_5.xsd
>
> Client JAR
> J2EE: META-INF/application-client.xml application-client_1_4.xsd
> Ger: META-INF/geronimo-application-client.xml
> geronimo-application-client.xsd
>
> Application EAR
> J2EE: META-INF/application.xml application_1_4.xsd
> Ger: META-INF/geronimo-application.xml geronimo-application.xsd
>
> * I just noticed that the latest build doesn't have all the schemas
> in that directory that it's supposed to, so I'm going to put in
> a change to add them back in, but you'll have to update and
> rebuild to see them. But if you search for those files in the
> source tree, you should find the original copies that get
> copied into the assembly output during the build.
>
> Note that in Geronimo, not all deployment plans use the names specified
> above. You have to use that name if you put the deployment plan inside
> the JAR/WAR/etc. that it goes with. But you can also keep it outside the
> archive and give a deploy command that takes both the archive file and the
> deployment plan with any name you like. So some of the Geronimo
> deployment plans I'll point you to may not follow the names above, but
> anything packed into a JAR will.
>
> Are you familiar with the XML Schema format for describing XML files? If
> not, perhaps we should talk about that a bit too.
>
> As for the config-store directory, when an application or component is
> deployed, a form of it gets saved to the config-store. So the things you
> see in there are from deployed applications. However, they're not really
> meant to be edited in there. The cryptic directory numbering scheme is
> because that whole directory tree is managed by a service called the
> configuration store, which is responsible for saving and loading deployed
> applications.
>
> Anyway, if you want to get started on connectors, I'll tell you a bit
> about ra.xml and geronimo-ra.xml. I'm not going to describe them in
> detail since I don't think you need to know every last bit to work on it,
> and also I'm working on a book that covers all the Geronimo deployment
> descriptors (which you can see online at
> http://chariotsolutions.com/geronimo/) -- I've done a draft of the
> connector chapter, but it hasn't been udpated since the M3 release, so it
> may not be 100% accurate but it should be pretty close.
>
> The ra.xml basically says what the connector can connect to, and how. So
> for the TranQL connector, it says it can connect to a JDBC database by
> providing an implementation of javax.sql.DataSource. It says it only
> supports connections to the database initiated by the application
> (outbound connections; not connections to the application initiated by the
> database, which would be inbound connections). It says you need to
> provide a URL, username, and password to connect, and so on. Nothing in
> there refers to a *specific* database -- it's doesn't say Oracle or DB/2
> or PostgreSQL, or what server or port it's on, or anything like that.
>
> The geronimo-ra.xml says you want to use that connector to connect to a
> specific "Enterprise Information Service" (EIS), which in the case of the
> TranQL connector means a database. So you have to give it all the
> settings it needs to connect -- in this case, you specify the JDBC connect
> URL, the username and password, and so on. You can also supply pooling
> parameters, so it creates a pool of 10 connections, or whatever.
>
> Other connectors may have more or different information. For example, the
> ActiveMQ connector (for JMS) supports both inbound and outbound
> connections. The outbound connections are message you send via JMS. The
> inbound connections are messages that a Message-Driven Bean receives from
> JMS. You may have one without the other, or both. The required settings
> here are different (server host and port instead of JDBC URL, for
> example). Also, you have to specify the names of the JMS destinations
> (topics and queues) that you're interested in, and they're represented as
> "admin objects". So the ra.xml says what classes of admin objects are
> available (here, topics and queues), and the geronimo-ra.xml says which
> specific topics and queues are used by the application.
>
> If you want to look at some samples, here's where you can find them. The
> ra.xml files are inside the ActiveMQ and TranQL RARs, which are located in
> your Maven repository directory. So unpack these files and look for the
> META-INF/ra.xml within:
>
> - $HOME/.maven/repository/activemq/rars/activemq-ra-*.rar
> - $HOME/.maven/repository/tranql/rars/tranql-connector-*.rar
>
> There's also a deployment plan in Geronimo for each one:
>
> - geronimo/modules/assembly/src/plan/system-database-plan.xml (TranQL)
> - geronimo/modules/assembly/src/plan/system-jms-plan.xml (ActiveMQ)
>
> Does that help?
>
> Thanks,
> Aaron
>
|