Re: ERRest and ERXKeyFilters advice

2013-04-03 Thread Giles Palmer
Hi Pascal

Thanks for that, the ERRest app uses a non-wonder framework that doesn't have 
ERXKeys for it so for now I am having to use strings.

Regards

Giles

> 
> Le 2013-04-03 à 05:40, Giles Palmer  a écrit :
> 
>> Hi
>> 
>> Thanks for that.  
>> 
>> I was actually trying to see if there was a way to ensure that eo's on their 
>> own or as part of a relationship get returned in the same form by having 
>> standard filters for each type of eo.
>> 
>> include(String keyName, ERXKeyFilter existingFilter)  is exactly what I was 
>> looking for.
>> 
>> So for my transaction filter with its to 1 organisation I can do:
>> 
>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>> filter.include("organisation", organisationFilter());
> 
> Avoid using strings like this, if you rename your relationship, you will not 
> see that you have a string to change. Either use 
> 
>  include(ERXKey key, ERXKeyFilter existingFilter) 
> 
> or :
> 
>  include(MyEntity.ORGANISATION_KEY, organisationFilter())
> 
>> Where organisationFilter() is a filter determining how organisations should 
>> be filtered.
>> 
>> Thanks
>> 
>> Giles
>> 
>>> You shouldn't hard-code your key values. It should look more like this:
>>> 
>>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>>> filter.exclude(MyEntity.MY_ATTRIBUTE);
>>> filter.exclude(MyEntity.MY_OTHER_ATTRIBUTE);
>>> return filter;
>>> 
>>> If you want to include a to-one relationship, but none of its attributes 
>>> (just type and id):
>>> 
>>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>>> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT);
>>> return filter;
>>> 
>>> If you want to include a to-one relationship, and a couple attributes:
>>> 
>>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>>> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT).include(MyOtherEntity.ATTRIBUTE);
>>> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT).include(MyOtherEntity.ATTRIBUTE2);
>>> return filter;
>>> 
>>> -G
>>> 
>>> On Apr 2, 2013, at 7:55 AM, Giles Palmer  wrote:
>>> 
>>>> Hi 
>>>> 
>>>> I am just starting my first ERRest app and playing with ERXKeyFilters.
>>>> 
>>>> I have an OrganisationController using a filter and I remove unwanted 
>>>> attributes from the rest response with:
>>>> 
>>>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>>>> filter.exclude("dateTimeStamp","autoNotify","notifyMethod","webSitePassword","website");
>>>> 
>>>> This works great, however if I then have a TransactionController and a 
>>>> Transaction object that has a to-1 Organisation relationship how best do I 
>>>> also remove the unwanted Organisation attributes from the rest response? 
>>>> At the moment I have the below:
>>>> 
>>>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>>>> filter.include("organisation").includeAttributes();
>>>> filter.exclude("organisation.dateTimeStamp","organisation.autoNotify","organisation.notifyMethod","organisation.webSitePassword","organisation.website");
>>>> 
>>>> 
>>>> but I can't help thinking there is a better way to ensure consistency 
>>>> about what attributes are contained in the response for various EOs when 
>>>> they form parts of responses that contain relationship objects.  Is there 
>>>> a better way of achieving this?
>>>> 
>>>> Thanks
>>>> 
>>>> Giles
>>>> ___
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>>>> Help/Unsubscribe/Update your Subscription:
>>>> https://lists.apple.com/mailman/options/webobjects-dev/mastermind%40knuckleheads.net
>>>> 
>>>> This email sent to masterm...@knuckleheads.net
>>> 
>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>> 
>> This email sent to prob...@macti.ca
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: ERRest and ERXKeyFilters advice

2013-04-03 Thread Giles Palmer
Hi

Thanks for that.  

I was actually trying to see if there was a way to ensure that eo's on their 
own or as part of a relationship get returned in the same form by having 
standard filters for each type of eo.

include(String keyName, ERXKeyFilter existingFilter)  is exactly what I was 
looking for.

So for my transaction filter with its to 1 organisation I can do:

ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
filter.include("organisation", organisationFilter());

Where organisationFilter() is a filter determining how organisations should be 
filtered.

Thanks

Giles

> You shouldn't hard-code your key values. It should look more like this:
> 
> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
> filter.exclude(MyEntity.MY_ATTRIBUTE);
> filter.exclude(MyEntity.MY_OTHER_ATTRIBUTE);
> return filter;
> 
> If you want to include a to-one relationship, but none of its attributes 
> (just type and id):
> 
> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT);
> return filter;
> 
> If you want to include a to-one relationship, and a couple attributes:
> 
> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT).include(MyOtherEntity.ATTRIBUTE);
> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT).include(MyOtherEntity.ATTRIBUTE2);
> return filter;
> 
> -G
> 
> On Apr 2, 2013, at 7:55 AM, Giles Palmer  wrote:
> 
>> Hi 
>> 
>> I am just starting my first ERRest app and playing with ERXKeyFilters.
>> 
>> I have an OrganisationController using a filter and I remove unwanted 
>> attributes from the rest response with:
>> 
>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>> filter.exclude("dateTimeStamp","autoNotify","notifyMethod","webSitePassword","website");
>> 
>> This works great, however if I then have a TransactionController and a 
>> Transaction object that has a to-1 Organisation relationship how best do I 
>> also remove the unwanted Organisation attributes from the rest response? At 
>> the moment I have the below:
>> 
>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>> filter.include("organisation").includeAttributes();
>> filter.exclude("organisation.dateTimeStamp","organisation.autoNotify","organisation.notifyMethod","organisation.webSitePassword","organisation.website");
>> 
>> 
>> but I can't help thinking there is a better way to ensure consistency about 
>> what attributes are contained in the response for various EOs when they form 
>> parts of responses that contain relationship objects.  Is there a better way 
>> of achieving this?
>> 
>> Thanks
>> 
>> Giles
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/mastermind%40knuckleheads.net
>> 
>> This email sent to masterm...@knuckleheads.net
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


