From: Matthias B. <inf...@mb...> - 2003-03-25 19:57:59
|
Hi Tony and Jonathan, that's right - I imagined cartridges to have... * a project setup part (partial build.xml scriptlet, mergeable) * a generation time and compile time part (templates, code, libs) * and a runtime part (libs) The generation time part should contain a self-registering jar file with Java code and templates in it. Have a look at XDoclet's module files, they are JAR files with a sort of deployment descriptor XML file in them that describes which classes are the main classes. A magic class called ModuleFinder shows how dynamic discovery of modules is done. We should use a similar algorithm in AndroMDA. The main class of an AndroMDA cartridge should be able to register itself with the core. Therefor it must implement an interface that is defined in the core. At registration time, the cartridge should provide some info on the stereotypes that it understands and the architectural aspects it supports. At generation time, it should call the core once for each file it wants to generate. This will need a second interface, also defined by the core. More thoughts on Sunday... Matthias > -----Original Message----- > From: to...@am... [mailto:to...@am...]=20 > Sent: Tuesday, March 25, 2003 5:46 AM > To: Matthias Bohlen; 'Jonathan Carlson' > Cc: and...@li... > Subject: RE: blank-model.zargo - no Struts stereotypes >=20 >=20 > Jonathan, >=20 > I've copied the users group, because I thought it might be of=20 > interest to them. >=20 > When I created the blank-model I was focusing on EJB only in=20 > the blank model. I suppose that I also didn't really think=20 > our current Struts implementation was what we really wanted=20 > our users to be using - it seemed more reasonable to me that=20 > now that we have activity diagrams this would come into play=20 > somehow for modelling page flows. >=20 > I personally think that if AndroMDA grows the way we are=20 > hoping then we may actually want to be able to dynamically=20 > add stereotypes as 'cartridges' are installed into an=20 > AndroMDA installation. It seems reasonable. >=20 > I think that as we add more support in AndroMDA for different=20 > technologies people are going to find that it is just not=20 > feasible to have one monolithic blank model, build.xml, or=20 > build.properties file. I would expect that there will have to=20 > be some mechanism to merge these technologies packages (i.e. > 'cartridges') into a single project. I kind of expect that=20 > each of the technology 'cartridge's will likely contain blank=20 > models, simple build.xml rules, simple build.properties=20 > files, collections of jars, in order to make things work. >=20 > Things are going to get complicated very soon if we don't=20 > start tackling this problem. For example, for my current=20 > client I expect that I might have to build Data Transfer=20 > Object templates, business delegate templates, JDO templates,=20 > Web service templates, that is already a mess of templates=20 > that shouldn't be all coupled together. >=20 > I suppose that I felt as though throwing in Struts=20 > stereotypes into the EJB blank model would have been just=20 > avoiding this inevitable problem and missing the opportunity=20 > to tackle the problem. What I would really be excited to see=20 > is for us to create a Struts blank project (or JDO project)=20 > and then provide a way to merge the EJB and Struts templates=20 > into a single project. This way each individual technology=20 > will have a simple example, and complex project=20 > configurations can be constructed using these simple examples. >=20 > Perhaps I am smoking drugs, but I think it's possible and=20 > worth a try.=20 > Judging from Matthias's earlier email I suspect he thinks so too. >=20 > Any comments Matthias? >=20 >=20 > >-- Original Message -- > >Date: Mon, 24 Mar 2003 13:07:01 -0600 > >From: "Jonathan Carlson" <jac...@ka...> > >To: <to...@am...> > >Subject: blank-model.zargo - no Struts stereotypes > > > > > >Hi Tony, > > > >I'm wondering why you didn't include the StrutsForm, etc=20 > stereotypes in=20 > >the bank model. > > > >Given that it won't be possible to dynamically add them=20 > later via the=20 > >andromda-struts.zip file I don't think it would hurt anything to=20 > >include them in the blank model. > > > >My 2 cents, > > > >Jonathan > > > > > >************************************************************* > ********* > >This email and any files transmitted with it are confidential and=20 > >intended solely for the use of the individual or entity to whom they=20 > >are addressed. If you have received this email in error=20 > please notify=20 > >the system manager. > >************************************************************* > ********* >=20 >=20 >=20 |