Everything Java Apache Geospatial Open Source. Hello Shinning Stars!!! Vincent Massol, Raphael Luta, Santiago Gala, Carsten Z.
Tuesday, December 06, 2005
Thursday, December 01, 2005
MapServer supports four categories of data access. The first is the basic file method. It can access files of type shape, arcinfo, mapinfo, us census tiger, csv, etc. These are read only methods of accessing data. Other sources could update these files and MapServer would get the updates. This wouldn't be a good idea because there could be a io conflict.
ODBC can be used to access relational databases (SQL Server, Oracle, MySQL, and company)
The third category of data access is not applicable to our work. MapServer can access data provided by a Spatial database engine like ArcSDE, Oracle Spatial, or PostGIS. These solutions provide spatial indexing and special geographic types. I think this is out of our scope. It would take longer to set up, it is more complex to install. I would suggest exploring this option if you expect to address larger clients.
The last thing that I want to tell you about is MapScript. MapServer exposes their application programing interface so that hackers and integraters can do custom things with MapServer in the language of their choice (Java,PHP,Perl,Ruby). We are not using it but It can be used to create maps and plot data, as well as query data. I will deliver you an example that I found on the net.
And lastly, I looked at your database and the GPSActive table looks like it could be plotted on the Map using the ODBC solution. There were duplicates in the table but they had the same latitude and longitude. MapServer will plot all data from the table. If we want to get fancy and label each car with their own icon we will have to read the database using PHP and plot using MapScript. Give me some more thoughts on what you need.
<?php
/*
Application: QuickMap
Purpose: Use this file to test mapfiles
Authors: Bill Bronsema (bbronsema@dmsolutions.ca)
Philip Donaghy (philip.donaghy@gmail.com)
Copyright: 2005, DM Solutions Group Inc.
Instructions: - modify the MAPFILE path and the name of the phpmapscript
MODULE (lines 16 & 17)
- in a web browser goto http://127.0.0.1/quickmap.php
- an image of your data should be displayed in your browser, or
a MapServer error
*/
// define variables
define( "MAPFILE", "map/MorganCo.map" );
define( "MODULE", "php_mapscript_44.dll" );
// load the mapscript module
if (!extension_loaded("MapScript")) dl(MODULE);
// open map
//$oMap = ms_newMapObj( MAPFILE, dirname( MAPFILE ) );
$oMap = ms_newMapObj( MAPFILE );
// set projection
//$oMap->setProjection("init=epsg:42304");
// set size
$oMap->setsize(1200, 700);
// set image format
$oMap->selectoutputformat("png");
// draw map
$oImage = $oMap->draw();
// set header
header("Content-type: image/png");
// output map
$url = $oImage->saveImage("");
?>
Monday, November 14, 2005
User can CustomizeTheLayout, CustomizeTheStyle, CustomizeTemplates, CreatePages, CreateFolders, CreateSeparators, and CreateLinks.
Developers can WritePortlets, ConfigurePortlets, WriteLayouts, WriteStyles, as well as anything a user can do.
Administrators can InstallJetspeed, OptimizeJetspeed, ClusterJetspeed, CreateUsers, CreateGroups, and CreateRoles. As well as anything a user or developer can do. They are extremely lazy people who often say "That's the developers job".
Another important feature of Jetspeed is its ability to integrate with Apache Derby.
The most significant recently added to jetspeed are translations, portlet api compliance, statistics and page manager implementations.
Sunday, November 13, 2005
Just follow the ndiswrapper guide and it should work.
Wednesday, November 09, 2005
- MapServer Software
- Geographic Data
- MapServer Configuration
- Apache Portlet Bridge for MapServer
- Jetspeed Configuration
MapServer is a C program therfore you must obtain the proper version for your target operating system. Linux and Unix users will find that downloading the source and compiling it is the simplest alternative. Listed here are links to MapServer source and its required dependencies. Build each of these packages using the ./configure, make, and sudo make install commands. Building MapServer will tell you which dependencies are missing on your system.
MapServer-4.6.1 source code
GD-2.0.33 source code
Freetype-2.1.10 source code
Jpeg-6b source code
Png-1.2.8 source code
Windows users can use the ms4w package provided by maptools.org.
Mac OS users will find help here.
Geographic Data
The MapServer demo includes some sample geographic data.
MapServer Configuration
MapServer is configured using a MapFile. The demo configuration file is itasca.map.
Apache Portal Bridge for MapServer
A contribution to the Apache Portal Bridges project yeilded a component capable of executing the MapServer program. This bridge uses the portlet initalization parameters to determine the inital map. MapScript for Java is on the roadmap.
Jetspeed Configuration
A simple modification to any existing portlet.xml is enough to deploy a new MapServer map. See the attachment in the Jira issue.
Thursday, November 03, 2005
Tuesday, October 25, 2005
./mapserv QUERY_STRING="layer=Citylimits&layer=Citywards&zoomdir=1&zoomsize=2&map=%2Fms4w%2FApache%2Fhtdocs%2Fmap%2FMorganCo.map&program=%2Fcgi-bin%2Fmapserv&root=%2Fmap&map_web_imagepath=%2Ftmp%2F&map_web_imageurl=%2Fmap%2Ftmp%2F&map_web_template=map.html"
The parameter program will be replaced by a servlet mapping. Therefore all request to the url, /browse/map, will be redirected to the mapserver.
The template will have all
htmland
bodytags removed so that it is an html page fragment.
A MapServerPortlet class will implement the doView method and encapsulate the mapserv binary execution. The portlet requires the following settings, the location of the mapserv binary, the location of the map file, the initial layer to display, the template to use, the absolute uri to the servlet mapping, the temporary image directory, the temporary image uri, the zoom mode, the zoom value.
A Jetspeed bridge is required. It is based on the Perl bridge which was too busy for the mapserver needs, so I just adapted it to the simplicity of mapserver.
- Create a mapserver object using mapserv.c.loadParams and mapserv.c.loadMap
- Parse parameters mapserv.c.loadForm
- Determine the mode. One of three are know to me, browse,query, and nquery. This is determined by the msObj.Mode property. Most of this logic is in mapserv.c.main.
- Extent, scale, and query files are evaluated using mapserv.c.setExtent mapserv.c.checkWebScale and mapserv.c.msLoadQuery
- Images are generated using maptemplate.c.msGenerateImages
- Map is drawn using mapdraw.c.msDrawMap
- Map is drawn using mapdraw.c.msDrawQueryMap
- Legend is drawn using maplegend.c.msDrawLegend
- Scalebar is drawn using mapscale.c.msDrawScalebar
- Reference map is drawn using mapraster.c.msDrawReferenceMap
- Two maps on one page.
Sunday, October 23, 2005
Saturday, October 22, 2005
CreateYourOwnSimpleServletPortal
= The portlet.xml =
Add a new portlet tag to one of the existing portlet applications. The security application is know to work.
{{{
edit $JETSPEED2_SRC/applications/security/src/webapps/WEB-INF/portlets.xml
}}}
The portlet tag can be placed anywhere inside the root element called portlet-app.
{{{
}}}
= The psml =
Add a fragment tag to one of the psml files. The default page is appropriate.
{{{
edit $JETSPEED2_SRC/src/webapp/WEB-INF/pages/default-page.psml
}}}
Note that the id must be unique. Using the same id twice will confuse Jetspeed. There is no error handling regarding this point so be creative.
{{{
}}}
= The JSP =
We did say that this is a simple servlet portlet, so the JSP will be simple.
{{{
edit $JETSPEED2_SRC/applications/security/src/webapps/WEB-INF/security/login/simple.jsp
}}}
Here are the contents of a very simple JSP.
{{{
<%@page import="java.util.Date"%>
The time is <%=(new Date()).toString()%>
}}}
Friday, October 21, 2005
To simplify this document $JS2_PAGES will represent the directory path src/webapp/WEB-INF/pages of the Jetspeed 2 source code.
= Jetspeed Portlet Layout =
The Jetspeed portlet layout is defined by a number of mechanisms. The $JS2_PAGES file structure has an effect on the layout. Here are some modifications you can do without breaking the build.
== Change the Default Page ==
Modify the column and row indexes for some or all of the portlets on the welcome page($JS2_PAGES/default-page.psml).
== Add Additional Links ==
Create a file called myLink.link in the directory $JS2_PAGES. Refer to or copy one of the other .link files for the proper syntax.
== Create a New Tab ==
Tabs can be created by simply creating a psml file in the $JS2_PAGES directory. Copy $JS2_PAGES/default-page.psml to $JS2_PAGES/my-page.psml. Note that the security-constraint tag in psml defines the roles authorized to view this page.
== Modify the Menu ==
The left menu is defined in the folder.metadata file of each directory of the $JS2_PAGES directory.
security-constraint defines a list of web resources (urls) protected by web security and a list of roles authorized to access these resources.
login-config defines the authentication method and the realm name. Optionally a login page and a error page can be defined.
The security-role tag must appear if this is a custom role that does not already exist in the container.
Tuesday, October 18, 2005
Requirements
JDK 1.4.1 or higher
Maven 1.0.2
Tomcat 5.5.12
Set the following environment variables.
Linux and Unix
export MAVEN_HOME=/home/opensource/apache-maven-1.0.2/
export CATALINA_HOME=/home/opensource/apache-tomcat-5.5.12/
export JETSPEED2_SRC=/home/opensource/jetspeed-2/
Windows
set MAVEN_HOME=/home/opensource/apache-maven-1.0.2/
set CATALINA_HOME=/home/opensource/apache-tomcat-5.5.12/
set JETSPEED2_SRC=/home/opensource/jetspeed-2/
Modify Tomcat's tomcat-users.xml to contain the following lines
<role rolename="manager">
<user username="j2deployer" password="j2deployer" roles="manager">
Building
maven -Dorg.apache.jetspeed.server.home=$CATALINA_HOME -Dorg.apache.jetspeed.server.shared=$CATALINA_HOME/shared/lib -Dorg.apache.jetspeed.deploy.war.dir=$CATALINA_HOME/webapps -Dorg.apache.jetspeed.services.autodeployment.user=j2deployer -Dorg.apache.jetspeed.services.autodeployment.password=j2deployer -Dorg.apache.jetspeed.catalina.version.major=5.5 -Dorg.apache.jetspeed.project.home=$JETSPEED2_SRC initMavenPlugin
maven -Dorg.apache.jetspeed.server.home=$CATALINA_HOME -Dorg.apache.jetspeed.server.shared=$CATALINA_HOME/shared/lib -Dorg.apache.jetspeed.deploy.war.dir=$CATALINA_HOME/webapps -Dorg.apache.jetspeed.services.autodeployment.user=j2deployer -Dorg.apache.jetspeed.services.autodeployment.password=j2deployer -Dorg.apache.jetspeed.catalina.version.major=5.5 -Dorg.apache.jetspeed.project.home=$JETSPEED2_SRC j2:start.test.server
maven -Dorg.apache.jetspeed.server.home=$CATALINA_HOME -Dorg.apache.jetspeed.server.shared=$CATALINA_HOME/shared/lib -Dorg.apache.jetspeed.deploy.war.dir=$CATALINA_HOME/webapps -Dorg.apache.jetspeed.services.autodeployment.user=j2deployer -Dorg.apache.jetspeed.services.autodeployment.password=j2deployer -Dorg.apache.jetspeed.catalina.version.major=5.5 -Dorg.apache.jetspeed.project.home=$JETSPEED2_SRC allClean allBuild
Running
maven -Dorg.apache.jetspeed.server.home=$CATALINA_HOME -Dorg.apache.jetspeed.server.shared=$CATALINA_HOME/shared/lib -Dorg.apache.jetspeed.deploy.war.dir=$CATALINA_HOME/webapps -Dorg.apache.jetspeed.services.autodeployment.user=j2deployer -Dorg.apache.jetspeed.services.autodeployment.password=j2deployer -Dorg.apache.jetspeed.catalina.version.major=5.5 -Dorg.apache.jetspeed.project.home=$JETSPEED2_SRC j2:start.production.server
maven -Dorg.apache.jetspeed.server.home=$CATALINA_HOME -Dorg.apache.jetspeed.server.shared=$CATALINA_HOME/shared/lib -Dorg.apache.jetspeed.deploy.war.dir=$CATALINA_HOME/webapps -Dorg.apache.jetspeed.services.autodeployment.user=j2deployer -Dorg.apache.jetspeed.services.autodeployment.password=j2deployer -Dorg.apache.jetspeed.catalina.version.major=5.5 -Dorg.apache.jetspeed.project.home=$JETSPEED2_SRC j2:quickStart
I don't understand why the org.apache.jetspeed.project.home is required. Can't this be obtained from Maven.
Tomcat 5.5 is telling me that "[/jetspeed] startup failed due to previous errors". The errors and warnings are in order of appearance.
WARNING: A docBase /home/opensource/soft/bin/apache-tomcat-5.5.12/webapps/jetspeed inside the host appBase has been specified, and will be ignored
INFO: WARNING: Security role name admin used in an
SEVERE: Error filterStart
Tuesday, August 16, 2005
cartridges/andromda-bpm4struts/src/java/org/andromda/cartridges/bpm4struts/Bpm4StrutsProfile.java
cartridges/andromda-bpm4struts/src/java/org/andromda/cartridges/bpm4struts/Bpm4StrutsUtils.java
See the metafacades directory for classes that represent uml profiles.
cartridges/andromda-bpm4struts/src/java/org/andromda/cartridges/bpm4struts/metafacades
cartridges/andromda-bpm4struts/src/java/org/andromda/cartridges/bpm4struts/metafacades/StrutsAttributeLogicImpl.java
cartridges/andromda-bpm4struts/src/java/org/andromda/cartridges/bpm4struts/metafacades/StrutsJspLogicImpl.java
cartridges/andromda-bpm4struts/src/java/org/andromda/cartridges/bpm4struts/metafacades/StrutsManageableEntityAttributeLogicImpl.java
cartridges/andromda-bpm4struts/src/java/org/andromda/cartridges/bpm4struts/metafacades/StrutsParameterLogicImpl.java
cartridges/andromda-bpm4struts/src/java/org/andromda/cartridges/bpm4struts/metafacades/StrutsUseCaseLogicImpl.java
Monday, August 15, 2005
Friday, July 22, 2005
Tuesday, July 19, 2005
Tuesday, July 12, 2005
Thursday, June 30, 2005
- cglib (resolves 1% of the errors)
- mx4j and mx4j remote (resolves less than 2% of the errors)
- log4j (resolves less than 1% of the errors)
- xml-resolver (resolves less than 1% of the errors)
- junit (25% of the errors) and is only required for the tests
- xmlbeans (resolves 51% of the errors)
- concurrent (2%)
- exolab castor 0.9.5.3 (6%)
- axis 1.3 (4%)
- howl (%)
- activeio
- ant
- antlr
- commons-collections
- commons-cli
- commons-fileupload
- commons-httpclient
- commons-io
- commons-jelly
- commons-logging
- commons-modeler
- commons-primatives
- maven
- regexps
- velocity
- hsqldb
- openejb
- openorb
Security is now compiling.
- axiondb
- axis scout
- bountycastle
- catalina
- derby
- jetty
- mockobjects
- objectweb asm
- spring
- xfire
- xstream
- geronimo-axis-builder-1.0-SNAPSHOT.jar
- geronimo-client-builder-1.0-SNAPSHOT.jar
- geronimo-connector-builder-1.0-SNAPSHOT.jar
- geronimo-j2ee-builder-1.0-SNAPSHOT.jar
- geronimo-j2ee-schema-1.0-SNAPSHOT.jar
- geronimo-jetty-builder-1.0-SNAPSHOT.jar
- geronimo-naming-1.0-SNAPSHOT.jar
- geronimo-naming-builder-1.0-SNAPSHOT.jar
- geronimo-security-builder-1.0-SNAPSHOT.jar
- geronimo-service-builder-1.0-SNAPSHOT.jar
- geronimo-spring-builder-1.0-SNAPSHOT.jar
- geronimo-tomcat-builder-1.0-SNAPSHOT.jar
- openejb-builder-1.0-SNAPSHOT.jar
The remaining errors were caused by duplicate class files. I deleted them to move forward.
This is where it gets interesting. The server is started using the org.apache.geronimo.system.main.Daemon class in the system module. It requires the server.jar to be on the classpath. It is found in the modules/assembly/target/geronimo-1.0-SNAPSHOT/bin directory. Debugging this now. There are several errors that need to be work out.
Wednesday, June 29, 2005
Tuesday, June 21, 2005
Tuesday, June 07, 2005
Monday, June 06, 2005
Wednesday, June 01, 2005
Thursday, May 26, 2005
Friday, May 20, 2005
Thursday, April 21, 2005
Wednesday, April 20, 2005
Software methodology = modeling language + software process
Agent technology software system characteristics = situation awarness + intelligent behavior + distributed + mobility + nomadic users
SODA = Societies in Open Distributed Agent spaces = agent societies + agent environments + inter-agent aspects.
Agent methodology = external viewpoint (Services Purpose and Responsibitities) + internal viewpoint (Beliefs Goals and Plans).
See MESSAGE, Tropos, Prometheus, and JACK.
See section 3.1 of James Odell's paper.
MDA is the process of converting UML to an deployable application.
The UML models that are used by MDA are in two categories. Structural Diagrams = Static Aspects. Behavioral Diagrams = Dynamic Aspects.
Structural Diagrams = class + object + composition + component + deployment
Behavioral Diagrams = use case + activity + state + sequence + communication + interaction
Generating deployable applications is the final stage of MDA. It requires these models: Computational Independent Model (CIM), Platform Independent Model (PIM), and the Platform Specific Model (PSM). These are the models created during generation. See AndroMDA for more information on MDA. See Agentis for more information on Agent technology.
Friday, April 15, 2005
Testing requires SVN, Java, Maven, and the ActiveMQ source code. These are the quick start commands,
svn co svn://svn.activemq.org/activemq/scm/trunk/activemq
cd activemq
maven
cd modules/assembly
maven server
maven producer
maven consumer
More to come on customizing and integrating this configuration.
References :
http://activemq.codehaus.org/Examples
http://activemq.codehaus.org/SVN
http://maven.apache.org/
http://java.sun.com/
Friday, April 08, 2005
Wednesday, April 06, 2005
Tuesday, April 05, 2005
Wednesday, March 30, 2005
java -jar bin/server.jar org/apache/geronimo/DebugConsole org/apache/geronimo/RuntimeDeployer org/apache/geronimo/DefaultDatabase org/apache/geronimo/SystemJMS
The Debug, Deployer, JMS, and Database GBeans are started. As stated var/config/config.list contains the last stable config therefore subsequent restart is done using this command,
java -jar bin/server.jar
Geronimo EAR Deployment is done using this command,
java -jar bin/deployer.jar deploy ~/agentis/agentis/Agentis370_350IDE/work/SimpleProjectTest/dist/SimpleProjectTest-agent.ear
Tuesday, March 29, 2005
Tuesday, March 08, 2005
Wednesday, March 02, 2005
Sunday, February 27, 2005
Wednesday, February 23, 2005
Tuesday, February 22, 2005
Monday, February 14, 2005
Thursday, February 03, 2005
java.sql.SQLException: Table not found: DECISION_ITEM in statement [select decisionit0_.ID as ID, decisionit0_.class as class, decisionit0_.ROOT_ITEM as ROOT_ITEM, decisionit0_.YES_SUCCESSOR_FK as YES_SUCC4_, decisionit0_.NO_SUCCESSOR_FK as NO_SUCCE5_, decisionit0_.NAME as NAME, decisionit0_.PROMPT_STRING as PROMPT_S7_ from DECISION_ITEM decisionit0_ where (decisionit0_.ROOT_ITEM=true )]
at org.hsqldb.jdbc.jdbcUtil.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:355)
at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:205)
at net.sf.hibernate.impl.BatcherImpl.getPreparedStatement(BatcherImpl.java:257)
at net.sf.hibernate.impl.BatcherImpl.getPreparedStatement(BatcherImpl.java:232)
at net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:65)
at net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:779)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:265)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
at net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
at net.sf.hibernate.loader.Loader.list(Loader.java:1024)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at org.andromda.samples.animalquiz.decisiontree.DecisionItemFactory.findRoot(DecisionItemFactory.java:43)
at org.andromda.samples.animalquiz.decisiontree.DecisionServiceBeanImpl.handleGetFirstQuestion(DecisionServiceBeanImpl.java:17)
at org.andromda.samples.animalquiz.decisiontree.DecisionServiceBean.getFirstQuestion(DecisionServiceBean.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:113)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:856)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:155)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:104)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:90)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:97)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
at $Proxy122.getFirstQuestion(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:384)
at org.apache.axis.providers.java.EJBProvider.invokeMethod(EJBProvider.java:459)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:281)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:54)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
00:42:24,330 ERROR [LogInterceptor] EJBException in method: public abstract org.andromda.samples.animalquiz.decisiontree.VODecisionItem org.andromda.samples.animalquiz.decisiontree.DecisionService.getFirstQuestion() throws org.andromda.samples.animalquiz.decisiontree.DecisionException,java.rmi.RemoteException:
javax.ejb.EJBException: DecisionServiceBean.getFirstQuestion: javax.ejb.EJBException: null; CausedByException is:
Could not execute query
at org.andromda.samples.animalquiz.decisiontree.DecisionServiceBean.getFirstQuestion(DecisionServiceBean.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:113)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:856)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:155)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:104)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:90)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:97)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
at $Proxy122.getFirstQuestion(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:384)
at org.apache.axis.providers.java.EJBProvider.invokeMethod(EJBProvider.java:459)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:281)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:54)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
Monday, January 10, 2005
RESUME - PHILIP MARK DONAGHY - Professional consultant for the following (open source) technologies. PostgreSQL MySQL Oracle and IBM DB2 DBMS. Apache AXIS Geronimo LDAP Samba and Tomcat servers. GML JDOM JAXP SAX and XERCES XML specifications. AndroMDA Velocity and XDoclet code generators. Linux Solaris and Win OS. Struts MVC II design pattern. JSP Struts Tiles Struts Validator and DisplayTag presentation layers. J2EE EJB JDBC JMS JMX JNDI JSSE JSTL JTA JTX Java Thread Java beans Java IO Java Lang Java Net Java RMI Java Security Java SQL Java Text Java Util Javax Naming Javax SQL Javax XML w3c DOM XML SAX and JavaMail Java 2 SDK APIs. J2SDK Ant Maven Eclipse JBuilder Log4J Apache Jakarta Commons Clay DBCP Taglibs DisplayTag Easy Struts Lomboz Oxygen and CVS development platforms. ArcIMS GRASS PostGIS and MapServer GIS. OpenSSL SSH SSL HTTP SOAP and DNS BIND protocols. I use object-oriented analysis & design (OOAD), l'Unified Modeling Language (UML), Enterprise JavaBeans (EJBs), JavaServer Pages (JSPs), Java Server Faces (JSFs), Data Access Objects (DAOs). I support open source and the Java Community Process (JCP).
159 rue du Fbg Poissonniàre
75009 Paris France
Tel. : +33 (0)1 48 74 23 80
Mobile : +33 (0)6 20 83 22 62
Email : philipmarkdonaghy 0 yahoo 0 com
Website : donaghy.blogspot.com
Born the 8th of August 1972
Married
Nationality : American
French Resident
( working permit )
EDUCATION
1996. San Diego State University. Bachelors of Science in General Geology and Bachelors of Science in Computer Science.
LANGUAGES
English : Mother tongue
French : Read, written, and spoken
PROFESSIONAL EXPERIENCE
May 2004. GISIG. Paris (75). Apache Architect
Responsabilities
Produce an Apache compile farm
Application Functionalities
Compile Ant 1.6.1, Junit 3.8.1, MX4J 2.0.1, Apache Commons Lang
Technolgies
Linux 2.4.20, CVS 1.11.2
October 2003 to April 2004. Acadomia. Alten SI. Paris (75). Web Application Architect.
Responsabilities
Establish a framework for a mission critical web application
Define a security mechanism for user authentification and authorization
Determine the data acess requirements and create a code generator from JDBC connection which provides acces to a persitant data layer
Separate the data access layer from the business logic layer and the java bean and presentation layers
Establish an error mechanism using the Java exception technology
Train eight engineers to use the Struts actions, form beans, validator, tiles, and controller technologies
Assure the sychronisation of data using web services
Integrate common paging and tab panes tag libraries into the presentation layer
Application Functionalities
Intranet used for the managment of the Acadomia organisation and their client database
User interfaces permiting the creation of agencies, families, students, and tutors
Application controled security customized using the application back office administrator
References
February 2003 to September 2003. AirportSmart. Alten SI. LGS France. IBM Global Services. Paris (92). Web Application Architect.
Responsabilities
Responsable for the architecture and development of a intranet whos space is dedicated to buyers and suppliers of the airport industry.
Perform system administration for developer, preproduction, and production servers.
Install and configure Linux, Samba, Apache, Tomcat, IBM DB2, J2SDK, Struts, Ant, JBuilder, Log4J, OpenSSL, LDAP, PHP, CVS, JNDI, JDBC, JavaMail, TagLibs (JSTL), Apache Commons, Tiles, Velocity templates, Email Servers.
Train and provide assistance to eight other engineers.
The application is executed using multiple servers installed with the Linux Red Hat distribution.
The servers use the Java 2 Enterprise Platform to communicate between data sources most of which are based on Open Source products. LDAP Secureway and IBM DB2
Application Functionalities
The functionalities of the web application are supported in any language.
Internationalization is at the core of the application, which includes graphical interfaces for activating new languages, and for translating data.
References
December 2002 to May 2003. ATEC. Cachan (94). Project Manager Internet.
Responsabilities
Produce a web application for an office of Construction Economists.
References
August 2001 to July 2002. Egencia. Paris, France. Lead Java Developer.
Responsabilities
Development of travel portal using Java technology.
Responsible for implementing J2EE ( Java 2 Platform Enterprise Edition ) architecture on n-tier heterogeneous platform.
Creation and design of Web tier using JavaBeans constructed from Data Access Objects ( DAO ).
Data sources include XML ( Extensible Markup Language ), Oracle, and HTTP protocol over SSL using the Java Secure Socket Extension ( JSSE ).
Integrated platform with the SNCF Train Reservation System for Online Travel Agencies ( RAVEL, Système de Réservation SNCF pour les Agences de Voyages En Ligne ), the KIX XML API for KDS Wave Server, and Business Objects.
References
January 2001 to August 2001. MapImage. Paris, France. Internet Application Developer.
Responsabilities
Development of Web portal software using Java technology.
Responsible for designing and writing a Web application using Servlet technology on Internet Information Server ( IIS ) platform.
Utilisation of MS Java SDK and virtual machine.
References
June 2000 to January 2001. ESRI France. Meudon, France. Development Engineer.
Responsabilities
Development of GIS ( Geographic Information Systems ) project in the field of wireless telecommunications.
Responsible for developing a Web client to ArcIMS ( Arc Internet Map Server ) for a leading telecommunications company.
Product destinated for French Justice Department for use in criminal investigations notably for the positioning of mobile phone calls.
Designed a multi user environment used to display cartography based on dates, phone numbers, and/or locations.
Developed search engine tool to assist user in the research.
Developed reporting tool to log usage.
References
http://www.esrifrance.fr
June 1998 to April 2000. ESRI Inc. Redlands, CA, USA. Software Release Manager.
Responsabilities
Development of automated test suites for GIS software package called ArcIMS ( Arc Internet Map Server ).
Tests were written in Java and JavaScript to send multiple requests to the ArcIMS clients and servers to perform load, api, and regression tests.
Responsible for the quality of the software release for the Sun Solaris platform.
References
January 1996 to March 1998. Scripps Institution of Oceanography. San Diego, CA, USA. Research Assistant.
Responsabilities
Studying the climate of the San Francisco Bay area. Development of real-time weather website and tools to forecast weather based on statistics. Performed analysis of weather patterns using Matlab mathematical application. Graphs and models where created by developing programs using Matlab scripting language.
References
SKILLS
Knowledge of diverse IT systems and programming methods.
Research : Scientific Method, Mineralogy, Petrology, Structural Geology, Oceanography and Statistics
Programming : Java, JavaScript, C, C++, SQL, HTML, ASP, JSP, Taglibs, UNIX : bash, sh, csh, ksh, perl, php
Technologies : Tomcat, Struts, Servlet, JSP, XML, DTD, XSLT, JASP, EJB, JavaBeans, JavaMail, JDBC, JSSE, MVC, JDOM, Taglibs, TLD, NetBeans, Linux
Web Servers : Apache, IIS, iPlanet.
ArcIMS 3.0 Knowledge and Experience
Client, Middleware, and Server Architecture.
AXL Communication between components.
Administration of Map Services and multiple machine configurations.
Customization using HTML client and Servlet Connector.
Design and development of the test harness for the Java Viewer API.
Development of a debug and trace tool for the ArcIMS Viewers.
Configuration of the Cold Fusion Connector.
Experience developing custom AXL requests.
Developement Tools
Eight years experience using Sun Microsystems Java Development Kit
Five years experience using JBuilder for Java development.
Four years experience using Cold Fusion Studio/Server for HTML development.
Two years experience using Oracle 8, Toad, and sqlplus.
Six months experience using IBM DB2 datastore.
Six months experience using MS SQLServer.
Open Source Software Development for Service Oriented Projects
By Philip Mark Donaghy
There is no doubt that Open Source methods are becoming the norm used by service agencies everywhere. These are the guidelines I recommend when developing using open source software. These principals will guarantee an effective development process.
Communication with Mailing Lists
A large percentage of projects fail due to poor communications. It is very important that communication is traced so that managers, developers, and clients can have the correct information at the right time.
The solution to this problem :
Use internal mailing lists to notify people of news, events and or changes that are important to the end users as well as managers, clients, and developers. Three lists should be sufficient. The client list, a developers list, and a managers list. In addition the use of public mailing lists to effectively monitor software limitations and benefits.
Modeled Architecture using UML, Object, Exchange, and Database models
Problems arise from ineffectively copying and pasting source code.
The solution to this problem :
Use models to define the architecture of the application. Model driven architecture is the most modern method of developing service oriented software. A large portion of the application can be automatically generated using Velocity or AndroMDA.
Client Workflow
A third difficulty comes from poor client specifications. The solution is to monitor the clients needs and expectations.
The solution to this problem :
Architects and developers can not effectively create service oriented applications without the technical and functional contacts with the client.
Developer Workflow
Developers are curious animals. The all have their habits and methods of contributing to a project. The most important characteristics necessary to identify a responsible developer are his or her "bonne volonté", the desire to contribute ones maximum potential toward a projects success, and his or her professional attitude. These aside, here are some simple steps all developers should follow.
Verify the stability of the source code
Notify project directors when source code is unstable
Debug
Find the person responsible for the error
Work with them to estimate the
Run regression tests
Notify project directors when regression tests fail
Debug
Find the person responsible for the error
Work with them to estimate the correction
Evaluate remaining development
Meet with project directors to discuss solutions
Language
The software documentation must use a consistent language.
The solution to this problem :
A development team often consists of many nationalities. In such a case documentation communication should be written in English.
French can be the dominant language if the clients, managers, and staff are all French nationals or master French as a second language.
Development Platforms
A final and frequent problem arises with the network services used during the development process and the cost to maintain them.
The solution to this problem :
The development platform must be composed of all elements to run the application independently of network connections. Therefore the database must be installed on the development machine. Traditional Windows machines are not practical, secure or fast enough for this scenario therefore Linux is recommended.
Source Control
Problems arise when source code is locked by other developers.
The solution to this problem :
Use the most common open source source control. At the time of this writing this is CVS, although Subversion has be recently adopted by most new and cutting edge development efforts.
Build Scripts
Problems arise when build scripts are platform dependent.
The solution to this problem :
Use the most common open source build system. At the time of this writing this is Ant, although Maven is making great strides.
As with development build scripts should modular. Meaning that one central build script calls other scripts.
Delays
Delays can be avoided only by synchronizing the efforts made by the client, managers, third parties, and developers. In order to master the planning of a project all the technical, functional, and management aspects must be mastered. At our company we strive to make this our mission. Our contracts describe the exact solution and its implementation along with the time to delivery and the cost.
Blog Archive
-
▼
2005
(84)
-
►
November
(8)
- Clarify the following skin, theme, layout-decorato...
- I'm thinking about Jetspeed documentation. Correct...
- [#JS2-188] Implement the LDAP - ASF JIRA summarize...
- The Jetspeed issue tracker, Browse Project - ASF J...
- A quick thing that anyone can do with Jetspeed is ...
- Installing wifi card on my toshiba 1800-100 with s...
- A MapServer portlet requires the following element...
- I just realized the best way to trick google into ...
-
►
October
(8)
- I am going to write a MapServer portlet. The mapse...
- MapServer 4.6 requests can probably be broken down...
- Implicit versus explicit application development. ...
- Another short tutorial on the Jetspeed portlet.Cre...
- Please read QuickstartForTheImpatient before befor...
- I see that in Jetspeed's demo portlets the web.xml...
- Seems there are some patches to do for Jetspeed.de...
- I am writing a JetSpeed 2 quickstart development g...
-
►
June
(11)
- The Apache Geronimo code source can be imported in...
- The Eclipse UML2 Project is rapidly becoming a str...
- There are some electronic books listed on the Apac...
- It never hurts to browse the Apache Geronimo Javad...
- There are five Apache Geronimo Mailing Lists, dev,...
- Get to know the Apache Geronimo Committers.
- tomlauren.com: J2EE Best Practices. I found this s...
- This Core Developers Network document describes "t...
- Find UML tutorials
- Open Directory - Computers: Programming: Methodolo...
- Apache Conference Europe 2005 will be in Stuttgart...
-
►
April
(29)
- Overview (UML 1.4 with Diagram Interchange API) is...
- Much of the Agentis Platform is based on open sour...
- These are keywords that I obtained from James Odel...
- The FIPA Abstract Architecture for Agent technolgi...
- A list of tools and resources related to UML 2.0 a...
- I just met James Odell and I read one of his paper...
- This series is on Agent technology, a branch of Ar...
- Get to know Geronimo Architecture. See Architectur...
- Geronimo security, Security - Geronimo Wiki
- Read this book on Geronimo, Chariot Solutions | J2...
- I just read about the CMP implementation. Things t...
- The last look at this page reveals CMP guide lines...
- This are the J2EE naming conventions used by Geron...
- Logging the Geronimo server is most important if y...
- Geronimo uses the MX4J implementation of the Java ...
- Geronimo has a kernel and obviously this is where ...
- org.apache.geronimo.gbean (Geronimo :: Kernel 1.0-...
- Some key Open Source developers seem to be working...
- I met Bob McWhirter at ApacheCon 2004. Take a look...
- Using the ActiveMQ embedded broker. See ActiveMQ -...
- ActiveMQ features include a list of protocols used...
- Building ActiveMQ to test the peer environment fro...
- WebSphere Studio Application Developer and Site De...
- Chapter 8. Security on JBoss indicates the jboss d...
- ListOfPortsUsedDuringTesting - Geronimo Wiki is us...
- IconBAZAAR is classic. It is nice to see that it i...
- There is a JMS sample provided in the Gluecode Sof...
- Deployment - Geronimo Wiki contains sample deploym...
- Running - Geronimo Wiki lists the optional Config ...
-
►
February
(9)
- My XMLBeans sample project. This sample integrates...
- Agentis Software is a potential client. Their soft...
- I am on a domain naming spree. Welcome to the site...
- Real Estate Sell or Buy Your House is my AndroMDA ...
- Liam is our son. I just got his site back online a...
- Welcome to the site of Consultant Philip Mark Dona...
- This is my websites entire site map.
- Buy Sell Rent or Trade Property and Real Estate ha...
- This is quite a long exception. The cause is inclu...
-
►
November
(8)