ERRest and ERXKeyFilters advice

2013-04-02 Thread Giles Palmer
Hi 

I am just starting my first ERRest app and playing with ERXKeyFilters.

I have an OrganisationController using a filter and I remove unwanted 
attributes from the rest response with:

ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
filter.exclude("dateTimeStamp","autoNotify","notifyMethod","webSitePassword","website");

This works great, however if I then have a TransactionController and a 
Transaction object that has a to-1 Organisation relationship how best do I also 
remove the unwanted Organisation attributes from the rest response? At the 
moment I have the below:

ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
filter.include("organisation").includeAttributes();
filter.exclude("organisation.dateTimeStamp","organisation.autoNotify","organisation.notifyMethod","organisation.webSitePassword","organisation.website");


but I can't help thinking there is a better way to ensure consistency about 
what attributes are contained in the response for various EOs when they form 
parts of responses that contain relationship objects.  Is there a better way of 
achieving this?

Thanks

Giles
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Standalone desktop Application Bundle help

2012-08-02 Thread Giles Palmer
Hi

I have created a simple desktop swing application that uses WO+Wonder for the 
backend with EOF and other Wonder goodies.  My Application.java extends 
ERXApplication and all runs beautifully in Eclipse/WOLips.

I would like to create a Mac OS x application bundle (normally created with 
Eclipse Project---> Export) to run this as a standalone application on a local 
machine.  Any ideas how to do this?  The normal WO build process is not 
applicable in this case.

If anyone has done this successfully then pointers would be much appreciated.  
At the moment I am getting...

02/08/2012 16:46:06 [0x0-0x16b16b].DispatchManager[9063]
java.lang.NoClassDefFoundError: com/webobjects/appserver/WOApplication

My info.plist in my application package (created with Eclipse export) is below 
and the path to $JAVAROOT/JavaWebObjects.jar exists etc.

Thanks

Giles



http://www.apple.com/DTDs/PropertyList-1.0.dtd";>


CFBundleExecutable
JavaApplicationStub
CFBundleGetInfoString
DispatchManager1.0, Copyright {user} 2004. All rights 
reserved.
CFBundleInfoDictionaryVersion
6.0
CFBundleIconFile
DispatchManager.icns
CFBundleIdentifier
DispatchManager
CFBundleName
DispatchManager
CFBundlePackageType
APPL
CFBundleSignature

CFBundleVersion
1.0.1
Java

JVMVersion
1.6*
MainClass
core.Application
Arguments

ClassPath

$JAVAROOT/commons-beanutils.jar:$JAVAROOT/commons-collections-3.2.jar:$JAVAROOT/commons-configuration-1.3.jar:$JAVAROOT/commons-digester-1.7.jar:$JAVAROOT/commons-lang-2.2.jar:$JAVAROOT/commons-logging.jar:$JAVAROOT/iText-2.0.7.jar:$JAVAROOT/jasperreports-3.0.0.jar:$JAVAROOT/jdt-compiler-3.1.1.jar:$JAVAROOT/log4j-1.2.11.jar:$JAVAROOT/mail.jar:$JAVAROOT/resolver.jar:$JAVAROOT/xercesImpl.jar:$JAVAROOT/xml-apis.jar:$JAVAROOT/velocity-1.7.jar:$JAVAROOT/datecalc-common-1.2.0.jar:$JAVAROOT/joda-time-1.6.2.jar:$JAVAROOT/datecalc-joda-1.2.0.jar:$JAVAROOT/jar_0.jar:$JAVAROOT/jar_1.jar:$JAVAROOT/ERFoundation.jar:$JAVAROOT/ERWebObjects.jar:$JAVAROOT/commons-lang-2.5.jar:$JAVAROOT/commons-lang-2.5-sources.jar:$JAVAROOT/erxservletadaptor.jar:$JAVAROOT/junit-4.8.jar:$JAVAROOT/icu4j-3_8_1.jar:$JAVAROOT/slf4j-api-1.5.0.jar:$JAVAROOT/slf4j-log4j12-1.5.0.jar:$JAVAROOT/ognl-2.6.7.jar:$JAVAROOT/joda-time-1.6.2.jar:$JAVAROOT/joda-time-1.6.2-sources.jar:$JAVAROOT/log4j-1.2.16.jar:$JAVAROOT/jar_2.jar:$JAVAROOT/javaeoaccess.jar:$JAVAROOT/JavaEOAccess.jar:$JAVAROOT/javaeocontrol.jar:$JAVAROOT/JavaEOControl.jar:$JAVAROOT/javafoundation.jar:$JAVAROOT/JavaFoundation.jar:$JAVAROOT/javawebobjects.jar:$JAVAROOT/JavaWebObjects.jar:$JAVAROOT/javaeoproject.jar:$JAVAROOT/javajdbcadaptor.jar:$JAVAROOT/JavaJDBCAdaptor.jar:$JAVAROOT/javawojspservlet.jar:$JAVAROOT/javaxml.jar:$JAVAROOT/javaxml.jar:$JAVAROOT/jar_3.jar:$JAVAROOT/ognl-2.6.7.jar:$JAVAROOT/WOOgnl53.jar:$JAVAROOT/WOOgnl54.jar:$JAVAROOT/jar_4.jar:$JAVAROOT/jar_5.jar:$JAVAROOT/jabsorb-1.2.2.jar:$JAVAROOT/jar_6.jar:$JAVAROOT/metadata-extractor-2.3.1.jar:$JAVAROOT/jar_7.jar:$JAVAROOT/jar_8.jar





 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: EC locking (headless and threads)

