Dmitri Cherkas

Ranch Hand
+ Follow
since Mar 22, 2010
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 Dmitri Cherkas

Furthermore, when i try to send email to authors from their own site (!!!) (, after submit the form i have : "Page Not Found" error..... (((

yesterday i sent to Paul Allen and Joseph Bambara email to addresses indicated in the book i bought - "OCM Java EE 6 Enterprise Architect Exam Guide", but yahoo returned email with :
Sorry, we were unable to deliver your message to the following address : <>  <>

Are emails in the book wrong?
Can you give me another email addresses, please?

Have a nice day,
Hi Frits,

thank you very much for the competent response with the clear example !

Only one observation...

You can't modify or delete this file though. (because there is nowhere in the specs, that specifies that you can do that .....)

the contrary of your note, though, is true : if specs doesn't specify explicitly that you can't do something you CAN do that thing. Therefore if the specs doesn't say that you cann't delete the file in another webapplication, in theory, you CAN do it. I think that, in this case, the implementation of the webcontainer (Tomcat) can allow or disallow it.

Have a nice weekend !

if i have the following two very simple web applications running on the same server :

1) the FIRST is : \tomcat\webapps\FIRST\WEB-INF\classes\test\FirstForAccessTheSecond.class

2) the SECOND is :

the questions are :
Can the "FirstForAccessTheSecond.class" of the FIRST application access the "index.html" file of the SECOND application to modify it ?
Can the "FirstForAccessTheSecond.class" of the FIRST application delete the "folder1" of the SECOND application ?

If no - why ? Can you indicate where J2EE specification specify it ?

Thank you in advance,


May be my questions will seem you strange, but... Do you know :

1. how many time will be available SCWCD5 ? 2-3 months or 1 year or more ? I would want to take the SCWCD certification but have a book only for SCWCD version 5 and not 6...

2. how many time (on the average) candidates spend to prepare to SCWCD5 ? If i'll study 1 hour at day, how many months i need to prepare to the exam ?

Thank you in advance,

Hello Chinthaka,

i would want begin the preparation to the SCMAD and have one question... You used only "the Sathyanarayanan Srinivasan Study Notes" at an passed exam, is not it ?
Is it possible study only these notes pass SCMAD ?

Thank you in advance !
8 years ago
Could somebody responce questions of my precede post, please ?

Thank you...
False alarm...
The problem is that this certification to me is very-very unfortunate - al the middle of development of the project, SUN for a small misunderstanding (email with requesting information) assign me 3 new projects in course of 3 months - it was terrible efforts to reassign me my original assignment...
And now every small problem with exam drive me in total panic...

Could you confirm me that the process of submitting my assignment project is (i purchased the project on old Prometric) :
1) i must send email to requesting a voucher,
2) go to Pearsonvue site and schedule the exam "1Z0-844 TRANSITION (VOUCHER ONLY) Java SE6 Developer Certified Master"
2_1) "Apply voucher" on "Review Appointment Details"
3) after "1)", "2)" and "2_1)" i can submit my assignmet,
right ?

Then with the same voucher i can schedule the essay exam, right ?

i want to submit my assignment "jar".

I logged on in and open "The Course Submission Form" page (right ?), then i click on "New Submission" link and.... at "Select the track for which you have completed a certification requirement" i don't see "Java Standard Edition 6 Developer Certified Master Assignment" or something similar.... How can i submit my assignment ?

Help please !
Thank you Roel, now it clear to me.
Roel, excuse me, but i don't completely understand mentioned by you design... i'm sorry...

Step 1 :

Roel wrote : You have an interface with your business operations, let's call it BusinessService containing all business methods you want to invoke. This is the interface you will use in your GUI to call methods on.


Step 2 :

Roel wrote :You have to create a special remote interface (RemoteBusinessService) which extends Remote and BusinessService (no other methods needed).

Ok... At this step we have empty RemoteBusinessService with no methods (method declaration is in BusinessService ).

Step 3 :

Roel wrote :Then you can create an implementation for RemoteBusinessService and you could use that one for standalone mode as well.

Ok !!! Until now all is extremely simple, clear and logic...

Roel wrote your interface every method will indeed have a "throws RemoteException" (besides any business exceptions).

Here i have doubts... The only place where "throws RemoteException" can be declared is the top interface BusinessService (see the "Step 1").

Roel wrote :And of course calls to any service method are wrapped with a try/catch/finally block to handle appropriately any business exceptions.(and/or the RemoteException)

This phrase confirm my supposition...

Therefore : BusinessService interface (see the "Step 1") declares all methods with "throws RemoteException" in their signature. Am i right (see example below) ?
The overall design is :

It's very interesting, but logicaly (non programmatically) it is not separate remote and locale in package "business" (not "gui")... all is mixed, right ? And BusinessService's methods declare to throw RemoteException without any reason (BusinessService doesn't extend Remote).
Yes, Roel, your suggestion is a good solution... My problem was : i thought that the following scheme is a indispensable scheme in implementing RMI server :
1) must be interface AA that extends Remote (is present in your solution);
2) interface AA must declare methods of implementing class and every declared method must have "throws RemoteException" in signature (is not present in your solution).

In you solution when gui-client calls "servise.findRooms(room);" you do not wrap the call in try-catch block, right ? Interesting...

Moreover... in your solution there are only :
1) interface BusinessService;
2) interface RemoteBusinessService extends BusinessService, Remote;
3) class BusinessOperations implements RemoteBusinessService.

and BusinessOperations class can be used as remote server and class in standalone mode, is it ?

Roel wrote : You would expect you retrieve once the correct business service implementation based on the mode you are running. That happens for example in the constructor or in some initialize method. Then when you need to find rooms, just call service.findRooms(), when you want to book a room, that's And that's where the SuperBusiness interface gives you advantage and doesn't clutter your code: the call in standalone mode and network mode will be exactly the same, the object on which you invoke the call will be different (but your gui will not know that)

I comletely agree with you, Roel - the solution you write here clear, good and OO, but i still do not understand how to realize it... Or may be you try to say me : your SuperBusiness interface in effect is your Operations interface and BusinessOperationsLocal with BusinessOperationsRemote must implement Operations interface, but methods in BusinessOperationsLocal must not declare RemoteException ?

Roel wrote : And you might have a look at the rmi tutorial and this thread, because RMI expects some must-dos or otherwise it won't work (and you are violating some of them)

This phrase freeze my soul... The problem is I already finished application some days ago (now i only review the program, design and write docs) and networking works without problem (at least seems to work) on my computer and in my office network... But better late than never retrieve errors... what my networking approach violates ?
You are right - i'm not very satisfied with my design...
If i understand well, you propose the following architecture :

1) public interface Operations extends Remote ;
2) (package accessibility) class BusinessOperations - contains implementation logic;
3) public class BusinessOperationsLocal extends BusinessOperations implements SuperBusiness (uses implementation of class BusinessOperations);
4) public class BusinessOperationsRemote extends BusinessOperations implements Operations, SuperBusiness (uses implementation of class BusinessOperations).

The problem is that in your GUI you will still have something like this :

Therefore SuperBusiness is not used outside package "business" and only to have the same methods name in BusinessOperationsLocal and BusinessOperationsRemote ?
Or may be i miss something ?... For sure i'm missing something...