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