2012-02-11 Thread Giles Palmer
Hi

Just to extend this...  when (if at all) should we be locking the 
EOObjectStoreCoordinator as well, in the context of background threads?

I lock and unlock my ec in a try, catch, finally, is that enough or do I also 
need to worry about the OSC?  

Thanks


Giles


> Also if you use ERXExecutorService to execute any Plain Old Java Callable (or 
> Runnable), your editing contexts will be auto unlocked by safety-net unlocker 
> at the end of execution if you haven't done so ... however it is highly 
> recommend that you follow the ec lock/try/finally/unlock pattern in in your 
> Callable.call() or Runnable.run() methods anyway which will be better for 
> long running tasks, recycling ec's if needed, etc. it doesn't hurt.
> 
>   EOEditingContext ec = ERXEC.newEditingContext();
>ec.lock();
>try {
>   
>} finally {
>ec.unlock();
>}
> 
> And yeah, do what Ramsey said  save yourself time figuring out 
> concurrency management of EC's, etc. by watching the WOWODC presentation from 
> 2011. There is a bunch of stuff related to this in Wonder to make life in the 
> background easy and totally painless for you and that WOWODC session explains 
> it's usage.
> 
> 
> On Feb 10, 2012, at 11:34 AM, Ramsey Gurley wrote:
> 
>> If you use ERXRunnable, then you still get autolocking.  Just don't try to 
>> pass an existing EC or EOs to a background thread.  Pass EOs by global id 
>> and create the EC on the thread.  
>> 
>> See also Kieran's most recent WOWODC presentation on ERXExecutor stuff and 
>> background thread processing.
>> 
>> Ramsey
>> 
>> On Feb 10, 2012, at 9:30 AM, Michael Gargano wrote:
>> 
>>> Hi everyone,
>>> 
>>> I just want to get clarification on something before I get myself into 
>>> trouble later.  If I have a headless WO app (or potential just a spawned 
>>> worker thread), and I'm using ERXEC, I need to manually lock and unlock the 
>>> context, correct?  I'm assuming that ERXEC does the autolock/autounlock in 
>>> the RR loop, which I won't have in this situation.
>>> 
>>> Thanks.
>>> -Mike
>>> 
>>> 
>>> ___
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/rgurley%40smarthealth.com
>>> 
>>> This email sent to rgur...@smarthealth.com
>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com
>> 
>> This email sent to kelleh...@gmail.com
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/lists%40cedarstone.co.uk
> 
> This email sent to li...@cedarstone.co.uk


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Webobjects vulnerability to cross-site request forgery?

2012-01-26 Thread Giles Palmer
Hi Dov / Daniele

Thanks for this.  I was not actually talking about "cross site scripting" but 
"cross-site request forgery" according to the link 
http://en.wikipedia.org/wiki/Cross-site_request_forgery

I think, as Daniele suggests, that the way that component urls are constructed 
means they are not vulnerable whereas direct action urls are.  As our site uses 
authenticated sessions and component actions then we should be ok, but i would 
like confirmation.

Regards

Giles

