Cocoa Obj-C Server, Web Client

  • I've put together a little Objective-C app that is split into view and model
    objects communicating via messages.  I would like to create a web based client
    that could also communicate with the Objective-C model object.  I'm wondering
    what might be a nice way to do this.

    I could do an Objective-C cgi-bin program. Or I guess Objective-C Isapi.  These
    could be pretty specific to the app, or perhaps be filters that parse an html
    doc looking for commands to be executed, setting and pulling in info from the
    business object.  I'd like to make use of the Foundation Kit to do the client
    server communication.  The web client could run on either Mac with OSX or a BSD
    box using GNUStep.  I don't know anything about web objects, but I am assuming
    that that would make this stuff easier, although I don't know if I want to buy
    all that stuff (WebObjects) at least until I know where it is going to run and
    if it is going to still permit development in Objective-C.  So I'd like to
    avoid that uncertainty.

    Any pointers?

    --
    -----
    G Douglas Davidson                      | CityNet, Inc.
    <douglas...>                    | Pittsburgh, PA
    voice: 412.481.5406                    | fax: 412.431.1315
  • On Friday, November 24, 2000, at 11:38 AM, G. Douglas Davidson wrote:

    > I don't know anything about web objects, but I am assuming
    > that that would make this stuff easier, although I don't know if I want to buy
    > all that stuff (WebObjects) at least until I know where it is going to run and
    > if it is going to still permit development in Objective-C.  So I'd like to
    > avoid that uncertainty.
    >

    Well, we can make this easier..

    WebObjects doesn't run on OS X at this time.

    Versions of WebObjects past 4.5 will not support Objective-C development

    There has been no indication from Apple that they are committed to bringing WebObjects 4.5 to Mac OS X.

    (as an aside: Apple is removing Obj-C/EOF from the base installation of OS X.  Only a Java/EOF will be available by default, requiring you to write all your business logic in Java.  The Obj-C/EOF has been moved to being a separate product - thereby marginalizing it, and making it much easier to kill, assuming we EVER see it.)

    The screwing continues!
  • On Friday, November 24, 2000, at 05:06 PM, Scott Anguish wrote:
    >
    > On Friday, November 24, 2000, at 11:38 AM, G. Douglas Davidson wrote:
    >
    >> I don't know anything about web objects, but I am assuming
    >> that that would make this stuff easier, although I don't know if I want to buy
    >> all that stuff (WebObjects) at least until I know where it is going to run and
    >> if it is going to still permit development in Objective-C.  So I'd like to
    >> avoid that uncertainty.
    >>
    >
    > Well, we can make this easier..
    >
    > WebObjects doesn't run on OS X at this time.
    >
    > Versions of WebObjects past 4.5 will not support Objective-C development
    >
    > There has been no indication from Apple that they are committed to bringing WebObjects
    > 4.5 to Mac OS X.
    >
    > (as an aside: Apple is removing Obj-C/EOF from the base installation of OS X.  Only a
    > Java/EOF will be available by default, requiring you to write all your business logic in
    > Java.  The Obj-C/EOF has been moved to being a separate product - thereby marginalizing it,
    > and making it much easier to kill, assuming we EVER see it.)
    >
    > The screwing continues!

    I appreciate the response!

    I'm not sure why Apple seems to not want to seriously support the Objective-C stuff.  It really fits in nicely with the whole BSD underpinnings of OSX and is really the only reason I am even interested in OSX.  But they are a strange group out there.  With the existence of GNUStep, I feel a bit more comfortable writing Objective-C/Foundation Kit server code in the event Apple makes some other odd decisions.  Although from reading the GNUStep site, it appears that the two will not interoperate.  That is a concern

    I was just curious if anyone was doing any sort of web interface utilizing Foundation kit for the communication between client and server.  What would be the best approach to take even if it involved some work.

    And with regard to GNUStep Foundation and Cocoa Foundation interoperability.  If they do not interoperate, is there a strategy to use that may still preserve some of the interoperability benefits versus just writing something that handles "raw" requests over a port?

    Thanks!
  • On Saturday, November 25, 2000, at 01:27 AM, G. Douglas Davidson wrote:

    > On Friday, November 24, 2000, at 05:06 PM, Scott Anguish wrote:
    >>
    >> On Friday, November 24, 2000, at 11:38 AM, G. Douglas Davidson wrote:
    >>
    >>> I don't know anything about web objects, but I am assuming
    >>> that that would make this stuff easier, although I don't know if I want to buy
    >>> all that stuff (WebObjects) at least until I know where it is going to run and
    >>> if it is going to still permit development in Objective-C.  So I'd like to
    >>> avoid that uncertainty.
    >>>
    >>
    >> Well, we can make this easier..
    >>
    >> WebObjects doesn't run on OS X at this time.
    >>
    >> Versions of WebObjects past 4.5 will not support Objective-C development
    >>
    >> There has been no indication from Apple that they are committed to bringing WebObjects
    >> 4.5 to Mac OS X.
    >>
    >> (as an aside: Apple is removing Obj-C/EOF from the base installation of OS X.  Only a
    >> Java/EOF will be available by default, requiring you to write all your business logic in
    >> Java.  The Obj-C/EOF has been moved to being a separate product - thereby marginalizing
    > it,
    >> and making it much easier to kill, assuming we EVER see it.)
    >>
    >> The screwing continues!
    >
    > I appreciate the response!
    >
    > I'm not sure why Apple seems to not want to seriously support the Objective-C stuff.  It
    > really fits in nicely with the whole BSD underpinnings of OSX and is really the only reason I
    > am even interested in OSX.  But they are a strange group out there.  With the existence of
    > GNUStep, I feel a bit more comfortable writing Objective-C/Foundation Kit server code in
    > the event Apple makes some other odd decisions.  Although from reading the GNUStep site, it
    > appears that the two will not interoperate.  That is a concern

    The GNUstep base library is pretty completely source code compatible with the Apple Foundation,
    but Distributed Objects are definately not interoperable between the two systems.

    > I was just curious if anyone was doing any sort of web interface utilizing Foundation kit
    > for the communication between client and server.  What would be the best approach to take
    > even if it involved some work.

    For a few years I have used the scheme where a little CGI program parsed incoming requests,
    converted them to property-lists, and passed the serialized property-lists over to a server
    using DO.  The server then handled the request (or passed that job over to other servers)
    with the results being passed back to the CGI program for return to the browser.
    This scheme works quite nicely, but is a little inefficient.

    Currently we are moving to having Java servlets use the JIGS library (Java Interface for GNUStep)
    talk via DO to our backend servers directly.  I assume that the same approach could be used
    with JavaBridge.

    I'm also evaluating the use of gsweb for ObjC frontend as an alternative to the Java servlets -
    while gsweb is a long way from offering the ease of use of WebObjects, it has a decent subset
    of the functionality.  Alos now that the GNUstep implementation of NSURL (in CVS) is actually
    more functional/robust than the current MacOS-X implementation, it's possible to write decent
    ObjC web applications without having to resort to writing low-level http/https support yourself.

    Generally, I aim to develop for GNUstep with a future port to MacOS-X in mind - once I see some
    evidence of Apple commitment to objc webobjects, I'll likely adopt gsweb.  I'm using NSURL in
    GNUstep on the assumption that Apple *will* get it working well soon, so a port will be possible.

    > And with regard to GNUStep Foundation and Cocoa Foundation interoperability.  If they do
    > not interoperate, is there a strategy to use that may still preserve some of the
    > interoperability benefits versus just writing something that handles "raw" requests
    > over a port?

    The two are source-code compatible, so I'm assuming that you mean DO here.  I don't think that
    it's likely that the two will ever have interoperable DO - should it's not inconceivable that
    some sort of gateway could be developed.
    A more likely approach would be to user NSURL to have processes talk using http, and pass data
    as text encoded property-lists (either traditional format or xml).
  • on 11/26/00 12:23 AM, Richard Frith-Macdonald wrote:

    > A more likely approach would be to user NSURL to have processes talk using
    > http, and pass data
    > as text encoded property-lists (either traditional format or xml).

    Is there an implementation of XML-RPC that someone is working on?
  • > Is there an implementation of XML-RPC that someone is working on?

    Are you talking about SOAP here ? if so then "sort of", because I am working on
    something very similar. Unfoirtunately most of the people we are working
    with who need this ave their own slightly different specs for interfacing,
    so it's a little on the general side. but once you've solved reading the XML,
    and generating the output files then it shoudlnt be too hard to adapt.

    -pete.
  • On Mon, 27 Nov 2000 10:57:55 +0000
    Pete French <pete...> wrote:

    >> Is there an implementation of XML-RPC that someone is working on?
    >
    > Are you talking about SOAP here ? if so then "sort of", because I am working on
    > something very similar. Unfoirtunately most of the people we are working
    > with who need this ave their own slightly different specs for interfacing,
    > so it's a little on the general side. but once you've solved reading the XML,
    > and generating the output files then it shoudlnt be too hard to adapt.

    I am working on SOAP right now (using expat and some hand-made HTTP communication stuff) as a replacement for DO. I'd be happy to hear from others about already made experiences with SOAP and HTTP based communication, too.

    cheers, Phil
    --
    Philippe C.D. Robert
    Developer - StudioSendai.com
  • Am Freitag, November 24, 2000, um 05:27 PM, schrieb G. Douglas Davidson:
    > I was just curious if anyone was doing any sort of web interface utilizing Foundation kit
    > for the communication between client and server.  What would be the best approach to take
    > even if it involved some work.

    Is DO actually part of Darwin? If yes, then it should be possible to make GS's DOs talk to Apple's DOs.

    Phil

    lic. oec. publ. Philip Mötteli                    Tel# +41(22)320-3088
    c/o Leila Bourahla                                Fax# +1(425)940-1642
    23, Rue Prévost-Martin                            Tel# +41(78)742-9334
    CH-1205 Geneva                                E-Mail: <moetteli...>
  • Philip Mötteli wrote:
    > Is DO actually part of Darwin? If yes, then it should be possible to make GS's DOs talk to Apple's DOs.

    Complete DO can't really work between two different Foundation
    implementations (because objects are encoded in a different way).
    IMHO it's much better to use a higher-level protocol with defined
    interfaces for that, eg CORBA or SOAP.

    Besides this, Foundation isn't part of Darwin anyway. IMHO it would be
    extraordinarily great if Apple would release ObjC Foundation and maybe
    even EOF with Darwin.

    Greetings
      Helge