All--
Below is the change log for the initial checkin of a Beehive petstore-style application.
Tomorrow, I'll add a TODO list and additional comments on building / deploying / running.
In the meantime, here's a primer. It's currently set-up to run against a dev build; to do this, start Tomcat and run:
cd $BEEHIVE_HOME/samples/petstoreWeb/WEB-INF/src ant -f petstore-build.xml undeploy build deploy
This should remove any petstoreWeb/ context from Tomcat, build the sample, and deploy it to the running Tomcat instance. One of the next tasks should probably be getting this building against the distribution.
The sample is a good start but isn't done by any stretch; there are a few notable issues:
- the images of pets and opening image map are missing. This is a known issue; the original provider of the artwork of the pets and splash screen wasn't able to license the images to ASF, so they couldn't be checked into Apache SVN. Until images showup, they will appear as either broken links or will simply be missing. If anyone has a photogenic lizard, snake, dog, cat, or fish and knows Photoshop, we could use some images assuming you can format them to be the correct size / transparency. <g>
- the isn't integrated with webapp security yet. Right now, login is totally faked out and uses a "beehive" / "beehive" username / password.
There are also a bunch of things that could be done with the app including:
- using XMLBeans to transfer the catalog data. I've started this locally and just haven't quite finished it.
- cleaning the JPFs to follow more best practices. For example, the forms exposed to the JSPs right now don't wrap the model objects well. This is just rework from the app from its original form which hasn't happened yet.
- fixup of the account edit / create JPFs to be more wizard-like
- use of JPF declarative validation
- filling out the controls. There is a service layer that provides access to account, catalog, and order information, and these currently use a *very* naive in-memory object store (a Map). Would be great to get this integrated with the DatabaseControl / Derby and have real reads / transacted updates going on. Just helps to make the app appear more real.
There is also a petstore.jws that wraps some of the business controls and shows their data presented through an Axis web service.
I'd like to use Jira to track any issues that are identified and also to track enhancements so it's easier to see who's working on what.
Another point -- this is currently checked into the trunk/. I know that some of you run on limited bandwidth connections, so we can talk about moving this out of the trunk/ and into a parallel samples/ directory, though it seems easier to version the samples along with a version of the runtime if we branch -- for ApacheCon, for example.
One thing's for sure -- there's lots of room to grow the app. So, feel free to ask questions and make suggestions!
<g>
Eddie
-------- Original Message -------- Subject: svn commit: rev 55118 - in incubator/beehive/trunk/samples: .
Author: ekoneil Date: Tue Oct 19 19:23:27 2004 New Revision: 55118
Log: Initial checkin of a simple petstore-style sample application.
The app needs a fair amount of work. There are features left un-implemented:
- security
- completion of the business controls
- persistence (Database Control, etc)
- used for the catalog
- declarative validation
- form beans wrapping the various business objects that are exposed to JSPs via the JPFs
- tests of the controls
lots of bugs:
- back button - double post - business control issues
and lots of undiscovered problems / cleanup, I've no doubt. <g>
In addition, the images of the actual pets have been left out because of licensing issues with their original provider. We are unable to check them into Apache given this, and it would be *terrific* if anyone can help provide some art in this area. If you think you can contribute, let me know.
I'll try to provide a TODO list of things where people can jump in and help clean-up the application.
So, don't consider this finished -- consider this just a starting point that we need to evolve. <g>
BB: self DRT: Beehive pass