> HTTPS will not stop cross site scripting attacks. The only way to stop cross 
> site scripting and request forging attacks is to validate all URL parameters 
> against a white list and validate all posts coming from your application were 
> from your application and not a BURP suite type of hack tool. OWASP 
> (http://www.owasp.org) has a lot of really good information and tools that 
> you can integrate into a WO app to greatly reduce security issues (notice I 
> said reduce not eliminate)
> 
> Dov Rosenberg
> 
> 
> On Jan 26, 2012, at 8:16 AM, Daniele Corti wrote:
> 
>> Hi Giles,
>> Well, IMHO, only direct actions can be vulnerable to Cross-Site Attack. 
>> 
>> To prevent this you can avoid to handle Session ID in Cookies and force urls 
>> to contains the Session ID in each request (BTW, this is the default WO 
>> behaviour). Second, you can check in Direct Actions that the http-referer 
>> domain is the same of your app (request().headerForKey("referer")).
>> 
>> For me, the best way to avoid Cross-Site Attack would be using session-less 
>> Direct Actions, with POST auth credential in each request. Under HTTPS of 
>> course...
>> 
>> Hope this help!
>> 
>> Bye
>> -- 
>> Daniele Corti
>> --
>> I DON'T DoubleClick
>> 
>> 
>> 2012/1/26 Giles Palmer 
>> Hi All
>> 
>> We have an application that lives behind a login and all requests are 
>> session based component requests.  We have been asked by a user about our 
>> vulnerability to Cross-site request forgery.
>> 
>> http://en.wikipedia.org/wiki/Cross-site_request_forgery
>> and
>> https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29
>> 
>> What do you guys do to protect against this? Are component urls and an 
>> authenticated session enough to prevent this?
>> 
>> Advice much appreciated.
>> 
>> 
>> Regards
>> 
>> 
>> Giles
>>  ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/ildenae%40gmail.com
>> 
>> This email sent to ilde...@gmail.com
>> 
>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/drosenberg%40inquira.com
>> 
>> This email sent to drosenb...@inquira.com
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Webobjects vulnerability to cross-site request forgery?

2012-01-26 Thread Giles Palmer
Hi All

We have an application that lives behind a login and all requests are session 
based component requests.  We have been asked by a user about our vulnerability 
to Cross-site request forgery.

http://en.wikipedia.org/wiki/Cross-site_request_forgery
and 
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29

What do you guys do to protect against this? Are component urls and an 
authenticated session enough to prevent this?

Advice much appreciated.


Regards


Giles
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: JProfiler 6.2.2 [Solved]

2011-04-11 Thread Giles Palmer
Hi Simon

Thanks for this.

I have now solved the issue although I am not 100% sure what the problem was.  

Any way I uninstalled JProfiler as a feature on Eclipse and uninstalled  
JProfiler itself before re-installing JProfiler.  However this time I did NOT 
opt to integrate with Eclipse during the JProfiler setup routine, which I had 
done previously.  This time things work as expected.

I am guessing that the WOLips JProfiler plugin negates the need to integrate 
from JProfiler itself, and if you do both it messes thing up.  I probably 
didn't read some instructions somewhere!


Regards

Giles

> hey giles
> 
> we've done some extensive work with jprofiler this week with no problems at 
> all.
> 
> only difference is we're on java 1.6.0_22. otherwise same jprofiler
> version and same eclipse version.
> 
> simon
> 
> 
> On 8 April 2011 20:04, Giles Palmer  wrote:
>> Hi
>> 
>> Having problems getting JProfiler 6.2.2 to run from Eclipse 3.6.1 with 
>> WOLips 3.6.6219 with java.version=1.6.0_24
>> 
>> When I try to profile the app in the console I just get..
>> 
>> JProfiler> Protocol version 32
>> JProfiler> Using JVMPI
>> JProfiler> The Java Virtual Machine Profiling Interface (JVMPI) is not 
>> present. Exiting.
>> ERROR: JVMPI, an experimental interface, is no longer supported.
>> Please use the supported interface: the JVM Tool Interface (JVM TI).
>> 
>> 
>> Any ideas, how do I set things to use JVM TI?
>> 
>> Thanks
>> 
>> Giles ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/simon%40potwells.co.uk
>> 
>> This email sent to si...@potwells.co.uk
>> 

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


JProfiler 6.2.2

2011-04-08 Thread Giles Palmer
Hi

Having problems getting JProfiler 6.2.2 to run from Eclipse 3.6.1 with WOLips 
3.6.6219 with java.version=1.6.0_24

When I try to profile the app in the console I just get..

JProfiler> Protocol version 32
JProfiler> Using JVMPI
JProfiler> The Java Virtual Machine Profiling Interface (JVMPI) is not present. 
Exiting.
ERROR: JVMPI, an experimental interface, is no longer supported.
Please use the supported interface: the JVM Tool Interface (JVM TI).


Any ideas, how do I set things to use JVM TI?  

Thanks

Giles ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Scheduled Actions

2011-03-31 Thread Giles Palmer
Hi

This is good timing... At the moment our app sends out event driven 
notifications but in the not so distant future we need a scheduling mechanism 
to enhance this.

I have just started to tentatively look at quartz (which seems the way to go).  
Of course if your framework found itself into Wonder that would be fantastic.  
I can't make it to WOWODC but any presentation/podcast would be equally welcome!

+1 for github or google code



Giles



> Or, if not github, just stick it on google code (which is subversion) before 
> WOWODC so it is available for people at WOWODC to download it and play with 
> it.
> 
> Regards, Kieran
> 
> On Mar 31, 2011, at 9:30 AM, Philippe Rabier wrote:
> 
>> Kieran, I think about github. I never used so I need to learn the principles 
>> but it but it won't be a show stopper.
>> 
>> My "dream" would be to include it in Wonder one day to be visible and more 
>> used (again if the Wonder committee agrees with).
>> 
>> We gain so much time using Wonder that this code could be our contribution 
>> in return.
>> 
>> The package name is fr.sophiacom.corason.scheduler but I could refactor it a 
>> la wonder way.
>> 
>> Philippe
>> 
>> On 31 mars 2011, at 13:18, Kieran Kelleher wrote:
>> 
>>> Showing it at WOWODC is a good idea. Perhaps you can share it on github 
>>> when it is complete?
>>> 
>>> Regards, Kieran
>>> 
>>> On Mar 31, 2011, at 5:19 AM, Philippe Rabier wrote:
>>> 
 I'm writing a framework that aims to offer the capability to schedule 
 jobs. It's based on Quartz 2.0 - http://quartz-scheduler.org/
 
 The goals are:
 - persistance is handled by EOF (Quartz offers a JDBC Job store but we use 
 the RAMJobStore instead)
 - a simplified use of Quartz (only one trigger per job for example)
 - no dependency with other frameworks except wonder and EOs that describe 
 a job must implement an interface
 
 We have developed an internally framework but the Quartz library and our 
 business were closely tied. So I extracted the common features. The dev is 
 done and I have to write unit tests before using it in our production env.
 
 It will be free, open.
 
 I will discuss with Pascal if it's worth to show the framework during the 
 WOWODC. Not sure to come but now that I know I won't go to the WWDC (to 
 slow to take my credit card), the choice is simpler.
 
 Philippe 
 
 On 31 mars 2011, at 07:34, Gennady Kushnir wrote:
 
> I use java.util.Timer in my app.
> It works nice for me sending weekly emails and performing some other 
> actions
> 
> 2011/3/29 Tim Worman :
>> I have used the cron/script approach for a long time and it works quite 
>> well. I am starting to transition my apps to use quartz. There's a 
>> chance my apps could have multiple deployments and I felt it was 
>> necessary to de-couple the app from any outside scripting and schedulers 
>> that would also have to be mimic'ed and re-deployed.
>> 
>> Tim Worman
>> UCLA GSE&IS
>> 
>> 
>> On Mar 28, 2011, at 8:10 PM, Matthew Ness wrote:
>> 
 How would I handle scheduled actions with WebObjects. Cron or some 
 other
 approach? I'd like to have my application run a daily process to check 
 a
 remote client's membership status and update my application's 
 membership
 status.
 
 Thanks,
 
 Ken
