Win a copy of Event Streams in Action this week in the Java in General forum!

allison ai

Greenhorn
+ Follow
since Mar 17, 2003
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by allison ai

Thanks Alain! You are the best! I'm so glad that I had finally asked you about component diagrams after reading much wrong info all over the places. You've helped!! On the other hand, why is it so hard to find the right materials on component diagram while Sun is giving so much emphasis on it? Anyway, I'm getting the book right away. Thanks again!
Hi Alain, Thanks so very much for your reply! I got too busy with other stuff and had not checked the forum for a couple of days. Your reply has clarified things for me. One more question, could you please point to a source, with a component diagram example would be ideal, that illustrates (at least to a certain degree if not completely) your understanding of component diagrams, which seems to be in accordance with that adopted by the assignment. Thanks again!
Congrats, Alian!
I have been struggling with the component diagram(s) for a while. I would appreciate your comments very much and thanks in advance!
The component diagram counts a significant portion of the total score, so it should be fairly complex, at least when compared to the sequence diagrams. But my component diagrams are more like those in the Case Study chapter of Cade's Study Guide book, i.e. they look quite straightforward and simple: no specific JSPs, Servlets, or EJBs, only components (abstraction entities, each contains specific JSPs, Servlets, or EJBs). For example, my diagrams contain basic components like user view, web controller, request filter, EJB controller, session facade, etc.
What troubles me are the two generic issues regarding component diagrams in UML (I hope my questions are not revealing the specifics of the assignment too much):
1. How to include all JSPs, Servlets, and EJBs in component diagrams in general UML drawing? My reading of the requirement is to include all SPECIFIC JSP pages, Servlets, EJBs and other JavaBeans in the diagram. Am I right? But I thought a component diagram is a way of showing how the application is broken down into different components (more like sub-systems, not individual objects) and how those components interact with / depend on one another. I have been searching other books and online resources, but not found answers yet. What I have done so far is to list those individual concrete objects under the components they belong to as a note under each diagram. E.g., a search JSP page belongs to the user view component. I doubt this is the right way to do it.
2. How to show the design patterns in component diagrams? E.g. a command pattern is implemented by a couple of specific objects, which all belong to the EJB controller component in my design. Since those concrete objects are not shown in my diagram, but only listed in the note attached to the diagram, how can the command pattern be illustrated in the diagram then? Since I have included all specific objects in my class diagram, including JSPs and Servlets, the patterns are shown more clearly there. But again, I am not sure if it is acceptable.
Thanks again!
I did not review Enterprise JavaBean by O'Reilly for the exam. I downloaded Roman's book from http://www.theserverside.com/books/masteringEJB/index.jsp and only studied chapters 1 to 11.
See this post for which version of EJB is tested in SCEA part I:
http://www.coderanch.com/t/150149/java-Architect-SCEA/certification/EJB-OR-EJB-which-involved
For differences between EJB1.1 and 2.0, see this post http://www.coderanch.com/t/65248/BEA-Weblogic/Difference-between-EJB-EJB-EJB
Hope this helps.
I used around 6 weeks to prepare with careful study of all the books listed.
The order of my study:
UML ->
Patterns (UML is used to illustrate the patterns) ->
EJB (UML, patterns are used) ->
other subjects just following the chapters in Cade's book ->
other things not covered by Cade, e.g. legacy
[The books on UML and Design Patterns are really overkill for the test. If you just want to pass the exam, study only Cade's notes on the subjects. But I am glad I studied the books since I am much more comfortable with the subjects now. ]
It's better to know all the 23 patterns. It won't take long if only study Cade's notes. Of course, there are some "popular" patterns: proxy, factory, decorator, iterator, etc.
By paying attention to details, I meant to know exactly how a technology works. e.g. digital certificate: how it is created, how it is used, how it is installed, etc.
You need to know details of EJB.
Hope this helps.
Thank you all for the help from this forum!!
Here is what I did (with 2 yrs Java, 1 yr J2EE).
1. Came to this forum first to read related posts and draw a reading list for myself
2. Read the following books:
Cade's Study Guide [several times, try to really understand everything there]
GoF's Design Patterns [overkill for the exam, but very helpful in understanding the subject. for examples in Java, go to http://www.fluffycat.com/java/patterns.html]
UML Distilled [overkill for the exam. Cade's is enough]
Roman's Mastering EJB [careful read]
3. Study other subjects on Leo Crawford's site:
http://www.leocrawford.org.uk/work/jcea/part1/index.html (thanks much!)
4. Take all the mock tests listed at http://www.geocities.com/rah_73_1999/Actual.html to know weak points
(helpful in identifying my weakness, which were security, protocol, and legacy. those still turned out to be the areas where i lost my points in the real exam. should have paid more attention to details...)
5. Study the weak areas
go back to Cade's book, really understand everything there. plus, i used the internet a lot, just google a subject, a term, etc. until found good materials.
here, must understand details beyond definitions. particularly how it is used in real world.
6. Take the exam.
time was not ample. don't get stuck on a single question. mark it, move on, then come back.
expect scenario questions on legacy [it would pay off if you really understand what you have read on the subject in your prep]
hope this could be helpful to someone...let me know if you have any questions.
thanks again!!
hi there,
just wanted to share this since the following two links have been very helpful to study the GoF book for me coming straightly from java background without much c++ and other langs.
http://selab.korea.ac.kr/selab/courses/GoF-patterns/
(main points of each pattern in GoF)
http://www.fluffycat.com/java/patterns.html
(with sample code in java so i can really understand the patterns)
enjoy!
Hello,
I've passed, only with the help of this forum. Thank you all! My special thank you goes to Mark, who has addressed all the issues in my posts.
General Considerations: Maximum=58 Deductions=5 Actual=53 Documentation: Maximum=20 Deductions=0 Actual=20 GUI: Maximum=24 Deductions=6 Actual=18 Server: Maximum=53 Deductions=0 Actual=53 Total: Maximum=155 Deductions=11 Certification Score=144
16 years ago
That's bad news since I tested it at a computer lab in a major university. The thought that they are using a bad version of Java would be really depressing to the students there. Any doc that I can read on why 1.4.0 is junk? Thanks.
That's good news. Thanks, Mark!
Just curious, what in JDK1.4.0 makes fine UI using jdk1.3 unacceptable?
Hi there,

I've ran into a bad problem while doing final testing of my app, which is develped and works fine using java 1.3. But while testing it using java 1.4.0, the main window, displaying search function (panel) and a JTable for search results, is not displayed at all but a gray area. ?
Thanks much!
I tend to agree with Mark on the point of Facade primarily based on the "compiler" example given in the book by the Gang of Four on Facade.
The Compiler class provides the user with a simple method of compile(), which uses classes and methods of the subsystems, e.g. scanner, parser, etc. In our case, searchFlight() and bookFlight() are those methods just like compile() in the Compiler class. If the Compiler class can be called a Facade, then the class that provides serachFlight() and bookFlight() can be called a Facade too, a database Facade. Agree? There may be other ways of using the Facade pattern, but such implementation described by Mark is sound.

Thanks Mark for addressing my concern of code similarity between Data and "the remote client".
Thanks again, Mark! I can clearly see the benefits of using the Facade pattern in this case.
But what I am worried is that both my Data and "the remote client" have the same set of methods and almost identical implementations (LocalDataImpl and RemoteDataImpl in your diagram). Should I be concerned? Thanx.
Thanks, Mark!
So it seems that you need to have two clases that both have the same set of methods of Data: one for local db connection and the other for remote connection, only with minor difference such as that in constructors. That's why the requirement for "the remote client" must provide all the public methods of Data. In this case, you can make either Data or "the remote client" to address one connection mode, and the other to address the other connection mode. Am I right?
As for the Facade pattern, it can be useful to deal with the complexity resulted from having the two types of connection modes/classes.
But having two classes that implement the same set of methods in an almost identical way (except in constructors in my implementation) does not sound right to me for a good OO design. Am I right or have I missed anything?
Thanks.
Hi there,
In the "Overall Architecture" section in the instructions.html, it says that "the remote client code that you write must provide all the public methods of the suncertify.db.Data class."
Why is this requirement? Is it for the situation where client searches the database via local connection: where GUI talks to the remote client, which accesses the db.db file directly and locally. While in a remote db connection mode, the remote client only gets a reference to Data.
In my design, I have two packages
suncertify.client contains GUIs, DBClient (the remote client);
suncertify.db contains DBConnectionFactory, Data
Based on the connection mode chosen by the user, my DBClient either obtains a remote reference to Data (in remote db mode), or it uses its implementation (which is identical of that in Data) of all the methods of Data (in local db mode).
I'm not sure that I understand the requirement listed above. Does my implementation make sense? Any help would be appreciated. Thanks!