Aranea Development Model
October 2nd, 2007 by Toomas RömerIntroducing the new approved Aranea Development Model. Pair programming at its best, demonstrated by Jevgeni and Toomas.
Introducing the new approved Aranea Development Model. Pair programming at its best, demonstrated by Jevgeni and Toomas.
We had somewhat longer gap between releases of M3 and M4 than usual, due to team taking vacation in July and being temporarily involved in three different projects as of late. But now for some highlights of 1.1-M4:
Also, there’s support for context menus in browsers, new control that is hybrid of text and select controls, plus for everyones coding pleasure FormWidget.addElement* and FilterHelper.* methods do not throw checked Exceptions anymore. See full changelog here.
Separate 1.1 demo application is also up. Obviously demos contain more explanations and stuff than mentioned here, so take a look! For everyone who has not yet noticed—already since early 1.0 days there are Widget source and Template source links in our demos (they are not easily spotted sometimes, look at the bottom left corner next to side menu
).
NB! It was not mentioned in changelog that comes with distro, but StandardFlowContainerWidget (standard implementation of FlowContext) was modified in a way that is incompatible with some older uses. Namely, when call stack is empty and parent FlowContext exists, StandardFlowContainerWidget.finish() and cancel() methods return control to parent FlowContext (meaning that once active StandardFlowContainerWidget is gone for good). In cases (mainly in menus) where this is unwanted, one must take care and call StandardFlowContainerWidget.setFinishable(false).
Although not directly connected to Aranea we are proud to present the first release from our spin-off ZeroTurnaround. The spin-off will focus on increasing developer productivity by reducing development turnaround time.
Our first product JSP Weaver is a JSP interpreter. Usually JSP is first translated to regular Java code and then compiled into a Java servlet. JSP Weaver eliminates the Java generation and compilation stage by interpreting the JSP files on-the-fly. This reduces the time taken to reload a JSP up to 50 times bringing it from seconds down to milliseconds.
Although we will provide full support of JSP standard in the final release, this milestone does not yet include support for the non-XML old style JSP syntax and provides limited support for scriptlets. If you are using XML syntax for your JSPs have a go at it and be amazed by the speedup.
Disclaimer: JSP Weaver is a commercial product that costs about 49$ per developer seat. You can try it out for free with no limitation, but must buy it for development.
I have been away from Aranea for almost a year. Now that I’m back I need to have my development envrionment set up. As I’m doing it the third time now (my laptop), I thought I’ll share the experience of getting an Aranea checkout built and tested (via sample app). This will differ from setting up an development environment but still will provide some insight.
What do you need?
First off do a checkout of the project. The trunk branch is named latest in Changelogic - so we’ll be working with the latest and greatest.
svn checkout http://svn.araneaframework.org/repos/aranea/branches/latest aranea
A directory aranea was created by the checkout command. Now you have all the source and build files present but you’re still missing the libraries to compile the source code. Execute:
ant fetch-libs
The script contacts the ibiblio maven repository using the ivy dependency manager and fetches the jar files. This can take from 3 minutes to 18 (my current record), the time depends on what not
Lets compile the code and the examples:
ant build-all
On my 2Ghz laptop running at 800Mhz it took 52 seconds. find . -iname “*java” -exec cat {} \; | wc -l shows 82653 lines of source files.
So now you have aranea built and ready to see the example applications. As we’ll just check the main application right now, we need to start the bundled database. Open up another shell in the aranea directory. Traverse to examples/main. Run:
ant run-database
This will start the bundled HSQLDB with the sample data. Traverse to examples/main with another shell and execute:
ant run-app
Now you have launched jetty webserver on port 2000 and JPDA dt_socket connection on port 5999. Head over to http://localhost:2000/mainExample/main and you should see a login screen. Click “Bypass login” and you’re in to see the demo app.
Well you’re done now. You have the source, built class files and working samples. See the other samples in the examples directory (they all obey the ant run-app target) and check out what we have in store.
If your fingers are still itching then head off to the issue tracker. Choose a bug. Debug & fix it. Test it. Send a patch our way.
If you had any troubles with the guide just drop a comment about it we’ll try to solve your issues.
PS. If you’re in Barcelona and wondering where to stay the night give Hotel Aranea a try (not affiliated, have not stayed there but what a name
).
There are quite few changes in this latest update to 1.0 branch, so I will list and comment on them all.
TheServerSide.com has released a tech brief about Aranea Framework. It is a video interview with our lead Jevgeni Kabanov. He talks about legacy migration with Aranea and gives a sneak peak of the other upcoming projects. Check out the other tech briefs also.
Are you stuck with a Java web application written in an in-house or legacy web framework? Does management point to the costs of rewriting the application, so you have to continue development using outdated techniques and approaches?
Aranea Integration provides the infrastructure for splitting the existing applications into self-contained components, which can then be rewritten one-by-one only when requirements change. This allows spreading the costs of migration over time and continuing new development using a new framework immediately. It also allows developing individual components using any web framework you like, giving access to a wide variety features and approaches.
Aranea Integration 1.0-M1 includes integration with Struts, JSF and GWT. Although the release lacks comprehensive documentation it comes with a lot of examples, as well as a whitepaper. In addition, TheServerSide Java Symposium presentation contains a good deal of info on step-by-step legacy migration, our approach to getting rid painlessly of legacy and custom web frameworks.
Along with the Aranea Integration subproject we have launched commercial support, training and consulting provided by Webmedia, Ltd. and available from www.araneaframework.com.
Most visible and important news about third milestone of Aranea-MVC 1.1 are:
Full changelog for the curious ones.
Those who attend our forums or subscribe to release feeds have already noticed that both stable and development branches saw new releases two days ago. Users of 1.1-M1 should definitely seek upgrade. Sourceforge has it all.