>>> 
>>> 
>>> You could write a simple script which invokes curl, calling a DA in your
>>> application, and schedule the script as a cron job. You may want to
>>> include a level of security/authentication in the call.
>>> 
>>> --
>>> Matt.
>>> 
>>> http://logicsquad.net/
>>> 
>>> 
>>> ___
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/webobjects-dev/lists%40thetimmy.com
>>> 
>>> This email sent to li...@thetimmy.com
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 http://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com
 
 This email sent to kelleh...@gmail.com
>>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com
>> 
>> This email sent to kelleh...@gmail.com
> 
> __

Re: Cannot obtain globalId for an object failure

2011-03-22 Thread Giles Palmer
Hi Chuck / Kieran

Thank you very much for this.  I am now back on track.  I'll take a look at 
ERXTaskThreadPoolExecutor too.

Much appreciated

Giles

> 
> On Mar 19, 2011, at 4:28 AM, Giles Palmer wrote:
> 
>> Hi Chuck
>> 
>> Thanks, see below...
>> 
>> 
>>> 
>>> 
>>>> Hi
>>>> 
>>>> I have just had an exception thrown on some relatively recent code, that 
>>>> has worked fine until now..
>>>> 
>>>> java.lang.IllegalStateException:  Cannot obtain globalId for an object 
>>>> which is registered in its editingContext, 
>>>> object: , 
>>>> databaseContext: er.extensions.eof.ERXDatabaseContext@ee260b, 
>>>> object's editingContext: er.extensions.eof.ERXEC@1fe6055, 
>>>> databaseContext's active editingContext: null
>>> 
>>> That last part:
>>>> databaseContext's active editingContext: null
>>> 
>>> Indicates the problem.
>> 
>> Yeah, I just don't quite understand what "active editingContext" means to 
>> the databaseContext or how it can be null.
>> 
>>> 
>>> 
>>>> Context:
>>>> 
>>>> This is part of a background notification system which works roughly like:
>>>> 
>>>> 1) NSNotificationCenter triggers a callback that...
>>>> 
>>>> 2) Creates a new Runnable and globalIds of objects are passed into this 
>>>> runnable from their original editing context.  A ThreadPoolExecutor the 
>>>> executes the thread.
>>>> 
>>>> 3) The new thread creates a new editing context that uses an 
>>>> ERXRoundRobinCollection to grab an EOObjectStoreCoordinator.  This 
>>>> EOObjectStoreCoordinator is only used in the notification part of the 
>>>> application, and the ERXRoundRobinCollection contains just a couple of 
>>>> instances of a EOObjectStoreCoordinator at a time.
>>>> 
>>>> The ec is created with:
>>>> ERXEC notificationtEC = (ERXEC) 
>>>> ERXEC.newEditingContext(objectStoreCollection.nextObjectStoreCoordinator());
>>>> 
>>>> and the EOObjectStoreCoordinators with:
>>>> ERXObjectStoreCoordinator osc = new ERXObjectStoreCoordinator(true);
>>>> 
>>>> 
>>>> 4) I then use the newly created notificationtEC to convert the globalIds 
>>>> back to EOs like.. eo = 
>>>> ERXEOControlUtilities.convertGIDtoEO(notificationtEC, gid);
>>> 
>>> Are you locking the EC that you created?
>>> 
>> 
>> No I am not explicitly locking anything.  The app is a full blown Wonder app 
>> and I was under the impression that this relinquished me from having to 
>> worry about locking provided I was using ERXEC to create my editing contexts 
>> etc.  Is this not the case then?
>> 
> 
> You *should* lock in background threads.
> 
> ERXEC notificationtEC = (ERXEC) 
> ERXEC.newEditingContext(objectStoreCollection.nextObjectStoreCoordinator());
> notificationtEC.lock();
> try {
>   
>   // do stuff
> 
>   notificationtEC.saveChanges();
> } catch (Exception e) {
>   log.error("We had an unexpected error in background thread blah blah 
> blah", e);
> } finally {
>   notificationtEC.unlock();
> }
> 
> 
> 
> However, if you want the ERXEC auto unlock safety net in your background 
> thread, you can do this:
> 
>   Runnable r = new MyNotificationsRunnableTask(NSArray gids);
> 
>   ERXExecutorService.executorService().execute( r );
> 
> .. that will ensure that any leftover locked ERXEC's get automatically 
> unlocked after the Runnable has executed
> 
> BTW, to understand this @see 
> er.extensions.concurrency.ERXTaskThreadPoolExecutor.afterExecute(Runnable, 
> Throwable)
> and for javadoc @see 
> java.util.concurrent.ThreadPoolExecutor.afterExecute(Runnable, Throwable)
> 
> HTH, Kieran
> 
>> Regards
>> 
>> Giles
>> 
>>> 
>>>> 
>>>> 5) I then use the same notificationtEC to fetch various objects etc to 
>>>> build the notifications and send out an email.
>>>> 
>>>> The full stack trace is below.
>>>> 
>>>> I was under the impression that having a new database stack should be a 
>>>> pretty safe way to do such a task in a separate thread. Do you have any 
>>>> idea what I am doing wrong?
>>>> 
>>>> I do not quite understand the meaning of the 

Re: Cannot obtain globalId for an object failure

2011-03-19 Thread Giles Palmer
Hi Chuck

Thanks, see below...


