Win a copy of Microservices Testing (Live Project) this week in the Spring forum!

Anil Chowdary

Ranch Hand
+ Follow
since Jan 20, 2009
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 Anil Chowdary

Yes, I have a layer in between by SLSB and the web service. But I didn't name is as DAO. I just called it as <ServiceName>Client. This is a plain java class that acts as client to the webservice.
Fair enough. Even I end up using a SLSB for the assignment part.

But in reality, even you make it as a simple class it can still be scalable. If you have the flexibility to increase the app servers, the same applies for web servers. Just a thought.

My understanding of the generalization concept is that we will have a general class and other specialized classes for each departement, this is the result as the class diagram. May be i'm wrong, but concretly, will not that be reflected in the application by an Entity class for each departement ?
Which means it will be necessary to change source as many time as a new departement is added.

I see the approach you intituled database centric approach more suitable, like you sayed, a new departement would simply be a new entry binded with specifics attributes. We can also see it other way, each specialized departement is an instance of the departement class(Object diagram). Now with this, the problem is not totally resolved, it's deplaced to the attribute's part, are we assuming that all departements will have the same attributes

To answer your question of "change source as many time as a new departement is added", You are correct. Using "Generalization", Its not completely possible to accommodate a new department without changing the source. But if you use factory pattern, You just have to write one new class whenever an entirely new department is added to your system. Rest of the code uses the department interface to deal with any specific operation on department, so addition of a new department will not result in changes to the code in rest of the layers.
Object with stereotype <<Web Service>> should be good enough for the assignment submission. You no need to show(In fact you should avoid) any API/Framework related classed in the diagram.
I didn't quite understand the "factory method" approach mentioned by you. But for the example you quoted, one of the solution could be to go for "generalization". You will have a generalized class called "Department", any specific department could be the specialized classes of this generalized "Department" class. This way, You can make your application extensible.

The database centric approach mentioned by you is also a type of solution that works, provided "department" is just another entry in a table and all department share common properties. If the properties vary, then you can't represent it as just another row.

We can't state that a particular approach to design is always right, it depends on the SuD.
There is nothing wrong with your approach to design, But I don't advice you to submit the data model to SUN. You can keep it for your reference, But it is not part of the mandatory deliverable for this certification. Adding this will not fetch you any additional marks, But on the flip side, it could contribute to the confusion of the evaluator. So I advice you not to submit it.
I go with answer C. I don't think answer D quite takes care of the non functional and other requirements mentioned in the question.
From the exam point of view, I don't think there is anything concrete which gives 100% guarantee that your design will make sure that it executed all transactions within the stipulated maximum time. But what is expected from you is that your design has the capability to satisfy the given NFR. You can leverage the deployment diagram to show that your system wil perform as per the requirement(All transaction within some x seconds). In the diagram you should depict/describe both vertical(CPUs, memory etc) and horizontal scaling(clusters), which in turn helps you maintain the given NFR. Its good to mention load balancing, fail overs in your design(Deployment diagram). Also by providing a sample hardware configuration of each server, you are telling the evaluator that your setup is good enough to satisfy the given NFR.

Hope it helps.
Congratulations.. good job.
Yes, your expectation about Part 3 is partially correct. Questions from Part 3 are in general related to the assignment of Part2. But they are not STRICTLY meant for verifying who the author was, for the simple reason that they don't know what design you have come up with, until unless you submit it. Mind you, you can take Part 3 exam, before you submit the part 2 assignment, which makes it technically impossible to frame questions suitable only to your design. But until unless you design the system on your own, I don't think you know how to answer those questions.

For example: How your design supports so and so functional requirement?, To which you have to answer from your design point of view.

But those questions are applicable for all assignments and not specific to any particular assignment. They are general in nature, But you have to answer them from your own design point of view and support each decision you made while coming up with the design.

Hope it answers your question.

Thanks & Regards,
Anil Chowdary K
Hearty Congratulations.
11 years ago
As far as I know, there is no time limit to buy the part 2 and part 3 exams.

But once you buy the part 2 exam, You should submit it within 12 months from the day you buy it. Your part 2 exam evaluation will being only after you take the part 3 exam. So its advicable to take part 3 and submit part 2 assignment.

Anil Chowdary K
In the real world, there is no standard measure that says you are an architect now. It depends on your technical abilities, analytical skills and last but not the least experience. Its your own interest and the work you take up on a daily basis would make you an able architect in the due course of time.

Let me suggest you the following things
1.Take up SCEA/OCMJEA. It certainly won't transform you in to an Architect. But going through the whole process enlightens you on various concepts of J2EE, which you may not get to know otherwise. To become something, You should first know what needs to be done. So this process will guide you in that direction.
2.At work place, try to associate more with people who architect and design systems. Looking at your experience I believe it's not that hard for you to position yourself in such roles. This will give you the most important dimension, i.e hands on experience in building systems.

Hope it helps.

Good luck,
Anil Chowdary K