Giri Alwar

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

Recent posts by Giri Alwar

Kate,
I am assuming that your question pertains to the assignment. My take is that the login use case is out of scope for the assignment (since no information is provided on it). I would recommend that you not focus on authentication (and authorization) and instead focus on the 4 main use cases for which information is provided.

To answer your original question, if one were to use a SFSB in place of the HttpSession, then instead of looking up an attribute in the session, you would instead call a method in the SFSB to obtain the user object (which you conceivably stored in the SFSB some point earlier).
Rahul,
In addition to Mark's list, I would add the following:
1) Core J2EE Patterns from Sun - http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
2) Online mock exams for Part 1 - http://faq.javaranch.com/view?SceaMockTests
3) The Part 1 exam simulator from Whizlabs - http://www.whizlabs.com/scea/scea-details.html

Your prior experience will also come in handy. One final word: The Cade-Roberts book is the one book you want to follow closely (especially for Part 2). Good luck!

[ June 22, 2005: Message edited by: Giri Alwar ]
[ June 22, 2005: Message edited by: Giri Alwar ]
The use case requirements mention that SSL should be used for secure communication. I made a note in my assumptions that SSL will be employed in the solution.

Many folks here have been discussing the various approaches for authentication (and authorization?). My take is a quite different: I believe that we are not required to provide details on authentication and authorization for this assignment (I did not). My reasoning is as follows: while the assignment requirements does mention a Login use case it does not provide any details on it. How then can we come up with a login mechanism? For instance, my approach would conceivably be quite different if the authentication is done using database, LDAP or single sign-on (for web clients). I made no assumptions on which approach to take since no information has been provided (I noted it as such). The same goes for authorization as well.
Jose,
Here is my understanding. This multiplicity is in context of the relationship between LineItem and Order. A particular Order can contain multiple Line Items. Each Line Item in that Order will contain exactly one Product. Each Product can therefore exist in only one Line Item in that Order (if the customer desires more of that Product, the quantity will get incremented in the Line Item instead of another Line Item being created in that order).

If the relationship between Product and Line Item is considered without any context, then the multplicity you mentioned (1 --> *) would be valid.
Raj,
Make sure that you include everything that Rose generates. You do not want the examiner to find missing links or images.
You are correct. Specifically, the BD/SL would be in the client tier in this case since they would physically reside on the client machine. If you have both a web client and a non-web client, then you will have two SLs (one in the web tier and one in the client tier).
Shahid,
The JSPs, Controller and Service Locator would all be in the Web (aka presentation) tier. The Stateless Session bean would be in the EJB (aka business logic/service) tier. Stateless Session beans typically serve as facades to the EJB tier. They expose business services.
For Part 2, the case study is what you want. I did not do any further study since I had some real-world experience architecting systems. Depending on your experience, you may or may not need to read additional material.
R�stem-� Zal�,
Your understanding of the class diagram is incorrect. The class diagram builds upon the BDM and contains the main entities in your solution. The component diagram contains the main components in your solution and their dependencies. A component is typically much more coarse-grained than a class and it will usually consist of several classes.
I would strongly recommend that you read the case study in the book from Cade-Roberts "Sun Certified Enterprise Architect for J2EE Technology" to gain an understanding of what a class diagram and a component diagram should look like. Also try not to get hung up on the number of class/component diagrams. I had only one of each in my solution. The main point is to capture all that is required so that a lead developer can implement your solution.
I can try to answer these questions.

DOM and Class Diagram:
1. Your observation is correct. My take is that it is a typo in the class diagram and the relationship should be many to one from Product to ProductCategory. In my opionion, changing the multiplicity would be changing the requirements.
2. The class diagram notes mention that Manufacturer has been made an attribute of Product. This makes sense since manufacturer is not significant enough to be its own class. The key point is that this change preserves the many to one relationship between Product and Manufacturer in the BDM. Each product now has one manufacturer and the same manufacturer can appear in several products (including no products). I wish the class diagram clearly indicated the manufacturer attribute though.

Class Diagram:
1. I too am not quite clear why the arrow is from Address to Customer.
2. This one is a little less confusing (though still not entirely clear). I was thinking of a Credit Card as containing the number, exp. date and more importantly to our discussion the customer name. I was thinking of the Customer as containing just basic information that identify the customer (id and name). Then, given a CreditCard, we should be able to tell which Customer it belongs to. However, given a Customer, we cannot tell which CreditCard they have from the Customer object (this relationship might be stored somewhere else). Now, I would depict this a little differently but this is the closest I can think of to explain this.

Component Diagrams:
1. These as you have guessed are interfaces. They are used to show that the dependency is to a well-published interface to the sub-system as opposed to having to talk to classes in that system. It allows for low coupling to the subsystem.

Sequence Diagrams:
1. My advice would be to follow the Cade-Roberts approach. Your sequence diagram will be a combination of components and entities in your class diagram.

I did not select or create any particular framework and stuck to the basics (similar to what you described/what is found in the Cade-Roberts book) and I passed with a high score. Here is my take on frameworks. Does the selection of a framework address a requirement in the assignment? I felt it did not and was too much detail and a distraction (after all, why stop at presentation frameworks? we could recommend frameworks for persistence, other J2EE frameworks etc). In a real world, we all know the benefits of frameworks and an architect would definitely recommend that they be used (and I am a big believer in frameworks myself). But for this assignment, the goal is to develop a solution that meets all the requirements (functional and service level requirements). As long as your solution does that, you should be set.
The Cade-Roberts book has many chapters for Part I and a case study for Part II. So, I would recommend reading all the chapters for Part I and the case study for Part II (in that order). In short, the entire book is useful and there is not much you can skip. I would encourage you to invest the time to read the whole book before you take the exam and not rush things. The effort would be worth it. For Part I, I would in addition also recommend taking online mock exams. Whizlabs also has many mock exam simulators for Part I and is useful.
There are pros and cons to either approach. You will need to weigh them and select the one that makes sense to you. That is part of the assignment.

As a side note, I would like to request that folks don't provide answers to such specific questions. I know folks have in the past but it is important that we all help preserve the integrity of the assignment. It is ok to discuss generic concepts but please refrain from answering specifics on the exam.
Here are some definitions that might help:
1) Line Item: A line item contains information on which product you want to buy (a product ID, for instance), the quantity (how many of that product you want to buy) and price (product price x quantity). Each line item can belong to exactly one order. Each line item is also associated with exactly one product.
2) Order: An order consists of 1 or more line items
3) Product: A product contains information on a particular product including its description, price etc. A product can be associated with multiple line items (zero or more).
Hope this helps.
I would represent them both the same way (as subsystems). This is how Cade-Roberts represent external systems in the example in their book.