P Das

Ranch Hand
+ Follow
since Jun 30, 2008
Merit badge: grant badges
For More
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 P Das

I would like to make the following point.

As far as UML standard is concerned, which is supposed to be adhered to as per Sun's assignment (going by my personal experience), there are certain limitations imposed on your assuming things.

However, Sun has allowed their own guidelines to be violated, e.g. by using non-UML standards, as per experiences of participants of this forum. Hence, probably, people may get away with certain deviations from standards.

Still, the question remains, "Where lies the exact boundaries of such "pragmatic UML" [term coined by Jacobson] to be acceptable?"

Probably, you may have to chalk out your own strategy in absence of anything official, since no individual test-taker can vouchsafe whether her/his strategy actually worked, since s/he may not be cent-percent sure whether her/his assumptions held water with evaluators, even if the test taker succeeded.
1) Is annotation in parentheses an UML standard to describe stereotype (without reference to profile)? Also, is it not necessary to indicate which EJB version is used? Also, which version of UML is this?
-I used a stereotype of <<@Stateless>> rather than the parenthesis. It's not standard UML, but it communicates the idea. I indidicated the EJB version in my summary and not in the diagram. The book seems to use a mix of UML 1 and UML 2.
- Did you use this because you did not want to extend the core profile? This is understandable; however, using arbitrary symbols in a text books without proper explanation could be misleading to test takers. Ivar Jacobson wrote, "Most software developers speak pragmatic UML. Not perfect—some special words are rarely or never used. Sometimes the blur of their models leads to misunderstandings. However, generally speaking, it works well." IMHO, there is discernible difference between test taker and text book writer.

2) Although I may sound a little different, IMHO, how would you hold states between client calls if you have stateless EJBs only, e.g. BidManager, etc.? I say this particularly since you have to make multiple calls such as findBid(), createBid() to complete a transaction as per the non-private methods. Are they grouped somewhere else to create one atomic unit that is not apparent? You can maintain conversational state in so many ways but only thing such solution is not apparent from the class diagram.
- Why not store the data in the HttpSession? Another thing to put in the summary of design. Class diagrams never stand alone to describe a design.
- My question was different: nothing is explicit from the diagram. I don't think it is apparent elsewhere.

3) I am not sure but some classes, e.g. AvailabilityItem looks more like 'being part of' AvailabilityNotice that refers to a directed composite relationship rather than the catchall both-ways association. Is it that aggregation, composition, and directed association are not required in SCEA? This actually softens the standard of compliance, which should be declared by Sun/Oracle so that test-takers may spend their times in a better way.
- Hard to tell what is required. I did include these relationships where important.
- My question was, why waste test-taker's time by mentioning "standard UML only" in the assignment when you use only a subset of it; that too, not in a standard way?

4)Is it that the authors generally ignore the guiding principles of GoF patterns? I ask this questions because the whole class diagram is built on inheritance only. Moreover, if I am not mistaken, abstract nature of classes, e.g. User, Characteristics, are not captured by standard UML means.
- I see dependency (uses) looking at it quickly.
- I would rather say that does not fulfill the recommendation of the g04 to use loose coupling since A depends on B simply means A need to change when B changes and does not go much beyond.
I have a few questions:
1) Is annotation in parentheses an UML standard to describe stereotype (without reference to profile)? Also, is it not necessary to indicate which EJB version is used? Also, which version of UML is this?

2) Although I may sound a little different, IMHO, how would you hold states between client calls if you have stateless EJBs only, e.g. BidManager, etc.? I say this particularly since you have to make multiple calls such as findBid(), createBid() to complete a transaction as per the non-private methods. Are they grouped somewhere else to create one atomic unit that is not apparent? You can maintain conversational state in so many ways but only thing such solution is not apparent from the class diagram.

3) I am not sure but some classes, e.g. AvailabilityItem looks more like 'being part of' AvailabilityNotice that refers to a directed composite relationship rather than the catchall both-ways association. Is it that aggregation, composition, and directed association are not required in SCEA? This actually softens the standard of compliance, which should be declared by Sun/Oracle so that test-takers may spend their times in a better way.

4) Is it that the authors generally ignore the guiding principles of GoF patterns? I ask this questions because the whole class diagram is built on inheritance only. Moreover, if I am not mistaken, abstract nature of classes, e.g. User, Characteristics, are not captured by standard UML means.

From the current listing of the thread, we should respond from SCEA perspective only.

Accordingly, the questions crop up:
1) If we don't use stateful EJBs for maintaining conversational states, what are they doing in EJB specs?

