Win a copy of Head First Android this week in the Android forum!

Wei-ju Wu

Ranch Hand
+ Follow
since Feb 16, 2005
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Wei-ju Wu


it certainly does not hurt to include this information.

There are several ways to do this, a good place would be where you document
the dynamical aspects of your design, that's at least how I approached it.

Hallo Lukas,

this is probably a very silly question I ask: Does your design meet the requirements ? After all, that is the most important point about the assigment, meeting the functional requirements and the Quality of Service.

I ask this mainly because of the low sequence diagram score. Is the control flow too simple/too complicated/unclear ?


[ March 27, 2007: Message edited by: Wei-ju Wu ]
Congratulations Steve !

BTW, you mentioned that you have used Ant ? Did you implement your design ?


Originally posted by kumar as:
Thanks for your replay,
If we use stateless session bean , then how we have client session in track .After client has logedin , he prepares itineary for first call , then he selects the itineary and then he pay for it, here how we trach the session state for that client.My question is , what you did for session traking.
thanks in advance,

If you want to go with the stateless architecture, there a few possibilities, Diego Amicabile mentioned one, another would be to store session information in the client.

I chose to store session state in a stateful session bean and I should also mention that I used CMP (2.0) entity beans as well. I think these two decisions are in contrary to the opinion of many people on this forum.

You have quite a bit of freedom for your solution, see which one fits best for you.

Thanks a lot for your guidance on the class diagram! I have reviewed the Mark's book and found there is one class diagram example on page 146. As you mentioned, it was depicted in analysis level. One related question on it, do you think we should give all possible classes in the design phase, but these classes will be exhibited as analysis level?

Moreover, how many sequence and component diagrams did you provided? Do you only give the critical use cases on these two diagrams?

After you download the assignment, you will discover some similarities to the case study in Mark Cade's guide. It's probably a good idea to take a similar approach to what is shown in that guide.

My class diagram was similar to the one which was given in the assignment, as in the study guide, you are not allowed to deviate from it. However, you will need to add information to it to make your design work. Once you work on the sequence diagrams you will see what I mean.

I only provided sequence diagrams to the use cases which were described in detail. I had a single component diagram which showed both client technologies (the web client and the Swing client design looked almost the same in my approach).

what for UML tool did you use for the assigment?

