Re: WebObjects officially declared dead by Apple
Re: WebObjects officially declared dead by Apple
- Subject: Re: WebObjects officially declared dead by Apple
- From: Ricardo Parada <email@hidden>
- Date: Wed, 04 May 2016 13:18:39 -0400
Hi Hugi,
I should probably bite the bullet too and get some hands on experience and find out what it takes to transition.
I think I would start by changing our base EO class to extend the Cayenne data object instead of ERXGenericRecord. All of a sudden my EOs would be missing a lot of the methods from ERXGenericRecord which I could try to reimplement using the Cayenne API.
I have some questions, what would happen to KVC stuff? In the mean time I could use NSKeyValueCoding or Q’s open source implementation I guess. NSArrays, NSMutableArrays, and dictionaries would have to be replaced with java equivalents I’m guessing.
Can we generate cayenne object models from eomodels?
I have other maybe more advanced questions regarding the feature set of Cayenne that we may require in order to transition:
1. Is it possible to have one object model connect to database A, and another object model connect to database B? For example, we run a query against a reporting database, then we output some results into a production database.
2. I have an ad hoc query framework that relies on EOSQLExpression to generate SQL from fetch specifications and qualifiers. You specify the attributes to fetch and you provide additional attributes to build a GROUP BY clause, and a qualifier for a HAVING clause. You can also define aggregate attributes (i.e. SUM(), AVG(), MAX(), MIN(), roll your own here), on the fly by cloning the original entity into a new one that has the aggregate attributes added, which are nothing more than flattened attributes added to the new entity. This enables the ad hoc query framework and we use it extensively for reports.
3. Our tables in the database are very large and are partitioned by client id. Each client may have large volumes of data (millions) in tables in the database. A client logs in and usually all queries against a main table have a clientID = x. We have our own concrete subclass of EOSQLExpression which optimizes the SQL generated by adding automatically clientID = x when joining into other child tables that have the clientID attribute. It is a very elegant solution and it amazes me that something like EOF that was created such a long time ago enables all these things for us. We can always get down to the level we need and customize its behavior.
4. Can the Cayenne equivalent of EOEntity, EOAttribute and EORelationship have user info in them?
5. Do we have the equivalent of ERExistsQualifier that works in memory and database?
Thanks
> On May 4, 2016, at 9:42 AM, Hugi Thordarson <email@hidden> wrote:
>
>> Hugi - you beat me to the Cayenne comment.
>>
>> In terms of transition, it might not be a bad idea to write a compatibility layer on top of Cayenne to ease transition. The concepts and granularity are similar enough…
>
> It’s a great idea and I considered doing something like this during my conversion phase, but eventually I found out that it was easier to just bite the bullet and do a complete transition to the Cayenne API. With Eclipse telling you about compilation errors, it’s not really that much of a hassle, even for quite large projects.
>
> - hugi
>
>
>>
>> Ken
>>
>>> On May 4, 2016, at 9:24 AM, Ricardo Parada <email@hidden> wrote:
>>>
>>>
>>> On May 4, 2016, at 8:52 AM, Hugi Thordarson <email@hidden> wrote:
>>>
>>>>> If you think about it, one of the reasons they are bringing Swift to Linux is because they want a cool language on the server as well as on the client and leverage the code and libraries on both.
>>>>>
>>>>> At some point these developers need an ORM framework. Either Apple or someone else will do it in pure Swift without requiring the Objective-C run-time. Possibly a future Core Data. Then they'll need a templating request handling framework like WebObjects for Swift. And a REST framework. Let's bug Federighi with emails about bringing this back. :-)
>>>>
>>>> Federighi probably cares a lot about WO/EOF since he spent years reimplementing it at Ariba ( http://aribaweb.org/ ). But I doubt he has the time or support to do anything about WO within Apple. It’s a market Apple simply isn’t in.
>>>>
>>>
>>> I remembered Ariba and the time he spent there too and it's part of why I was wondering if he had any love left for WebObjects. :-)
>>>
>>> Also I can't imagine working on the server side without something like EOF/WebObjects.
>>>
>>>>> Anyways, putting all this day dreaming aside I think we need a clean room implementation of EOF as it had been described before. I have worked at al levels in EOF and I feel this would be possible until I realize that I am married with four kids and a full time job that leaves me with no spare time left to work on things like this. :-)
>>>>>
>>>>> Was the idea of a clean room implementation of EOF abandoned?
>>>>
>>>> We already have a clean room reimplementation of EOF—it’s called Cayenne and I’m now using it in all of our projects. We just need to figure out what to do with the presentation layer (WO).
>>>>
>>>
>>> I think that is great for new projects. I was thinking of something API compatible with EOF for those of us who have built large systems with WO/EOF to make the transition less traumatic. :-)
>>>
>>>> - hugi
>>>>
>>>>
>>>>>
>>>>>
>>>>>> On May 4, 2016, at 4:48 AM, Hugi Thordarson <email@hidden> wrote:
>>>>>>
>>>>>> Probably no one as surprised as myself. I probably sent dozens of e-mails to sjobs on the subject trough the years without receiving a reply. But to Tim’s credit, it only took four emails before I was contacted. He’s a lot less stubborn, obviously.
>>>>>>
>>>>>> And we Viking are a misunderstood, peaceful people. Apart from sending angry emails to corporate executives, these days we mostly conduct our coastal raids through Panamian law firms using money stored in offshore companies. It’s so much easier than eating psychoactive mushrooms and running around raping and pillaging.
>>>>>>
>>>>>> - hugi
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On 3. maí 2016, at 23:22, Chuck Hill <email@hidden> wrote:
>>>>>>>
>>>>>>> The Viking Tradition lives on!
>>>>>>>
>>>>>>>
>>>>>>> From: David LeBer <email@hidden>
>>>>>>> Date: Tuesday, May 3, 2016 at 4:20 PM
>>>>>>> To: Chuck Hill <email@hidden>
>>>>>>> Cc: WebObjects-Dev <email@hidden>
>>>>>>> Subject: Re: WebObjects officially declared dead by Apple
>>>>>>>
>>>>>>> Yeah, I was surprised by that too.
>>>>>>>
>>>>>>> Apple rarely gives definitive statements on anything, let alone a long dead and forgotten product ;)
>>>>>>>
>>>>>>> --
>>>>>>> D
>>>>>>>
>>>>>>>> On May 3, 2016 at 7:11:05 PM, Chuck Hill (email@hidden) wrote:
>>>>>>>>
>>>>>>>> I am surprised that Hugi got a clear statement from Apple. That must have taken some persistence! “Frank, this damn Hugi guy keeps bugging us every year, get rid of him!”
>>>>>>>>
>>>>>>>> :-)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> On 2016-05-03, 4:04 PM, "webobjects-dev-bounces+chill=email@hidden on behalf of Pascal Robert" <webobjects-dev-bounces+chill=email@hidden on behalf of email@hidden> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Le 3 mai 2016 à 12:47, Flavio Donadio <email@hidden> a écrit :
>>>>>>>>>>
>>>>>>>>>> Hugi,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> That’s bad news, but it’s exactly what we expected, in a certain way. The silence and lack of updates for such a long time were telling us the truth, although we wouldn’t accept it — there had to be a final word, straight from the horse’s mouth! I guess we have it now.
>>>>>>>>>>
>>>>>>>>>> So, they say WO is dead. We say “long live, WO!"
>>>>>>>>>>
>>>>>>>>>> We should move on to the next step: nagging Apple to release WO/EOF as open source software! ;-)
>>>>>>>>>
>>>>>>>>> This topic comes around every year. Multiple people asked this to Apple over the last 7 years. It won’t happen. Final.
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> Flavio
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> On 03/05/2016, at 12:19, Hugi Thordarson <email@hidden> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi all.
>>>>>>>>>>>
>>>>>>>>>>> We probably all know that WO's been practically dead to Apple for a long time, but unfortunately Apple has refused to state so officially (at least I don't recall there being an official statement).
>>>>>>>>>>>
>>>>>>>>>>> Anyhow… In the past years I've regularly sent letters to Tim Cook, asking about the state of WO (being the naggy guy I am) and recently, I was contacted by Apple executive relations regarding my questions. The guy I spoke to called a couple of times, at first, he had absolutely no idea what WO was but the second time he called, he had obtained information and had a clear statement: "WebObjects is a discontinued product and will never be upgraded".
>>>>>>>>>>>
>>>>>>>>>>> I know this information is extremely redundant, but I still wanted to tell you since it was something of a relief. Felt a little like the police calling you to let you know that they'd found the remains of your friend that's been missing for 15 years and finally declared him dead.
>>>>>>>>>>>
>>>>>>>>>>> But of course, this changes nothing; WO is still better than ever. We just need to continue to distance Wonder from WO and move forward.
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> - hugi
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>>>
>>>>>>>>>>> This email sent to email@hidden
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>>
>>>>>>>>>> This email sent to email@hidden
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>
>>>>>>>>> This email sent to email@hidden
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>
>>>>>>>> This email sent to email@hidden
>>>>>>> _______________________________________________
>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>
>>>>>>> This email sent to email@hidden
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>
>>>>>> This email sent to email@hidden
>>>>
>>>
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list (email@hidden)
>>> Help/Unsubscribe/Update your Subscription:
>>>
>>> This email sent to email@hidden
>>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden