Hi Mckeane, Unfortunately, there's no "right answer" here. This actually seems to be a recent 'hot topic' (or at least I've heard this sort of question frequently off-list).
At this point in time, there seem to be three main routes (that I can think of) which you could use to integrate an external web application framework into DSpace. (It would also be possible to use multiple of these integration routes at once, depending on your projects needs) --- (1) Direct Database & Filesystem Access integration Obviously, any framework could be used to go against the DSpace underlying database and filesystem storage. But, the downside here is that you may be essentially bypassing most/all of the DSpace Java code. So, this may be a larger project. (2) Java API integration This is traditionally how many past Web UI projects have integrated into DSpace (e.g. XMLUI, which was built ~5 years ago as the latest UI). Unfortunately, over the years we've found our Java API does not provide a "perfect" integration. DSpace still has a bit too much "business logic" that ends up needing to be repeated in each new UI, as the underlying Java API doesn't handle all that business logic for you. There has been some recent discussion amongst the DSpace Developers (in our recent Developer Meetings[1]) about how we can start to avoid 'business logic' duplication in all UIs. This is a refactoring project that just needs to happen, but so far we're still in the planning stages and also need to find some volunteers to help out. If you'd be interested in helping with such a project, let us know. In any case, any web application framework that can "speak" Java (or make calls to a Java API) may be able to go against our existing Java API (though as mentioned, you may need to rewrite some Business Logic that currently exists up in the XMLUI and/or JSPUI codebases). (3) REST API integration Currently, our DSpace REST API is still "experimental" https://wiki.duraspace.org/display/DSPACE/REST+API But, more and more people are starting to use it as an integration point with DSpace. It's definitely still not perfect (some bugs still exist, and not all features may be there yet), but it's a good start. Any web application framework that can speak REST (including many non-Java web application frameworks) may be able to go directly against the REST API. We could also use some help in stabilizing & improving the REST API. So, if you go this route, so please feel free to send fixes/feedback our way as well. There are some known issues in the REST API that also need fixing (If anyone on this list is interested, please feel free to volunteer to help!) https://jira.duraspace.org/browse/DS/component/10190 --- So, It's hard to say which route is the best route at this point. Obviously, all of them need some more work. We're still searching for volunteer developers to help us improve the DSpace APIs so that it is better able to integrate into other Web Application Frameworks or Rapid Development Frameworks (like Play! Framework, or potentially even non-Java frameworks like Ruby on Rails or Django or others). If anyone on this list has a special interest in helping DSpace to integrate with external web development frameworks, please feel free to let us know ways in which you would be willing to help. In general, this idea of improving how DSpace can integrate with other web frameworks is a discussion I plan to start amongst the developers in the coming months. So, you are also very welcome to follow along on the dspace-devel list and in our weekly DSpace Developer meetings (https://wiki.duraspace.org/display/DSPACE/Developer+Meetings). If you start to go down any of these routes for your own project, please do report back to us. If you are able to share or open source your project code, you may even find that other developers would be willing to contribute directly to your project (especially if you do your development in something like GitHub, which more & more of our developers seem to be moving towards). Finally, please note these are my own personal thoughts on the matter. Others on this list may have additional tips/hints/ideas they may wish to share! Keep in touch. I'll be interested to hear what you decide upon. - Tim [1] See developer meeting transcript from Jan 18: http://irclogs.duraspace.org/index.php?date=2012-01-18 On 1/27/2012 12:02 PM, Mckeane Thomas wrote: > Hello, I am looking for a Java web application framework to integrate > with dspace. I am developing a software to use with dspace to provide a > user interface, that accesses the back-end of dspace for data > manipulation. Any help with this would be greatly appreciated. > > > ------------------------------------------------------------------------------ > Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 > > > > _______________________________________________ > DSpace-tech mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/dspace-tech ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech

