2006/08/22

Direct to Web Services: first view

Well, what can I say, with Direct2... life is ease. I had created a simple service just in few minutes. I created a new database — in my Sybase server — with 3 tables, each adopting a basic BAProtocol, establishing a 3-depth 1toN relation:

Account<—>>Document<—>>Details

EOModeler did its work — I really hope Apple is planning a good alternative to this, now that they are deprecating the Java Bridge. From there, Xcode nicely creates a Web service which can be customised with WebServicesAssistant. Inside the later I created a service called newAcc — which inserts a new account...

All this took me no more than 40 minutes... not bad for a completely new newbie =;o)

Now I just have to have to learn how to consume this service within Cocoa... so, let's try!

2006/08/19

Web Services Documentation.

I found that the basic references to start to integrate WO's Web Service Provider with Cocoa Web Service Consumer are WebObjects Web Services and Cocoa Web Services, respectively. Both represent long readings, so I will have to be back later...

...some indications that this can be done are:

Jeremy's Little Corner...
iTod Hi-Fi

Where to go from CEO?

My first impression is that there is no other technology like Cocoa EO so integrated to OS X, however I may be wrong. In the last two releases of the OS X, vers. 3 and 4 (better known as Panther and Tiger, resp.), two nice technologies had been included in the "free" DevTools: namely, Bindings and Core Data. Watching the big picture, these frameworks looks like an attempt from Apple to rediscover Enterprise Objects, but now fully integrated into Cocoa — like if they were porting EOF back from Java to Objective-C again. To this to become a reality, one piece is still missing: the connectivity to a RDBM (like Sybase, Oracle, MySQL...); in EO terms, EOAccess layer...

The question is now: is Apple including this missing piece into Leopard (OS X 10.5)? NDA aside, no one knows for sure. WWDC was held a few days ago and, at least in the public statement, there is no light that this will happen soon.

On the other hand, Web Objects has become a natural citizen of OS X since it was integrated to Tiger — into Xcode 2.2.x — and it includes a nice technology called Web services, which is based on SOAP. I have not tried yet, but it may be a possibility to code a "service provider/consumer framework" to emulate the Access layer... let us try that for the moment.

2006/08/17

On Java & Objective-C

The main source of Objective-C frameworks is Steve Jobs and his team. They started to use this language since they were selling the NeXT machine. When NeXT buys Apple (for a negative amount of money ;^) they recompiled the operating system OpenStep to run into Apple's hardware; since then, it is know as Mac OS X. These are all old news. One more: Java becomes fashioned more or less in the same time — a bit before, to be more precise.

NeXT was forced to move one of its most valuable pieces of software, WebObjects, from Objective-C to Java; but they wanted to keep it "native" inside OS X... so, they coded the so called Java Bridge, a (never too nice, but useful) piece of software which allows to communicate the JVM and the Obj-C runtime. With this tool at hand it is possible to code (to develop) applications which have the beauty interfaces (and useful) frameworks of Cocoa (the front-end of OS X) and have also all the database connectivity developed for WebObjects, the so called Enterprise Objects Framework. The result: the best client/server apps in the market.

The bad news (well, not so new) is that Apple is giving up on the Java Bridge... this means that I will have to port all my code to use something else in order to provide nice and useful interfaces to my users, while keeping the database connectivity easy to manage... not an easy task, but it has to be done =:o(