Durgaprasad Guduguntla

Ranch Hand
+ Follow
since Oct 20, 2003
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Durgaprasad Guduguntla

I have a web application created under Eclipse WTP Dynamic Web project. I want to organize some of the Java files pertaining to this web application into separate Java Projects instead of keeping everything in single dynamic web project. In this scenario I have configured java build path of web project and added my java projects as dependent projects. This works fine at compilation time. But if I create server project and run the tomcat within eclipse, it is not able to find the depedent java projects of web project at run time. What is the best approach to configure single dynamic web project with multiple java projects. Thanks in advance.
I used only dependency in component diagram.
Thank you all. I think the preparation time depends upon your current level of understanding of J2EE design patterns,UML, OOAD and professional experience. I have spent about 2 months time to reach to the level of working out a solution for the assignment and then bought the voucher and started working out the design and diagrams which took about another one month.
[ January 27, 2007: Message edited by: Durgaprasad Guduguntla ]

Originally posted by Merrill Higginson:
One other suggestion: In Struts, it's better to make all input fields Strings, and then convert them to other data types in your Model objects if you need to. While the above code will work for valid data, if the user enters a value that cannot be converted to a float, Struts will throw an exception. If you use Strings, you can validate the values first, and then convert them to floats in your Model. Another point is that with the above code, you're forced to accept the default formatting of your floats. If you use Strings, you can format the output however you want.



Merrill, you are right. But apart from coding ActionForms with String properties on one hand and creating DTO classes with same properties with actual data types on the other hand, does not seems to be nice and also doubling the number of classes, eventhough BeanUtils.copyProperties() is helpful for populating the data. Is there any alternate approach to address this issue?
18 years ago

Originally posted by ManojKumar Unnikrishnan:
Well, i have tried using startUML but it does not seem to have options to create sequence diagrams and component diagrams.
Can you please calrify...
thanks



Try this:
On the right hand side, there is a Model Explorer view. Select Analysis Model and right click and then choose Add Diagram option to see the different diagrams you can produce with StarUML. You can produce Sequence and Component Diagrams as well. On the left hand side tool box, you will find the relevant artifacts that are specific to a chosen diagram. Just read through the User Guide under Help Menu and play around it, you will get familiar with its usage.
Thank you Kai. I have uploaded my assignment on 30th November 2006 and took part-3 on 4th December 2006.
The following online resources on UML are also useful:

http://www-128.ibm.com/developerworks/rational/library/769.html
http://www-128.ibm.com/developerworks/rational/library/dec04/bell/
http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/index.html
http://www-128.ibm.com/developerworks/rational/library/3101.html
http://odl-skopje.etf.ukim.edu.mk/uml-help/

I have used StarUML for producing UML diagrams and found it very easier to use, light weight and free tool compatible with UML2.0 standards and best of all it produced neat diagrams. Finally I wish all the best for those preparing for this exam.
Today I have checked my result and felt happy to see that I have passed SCEA Part-2 and 3 with 86% score.

Class Diagram: 38/44
Component Diagram: 36/44
Sequence Diagram: 12/12

I am very thankful to everyone on this forum, which is highly instrumental in my success in both Part-1 and 2. Apart from this forum, I have read Core J2EE patterns book, sun java blueprints and referred certain online resources for Part-2 and would like to share the following links for the benefit of future aspirants:

Architecture and petstore related:

http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/app-arch/app-arch.html#1081668
http://java.sun.com/blueprints/code/jps132/docs/index.html
http://www.suntraining.co.kr/jsp/faq/pdf/pet_store.pdf
http://tinyurl.com/exwx6
http://au.sun.com/events/dev_forum/files/best_practices.pdf
http://www.informatik.fh-muenchen.de/~ecomm/Dokumenten/J2EEGeneral/HowtoBuildanECommerceApplication.pdf
http://www.informit.com/articles/article.asp?p=30109&seqNum=2&rl=1
http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
I too have faced the same problem. It is a bug in the petstore source code. I have documented the solution in this thread for the benefit of others. Hope this helps you as well.
[ December 31, 2006: Message edited by: Durgaprasad Guduguntla ]

Originally posted by jay roy:
If all the instances in instance-cache have been used up and there are no instances available, what happens when more concurrent users try
to access the bean and there are no instances avaialble. Are they just turned away?



After the cache limit is reached, the container attempts to find any idle bean from the cache eligible for passivation and if it don't find one, there won't be any passivation. At this stage, I think it still allows creation of new SFSBs. Further the instance-cache is vendor-specific and not a J2EE standard. If you would like to know in-depth information on this, refer to the following links:

http://edocs.bea.com/wls/docs81/ejb/session.html#1121360
http://edocs.bea.com/wls/docs81/perform/EJBTuning.html#1135433
In SFSB, the container controls the activation and passivation processes. The container invokes passivation process depending upon the instance cache of the SFSB. Though there is no instance pooling for SFSBs, there is a configuration of instance-cache (in a vendor specific deployment descriptor) in order to indirectly control the activation and passivation process.

In the above case the container internally puts the SFSB instances in the cache and assign them to the clients till they reach maximum limit of 50 concurrent clients. If there is a 51st client tends to create SFSB, then the container looks for idle beans in the cache and passivate them. Thus if the concurrent clients are more than the instance-cache, there is a chance of passivation and activation quite often which is an expensive serialization process and thereby degrade the performance of application. Hence SFSBs are fine-tuned by configuring optimal instance-cache size to improve the performance.

Originally posted by jay roy:

Is there any specific practical reason why it should not be used?
Did you read it in any text book or a website or do you feel its a j2ee best practise to follow.



The EJB specification 2.1 states this in article 17.6.1. You can download this here.

Note that only Session and Message-driven beans can be used with bean-managed transaction demarcation.A Bean Provider is not allowed to provide an Entity bean with bean-managed transaction demarcation.



Further you can also check out these links for more information:

http://java.boot.by/bcd-guide/ch11.html#c11s1

http://www.whizlabs.com/scbcd/scbcd-notes.html

Originally posted by jay roy:
CMP with BMT is a bad choice.
but BMP with BMT is possible.


For entity beans you can choose either CMP or BMP as your persistence mechanism. Regarding transactions, for entity beans you should only use CMT irrespective of your persitence mechanism. For session beans, you will have the choice to choose from CMT or BMT. BMT should not be used for entity beans. You must use CMT even if your entity bean uses BMP. BMT can only be used for session beans. Ranchers, please correct me if I am wrong.