Out of the six free and commercial tools I tried, I liked Enterprise Architect and MagicDraw the best and they are also in my price range (I can't afford Rose or Together for private use and using illegal licenses is like stealing from colleagues). These are commercial tools there are "Community Editions" of this software, but they come with several restrictions (EA exports graphics with watermarks, MagicDraw allows only 20-25 classes). I purchased a license for the "Personal Edition" of MagicDraw, the license costs 150 USD. It was worth it, because it saved me a lot of time.

Everybody knows that there is at least two levels for class diagrams. One is analysis level, and the other one is for design level. Did you provide the two levels class diagrams to this exam?

You are actually provided with the analysis level class diagrams, which is what you have to work with (see Mark Cade's Study Guide for an example). Analysis is assumed to be done for you already.

Originally posted by Diego Amicabile:
To Kumar As

You should have a look at the Context Object J2EE pattern. That is exactly what it is for.

I assume you are using all stateless session beans in your design ? I used a stateful session facade, so I did not use a context object here. Many roads lead to Rome.


Originally posted by Morten Fra Norge:

With the score broken down in details?

yes, there should be a button next to your overall assigment result that leads you there.

Originally posted by Hafizur Rahman:
Ya, I got your point and a question poped in mind. I think at least some of "quality of service features" (performance, scalability, reliability, availability, manageability) is very very hard to measure from the design diagram. In other words, is there any way to measure them from the design diagrams submitted?

I think it is one of the central aspects about the exam to submit a design that meets these features using the J2EE technology. It can be done by following good design principles.

Some are due to the distributed nature of the application and apply to distributed technologies in general. For others, one could follow the patterns suggested in Sun's J2EE pattern catalogs, which are more specific to J2EE technology.

If the system is designed in a certain way, the technology can work in a more efficient way than another. While you work on your assignment, you have to constantly ask yourself which impact a particular design decision has on the system.


Though J2EE has several APIs for varying purposes, I think it is not that hard for even an average developer to use/master them.
So from my observation, it is the OOA&D that makes the difference. I will be glad to know your observation.

My past experience shows me that "average" developers, even if they have several years of work experience, often create software which lacks the quality of service features that an architect should address.

OOA&OOD does not make sense if it is not applied in a practical context, one can give a system a great structure, but without understanding of the environment, it could be an inefficient design.

When designing a J2EE application one needs at least an understanding of distributed, transactional systems. It is important to know what is available and how to use it in the right way.

The certification is not about APIs and the assignment is not very technology centric. That's a good thing, since one could lose him/herself in the details (it is very easy to get to this point), instead focusing to create an architecture that meets the requirements. It is the big picture that is important.

A short question. Say, I am confident I can take the challenge, but I have little professional experience. Do you think it is a good idea to take the exam?

Ask yourself why you want to take the exam, which means a significant investment in terms of private time. If you can find a good reason for it, then it is probably a good idea. Learning would be a good reason. If you think you can do it, you probably are - at last, you know yourself best.


Originally posted by Morten Fra Norge:
Where exactly do one find these results? i7? That db doesn't normally show results?

you can find them

One thing I noticed from the conversation in this forum is anyone who is good at OOA&D can suceed. From your success experience, do you think your expertise is reflected in your score?

Hm, good question. Actually, I think it's pretty close to my expectations, I probably would have thought to get less points in sequence diagrams and more in class diagrams. I don't know if people who only know OOA&OOD could pass the exam (while it's certainly one of the key skills here), because you still have to employ J2EE technology to do the assignment.

I agree with you. However, does the industry supports a certified achitect (J2EE in particular) with little practical experience?

Difficult to tell, I have not yet met another SCEA in person and while I have seen employers looking for people with J2EE certification, they do not specifically look for SCEA's. I do not think that one should only look at certification from the prospect of being employed because of it. It's a great learning tool, a costly one though. I am grateful to my employer that they have covered all the costs of my certifications so far.

Hi Rahul,

The books I have used were books that I have here on my desk anyways: GOF, Core J2EE patterns, Enterprise JavaBeans (by Monson-Haefel), Java Security patterns, UML distilled. This is standard literature for J2EE developers.

Mark Cade's guide was the only additional purchase that I made, which is really useful to understand how to start on it.

I recommend getting a good UML tool, it saves a lot of time.

Passing the certification does not make one an architect, but I think it's good to be confirmed by an external party that you know what you are doing. No certificate can replace practical experience.

I have been working as a J2EE developer for more than seven years now and thought I could tie together some loose ends and identify the gaps. I think it was really very useful.

Hi fellow ranchers,

I just received my exam results:

Sun Certified Enterprise Architect for Java 2 Platform Enterprise Edition Technology Part II (310-061)
Date Taken: 2007-02-15 10:41:26.513
Registration Number: xxxxxxxxx
Site: xxxx
Grade: P
Score: 90
Comment: This report shows the total points that could have been awarded in each section and the actual amount of points you were awarded. This information is provided in order to give you feedback on your relative strengths on a section basis. The maximum number of points you could have received is 100, minimum to pass is 70.
Class Diagram (44 maximum) .......................... 36
Component Diagram (44 maximum) ...................... 42
Sequence/Colloboration Diagrams (12 maximum) ........ 12

I took the essay exam on January 18th, so it took them less than a month for grading it. Passing part 1 with 91%, I expected the assignment to be in that ballpark as well.
As I had previously mentioned in this forum, I chose a stateful design, which helped keeping things simple for me. I spent about five weeks on it.

Thanks a lot to all JavaRanchers for the the information exchange and discussions, which made understanding the requirements much easier.