> 
> 
>> Hi
>> 
>> I have just had an exception thrown on some relatively recent code, that has 
>> worked fine until now..
>> 
>> java.lang.IllegalStateException:  Cannot obtain globalId for an object which 
>> is registered in its editingContext, 
>> object: , 
>> databaseContext: er.extensions.eof.ERXDatabaseContext@ee260b, 
>> object's editingContext: er.extensions.eof.ERXEC@1fe6055, 
>> databaseContext's active editingContext: null
> 
> That last part:
>> databaseContext's active editingContext: null
> 
> Indicates the problem.

Yeah, I just don't quite understand what "active editingContext" means to the 
databaseContext or how it can be null.

> 
> 
>> Context:
>> 
>> This is part of a background notification system which works roughly like:
>> 
>> 1) NSNotificationCenter triggers a callback that...
>> 
>> 2) Creates a new Runnable and globalIds of objects are passed into this 
>> runnable from their original editing context.  A ThreadPoolExecutor the 
>> executes the thread.
>> 
>> 3) The new thread creates a new editing context that uses an 
>> ERXRoundRobinCollection to grab an EOObjectStoreCoordinator.  This 
>> EOObjectStoreCoordinator is only used in the notification part of the 
>> application, and the ERXRoundRobinCollection contains just a couple of 
>> instances of a EOObjectStoreCoordinator at a time.
>> 
>> The ec is created with:
>> ERXEC notificationtEC = (ERXEC) 
>> ERXEC.newEditingContext(objectStoreCollection.nextObjectStoreCoordinator());
>> 
>> and the EOObjectStoreCoordinators with:
>> ERXObjectStoreCoordinator osc = new ERXObjectStoreCoordinator(true);
>> 
>> 
>> 4) I then use the newly created notificationtEC to convert the globalIds 
>> back to EOs like.. eo = 
>> ERXEOControlUtilities.convertGIDtoEO(notificationtEC, gid);
> 
> Are you locking the EC that you created?
> 

No I am not explicitly locking anything.  The app is a full blown Wonder app 
and I was under the impression that this relinquished me from having to worry 
about locking provided I was using ERXEC to create my editing contexts etc.  Is 
this not the case then?

Regards

Giles

> 
>> 
>> 5) I then use the same notificationtEC to fetch various objects etc to build 
>> the notifications and send out an email.
>> 
>> The full stack trace is below.
>> 
>> I was under the impression that having a new database stack should be a 
>> pretty safe way to do such a task in a separate thread. Do you have any idea 
>> what I am doing wrong?
>> 
>> I do not quite understand the meaning of the above 
>> java.lang.IllegalStateException   Any ideas much appreciated.
>> 
>> Thanks
>> 
>> Giles
>> 
>> Mar 18 12:32:10 OLWAInDoc[2001] pool-3-thread-1 ERROR 
>> indoc.app.event.IDEventObserverCoordinator$ChannelRunnable  - Error in 
>> ChannelRunnable.run() Cannot obtain globalId for an object which is 
>> registered in its editingContext, object: > pk:"496">, databaseContext: er.extensions.eof.ERXDatabaseContext@ee260b, 
>> object's editingContext: er.extensions.eof.ERXEC@1fe6055, databaseContext's 
>> active editingContext: null
>> java.lang.IllegalStateException: Cannot obtain globalId for an object which 
>> is registered in its editingContext, object: > pk:"496">, databaseContext: er.extensions.eof.ERXDatabaseContext@ee260b, 
>> object's editingContext: er.extensions.eof.ERXEC@1fe6055, databaseContext's 
>> active editingContext: null
>>  at 
>> com.webobjects.eoaccess.EODatabaseContext._globalIDForObject(EODatabaseContext.java:4660)
>>  at 
>> com.webobjects.eoaccess.EODatabaseContext.valuesForKeys(EODatabaseContext.java:6509)
>>  at 
>> com.webobjects.eocontrol.EOObjectStoreCoordinator.valuesForKeys(EOObjectStoreCoordinator.java:326)
>>  at 
>> com.webobjects.eoaccess.EOQualifierSQLGeneration$_KeyValueQualifierSupport.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:439)
>>  at 
>> er.extensions.ERXExtensions$KeyValueQualifierSQLGenerationSupport.schemaBasedQualifierWithRootEntity(ERXExtensions.java:355)
>>  at 
>> com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:179)
>>  at 
>> com.webobjects.eoaccess.EOQualifierSQLGeneration$_AndQualifierSupport.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:530)
>>  at 
>> com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:179)
>>  at 
>> com.webobjects.eoaccess.EOQualifierSQLGeneration$_AndQualifierSupport.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:530)
>>  at 
>> com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:179)
>>  at 
>> com.webobjects.eoaccess.EOQualifierSQLGeneration$_OrQualifierSupport.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:567)
>>  at 
>> com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._schem

Cannot obtain globalId for an object failure

2011-03-18 Thread Giles Palmer
Hi

I have just had an exception thrown on some relatively recent code, that has 
worked fine until now..

java.lang.IllegalStateException:  Cannot obtain globalId for an object which is 
registered in its editingContext, 
object: , 
databaseContext: er.extensions.eof.ERXDatabaseContext@ee260b, 
object's editingContext: er.extensions.eof.ERXEC@1fe6055, 
databaseContext's active editingContext: null

Context:

This is part of a background notification system which works roughly like:

1) NSNotificationCenter triggers a callback that...

2) Creates a new Runnable and globalIds of objects are passed into this 
runnable from their original editing context.  A ThreadPoolExecutor the 
executes the thread.

