I'm trying to decide on an architecture to use for an application that I need to update. The legacy application is written in Java using the MVC framework, and we've decided that we want to upgrade it to Flex. I think it would make sense to use the Cairngorm framework, since it so closely models MVC. We plan to run on Weblogic. Is Cairngorm a good idea?
The application just allows queries to a giant database. There are multiple ways to query the data. The database has a list of singers, songwriters, producers, song titles, lyrics, etc that all form a sort of network of connectivity - this producer produces these records, these records are performed by these artists, this song has been performed by these artists, etc. The users can chose to search the data in different ways. The legacy application has the searches broken down into different types of searches. Does it make sense to break each type of search into it's own SWF? Or does it make more sense to have one giant customizeable search in one SWF file?
An example of types of searches, as is broken down in the legacy application:
Which songs X singer has sung (this would use the song query)
Which producers have signed X singer (this would use the Producer query)
What songs have similar lyrics? (this would use the lyrics query)
What is the best way to query the database and manage the large search results? Is there a best practice for this? Right now its very slow because the database has millions of data points. Is there a way to manage this amount of data in chunks? How do I show a "status" bar that indicates that the results are compiling?
1. Make as many of the components reusable as possible.
2. The screens have to display quickly.
3. The complexity of the database means I need to have a quick and efficient data access layer, some of the searches in the legacy interface are just WAY too slow, it's the biggest complaint we get.
Any advice you can give, even if it is just on one aspect of my quandry, is appreciated.