Johannes Kleinlercher wrote: > Hi Steve, > > thanks for your answers. > However, I think IBM has built its appserver with some more complexity > than appservers like jetty. > So here are the complications I can think of with your approaches:
>> >> To deploy WAR/EAR files, the DeployByCopy components do all the heavy >> lifting: they copy files to the relevant directory on startup, delete >> them when terminated: >> /org/smartfrog/services/www/dbc/components.sf > > In WebSphere you can't deploy by copying files. You have to call a > wsadmin script (jacl or jython) with commands like > "AdminApp.install(ear,options) aah. > > >> >> >> This leaves the app server itself. We don't have a custom component >> for that, the way we do with Jetty. Instead you have to either use the >> Cargo components (assuming Cargo can work with WebSphere), or just use >> the Java component to bring up WebSphere. This is how we bring things >> like JBoss up; it works very well: >> >> /org/smartfrog/services/www/servers/jboss4.sf >> > > As I understand these components they just start a java process and you > can define some classpaths or systemproperties. > However, websphere configuration is much more complex. the appservers > and related environment are first configured via wsadmin (or the web > console) and saved in XML files. > Then the servers get started by the nodeagent which is the > parent-process for the appservers. > > >> (these are all in the sf-www component bundle; the smartfrog-www RPM, >> and documented in the wiki: >> http://wiki.smartfrog.org/wiki/display/sf/sf-www ) >> >> >>> I also understand that with the smartfrogs declarative language I >>> define how a component should be >>> configured and then it changes the configuration the way that it >>> should be. If a component is already >>> configured this way it does nothing. Okay in theory, but somehow I >>> have to program this compare and configure >>> and I have to provide websphere scripts or a websphere API do >>> configure websphere, isn't it? >> >> You could actually start the native scripts, but then you need to use >> the RunShell component to hook everything up, and do some work to get >> any component values (such as environment variables) down to the >> process. If you can get away with the Java command, that is the one to >> go for. > > I still do not understand how you get to the state-driven-deployment > feature. The runshell/java components run a script when started; they become the running program. when told to stop by SmartFrog, either exit command is issued or the process is just stopped, depending on the choice you make in the .sf file. This lets you run any Java program under SmartFrog, or external things. > > according to > http://wiki.smartfrog.org/wiki/display/sf/State-driven+deployment smartfrog > supports: > > The SmartFrog language can be used to describe the states of target > systems, and the [SmartFrog Daemon] act as the configuration management > agent. One subtlety is that while SmartFrog components can detect when > they are not in a specific state, they do not normally automatically > apply the changes. Instead they report the failure to their parent > component. You need to use the retry component to undeploy then redeploy > the component(s). > > That is really too "wishy-washy" ;) What it means is that the smartfrog components -especially the ones that go low level- know when they aren't working properly, and report it to their container. The container gets to chose the actions, such as retry, kill that entire virtualized machine etc. Once you have a WebSphere component, its container/parent tells it to start / "move to the started state" and it does this or fails. Once started, you can ping it or stop it. > > What do I need to implement to support this for websphere? > Looking at the problem of deploying to websphere, Cargo have some uncommitted patches to work with JSR-88 deployment APIs http://jira.codehaus.org/browse/CARGO-146 http://jira.codehaus.org/browse/CARGO-147 Long term, the JSR-88 support would be the way to go, and it would work for the problem of getting WAR/EAR files out to the local system. Shorter term, there are some ant tasks, right? We could configure and start them -steve ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Smartfrog-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/smartfrog-users