3) The new thread creates a new editing context that uses an 
ERXRoundRobinCollection to grab an EOObjectStoreCoordinator.  This 
EOObjectStoreCoordinator is only used in the notification part of the 
application, and the ERXRoundRobinCollection contains just a couple of 
instances of a EOObjectStoreCoordinator at a time.

The ec is created with:
ERXEC notificationtEC = (ERXEC) 
ERXEC.newEditingContext(objectStoreCollection.nextObjectStoreCoordinator());

and the EOObjectStoreCoordinators with:
ERXObjectStoreCoordinator osc = new ERXObjectStoreCoordinator(true);


4) I then use the newly created notificationtEC to convert the globalIds back 
to EOs like.. eo = ERXEOControlUtilities.convertGIDtoEO(notificationtEC, gid);

5) I then use the same notificationtEC to fetch various objects etc to build 
the notifications and send out an email.

The full stack trace is below.

I was under the impression that having a new database stack should be a pretty 
safe way to do such a task in a separate thread. Do you have any idea what I am 
doing wrong?

I do not quite understand the meaning of the above 
java.lang.IllegalStateException   Any ideas much appreciated.

Thanks

Giles

Mar 18 12:32:10 OLWAInDoc[2001] pool-3-thread-1 ERROR 
indoc.app.event.IDEventObserverCoordinator$ChannelRunnable  - Error in 
ChannelRunnable.run() Cannot obtain globalId for an object which is registered 
in its editingContext, object: , 
databaseContext: er.extensions.eof.ERXDatabaseContext@ee260b, object's 
editingContext: er.extensions.eof.ERXEC@1fe6055, databaseContext's active 
editingContext: null
java.lang.IllegalStateException: Cannot obtain globalId for an object which is 
registered in its editingContext, object: , databaseContext: er.extensions.eof.ERXDatabaseContext@ee260b, 
object's editingContext: er.extensions.eof.ERXEC@1fe6055, databaseContext's 
active editingContext: null
at 
com.webobjects.eoaccess.EODatabaseContext._globalIDForObject(EODatabaseContext.java:4660)
at 
com.webobjects.eoaccess.EODatabaseContext.valuesForKeys(EODatabaseContext.java:6509)
at 
com.webobjects.eocontrol.EOObjectStoreCoordinator.valuesForKeys(EOObjectStoreCoordinator.java:326)
at 
com.webobjects.eoaccess.EOQualifierSQLGeneration$_KeyValueQualifierSupport.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:439)
at 
er.extensions.ERXExtensions$KeyValueQualifierSQLGenerationSupport.schemaBasedQualifierWithRootEntity(ERXExtensions.java:355)
at 
com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:179)
at 
com.webobjects.eoaccess.EOQualifierSQLGeneration$_AndQualifierSupport.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:530)
at 
com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:179)
at 
com.webobjects.eoaccess.EOQualifierSQLGeneration$_AndQualifierSupport.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:530)
at 
com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:179)
at 
com.webobjects.eoaccess.EOQualifierSQLGeneration$_OrQualifierSupport.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:567)
at 
com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:179)
at 
com.webobjects.eoaccess.EODatabaseChannel.selectObjectsWithFetchSpecification(EODatabaseChannel.java:227)
at 
com.webobjects.eoaccess.EODatabaseContext._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:3055)
at 
er.extensions.eof.ERXDatabaseContext._objectsWithFetchSpecificationEditingContext(ERXDatabaseContext.java:66)
at 
com.webobjects.eoaccess.EODatabaseContext.objectsWithFetchSpecification(EODatabaseContext.java:3195)
at 
com.webobjects.eocontrol.EOObjectStoreCoordinator.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:488)
at 
com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4069)
at 
er.extensions.eof.ERXEC.objectsWithFetchSpecificat

Re: WO and Hadoop

2010-08-24 Thread Giles Palmer

Hi

I'm sorry but we have really hacked at ERAttachments in our subclasses  
and I doubt that we could easily share the code.  I will take look  
though and if I think it would be of use then I have no problem with  
sharing.


Regards

Giles


Any plans to release your ERAttachment extension to the outside  
world? :-)



Hi

We have an application in development that will use Hadoop HDFS and  
HBase for storing binary data that is not suitable for our postgres  
db.  We have extended the ERAttachments framework to use HDFS or  
HBase depending upon the size of the attachment data being  
persisted.  At the moment we have found the integration with the  
hadoop api to be simple and straightforward.  However as yet there  
has been minimal testing as the application is still in  
development.  Eventually this will all be deployed to EC2.


Regards

Giles



Is anyone using WO with Hadoop on the backend?  Any experiences  
good or bad?


Thanks.
-Mike

___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/lists%40cedarstone.co.uk

This email sent to li...@cedarstone.co.uk


___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca

This email sent to prob...@macti.ca




___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: WO and Hadoop

2010-08-24 Thread Giles Palmer

Hi

We have an application in development that will use Hadoop HDFS and  
HBase for storing binary data that is not suitable for our postgres  
db.  We have extended the ERAttachments framework to use HDFS or HBase  
depending upon the size of the attachment data being persisted.  At  
the moment we have found the integration with the hadoop api to be  
simple and straightforward.  However as yet there has been minimal  
testing as the application is still in development.  Eventually this  
will all be deployed to EC2.


Regards

Giles



Is anyone using WO with Hadoop on the backend?  Any experiences good  
or bad?


Thanks.
-Mike

___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/lists%40cedarstone.co.uk

This email sent to li...@cedarstone.co.uk


___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Suggestions for best deployment?

2010-07-28 Thread Giles Palmer

+1 for a podcast!

