hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sikha, Naresh" <Naresh.Si...@schwab.com>
Subject RE: Hivemind questions
Date Thu, 20 May 2004 16:07:00 GMT
I think I mean the first question, "Do you mean, have a single
implementation but have multiple services (and multiple service
interfaces)?"
 
In my problem domain it is desirable to have one implementation that may be
tracking statistics or offers methods that can mutate the state (management
extensions), i.e. 'infrastructure interfaces', as well as offering a
business interface.
 
For the business interface it is further desirable to add interceptors such
as logging and metrics.
 
But for the infrastructure interfaces it is further desirable to have fewer
or no interceptors at all.
 
And it should be possible to not cast from one interface to another - which
is guaranteed by Hivemind by virtue of the fact that they are exposed as
multiple services.
 
Thanks.
 
Regarding my second question on the use of serviceIds a good example of not
(at least technically:) needing a serviceId is the lookup to the
ThreadEventNotifier. Since there really only is one in a system, then
 
getService(ThreadEventNotifier.class)
 
is as descriptive as 
 
getService(Hivemind.THREAD_EVENT_NOTIFIER_SERVICE,
ThreadEventNotifier.class);
 
Thanks again.
 

Naresh Sikha 

-----Original Message-----
From: Howard M. Lewis Ship [mailto:hlship@comcast.net] 
Sent: Thursday, May 20, 2004 8:55 AM
To: hivemind-user@jakarta.apache.org
Subject: RE: Hivemind questions


Do you mean, have a single implementation but have multiple services (and
multiple service interfaces)?
 
Or do you mean, have a single implementation and single service, but allow
it to implement many interfaces?  
 
 
 

--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind
http://howardlewisship.com <http://howardlewisship.com/> 


-----Original Message-----
From: Sikha, Naresh [mailto:Naresh.Sikha@schwab.com] 
Sent: Thursday, May 20, 2004 10:52 AM
To: 'hivemind-user@jakarta.apache.org'
Subject: Hivemind questions


Hivemind users,
 
I have the following questions I'm hoping you can help me with.
 
1. Is it possible for a service to expose multiple, distinct, interfaces? An
example is a service that exposes a 'business interface' (getQuote) and an
'infrastructure' interface (getQuoteHitCount). Using multiple interfaces
allows for exposing only the necessary methods to the appropriate consumers
while still preserving the singleton semantic.
 
2. What is the goal of making 'serviceId' distinct from 'serviceInterface'?
For brokering pattern situations (many unique instances of a common
interface like Servlet) I see value here, but for true singleton services it
would be convenient to only have a dependency on the the interface like so:
 
getService(BusinessService.class);
 
I guess as much as this is second question is a feature request, I would
like to solicit rationale first for the current design.
 
Thanks!
 

Naresh Sikha
Senior Staff, Technology Solutions
Charles Schwab & Co., Inc. 
211 Main Street
SF211MN-07-347
San Francisco, CA 94105-1918
W: 415-667-1286
F: 415-667-9397
E: naresh.sikha@schwab.com
WARNING: All email sent to this address will be received by the Charles
Schwab & Co., Inc. corporate email system and is subject to archival and
review by someone other than the recipient.

 


Mime
View raw message