I have an entity called category. A category can have many items. I am using "set" to have an association between categoty and items.
So I get the list of items like this.
Set items = category.getItems()
Now I need to update an item in the retrieved list. There are two ways I could think of
1) Using the item id get the itme from the DB and update the itme. In this case the category doesn't come into picture. 2) Update the set with the updated item and then save category. I have set cascade="all" so it should work. But in this case it will be a new set and then hibernate will delete all the items in the set and will populate them again.
At work we have proxy settings. I successfully installed maven and it runs fine at home. When I try to run maven jar ar work it tries to download so many files. I can put the manually but that's a tedious process.
Does nayone know how to put proxy setting in maven so that it could download the necessary files.
My fault. Let me retry explaining the problem. By the way this question is for the discussion and not for the exam. The exam doesn't ask us to go in such depth.
Process A requires heavy operation on the server side. The user sends request1 which invokes process A. Let's call this particular instance of the process as A1.
While the process A1 is going on the user gets impatienct and hits the refresh button. What happens now. The request2 is sent which invokes process A again. Let's call this instance of the process A2.
1)Will the process intance A1 complete its full course or not? I mean will the process instance be interrupted since a new request has come.
2) Since the request2 is already received by the server will the server send the response to request1 to the browser only to find out that the browse will drop the respone since the browser is expecting response from request2.
3) Or the serve will complete the process A1 but will not send an HTTP response since a new request request2 has already been received.
Please keep in mind that I am not looking for a fix. We all know that struts offers token [save(token)] which can help mitigate the problem. I just want to know what happens to the abandoned process.
While working on the assignment I came across a scenario answer to which I would like to know as an architect(or a developer).
The user searches for a flight. The search process is resource intensive and most of the web sites displays some kind of 'in-progess' bar while the search is going on. Assume that while search is going on , I hit a back button and change the data and submit again.
My question is what happened to the first request. If the first requet is in the middle of heavy processing, will the processing continue?
Let's assume that just a second after the user hit the second submit the first processing got completed. Will the server send the response and the browser will drop that response since a new process was already invoked? Or the server will not send any response since a new process is already started.
So many questions. I'm just trying to understand the basics of how the web based applications work. If my question is not clear then please let me know.
Thanks for the strong pursuasive arguments. In the last line you mentioned you are still not sure. I think you answered your question yourself. As I read it if it's a complicated sql query and performance is a factor then go for BMP or else use CMP since you have already zeroed down to SLSB.
You are absolutely right. As I understand there are two ways of implementing fast lane reader.
1) Direct connection to database bypassing the appserver. Personally I don't like it since it leaves the app server out. Secondly tommorrow if a new type of client wants to avail the same service, the developer will have to code all the way until getting the data from the db.
2) get the data using stateless session bean (SLSB). Since it's SLSB and there is no entity bean the developer will write his/her own sql queries. My argument is why write the query when one could easily mention all this in a read only entity bean; in this way the code is much more maintainable. You can see from my line of reasoning that I don't have as much disdain for CMP as most of the people I have encountered.
I am not using fast lane reader and understably I have to justify my decision in the assignment. Two reasons:
1)For read only data not using the enity beans is preferred primarily because entity beans are too heavyweight for such light operarion. More and more app servers are coming out with read-only entity beans ( I know of JBoss and weblogic). The app server does the optimization hence the entity beans are not so heavyweight.
2) If the swing applications want the same data and their is no entity beans then in a way there would be two implementations of fast lane reader - one for web and one for swing clients.
I belive that as architects we should leverage the best features available rather than going by the patterns just for the sake of using it and impressing the examiner. If you truly belive that fast lane reader is the best fit for your app the do go for it.
As I understand the main purpose of sequence diagram is to map in what sequence the operation will be performed. If a diagram is too cluttered with small details to the extent that differentiating between what is main flow and what's the supporting flow then it's time to leave some of the common details off the diagram. It would be best to draw one sequence diagram which discusses the basic/common activities occuring in each sequence and then to concentrate on main flow.