WWDC2003 Session 612

Transcript

Kind: captions Language: en I'd like to introduce Melissa Turner and her lovely assistant reduce a waxing they're going to talk about j2ee made easier everything about deploying j2ee applications mac OS x server including robotics applications thanks MA so at this point I was supposed to make a joke but Francois sort of beat you to the plants about how after four years of working with Hayes's for this presentation I finally actually learned something I've learned how to pronounce his last name for years I'm obviously an engineer i'm here today to talk about deploying enterprise applications on mac OS 10 not surprisingly i'm going to give you in this session and introduction to j2ee and jboss i'm going to discuss deploying j2ee applications managing j2ee applications once you've got them deployed and I'm going to talk a little bit about deploying without webobjects applications in jboss what I'm hoping you'll take away from this presentation is for those of you who don't already know what j QE is sort of a 30,000 foot overview of what j2ee is bit of an idea about the jboss and jboss architecture some idea of how we've integrated jboss with mac OS 10 how to deploy a j2ee application on Mac OS 10 and how to manage it j2ee what is j2ee a lot of you probably heard this particular acronym by now it's been around for several years being heckled from down here what is it platform for building multi-tier applications it's standardized modular components and basically it uses could whoever is talking police toph it's very distracting someone's down here is it behind me sorry of that basically the way j2ee works is you have a container that provide services that can be used by multiple applications because there's a lot of things you don't really need to hard-code in every single application you want to use say for example you want to talk to a database or you want to send or receive emails it's not the kind of thing you should need to re-implement every time you want to write an application so you can offload that work on to the container j2ee use in charge is a set of interfaces and standards for taking that kind of work off the application developers hands it's moving it into the container why do you care about j2ee well it's one of the best ways to well we think it's one of the better ways to implement enterprise applications so that it isolates you from a lot of the work I just gave you an example of how to do that and it also insulates you to a certain degree from your vendors I know one of the big problems with buying or developing an enterprise application is platform lock-in you decide to go with one specific vendor and you're stuck with that vendor forever J to even attempt it breaking that and letting you build your enterprise application and deploy it to any one of a number of containers developed by any one of a number of vendors you don't have to worry so much about your vendor suddenly jacking up licensing prices we don't know any vendors to do that doing some of technologies in the j QE area you've probably heard of you have ejb JSP and servlets is the big ones ejb is your database or your business logic JSP and servlets puts a web front end on it some of the other technologies you'll hear about jdbc jndi JMS there's more up there forward-looking this stuff like web services Jack sage a whole bunch of other stuff this is mostly slide so those of you who aren't familiar with these technologies can scribble down all the acronyms and go Google for them later then moves us on to j by j loss is an open-source j2ee container we think it's one of the best ones out there it's got a very very active community as some of you may know and they are very heavily involved in jsr process they've helped write several specifications they've driven this back for jsr 77 which is a management application or the management interfaces we think that by going with jboss we can leverage a lot of their influence in the j2ee spare and we think that's good for our customers they have a very modular architecture that out of the block if you choose to enable it supports clustering and farming and it's very easy to add new services so you know if a year down the road something new and important has come out and you don't want to upgrade your entire system you can just plug that piece of a service in sort of works like this they're built around what they call the jmx bus this is basically a communication and invocation wire you plug individual services into it so you've got a small start-up application small start-up website all you really need to do is serve some dynamic data that cheese through you know get it through CGI get it from webobjects you get it from a number of places so you're running along happily and then web services comes along and somebody says you've got to provide web services we need web services we like web services if you plug in access its diseases at just the service doesn't disturb any of the other architecture pop it in there it is application gets a little bit bigger a little bit more complicated you want to start taking advantage from the ejb features laughs what did i do somebody changed praise left that don't usually do this on stage you plug in ejb jdbc anything you need as your applications grow as you know new response you've got new responsibilities new needs you plug in more pieces if you decide you don't need some of them just as easy to take those pieces back out what else do we know about jboss well as i said they're an open source container that means it's primarily written by developers developers are really good at writing code especially for stuff they need but most of people who do this are well really happy with emacs which means they've got really lousy deployment and management tools most of these people work like I said in emacs don't see anything wrong with keeping track of 20 or 30 XML files in Emacs we thought there was a better way to do that which brings us to jboss on Mac OS 10 jboss is going to be part of Mac OS 10 we're going to be shipping from developer tools deployment on Mac OS 10 server and we've integrated it with some of our other tools on the client it's going to be part of developer tools package you'll get a JBoss developer configuration which is jboss set up with all the services to the developers likely to need to program again and we're going to give you some Xcode templates for building j2ee applications Years War straw files that kind of thing for those of you who've already learned under suming this is most of you at this point poking around on the disks we gave you on Monday it shipped in the sneak peaks area developed previous ed a mac OS x server it should be part of the default install we're going to use it as a replacement for tomcat on get around to talking about that a little bit later you'll get jboss will ship you multiple configurations because we realize that one configuration is not going to suit everybody's needs get a management tool and the deployment tool which Jesus will be showing you later and we've integrated with server admin so those of you who know where my presentation last year and part of the web object streusel we've traditionally not been terribly well integrated so with our jboss product for trying to integrate into the mac OS 10 general tools a little bit more and for those of you who heard me say that we're providing k boss is a replacement for tomcat and panic because they were using day box before nothing important is change the biggest change you'll see is that instead of a labeling Tomcats from the web page you now enable it's an application server page runs on the same part it's still in library concat and if you want you can still go in and configure it to run standalone a couple of things have changed that we think are kind of impressive we're going to be running a newer version shipping a newer versions between Oh many many many of you have been asking for a newer version and when you're running the jboss tomcat configuration you'll be able to use our tools to manage and configure it instead of just having it on off checkbox you'll have a little bit more control the other configurations will be shipping our stand alone which is the basic small site configuration has concat web server has ejv containers jndi few other things corbel orb is in there if i remember correctly and its port taught deployment of applications all you need to do is copy your j2ee application into library jboss 32 deploy and if stay boss is running it'll look there every few seconds find that there's a copy or a new copy if you upgrade on deploy if necessary redeploy that new application without you having to intervene we're shooting also clustered configuration cluster configuration is almost identical to standalone configuration except that well it's cluster support each piece of Accession failover for tomcat ports load balancing and its foot supports automatically propagating changes to applications or services to all nodes in the cluster means that you don't have to worry about upgrading all the nodes if you're upgrading applications you just drop it in one and it will be propagated out to the rest of those in the cluster we're all safe shipping a net loot client configuration this is sort of the while we want to build a computing grid configuration you can centralize your configuration on one server and tell all of your jboss instances to start or download their configurations from that central play gives you one location to manage a vet netboot server here as a configuration it's not really configuration but this seems a good place to talk about it a netbook server simply any webdav enables web server for example apache with webdav turned on on mac OS 10 pretty simple to setup all you have to do is copy the configuration that you want distributed to all your netbook clients into the apache document root tell all the network clients where to go to downloads or configurations and did happen and at this point of going to hand you off to hey Zeus who's going to talk a bit about the application lifestyle cycle for jboss applications in jboss hi everybody my name is mrs watson i learn also to pronounce my last name today I'm here to talk about before I go into the form and tool I want I want to talk to tell you how all the seeds j2 applications are laying out in a such a way that the application lifecycle can be taken care by different people and with different skills also each one of these stages can be handled by different tools so the people in charge of each one of the stages can do its job so here's application lifecycle the first thing is that you got a developer developer is going to be in charge of those develop developing your application or your module so once you have you use developer creating all these modules they will pass it to the assembler the assembler guy is in charge of collecting all the parts and pieces of your application because you could have somebody some developer working very hard in your servers and other he's working in your ejbs and then you have somebody who's collecting all these modules and integrating them in one application he will actually create one unit this unit is actually a jar and we have the special extension called ear so now you have the dissembler depending on your organization it could be the same guy so the developers actual is assembler who is getting you the ears and now this app uses your ear you're going to pass it to the deployer the project has who is in charge of matting the resources that your applications going to need to those who are in your application server so he Maps everything and now he goes and deploys it you just dump it on the your application contains your application server and now is administrated task to go and look that everything that that that your application is going to use either and also it's going to monitor that your application biosigns are strong and well and then again if something goes wrong they're probably going to call the developer and it has to fix the things and then this is the circle so in each one of these pages we wanted to do something for you to create your j-3 application yesterday we have an entire presentation talking about what we do is for the development and assembling part today I'm just going to go to do a brief recap of what we did so from Xcode what we provide is three new templates now we create we add a web module template and ejb modules in play and enter an enterprise applications in place so you you can in fact with those modules as I said and then wrap them everything up in one application we are using to build this and and and is becoming the facto standard for creating the application so we wanted to leverage that and not only that it allows us to use other technologies that are out there like a chocolate that could create or generate the interfaces that your application needs and also the deployment descriptors so for for the assembling part well we are it a half percent of your face and if you see next aquos again XO place is an opera pen source to that what it allows you is that you hint in your source code which information is going to be in your interfaces and you're the prime of the scriptures if you have some some experience with j2ee you know that sometimes you spend a lot of time not nouns on your code but creating songs of files about the interfaces that you need and can suffice in tongues of deployment descriptors so the idea is that you that we provide a way for you to write the code hint deployment the hint the X engine and so the expectation engine could go and create those files for you so we have a way the benefits that you get is that we have a central place where you can synchronize your deployment descriptors and your source code and also synchronize all those appointment descriptors so now we have the developer a part in the family part here is just a a an example of X outlet as you can see is executing is just an extension of Java dog and what we are telling is just some hints of about like for example this is going to be patience a lesbian and then we just you run a your build your application as a result we create the final descriptors for you and also we create all the interfaces so now we're done with our the assembly part and it's time to talk about the deployment part so the first yo yo my ass is why our interests in creating such a tool well you know j-3 application has this a characteristic that allows you to change the behavior of your application a deployment time the idea that you have that each application we have a set of deployment descriptors that are in in your application if you change those deployment descriptors you might change the your application behavior in different circumstances so at the polling the scripture actually a way to a declarative way to figure out which services the container will impose on your being so you can tell for example to tell you to continue to use and a specific data source on your application is running on testing and then when you want to deploy on production to charges produce a completely different one and you do this by changing this information not in the application itself but rather by clicking the deployment descriptors so so far so cool right so this is really great well if you think of all the information that you have that you can manage in this fashion you soon realize that this becomes at another trivial task look old it only one has to go and look all of the point of the scriptures and all there is a the interrelationships between those even in for the simplest application to realize that just using imax is not gonna get us anywhere so a tool with a friendly you I becomes necessary we decided to create one when we're sitting down say well which acknowledged should we use to create this the soul well you know a one side we have all these schemas and D CDs that were modeling the accept the deployment descriptors and then the other hand we wanted to create an HTML based applications but we didn't want to spend a lot of time just constructing the HTML pages with text fields that will actually update the information in the xml files so we say well why don't we just work with the only capable of doing that so we decided to do a web of weeks application using direct with so not only that would leverage some of the technology that's outer from sincerely we use java xml bindings and this this layer what is allow us is to marshal an immersion information from the xml files into the object on the top of that of that layer that is provided by Jack P we added a els layer and over the top two thousand years later week we use our dress to web components and our rules and our welcome common component and that's how we created our our two but you know we didn't you just want to create a fancy XML editor we wanted to provide some value added to our tool we think that one of the things that are important for the deployer is to get something to actually get the information that sometimes leaves in the application container so we didn't want to go to the application server and get that information we wanted to provide a way for the user to have it just there so we open a channel like indication channel return the application and the application server and we pull that information that we think is important for the foyer to know at the ployment i'm not only that we we are also do some cross linking the idea is that all these deployment descriptors that you can have have reference within one another and we wanted to promote a nice and percentage so you didn't have to fight to find out well this information actually lives in here or you should actually be there we try to to hide you from that and organize information that you have used to change in one place and finally we we do some verification the verification is is not only also going and trying to apply the constraints that the schemas and d CDs are imposing on both sides we asked our g3 expert and find out that there are some validations are unnecessary that are not part of the deployment descriptors that are convenient for you to look and instead of going and then realizing later you have a problem you can fix the problem when you are defying your application so when you just stop talking about the planning tool and show you how it worked so the first thing I want to do is load my my application and what I have here is an excess store is the expert stories here actually whilst deal yesterday on the presentation of the Gateway presentation we have yesterday oh yeah I tweaked it so it works for for the purpose of this demo so what we're doing is we love our application and what we are doing first is when trying to do that verification I told you we try to do some validation and if there is we find that there are missing missing data in your ear we try to flag it so you know up front that you have some problems that you have to fix before you deploy it so let me just give up your brief tour of the navigation bar that I have here in the top I have some action for ourselves self-explanatory and I will go a little bit more in detail on what what canet is and why is there then in the bottom side what we have is more or less the structure that you will find in your ear in this case what you see is that we have three branches in each one is representing a war file in your ear or a jar file in the case for ej DS so the idea is so for example in here I will have a deployment descriptor that corresponds to the entire year the Baconian descriptor in the year call application dot XML is the issues one and the idea is well it just tells you what information is inside of the of your ear as you can see we are just describing which modules are enjoy and your ear and there are the same that we are describing that are in the navigation bar but I wanted to bring this here because I wanted to show you these stuff the game of stuff so what we are doing right now is we try to provide Gables also need some information related to your application the content is not sorry and sometimes it is not in this case we don't need it what I wanted to bring up is that we try to put the information that you need in one spot we didn't want to go and click another place to find out where well if I want to configure the gable specific files we wanted to provide it yes sir so another more interesting one is the a5 for the web app in here what what you have is the deployment of scripture for your web app if you're familiar with with with several as you know that this file is is the file web dot XML the list with inside inside the web and directory so you can change information here you will have you see that you can have information about the servlet-mapping or filters and the idea that you can change this information or if you just want to look how it looks well it's there now you see that i also have a servlet section and the idea that if you have seen a web dot XML file is that in each in this file we do will have sections where you are describing also your servlet we didn't want to put all that information in the top but rather but rather presented as servlets in a different link so if you wanted to modify some information related to one specific servlet you could do it by just clicking do a one click so here it is here is the stability information there are initial parameters when you can how if you want a low down on the star up there are some security issues Sun security features that you might want or not modify but the most interesting part comes in the ABS and why is it more interesting well because you could I get at least half three four you can have three files to configure this you can have the easy very easy big yard or XML file you can have the gables xml files and for your CNP you can have Gables jdbc cmp jdbc xml files those files are going to be interrelated and there will be information again in the top in the top level and it will be information that you can have in section for each one of your beans and so let me just show you what i have here in the top level and so something that is interesting and convenient for you is that if you set some the fold in the and the higher level of your only archive that information can be used as the fall for each one or of your individual beans this is pretty convenient because for example if i want to go to the cmp default settings do you see that I have the Madonna the data data source and data source mapping in here and the idea is that if I go to one of my entity beans order item is one of those and i go to cmp be simple database mapping you see that the data source is choosing the default setting and there is no there is no doubt that our source nothing i'm saying that i need both but i'm not selling it and I am NOT pulling it in red because I know that you have a valid default in their high level so what this allows you to make changes at the high higher level and then forget about making changes in the individual beans and that's that's really convenient so if we go to account what I want to do is now that you see we have account we have this thing is the one who is having some problems and I know you have some problems because i went to the file and delete the table name of the entity bean and also the column names for the attributes of the entity bean so what I want to do now is if I go here and I go try to go see a PVC MTV's are very smart in you see that that you have a data source that is not been set and the infirm it works come where this information is coming well if you actually see here we click on we can connect to the application server and one we can act we are ready connected but four channels is the other guy that's bad so let me just me get it back sorry for that mmm for it may seem smarter than I sense okay just load it again so these guys okay so let me just go back to account and then go to the CM TV data mapping and see also if you remember we have pop-ups here and now we don't have them and the idea is well if I want to make now this changes i have to remember that information and so that's when I say that we added this functionality so we could connect to the server and well now I didn't close that's pretty cool so we connect to the server and if we go back to that beam and go to see the CMP database mapping we see that now we have the full pots and essentially what we are saying is we are we are becoming a j2ee java client our web avacs becomes a gateway client and ask the server why are you data sources and so he he I mean they hitting prospects into self which data sources he has and he sent us well here's the data source you can have and then I can choose the high person hypersonic xq el database that it's in jboss and then as you can see i'm also introspecting which are the tables that are associated to this data source so instead of me remembering which which table should i put here i can just go and select it then if we go to this guy we are going to see that we have used to riding it we can select it we are now we have introspective this table and see which columns you have and then we can update and then go to the other guys and here we can choose password and before I'm done you see that we have a warning here it says that the jury original choice Barker is not available in Joe's JBoss server so what we what what happens is that we went to the ear and we find out that the choice that you have in your ear doesn't really match to anything that day boss can have so what we essentially the problem is that gay boys wants to provide a fully qualified type and what we did is we put your the bar car thing so we I know that it's going to run that it's not going to be a problem but what I'm trying to tell you is that we try to find out where you say well this is not actually qualifies as a error but you know you might look at it because if you know what you don't want to do is like well I just ignore whatever you tell me it's fine i just deploy it and then point you and then you have with your application is crashing and then you have to go to the to debug cycles to find out that Oh what happens is that jboss is not supporting the bar that I have to provide the hoof the full qualifying type so the idea is that we want you before you go into the foyer application so so we update here and then we finally update here okay and so now that we change that information we click on validation the application as you can see we went through the rules find out that this is a ballad ear and now we should be able to just simply unsaved our our ear see if I have it here so what I'm going to do is going to save it in the poi directory of extra store configuration and everything is fine okay so it was safe now so now they both will look he periodically pools and look that if there is something from some new year if it is one year there it will try to to load it and launch it so let me just I want to show you that you can you can see what is happening on on on jboss so here I want to go to the wall and then do okay so this is the law that they both is suspending in at some moment we hopefully will see that they both speaking that year and is the is actually deploy unit so we will have to wait second or two or three or four 15 okay pick it up pick it up pick it up awkward silence don't deploy other stuff but it should it should be you some some information and I've seen at the end should say i deploy this thing so i know you guys can and you go spring okay so i think i have a problem with the network and maybe not we'll be able to show you this okay so it's not picking it up well i would love to show you the exit started seeing deploy and it is in fact it will that's what you do to your deployment unfortunately I won't be able to show you I don't know why it's not picking it up but so that's supposed you see a big wing pirate here and that that is the demo and sorry for that but it's not picking it up it's gay boys not picking up the day you okay so sorry for that I promise that when you do this it won't happen and that I did not reset you so obviously we're doing a presentation because you know it's not a presentation unless at least one demo decides to go haywire because that was our deployment tool that is we think by and large thing you're going to appreciate most about our offerings the UI is gonna get cleaned up a little bit we're still working on it but it should make deploying j2ee applications a lot easier but once you've got your application deployed you have to manage it our management tools come into component we basically given you two parts we've done a plugin for server admin and we have a web-based management and configuration tool what these two together allow you to do is manage your jboss configurations you can start and stop the server you can start and stop individual services you can view and configure those services that last 12 sounds a little bit strange but there's reasons for configuring the services themselves you may want to add Janet new JMS topics and Q's made you decide that you need to increase the number the size of the connection pool for your cmp stuff reasons like that you need to be able to configure your container as well in jboss world that's configuring the services and at this point this is going to give you another demo this time he's going to walk through the management tool so hopefully so hopefully it is we won't have groans here but I won't promise you that so we have the server at mean so now you can what you can do is you you you have your application server as part of your server that means part of of of the services that are banded for my question server so you can see that the application services as any other service like FTP or open directory and so you can select it and you can stop the service to start the service as as as you wish so if you click on there we have the first page as well it's just a satisfying you if the application is running or not if you do what do you type of configuration it has the version of the application server etc most interesting information you will find it in the server in the server section there are two to two laws that I want to talk to you about the first one is the boot log and this is important because this is information is going to be recorded by Gables when it starts the first time so if you're having problems with jboss not launching applications or something like that you might want to go to hear and see if you go to a problem and so it's a way play a good place to start doing some diagnostic and then the other one in server log log it's here in in in in server load blog but you're going to finish all the information that the server at wrong time is recording something of the information is important as like the life cycle of the application so when he gets deployed on on deploy the information is going to be recorded here but also if your application is misbehaving you will have like runtime exceptions those problems are going to be lost here so then again it's a way a good place for you to start looking for problem finally we have the setting is part and settings are what we have you can choose your configuration notice already told you that you can have a remote configuration or at UM cut on the configuration in this case I'm using a local configuration and it's an especial one I create one call experts or so and you have a a button the bottom essentially what it does is that it brings the management tool absolutely i'm going through https so your username and password configuration are not going in clear text through the wire here's something interesting is well what would you first you might ask is why we are using an authentication face here well we have two roles you can have anime an illustrator role and essentially he is allowed to change the configuration information in the application server and he can monitor your applications and we have a user mode where it's just the monitoring part that he can see so you can tell which users can only modify configurations now now look that I am saying I am title route and i'm using the the user root that I'm used that I'm putting here is actually the route guy for this system so what I what I trying to say is that we are interfacing with directory services so we don't provide a funky leo administration capability in this tool for your users and passwords we're leveraging that out that already from all that structure to the directory services so if you already have these services and they already are assigned if they are bullied belong to wheel or whatever and they are in that info servers on an ldap servers I don't care we will use out that information so i'm going to log in and if i remember passwords and will be just very cool what okay so you have two three three three possibilities of choosing here the first the first two will only be seen by the administrator and the third and also the third one but for the users that you only want to only care about the applications stage you will see only the last row so i'm going to choose the exit store configuration and show you a little bit about it so what here you see is we see all the services hopefully okay let me just change configuration okay and it's not showing them very good let me see if I can see goes to the ploy sign along configuration there you go so in what we see we're seeing is the services all the services without your application server is offering and so you can select it one of this and then look at that information like for example I'm seeing right now the mail service and then you actually go and change that information this information is going to be actually saving the application server so you don't have to go to your application server look which is the proper XML files to modify and modify their you can do it in here we also have other other services like tom cat that is interesting and we're using tomcat so you can see we have Carolina and so you have all the attributes you can change the attributes of your tomcat server from here and and other stuff that you can do is we were using a data f4 for our the first demo idea for deployment tool we're using a data source extra store data source well you can create that data source I already have it but you actually clean that data source from here you're clicking here you provide information and we add that data source that data source could point with another database like Oracle we're using hypersonic SQL but you can do all that management work from here and that will be our demo for the management [Applause] so that would sort of be management tool as we said it's web-based because we know a lot of people want to manage these their configurations remotely and hey you have a blackberry running over Bluetooth theoretically you could manage if you could actually get the bad words as we said it's secure we use SSL and open directory what can we say security is a big thing for a lot of people we didn't want to have because we were plugging in with the open directory stuff we didn't want have your passwords floating around clear text so we actually wrote a adapter for the web object application to talk ssl I've had at least one question about that from people so and the first you want to talk to on the one who did that and it allows you to view and configured deployed services and start and stop services also has a few other things lets you deploy applications and monitor deployed applications because well this is a large part of what management tools are supposed to let you do hey this is going to talk again okay so um let's so from here I can't change the configuration i am i'm looking at but in this case I'm not multiplying the configuration essentially wait does takes me to the first page and now I can actually monitor my applications running so we're not running that would explain why your your employment wasn't taking which third we know which were we running try stopped and started well here you can focus the application server and you can start it and just one button and that great check the log and you're having problems trying to start you up you can have them you know yeah like it looks like it has not started because hey it's good see em all up there we go okay so good man smarter who discovers the configuration those are not related okay so apparently jboss has decided to drive us nuts what you should be going to the manage thing to the top one okay so will fake it scoot told him to school who when we should be hard I give up okay so now well actually given that we're running at a time that's not such a bad thing but what you would see if you were seeing this is his asst would go into the same page where he was showing you the log out and the foot and change configuration pages he would be able to click on the deploy application button a sheet would come down and let him pick which application he wanted to deploy he hit deploy application and the application would be uploaded through the management tool pushed out to the jboss configuration written in to deploy directory and from there everything would be as per normal as everything would happen exactly the way it would if you would copy a file into that directory and now comes the brief webobjects and j2ee section of this you can now deploy webobjects applications in jboss we're providing supports building dot wars in the web object world from xcode and those of you who have worked with previous versions of our products probably know that you could in five to create a dot whoa-oh directory that could also be used as a dot war and deployed as an exploded directory for the next release we're hoping to provide the ability to deploy as a single file archive which means we've had to do some reworking of the NS bundle loading stuff and for those of you who didn't actually believe us when we said in 51 that we were defecating some of the NS bundle and NS Resource Manager api's we've done it if you try and run a bundle or run an application which is bundled isn't archives and you're using those api's things are going to go drastically wrong we told you so we also have the ability to package our frameworks as jar archives so we can then embed them inside other archives loads in that way and we'll providing support for jndi properties what this means is that as many of you know if you run inside a container system properties becomes a pretty vague and nebulous thing so we have support for using jndi as property lookup mechanism if we find things in properties we find property 12 set up there we won't actually try and access system resources so it gives me two places to look two way to configure your application I think we've also added a few extra properties just for containers but I don't remember what they are at this point he's new started going to show you that we actually can and have done this this is easy because we don't actually have to use the tools this is all from the command line we need a both anyway so I'm not really we can show them that hello world that work is actually know about dis applications internally ok let me let's try to to deploy it nhej both is willing we'll see our hello world application is the world war ii supplication in a single deployment directory forum will see a drawn so what I'm going to do is just take the hello world at war another thing I should do is just go and copy it over into the deploy directory of gay bar in the same fashion as X that story should in some moment pick it up and I should be able to show you from the web browser give it a shot anyway inside now it's like a nice time to to Google bullying's about how many were you think this thing is gonna work so fan how many of you think this one's going to work together oh we have we have believers good you like us okay so shot on see hello world hopefully we just have not oh this is it yeah well we had problems earlier so we had to take this host off the network and it looks like we may have quite thoroughly confused its networking capabilities apparently it's not capable of believing that it's not on a network but it should still allow the loopback address to work so who could have known you know it's a presentation i gave us the machines 15 minutes beforehand that's why we started late sorry so anyway so what we've shown you or at least we told you is not Sonja's you can develop j2ee applications on mac OS 10 client you can deploy them on Mac OS 10 server in jboss that we have the best tools out there for jboss and they'll get that every promise did an assembly tool that will make your life a lot easier I know you might have looked at it and thought that looks awfully complicated trust me trust Stefan who's sitting over there in the audience things cannot get worse than Emacs and xml files and you can deploy webobjects in jail I and I know that some things a lot of you have been asking for so at this point for more information this is mostly for the dvds later but these are the people you can contact if you've got questions about this presentation here's the reference library places to go things to read this is a little bit more interesting for us I think this is the open source projects that were attached with that or that we're using that you might want to go have a look at we've got the sourceforge net project for jboss there are actually two separate organizations is jboss org which is a commercial armed group that does development of jboss and health consulting services for it and then there's the open source project itself it's where you'd find tomcat at apache and that's where you'd find the answer next auklet stuff