Tom,
With a few changes (and some JDK 1.2-dependent code), you could use the
file-locking facilities in the java.io.File class to do what you need. Not the
prettiest (or the speediest) synchronization in the world, but it would work,
and it's cross-platform.
Of course, it'd be better if that code was in OCF...
-Chris
Tom McKearney wrote:
> Well, I have currently implemented something like you describe...
> I have a server process that maintains the _single_ OCF connection to the
> card, etc.
> All my client code uses this server.
>
> But, I just assumed that a reasonable extension of the threading
> capabilities of OCF would be mutexing at an OS level. This could be handled
> by an abstract interface implemented by platform. Otherwise, I go through
> the effort of implementing extra layers in my code to handle code
> synchronization and mutexing. I add a layer to my programs (in addition to
> all the layers in OCF). It just seems like more of a hack than a design.
>
> If I'm not using Unix, which is a good assumption for most people, it seems
> much cleaner to go through the _same_ effort of adding layers, but have the
> back end be PCSC calls to the card. I still have to write a Business
> Logic -> APDU translation layer (Card Service). I still have to recognize
> if the card is mine (CardServiceFactory) when it's inserted. I receive a
> pretty good abstraction from hardware (PCSC). So, why would I include OCF
> on top of all the other effort I'm already going through?
>
> I really don't see as much of an advantage than I originally thought was
> there. Unless you provide the infrastructure for the framework described by
> Michael Bender in Solaris 8 to everyone in a cross-platform manner, then I
> don't see a lot of advantage to OCF.
>
> I don't mean this to be an OCF bashing post, I am just concerned about its
> viability now. Am I missing something?
>
> Tom McKearney
>
> <[EMAIL PROTECTED]> wrote in message
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> >
> >
> > Tom, that is a very good question and a very tough question in deed. Some
> > thoughts as a first attempt to answer:
> >
> > It would not feel right to me if OCF would try to solve a generic problem
> of how
> > to synchronize programs in different virtual machines. It would also not
> feel
> > right if OCF would try to mess with operating system calls that are not in
> the
> > list of function offered by every Java implementation on every platform.
> > (Although I admid that we commited the first sin in that direction already
> in
> > bringing "native Browser support" into OCF.)
> >
> > A way around this problem is the approach suggested and practiced by the
> > colleagues from Sun. If I remember correctly it is called "UPI" but I
> don't
> > remember the meaning behind the acronym. Basically it is a setup where
> OCF is
> > used in a single server process that does all smart card accesses. All
> programs
> > needing smart card functions request the services from this one server
> process.
> > What bothered me with this approach is that the single process now is
> > responsible for controlling who is authorized to do what type of
> communication
> > with the smart card. Nevertheless it seems to be a solution to the
> problem you
> > brought up again.
> >
> > Frank Seliger
> > IBM Pervasive Computing Division
> > Schoenaicher Str. 220, 71032 Boeblingen, Germany
> > [EMAIL PROTECTED] Tel.
> +49-7031-16-3142
> >
> >
> > [EMAIL PROTECTED] on 2000-01-22 00:54:56
> >
> > Please respond to "Tom McKearney" <[EMAIL PROTECTED]>
> >
> > To: [EMAIL PROTECTED]
> > cc: (bcc: Frank Seliger/Germany/IBM)
> > Subject: [OCF] cross-JVM support?
> >
> >
> >
> >
> > Is there ever going to be a version of OCF that will support OS-level
> > mutexing so that multiple JVMs can run OCF apps?
> > I may have to dump OCF because of this.
> > It's a big limitation.
> > If you have 2 applications that need to hit the smartcard at the same
> time,
> > OCF can't do this. They have to be all in the same JVM.
> > What if you're running a Java App on your machine and you have a Netscape
> > browser window running?
> > You're running 2 JVMs and OCF can't handle that.
> > OCF needs to have an OS-specific extension that allows cross-JVM resource
> > mutexing so that it can handle multiple apps.
> >
> > So, is there a plan to fix this?
> >
> > Tom
> >
> >
> >
> >
> > ---
> > > Visit the OpenCard web site at http://www.opencard.org/ for more
> > > information on OpenCard---binaries, source code, documents.
> > > This list is being archived at http://www.opencard.org/archive/opencard/
> >
> > ! To unsubscribe from the [EMAIL PROTECTED] mailing list send an email
> > ! to
> > ! [EMAIL PROTECTED]
> > ! containing the word
> > ! unsubscribe
> > ! in the body.
> >
> >
> >
> >
> >
>
> ---
> > Visit the OpenCard web site at http://www.opencard.org/ for more
> > information on OpenCard---binaries, source code, documents.
> > This list is being archived at http://www.opencard.org/archive/opencard/
>
> ! To unsubscribe from the [EMAIL PROTECTED] mailing list send an email
> ! to
> ! [EMAIL PROTECTED]
> ! containing the word
> ! unsubscribe
> ! in the body.
---
> Visit the OpenCard web site at http://www.opencard.org/ for more
> information on OpenCard---binaries, source code, documents.
> This list is being archived at http://www.opencard.org/archive/opencard/
! To unsubscribe from the [EMAIL PROTECTED] mailing list send an email
! to
! [EMAIL PROTECTED]
! containing the word
! unsubscribe
! in the body.