We are just starting down the EC2 route and would be very interested  
in your experiences.  We are using postgres so can't make use of RDS  
which is a great shame, we are also intending to make use of hBase  
(Hadoop) for some of our file storage.


Giles


You know, that could make a great podcast or even better, a nice  
WOWODC presentation :-) Ubermind did a great introduction to  
WOlastic last year, your case study can complement it.


doing what you've done means you're managing mysql, looking after  
it, making sure it doesn't fall over, doing backups, managing  
replication etc. rds does all of that for you. it also makes  
changing the config of your database server a breeze: need more  
disk space ? couple of clicks. need more ram ? couple of clicks.  
need more compute power behind it ? couple of clicks. need  
automatic fail-over to a different availability zone ? couple of  
clicks.


re web server resources, remember it's just a normal wo deployment  
running in the cloud, so you can do whatever you do now.


we don't separate the web and app tier - all our ec2 instances run  
monitor, wotaskd and apache, and are effectively independent of  
each other, and we use an elastic load balancer up front.


simon


On 27 July 2010 17:40, James Cicenia  wrote:
So the base image is the actual OS? So you are managing it as the  
admin?


I decided to try WOlastic. I configured the instances, setup up  
mysql with my users and sync'd the database from existing  
production to amazon.
So you are suggesting RDS vs. what I just did? What are the  
benefits of RDS? Amazon backs up the mysql I created.


Now I am a bit stumped on WebServerResources. How are you handling  
that?


Well, if this works well, I can my webobject apps over and then  
just sell my server and drop the colo.


- James

On Jul 27, 2010, at 11:28 AM, Simon wrote:

rolling your own is surprisingly easy if you start with a base  
image. we started out with a vanilla centos image from rightscale,  
and have built it up into what we needed from there. you can then  
create an ebs-backed ami in a couple of clicks.


re pricing, it all depends on what you need. our financial models  
tell us for our deployment is excellent value for money, and we  
can scale well beyond our current needs and it remains as such.  
use the cost aws calculator to figure out your own costs, and  
remember to factor in staff costs in your decision making process.  
those DBA's are darn expensive compared to RDS :-)


http://calculator.s3.amazonaws.com/calc5.html

the only performance issue we found is that it is basically  
impossible to host your DB outside of amazon due to latency. but  
you don't have to use RDS - if you like sticking needles in your  
eyes you can just run and look after your own mysql / postgre /  
mssql / whatever on an ec2 instance.


the general performance of our apps has also vastly improved. a  
mixture of using more computing power and amazon having much  
faster internet transit than we were paying for in our previous co- 
lo.


alongside production we also run our staging servers and our  
hudson build server on ec2. in productivity terms running hudson  
there was a huge leap forward: previously a new build would take  
around 30 minutes to upload to staging / production. now it takes  
19 seconds flat :-)


we're shortly going to move our subversion repository to ec2 as  
well.


Simon

On 27 July 2010 15:13, James Cicenia  wrote:
This is very cool.

I need to move one of my servers, or, use the cloud approach for  
its WOApps. I see you rolled your own but wolastic seems like it  
is for a mere mortal.


Anyone use wolastic? What is the pricing your are seeing? Issues?  
Performances? Etc.


Thanks.
James Cicenia



On Jul 26, 2010, at 3:55 PM, Simon wrote:

we don't use the wolastic images (we have our own) but we do  
deploy entirely on the amazon ec2 cloud now. ec2 instances  
running standard javamonitor / wotaskd, amazon RDS for database  
server, s3 for file storage etc. scalability on demand, load  
balancing, redundancy across multiple availability zones. it's  
the best thing since sliced bread...


our staging servers (also on ec2) run wonders javamonitor /  
wotasd and hence we'll probably upgrade our production servers to  
those soon.


simon

On 26 July 2010 21:36, Ramsey Gurley  wrote:
I haven't tried it yet, but WOlastic looks like a *really* cool  
deployment solution for WO.


http://wolastic.com/

Ramsey


On Jul 26, 2010, at 4:27 PM, Ken Anderson wrote:

Thanks for the thoughts guys!

Ken

On Jul 26, 2010, at 1:42 PM, Pascal Robert wrote:


Le 2010-07-26 à 12:55, Chuck Hill a écrit :

On Jul 26, 2010, at 9:44 AM, Ken Anderson wrote:

I've been asked to comment on the best way to deploy WebObjects  
today without any "imposed" restrictions.  I haven't done any new  
deployments in a long while, so I'm likely not up to date on the  
last.  What are people using today, and why do they think 

JProfiler / WOLips integration

2009-12-16 Thread Giles Palmer

Hi

Trying to set up JProfiler with WOLips.  I have done the following...

1) installed JProfiler 6.0.2, selected eclipse 3.4 during the ide  
integration step
2) installed wolips JProfiler plugin-in (just updated WOLips etc from  
nightly)


Eclipse is 3.4.1
WOLips is version 3.4.6015 and the JProfiler Launching plug-in is  
listed.


Done an Eclipse -clean launch but there is no "Profile as=>WebObjects  
Application".  If I create a new "Profile configuration" based on  
"Profiled WOApplication (JProfiler)" then launch this I get the  
following error from Eclipse...


An internal error occurred during: "Launching MyApp".
com 
.jprofiler 
.integrations 
.eclipse.internal.ProfilingSession.createProfilingSession(Lorg/eclipse/ 
debug/core/model/ILaunchConfigurationDelegate;Lorg/eclipse/debug/core/ 
ILaunchConfiguration;)Lcom/jprofiler/integrations/eclipse/internal/ 
ProfilingSession;



Any ideas?  Has anyone got JProfiler 6 working with WOLIps?

Thanks

Giles
___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com