2) The given example (shopping cart) requires quite a few crosscutting concerns to be fulfilled; if we don't answer q.#1 above in favor of stateful EJBs, who does the scaffolding and at what cost? In other words, how to justify the extra cost of development/maintenance, not to talk about cost of suspect quality for non following standards.

3) Is there any indication that I missed out in the short description that goes against using stateful EJBs?

4) If performance is an issue--somehow I tend to 'sense' this could be the bone of contention--why not use clustering*? Again, with stateless EJBs clustering would be of little use; isn't it?

(*) The shopping cart example might also require failover; hence, clustering is doubly indicated.
Looks like stateless EJBs (and POJOs) only can be made into web services. However, sometimes, you might need to maintain conversational states between multiple calls to the web service by more than one client, when the "flyweight" that stateless EJBs are falls short. Are you faced with such dilemma?

The choice between POJOs and stateless EJBs may depend on cross-cutting concerns such as performance (pooling), security, etc. and how much leverage you might gain through the inbuilt plumbing of EJB servers.

However, if you need stateless EJBs and conversational state, together, you might consider designing a custom state machine.
Is it that Sun accepts cylinders or cubes as regular components in the Component Diagram? Is that standard UML?
You don't need to: it says it is a trial version; what I was looking for is a community version [free stuff :-)]. Thank you for your responsiveness.
I have included a small file for discussion:
Description:
This system under development (SuD) is all about printing documents—that include everything that can be printed—by users on a printer that it can access through a connection—network or peer-to-peer. Documents are output of applications such as word processor, spreadsheet, HTML browser, etc., which make use of a printer interface to order print—sending printing data in appropriate format to the printer.

For some reason—determined by a business model that is implemented by the provider cloud in its business interface—the user prefers to make use of the same via the internet. The provider cloud has access to the printing interface of various printers that abstracts modality of printing specific to printers such as drivers, availability, etc.
Tried to download but faced "connection was reset" persistently; any insider information of what's happening? I only need the latest community edition (for windows xp/7).
Above, what is shown can be termed "bottom up" approach of decomposition; however, it is not always possible to follow this line in practice since you need to have all the classes or components before you could classify them following this approach--a paradox since the very purpose of decomposition is to find the classes or components. Hence, you need to follow some blueprint--e.g. Sun's--or other rules of thumb to find roughly what large divisions (or layers or overall components) would be. For example, you may decide to have a presentation, a business logic, and a persistence layer. Here, again, you need to ponder over tradeoffs between one/two/three tier architectures and your domain/requirements. I spoke about layers as if they were components because then you will be encouraged to create overall interfaces for each of them--improves loose coupling. Next, you may focus on each one of these larger components to find out how should you divide their tasks among smaller components or classes.

However, often, you might start with some larger components and some fine-grain ones when you create an architecture in the real world--yet another paradox--which probably tells us about the inscrutable way our brain works!

Probably, the best way to find out is by dirtying your hands--take some requirements and start working on them. If you have a qualified guide, nothing's better than that.
Did you try component diagram of Visual Paradigm Community edition?
Ok; what I meant are a domain model, use cases, and a short description from fellow ranchers. For directions, one might refer to architectural information in the public domain relating to Google Cloud Printing. Secretly, I wanted to see my fellow ranchers try faulting the Google architecture. Any change from the dotted lines might well start from the initial stages. We could start by asking ourselves questions, some of which may look like the following.

1) Do you or do you not think Google's idea of routing printing data through the cloud is sub-optimal?
2) Would you consider converting everything to Google doc format, 'cause it might entail unnecessary overheads and loss of integrity?
3) What about addressing DOS and any other relevant security patterns?
4) How can one bring into fold printers that are not connected to the internet; however, it may, probably, be safely presumed that all users are.
4a) What about sparing printers from installing Google's proxy, which is a difficult proposition if the above is true; also, from maintenance viewpoint.
5) How could the architecture ensure using the latest printer drivers available from vendors without having to write drivers for all printer-types (for Google's OS)?
6) How can we take all printers alike, without distinguishing between legacy and cloud-print aware types?
7) If we presume that one might normally use a printer that is in the same local area, does it restrict the architecture severely? In other words, what are the tradeoffs of such assumption?
8) [This is not asked by Sun] What is the business model: how can the architecture support dynamic homeostasis?
Sorry for my grammar; what I wanted to communicate is following:
1) Reason would suggest that Sun should expect a test taker to follow a realistic approach to the assignment; logical and realistic approach to disambiguation should be one of them.
2) It really should not matter if Sun does not reply but you did ask and mention that (with reference of email) in your assumption.
3) Your approach of hypothetically mentioning the same may be good but too hypothetical, IMHO.

In any case, thanks for pondering over my responses. Hope, you forgive my language.
sorry, the "test" in the title should be "assignment"; can anyone correct?