embedded@glassfish.java.net

Re: Feedback Wanted: Embedded APIs for GFv3 Prelude

From: Nazrul Islam <Nazrul.Islam_at_Sun.COM>
Date: Tue, 10 Mar 2009 14:32:18 -0700

Hi Jerome,

All the changes you suggested has been incorporated by Jennifer and
Byron. Please take a look.

Refer to
https://embedded-glassfish.dev.java.net/nonav/gf-embedded-api/apidocs/

Thanks.

-- 
Nazrul Islam  -  (408) 276-6468  - Sun Microsystems, Inc.
Jerome Dochez wrote:
> I don't like a lot of things in the APIs but I can start with the 
> following 
>
> CommandExecutor is a useless interface, it should be removed and the 
> Server interface changed into : 
>
> Server. java : 
>
> public CommandExcecution execute(String commandName, CommandParameters 
> params);
>
> CommandExecution.java :
> public ExitCode getExitCode();
> public String getMessage();
> public ActionReport getActionReport();
>
> CommandParameters.java :
> public setDefaultParam(String defaultParam);
> public setParam(String paramName, String paramValue);
>
> EmbeddedInfo is not generic enough, it asks for http ports but what 
> about if you need to add more listener, or even what about if you 
> don't want to open any port (like an embedded EJB Container). We need 
> one consistent way of defining 0 to many http listeners and ports.
>
> EmbeddedDeployer is also not generic enough, the scatteredWar concept 
> needs to be extended to an ScatteredArchive concept (which would map 
> to jar, war, rar and maybe even ear) and the deployScattered() methods 
> need to use that ScatteredArchive as a parameter. In fact, I am not 
> sure why we need a deployScattered() method all together, I think 
> deploy() should be enough and we should be smart enough to figure out 
> what was passed to us.
>
> EmbeddedMain talks about using the uber jar, it should in fact be 
> moved into the glassfish.jar so that people can do the same thing 
> using a normal distribution (as they can already do today for most of 
> the features of that class, today I can do java -jar glassfish.jar 
> foo.war). 
>
> Server : why do we return the cataline Engine object ? I suppose this 
> would be removed once we integrate the new web container embedded 
> APIs, right ? If that's the case, we should not have here.
>
> So as a conclusion, this APIs is very targeted to war file deployment, 
> and we cannot hope to be able to extend it to support full V3 styles 
> of deployment and maintain backward compatibility. 
>
> Either we spend the time to make it right for embedded release or we 
> declare it as a non stable (with knowledge that it will extensively 
> change for v3 release). 
>
> Jerome
>
> On Mar 4, 2009, at 12:04 PM, Nazrul Islam wrote:
>
>> We are planning to wrap-up the development activities for GFv3 
>> Prelude and move to GFv3 trunk. We would like your feedbacks on the 
>> current APIs 
>> <https://embedded-glassfish.dev.java.net/nonav/gf-embedded-api/apidocs/>.
>>
>> _Background on Current APIs_:
>> The APIs has gone through several iterations already. Thanks for 
>> filing all the issues 
>> <https://embedded-glassfish.dev.java.net/issues/buglist.cgi?Submit+query=Submit+query&issue_type=DEFECT&issue_type=ENHANCEMENT&issue_type=FEATURE&issue_type=TASK&issue_type=PATCH&component=embedded-glassfish&subcomponent=API&issue_status=RESOLVED&issue_status=VERIFIED&issue_status=CLOSED&version=current&email1=&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=fulltext&long_desc=&long_desc_type=fulltext&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Issue+Number>. 
>> The APIs has been reviewed internally also few times lately ([1 
>> <https://embedded-glassfish.dev.java.net/issues/buglist.cgi?Submit+query=Submit+query&issue_type=DEFECT&issue_type=ENHANCEMENT&issue_type=FEATURE&issue_type=TASK&issue_type=PATCH&component=embedded-glassfish&subcomponent=API&issue_status=RESOLVED&issue_status=VERIFIED&issue_status=CLOSED&version=current&email1=&emailtype1=exact&emailassigned_to1=1&email2=ai109478&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=fulltext&long_desc=&long_desc_type=fulltext&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Issue+Number>], 
>> [2 
>> <https://embedded-glassfish.dev.java.net/issues/show_bug.cgi?id=67>], 
>> [3 
>> <https://embedded-glassfish.dev.java.net/issues/show_bug.cgi?id=86>]) 
>> and is scheduled for a formal review at GlassFish architecture forum 
>> on 3/16.  Since we will be doing the webtier APIs on the trunk, for 
>> GFv3 Prelude we focused on basics first such as start/stop, 
>> configuration management, etc. Refer to attached presentation for a 
>> brief overview of the APIs.
>>
>> Jerome: You mentioned that you may have some feedback. Please let us 
>> know.
>>
>> Thanks much.
>>
>> _References_:
>> Javadocs: 
>> https://embedded-glassfish.dev.java.net/nonav/gf-embedded-api/apidocs/
>> -- 
>> Nazrul Islam  -  (408) 276-6468  - Sun Microsystems, Inc.
>>     
>> <Embedded_GlassFish_API.odp>