WebObjects • 1:02:11
This session serves as an overview and roadmap for the WebObjects track. Meet the key players and discover what Apple has planned for the year ahead. In addition, developers will get a peek into what's coming for WebObjects and Enterprise Objects technologies.
Speakers: Bob Fraser, Katherine Wenc, Joe Keenan, Dirk Johnson
Unlisted on Apple Developer site
Transcript
This transcript was generated using Whisper, it may have transcription errors.
Good morning. I'd like to welcome you all to the WebObjects State of the Union session. We have a full week of sessions for you, and this is the kickoff for the suite of WebObjects sessions. Before getting started, I wanted to thank all of you for getting up so early and joining us. I apologize for the start time of these conference sessions, but we have so much to fit into the week that we have to get a pretty early start. So I'd like to introduce Bob Fraser. He is the WebObjects Product Marketing Manager. Bob?
morning everybody tony my hat that i tend to wear around here at the conference uh... making me a little bit of an easier target i really like interacting with customers and that'll make me a little bit easier to find uh... so w_w_d_c_ is kind of a special time for me because i joined apple just before last year's w_w_d_c_ i'm having a ball at apple and i love web objects so i was never at next i was an old list machine hacker And these were machines that were built from the ground up to run Lisp on hardware. They had an object-oriented layer on there. They had development environment. And what I remember about it is I remember the incredible power of that development environment and how it allowed me to do more. I remember basically how I could -- I was amazed at what I could do by writing just a few well-placed lines of code. And those are exactly the same things that I love about WebObjects today. that same kind of power, that same kind of elegance of object-oriented design, and what you can really do.
so welcome to web objects state of the union uh... this is i guess the intro session for a whole track and grab the clicker here So over the course of this, we've had a very full year. Last year at WWDC was the introduction of WebObjects in Java. Since then, we've released WebObjects 5.1, and we have other great things in the works.
So over the course of this presentation, you'll get to meet some of the people who are the developers of WebObjects. You'll get to meet some of the people behind the scenes who are supporting WebObjects. And we'll talk about WebObjects past, present. And one of the great things about this year's WWDC is that the cone of silence has been lifted. And we'll actually be able to talk about future directions. And in quite a number of the sessions that are here at WWDC, you'll be able to see technology of the feature sets that we're working on. We will also have a presentation-- Over this year, our documentation team has been working very hard as well.
They've written hundreds of pages of new documentation. So we'll get a presentation from them, and we'll also hear from our professional services and our training folks. At the end, because WebObjects is so comprehensive, we'll kind of go over different tracks you may want to follow of the WebObjects sessions, depending on your familiarity with WebObjects. So let's get WebObjects is a powerful set of tools, frameworks, and runtimes for developing and delivering Java and web-based applications.
It's an Apple software product, and in it, you get everything you need. You get an integrated development environment. We take care of database mapping and getting the data out of a database for you. We take care of the presentation layer and delivering that data to the end user experience. There's graphical design tools for designing user interfaces. There's a visual development environment tools that let you do drag and drop programming. And we even throw in an application server.
The key advantages of WebObjects are faster development, better results at the end of the day, and lower overall costs. and the way we accomplish this we've got great tools and these tools allow you to get to market quicker They work in conjunction with frameworks that have been developed over years and have best practices programming and that do a lot of the heavy lifting for you and handle a lot of detail things and perform a lot of really hard tasks so that you don't have to.
and it's all object-oriented, and the frameworks foster reuse. So this makes incremental development easy. And incremental development is good because your user requirements are constantly changing. And so what you can do is you can do evolutionary programming. You can do rapid turnaround. You can do things like that. And so that gets things out quicker and makes it easier to design and deliver better. And also, because of these frameworks, the more we do and maintain, the less code that you have to write and the less code you have to less code you have to maintain. so the key features that web objects is is known for automated database access page generation you can also deliver very compelling desktop applications as well a complete set of integrated tools, and your choice of deployment.
Let's look at an application server architecture. The goal here, the name of the game, is to try and get content delivered on the right-hand side of the screen in either a web application or other application interface. And the simplest form of that would be a static HTML page being delivered from a web server.
that's okay and that definitely serves a good purpose out there but you know things are evolving on the web and so you really want for a compelling experience is to be able to take user interaction that comes in and have dynamic content dynamic content would tend to be delivered from data sources represented on the left hand side of the screen here and so the way that's often done in an application server the application server is kind of a middleman and it would use templates and business logic or application logic and you mix in the user requirements with the data and you muddle around a little bit and then you figure out how you're going to present it.
And WebObjects does all that, and we have what would be considered a classic three-tiered architecture. You have the presentation layer, in this case showing HTML. You've got an application server that would model your business logic, and you have your data sources or your data layer. Now, what makes WebObjects unique is wrapped around all of this, we have a very powerful object model.
So we have a very powerful object model. We also have very clean separation of these layers. We also have frameworks for each layer. We also have tools that work with each layer. Thank you. In addition, we're not limited to just delivering HTML. We can also deliver full desktop applications and Java swing-based applications.
Let's look at the data layer. So here we want to get data out of a database or data source and get that represented as Java objects. So we have a tool called EOModeler and frameworks called Enterprise Objects Frameworks. What they'll do is they'll do object relational mapping. We can even go so far as to go in and reverse engineer your database, figure out what's inside, understand the schema, figure out all of the tables that are in there, and then for the entities you select, we'll figure out all the attributes that are in the columns, and we'll model that all up, pick the fields that you want us to, put those into Java objects, and we do that without you having to write any SQL.
We also provide a nice high-level interface to it so that you have an abstraction layer that eliminates having to know the intricacies of the particular databases. This makes it easy to use alternative databases, and you can switch databases without having to change your application. And another very powerful feature is the ability to do a unified query across multiple databases.
we also handle all of the persistence for you so we'll take care of the reads the updates the deleting of the objects and map all that for you so you get a very nice high-level interface we take care of all the database details and we're not limited to JDBC databases we can also work with JDI data sources such as an LDAP directory so now we have our data out of the database into our business logic so we figure out what we want to do with the data and how we want to present it so this is a page generation or the presentation layer WebObjects has a very classical design pattern approach, model view controller, very nice clean separation for generating HTML. But we're not limited to just HTML. We can generate HTML. We can generate XML streams. We can generate SMIL, which is a multimedia interaction language. And we can also interact with JSPs. There's even a Taglib interface because there's a lot of JSP programmers out there. you can actually take uh... the generation streams called low components you can actually embed those in java server pages so you have choices in all of this and web objects is also really great at handling multi-language websites we'll see an example of that So you could do all of the different streams, HTML, XML, and such. You can also build full desktop applications, distributed desktop applications in there. We have different flavors of these, some that don't require writing any code at all, that are generated automatically. And then they're all extensible, and we have GUI tools for doing UI layout and things like that. And this is really, really powerful because there's occasionally HTML interfaces are great because they're, you know, access, immediate access anywhere you are. All you need is a web browser. They're very universal. But occasionally it can be a royal pain to have to click through like 18 web pages to try and get to the thing that you want. And that's where a really nice interactive like tabbed user interface like we have here is a very powerful thing to have. There are other advantages in that because it is a distributed client-server architecture, you can actually decide where you want the objects to live. So you can do processing on the client-side computer as well. You still can maintain security because you get the choice of where your business logic lives. You can keep sensitive things on the server side. So we have, I think, unique in the industry, I think some of our tools are the capabilities that we have. I don't see matched in anything else. Thank you. So all of this is supported by a suite of tools.
Project Builder on 10. There's the Project Builder, and there's sessions that will familiarize you with that. There's also Project Builder on Windows. There's Enterprise Object Modeler, which handles the mapping, the object relational mapping, going from your database to your Java objects. There's a combination HTML editor and binding editor called Web Objects Builder.
then those are used to get your model, get your layout, get your application up, and then WebObjectsBuilder would be used for the HTML type of generation or stream type of generation. And then if you're doing our powerful rule-based paradigm, our direct-to-web, our direct-to-Java, and the other one I haven't told you about yet, we have the rule editor, and we have Interface Builder, which can let you build-- for Java client applications, can let you build user interfaces.
all of this and even comes with its own application server but you don't have to use that application server if you don't want to you get your choice of deployment so we provide with this a full j2se application server that is stand alone that you can run anywhere you've got uh... uh... jre and also supports enterprise java beans but with web objects five one you can actually deploy to other application servers all you need to serve a container and this is all very scalable and the licensing on this is very flexible and very inexpensive expensive.
So here we have a diagram showing the two different alternatives for deployment. On the right, you would see using a WebObjects application server with enterprise Java beans being hosted in there. And in the left-hand diagram, you'd see using a J2SE application server and running a WebObjects application as a servlet.
all of this for the low price of six ninety nine yet educational pricing available as well and they're also discounts for selecting premier uh... eighty c members this is uh... available as a apple retail product to all of our channels and for more information there's uh... you are all right there So that's a brief overview of WebObjects. I'd like to mention some of the features that went into WebObjects 5.1.
With 5.1, the more recent features that we've added, first and foremost is Java server pages and server integration. Thank you. Now this feature was heavily influenced by this conference last year, by conversations that I had with you developers and colleagues had. So I just wanted to thank you for engaging us and giving this feedback. This is really important in terms of the direction of the product. And the things that you tell us really do influence the direction of the product. We've also added enterprise Java Bean support.
We've added the LDAP--or a JNDI adapter that gives you LDAP access and other JNDI sources. We've made some enhancements to the Java client technologies. We've qualified a few additional databases, and there's been a lot of stuff that's been going on in the documentation area, and we'll get a presentation about that later.
So JSP and server integration. This, I think, is kind of key in the philosophy that we want in WebObjects moving forward in terms of offering choices. So J2EE was out there and people needed to be able to interact with it. And developers would come up to me and say, "Okay, love the tools. Want to use the tools, but when I go to my management, they want to deploy somewhere else. They want to use a different app server."
And so this technology makes that possible. You can use WebObjects as the development environment. Basically, at the end of the day, you package up your WebObjects application, it looks like a servlet. And so then you can deploy that to a servlet container. When you do that, you're using that servlet container's resources. So you don't have monitor and you don't have taskd. So you have to use whatever's there. And additionally, what you can do when you're running in a servlet container is you can also mix in Java server pages.
And so what you can do is you can take Woe woke components and you can package them up in tag libs. And then there's a tag lib interface that will let you set and get properties and things like that. And that can work with all the rest of WebObjects and EOF and everything and go back to the database. And so you could go fetch like a username or email address from an LDAP data source and represent it up in just a little tag lib. And any Java server page programmer, anybody with Macromedia who didn't know anything about WebObjects would be able to use these. So you could actually build libraries of these and make them available to a wider audience out there than those who know WebObjects. And we've qualified this on the J2EE reference implementation Tomcat.
We've also added enterprise Java Bean support. So this technology is based on OpenEJB. OpenEJB is an open source project, and Apple has contributed back to that open source project. It's an ongoing thing. And not only do we have the EJB container, but we also have the other giblets and gravy you need. You also have the other supporting elements you need, like a transaction manager. And we also have an orb, open orb.
There are also tools and assistance that let you author new beans and we also have the ability to take third party beans and put them into a container and deploy them. I'd like to ask a question, is anybody using WebObjects for the development of Java beans? Okay? Has anybody deployed third-party Java beans in a WebObjects application? Okay, got one over there. How about servlets? Has anybody deployed a WebObjects application in a servlet container? Got one over there. Okay, thank you.
ldap access so this basically If you look at EOModeler, you'll find a new option that in addition to a JDBC data source allows you to make a model with a JNDI data source. So it behaves very similarly in terms of the user experience. You take EOModeler, you create a model, or you can reverse engineer something like an LDAP directory. And then it'll make a model, and then that'll go through EOF, and EOF will take care of getting all the data in and out of the LDAP database. So we can insert, we can update, we can delete entries, uh... but there's no scheme of synchronization and there's a few other minor little caveats because an old update a base is not a full relational database We also made some enhancements to the Java Client technology. Don't want to steal any thunder from documentation, but they wrote a great book, WebObjects Desktop Applications, which has an excellent tutorial on using Direct-to-Java Client and Java Client. We've also made some enhancements to the class loader that's used in Java Client desktop applications.
Basically, what you can do is, on a class basis, you can decide which pieces would get downloaded on a per-application basis and which pieces would be loaded on the machine one time. So you could take all the common classes that would be there for any Java client application and pre-install those on the target machine, on the client side, and then any time you invoke a new WebObjects application, Java client WebObjects application, only the classes that were different would need to be loaded. There's also for the rapid development mode where you are doing compile and testing, there's a new switch, WoW AutoOpen Client Application, which is fairly self-explanatorily named.
And there's also a new little utility called Java Client Launcher, which assists in launching Java client applications. On Mac OS X, it's a double-clickable app. You give it a URL, it will talk to the WebObject server and take care of downloading all the class files and launching the application for you. And then there's a command file version of that on Windows.
we've also qualified to new databases for web objects five one that is microsoft sequel server and mysql So if you'd like to try this, for those of you who actually are 5.1 customers, thank you. We really appreciate your support. And the response to WebObjects 5.1 has been very good, and it's been a very popular release. For those of you who haven't tried it yet, there's a trial download available. If you go to Apple Developer Connection, you need to register, but registration is free. You can go to the Download section, and you go find Download Software. And in the section under Web Objects, you'll find Web Objects for Mac OS X. And you can download that. And the key for that is included as well. And that will be good until the end of June. For those of you who need to trial a Windows or would like to trial a Windows version, I have a few CDs with me. And I'll be off sort of on that side after the Q&A.
And I'm the guy with the hat. Yeah. So some of the sessions you might be interested in, if you'd like to see more about these features, our session numbers are listed here. We have them for EJB, servlet deployment. The JNDI stuff will be covered in the modeling and connectivity session 7-11, and we have two Java client sessions, 7-06 and 7-07.
So I'd like to make a couple of announcements. Our sustaining engineering team works very hard the kind of unsung heroes they have put out over the past year for updates to web objects four five one three updates to WebObjects 5, a software update for WebObjects 5.1, and I'm pleased to announce the availability of software update WebObjects 5.1.2. So there are fixes.
their fixes in three main categories and it's time stamp related classes u_f_ and you modeler and file merge integration you are right down seven five two oh four there's a case article And that KBase article will have release notes indicating the different changes, the fixes that are in there. And for Mac OS X, this is available through software update. And for the Windows and Solaris version, when you find the KBase article, it will have instructions on how to download.
So great job to the team there. I'd also like to mention a little bit about enterprise objects, EOF. So these slides I borrowed from our VP. I'd like to talk a little bit about WebObjects past, present, and future, because we occasionally get questions about alternate languages and EOF.
So in the past, for people who were programming in Objective-C, WebObjects was in Objective-C and EOF was in Objective-C. So you had really clean integration with Cocoa, with Interface Builder, and it all played nice. The downside to this was it was not easy to get new databases or data sources. Somebody had to write an adapter. And the other drawback now is that this is specifically limited to older versions of WebObjects.
current situation with WebObjects is now in Java, and there's some real advantages to being in Java. Because it's in Java, we get to play with the rest of the Java community. So we get access to JDBC data sources. We get access to JNDI data sources. So getting access to additional databases is very easy. And we're pleased to announce that for those who are doing Cocoa EOF programming, there is an evaluation distribution license available for Cocoa Java EOF. And the details of that license should be posted this week. So this does require-- Thank you.
This does require that you have to do a little bit of Java programming at the back end in your business logic. Your application logic can still be Objective-C. You have access to Cocoa and all those utilities. So it's sort of Cocoa on the top end and Java on the bottom end. And I wanted to brand it Mocha, but they told me that probably isn't a good idea.
So moving forward in the future, This is sort of an interim situation. Moving forward, the goals are to improve the runtime efficiency, to offer a choice of programming language, including the business logic, native Objective-C types, better integration of EOF and Interface Builder and palettes, and over the future, EOF and various pieces of EOF are going to influence Objective C and the classes that are associated with it. And that's about all that I'm at liberty to say at this time. Thank you. What I can talk about are the directions of web objects.
So, first the legal disclaimer. This is the part in the auto commercial where the guy talks really fast. Basically, this being Apple, I can't make any specific promises for any specific feature and any specific release, but having said all that, we are telling you our future directions, the things that we're working on, and in sessions that you'll get the numbers for here, we're actually showing technology demonstrations of things that we we actually have working and we can demonstrate.
So web services are a big buzz in the industry, and we're working on what we think are some really exciting offerings in the web services space. And I think this is going to be really key for web objects and also web objects at Apple, because you're going to see web objects being pervasive in a lot of the technologies here at Apple.
We're going to offer web services utilizing our powerful rule-based programming model and offer a direct-to-web services. We've worked a lot on the XML serialization and deserialization of objects as well, so there's some XML serialization classes. We're integrating Java Web Start with Java Client technology. This will be an upgrade installation, and there's a new tool called EO Bean Builder used for developing enterprise Java beans.
So a little background on web services. There's a session-- I'll get the session number later-- I think it's the Java one, where they actually go into quite a bit of detail on what the web services are and how they're implemented. Basically, web services are sort of a glorified remote procedure call.
I mean, yeah, there's some subtleties, but at the end of the day, that's kind of what the whole intent was. So why would anybody really care? It really is about application interaction, and at least it's standards-based this time. And the other thing that's going on in the industry is that the hype is actually starting to give way to real implementations out there. There are tool sets that are coming up, and there are people who are actually doing stuff with web services now.
There are some issues that have been kind of glossed over that haven't been resolved yet. What's the security model? How do you manage a fabric or grid or nodes of web services? What happens if they go away? So I think a lot of what goes on in the media, they're talking about, I don't know, hailstorms and passports and going all over the place with all this big B2B stuff. And someday I do believe that will come about.
But that is sort of, I think, a little more distant. But what is actually real, and sort of, if you could put your finger on it right now, and what people are really doing is application to application integration and utilizing existing data sources that they have in new ways. And we're offering very compelling technologies that make this really, really easy to do.
These will probably be inside the firewall. They'll probably be like IT departments or people who control their own domain. You'll probably have the ability to do things that go across departments maybe, but they may still be in the same company. And we're seeing this shift, we're seeing this trend starting to happen right now.
So the offerings. WebObjects will be a web service producer. So we'll be like a server of web services. And we'll be able to deliver RPC-based web services as well as messaging-based services. We'll even take care of generating the WSDL configuration files or description files for web services. WebObjects applications will also be able to act as a web service consumer.
And so as a web service consumer, what we'll do is take the WSDL file, generate proxy classes, and call the web service on your behalf. and make it convenient to package and get at the attributes. So you could use this for data aggregation. You could take a little bit of a web service, something out of a database, maybe something from an LDAP source, mix it all together, and then present the results that you want, do the aggregation that you want for a user.
to get you really jump started will will have direct to web services this will use our powerful rule-based paradigm and the power of you modeler Basically what you can do is you take a WebObjects application from your data source, from your database or LDAP directory or whatever, we can take those eos and then you have can management and configuration tools that allow you to automatically turn those into web services there's a powerful assistant that lets you decide what pieces of the data source are going to get bended what the x_-en-all uh... is going to look like uh... and what things you're not going to bend out into the public world and this is code free but it's extensible you can extend it with the rule system you can even freeze pages and actually do code generation and then you can take the java code and go ahead and continue to modify that and drop that in another application. Some of this technology was previewed in Ted's presentation and we have a session on this as well. So I think this is going to be really, really, really powerful. So code free, database persistence vended through web services.
We're also working on some new XML serialization classes. These would parallel the Java binary serialization classes. So if something is serializable and meets some other criterion, you can make it XML serializable. And you can use these to serialize and deserialize objects into XML streams. We also intend to include Xalen so that you can actually add an XSLT transform downstream from that if you want as well. And there's also some somewhat little bit more specialized cases of that where you can actually turn these into SOAP XML messages as well.
Now, this is really handy for taking objects that you may have been binary serializing and then instead archiving them in an XML format, which would foster data interchange. So if you need to take this data and move it around or give it to another application, and then it also makes it easy to turn this into your own protocol, if you need a wire protocol for something.
Java Web Start is becoming the preferred way of deploying and managing distributed Java applications. So we're taking that technology and we are incorporating that in with the Java client technologies. So we'll take care of generating the necessary support files so that you can use either our class loader or you could use Java Web Start when you want to go ahead and deploy a distributed Java client application. So Java Web Start ships with every copy of Mac OS X. So there's no integration or download that needs to happen there. And it's easily available from Sun for the Windows platform.
some additional features we intend for future releases to be available at least the feet the next release were intend to have it as an upgrade installation so that you don't have to uninstall the old version of web objects or burn down your partition and a new tool you'll be in builder this also again leverages the power uh... u_s_ frameworks in your modeler you basically can take and you model your picture of the database and from that do is you can generate home and remote interfaces and implementations of a bean.
So if you would like to participate in our beta program, if you'd like to be considered as a candidate, it. go to applec.apple.com slash webobjects. It's a WebObjects application. And sign up. These are some of the session numbers if you'd like to see some of the technology demonstrations we have for upcoming technologies.
there's also i put one session on their eight oh four this is not a web object session uh... but it immediately follows this session and it is about the client web services frameworks that are going in in the last level And so those of you who are very new to WebObjects might want to stay in this room for the introduction to WebObjects. I think it's a technical overview. I think it's a technical overview session. Those of you who are already familiar with WebObjects but are keen on web services may want to check out session 804. And then we have the other session, 704 for serialization, 707 WebStart, and Enterprise Java Beans and the Bean Builder in 708.
So I'd like to shift gears a little and talk about web objects and Apple and sort of the strategy and how they play together. So Apple is a business. Apple wants to make money. And how does WebObjects help Apple with its business? I look at three key areas. How does WebObjects help Apple in Apple markets?
How does Apple use web objects internally to drive our own business? and at the end of the day apples hardware company but at the end of the day apples not just a hardware company apple offers hardware that has an incredible wealth software, user experience, and stuff that comes around what you buy from Apple. And how does WebObjects play in terms of integration or offering more compelling solutions?
key markets for apple or education media and emerging market that that is coming on strong is the scientific and technical community so education web objects is used to do information systems it's been used in portals it's been used in the back end of the enterprise doing uh... billing and uh... uh... paperless authorization systems immediate companies web objects has been used for asset management and for workflow And with the web services architecture coming together and being able to integrate with things like Apple Script, I think this is going to be a very, very booming area for web objects as well. And the whole draw from the scientific community for Mac OS X with its Unix underpinnings and Java on every platform, on every offering, the scientific community is really coming on over to Mac OS X and when they do, they're also drawn to web objects as well.
how does Apple use WebObjects? Well, internally, we use it all over the place. We can go look up our paycheck. There's any registration pages for signing up for technical training. We've got lots of applications where we use WebObjects to run our own business. Another example is the Apple Store. Y vamos a ver que esto no es en inglés, es en español. And my apologies to any translators out there. This is actually the store page from Spain. And I put this up here on purpose. The Apple Store, the online store, is really important to Apple. We get a large part of our revenue through the online stores. There are dozens, there are dozens of online presences around the world.
You can actually go and travel the world from the Apple store. If you just go to the bottom of the page, not shown on the screen here, there's a little pull down that will take you to two dozen different Apple stores. And you can just switch languages by just hitting the pull down. Managing this and delivering this, 50 different online presence would not be possible without a tool like WebObjects.
and all of these elements on there know what language area and know where to go get the foot image know where to get the text that's appropriate and it all flows through and you think about how often we have to turn the store how often we have to add new products and how often we have to you know update this would not be possible without something like web objects iTools. WebObjects drives iTools. It's in all of the applications there. And... Since recently, there is a new, there's a new iTool, mac.com webmail, and this is a WebObjects 5.1 based application. So I invite you to check that out. Now, putting together solutions. WebObjects is also very powerful in that area as well. And a couple of solution offerings I'll talk about are PowerSchool and electronic board meeting solution.
PowerSchool is a fairly recent division of Apple. It is award-winning student information system software. Its primary market is K-12. What this allows Apple to do is increase our offerings in the education market. Instead of just putting Macs in classrooms, we actually can get into the enterprise, get into the business of a school. How does it get funded?
Attendance, managing records, all those kinds of things. And PowerSchool is a very powerful application that helps foster communication with the parents, with the teachers, with the administration. It's driven by back-end data, and it's all updated in real time. Everything in here is completely real-time based. It's all WebObjects driven. We have a solutions session that'll be later on in the week, and the PowerSchool folks will actually be giving a little presentation.
Apple's also announced another solution, which is an electronic board meeting solution. So many boards, like school boards and such, have a legal requirement that they make their agenda available to people and that people have access to the information and can add their things to the agenda, stuff like that. And the old way of doing that is a photocopier and a lot of people running around and making copies and having to deliver them and stuff like that. And the cost of that is actually quite high. And this is a real return on investment because you can go paperless. And when you go paperless with this, it's like a collaboration system.
you basically they can post the agenda they can have presentations uh... and and people could download these things anywhere that they have a web web access So that's us. Now how can you guys deliver applications and integration? What are the opportunities? What are some of the things that would be really neat to do here? Well, one thing I look at is, again, this whole web services thing. This is going to be pervasive across Apple technologies. There are Java toolkits that can access web services. Apple into, there are classes going into the frameworks that can give you access to web services from Objective C, from C++. And these are all technologies that are coming together near term.
So this gives you an opportunity to, like for instance, one of the things that I demoed at Java 1 was an InDesign application that was generating a real estate brochure that could go to print. And it was talking to a web object's back end. And we passed the data using web services. So AppleScript was driving InDesign and it was getting the data from a web object's database on the back end. so there's an example of going after like a media opportunity in and workflow or asset management Mac OS X Server is another great opportunity. WebObjects deployment is bundled with every copy of Mac OS X Server, and that is all of the hardware, including a picture that was shown earlier, as well as the retail box for OS X Server. And it is our intent to further integrate WebObject's deployment with Mac OS X Server.
and one of the first areas that might be interesting is open directory Now, Open Directory is a standards-based directory service based on LDAP. You have access layers. You have a directory server, and the directory server will be part of OS X server. And then there's directory tools. So kind of the net-net is a lot of the same stuff that you would get at through net info, groups and users and stuff like that, as well as things you'd want to put in an LDAP database, like people's email addresses and phone numbers or contact information. They're going to be unified, and you'll have your choice of accessing them either through net info interfaces or through LDAP interfaces.
and that'll be part of the server architecture. So any LDAP client can get access to anything that OS X server knows about, and that would include WebObjects. So you could take WebObjects Open up your modeler, go reverse engineer the OS X server schema, take that model, drop it into Java, direct to Java client, and in about 10 or 15 minutes, you could build an administrative tool without writing a line of code that would go in there and have access to, like, the user contact information that was on 10 server. All of WebObjects without having to write any code at all.
So you get a lot of stuff with WebObjects. It has a lot of things in there, and we're adding more. And I think that's enough of me rambling. I'd like to turn this over to Catherine Wentz to give a State of the Union on our documentation. Thank you.
I'm Katherine Wenc. I'm Technical Publications Manager for WebObjects. And I'm happy to say that the state of WebObjects documentation is fairly good. Over the past year, we've allocated more resources, worked closely with engineering, product marketing, technical publications, and other organizations to create more content, update our existing documentation set, and maintain it on the website.
Over the next five minutes, I'm going to talk about three things. What we achieve for WebObjects 5.1, what our future goals are, and how to access the documentation. we revised the site. We made changes so that you can find information more easily and efficiently. It now has nine areas and it has a search engine powered by Google. Have any of you folks used the ADC search engine powered by Google? It works really well, especially if you click on the Web Objects button to limit your search to Web Objects.
It works really well, but I advise you to walk through the site and understand what it contains, because even though the Google search engine works really well, you can't find legacy documentation with it. But, If you know to go to the Legacy area on the website, you can find the Legacy documentation. patient.
we produced a lot of new books web objects five one with these new additions we've created over five hundred new pages of content for the web objects five one documentation set how many people have read some of the books At this time, I'd like to thank everyone for all the feedback on both the WebObjects 5.1 documentation and on documentation in general. This feedback is critical. It helps me provide direction to my staff and helps me with my planning. In addition to all the new books, we updated several. We are deploying WebObjects applications, WebObjects overview, dynamic elements, the release notes, and the installation guides. And we also, as you know, have the API reference in Javadoc format.
For future releases, we plan on making some changes and adding some new documentation. web i'm gonna steal back the thunder that bob stole for me web objects desktop applications is now java client desktop applications this new book which is available today on the website and you can also get print on demand copies of it has enhanced tutorials more sample code more information about the benefits of using direct to java client versus java client and it has information on the rule system We're also adding new documents to cover new features. That would be web services and XML serialization. We're creating a new designing enterprise objects book. This will be similar to the Enterprise Objects Framework Developer's Guide that was last released with WebObjects 4.5. we're combining the information in the installation guide and the post installation guide into one comprehensive installation guide We're updating the programming topics. I've received feedback that a lot of you folks miss the programming topics, but we're working hard to make them more complete and accurate. it.
And we're also working to make the API reference searchable in Developer Help Center. We want to make it so that you can search the WebObjects API in the same way you can now search the Cocoa and Carbon API reference. And if you're interested... And if you're interested in this, there's a session 903 that I believe is 5 to 6.30 p.m. on Wednesday that there will be a demo of the new full-text doc searching capability in Jaguar. So if you'd like to go see that, I advise you do.
You can access the documentation in a variety of ways. For the most up-to-date, go to the website. That's where we keep the latest PDF and HTML copies of the books. 1 On the website, if you go to Related Resources and click on rivanti.com, you can get print-on-demand copies of some of our books.
On the product CD, you can find the documentation in both the high-level documentation folder and when you install the developer package. In the box, we ship printed localized versions of some of our books. Right now, we ship the installation guide, the what's new, and the web objects overview. For future releases, we'd also like to ship Java client desktop applications and discovering web objects for HTML. And last but not least, check the Apple Developer Connection newsletter. That's the email that you get each Friday for all the updates on our documentation.
Thank you for your presentation. This concludes my presentation. Again, I'd like to say how much I appreciate all the feedback and comments that you folks give. Keep it coming. - And now I'd like to introduce-- well, let me switch the slide here-- Joe Keenan of Apple Professional Services.
I'm the manager of Apple Professional Services Technical Support. Apple Professional Services is comprised of technical support, consulting engineering, and integration services. We work closely with the engineering departments and also with Apple Training, which is the next presenter up. WebOptics is kind of an unusual product in the Apple catalog, if you will, because it's a commercial developer product. You're all aware most developer tools and products from Apple are no charge. You get it as part of the Apple Developer Connection membership or something like that. WebOptics is a little unusual in that it is a commercial product with its own pricing and so on. So there's a number of different groups within Apple that are involved in supporting web objects, and that's mainly what I want to talk about in a couple of minutes here. On the sort of at the low end, if you will, installation and configuration, the Apple Care phone centers handle calls about installing web objects, issues with if the licensing didn't work or something like that, or you have to do a reinstall or it came with your Mac OS X server box. So that's where that is handled. That's that part of Apple. For the developers in the world, Apple Developer Connection Technical Support, DTS, provides code-level support for WebObjects developers. And, I mean, there's a number of DTS people that are running this whole thing today. They have a couple of specialists in WebObjects in their organization.
But WebObjects is not just a development tool. WebObjects is, as Bob pointed out, a complete deployment environment of its own, or integrates with other deployment environments, and it's somewhat unique at Apple. There's very few products at Apple that are cross-platform. WebObjects runs not only on Mac hardware, Mac OS X, but Windows, Solaris, and a number of other places. So the deployment piece of it is, and can be, quite complex.
And that's where my organization, Apple Professional Services Technical Support, comes in, because we provide services all across the development environment all the way out through the large scale deployment world. So when you're looking at your needs for supporting WebObjects, you've got to figure out where in the spectrum you are. For small scale development, code level only issues, DTS is your right channel. But if you're developing enterprise websites, commercial e-commerce or customer care or banking or whatever, you need to be looking at a commercial grade enterprise level technical support organization. And that's what professional services technical support is all about. Professional services, as I said, also does consulting. So you can obtain assistance actually either on sort of a mentoring role. Consultants come in from professional services to help your development team. They'll do outsource development. If you want a site completely built by professional services, that's what they're there for, or somewhere in between.
training is the part that workers could talk about the training part of it but that's where the technical the whole the whole professional services spectrum lies for web objects and i don't think a lot of your time for the proper talk about technical details but i will be here for the q_ and a_ afterwards if anybody has any questions about who the right people to go to and where you know where where you can get the systems you need for your web objects work uh... just come see me then and now i'm going to introduce I'm sorry. I forgot I had to put this in here. Contact information, www.apple.com slash services is the professional services website.
There's subsections underneath that for consulting, integration, and technical support with descriptions of the support programs. Email services.apple.com and phone for more information about professional services products and opportunities and so on. Well, I'll be just training. Dirk Johnson. Thank you. How are you doing today? My name is Dirk Johnson. I am a curriculum manager with technical training and certification. I don't know about you, but I am very excited about the things that I've heard today about WebObjects. And of course, that's why I'm in training, because I'm so excited about it.
We offer three courses regarding WebObjects. First of all, these courses are instructor-led, hands-on training with labs and lecture. We have very qualified trainers that go pretty much everywhere to do training. The first is WebObjects Development 1, and this provides you the basic foundational skill sets that you need to do a WebObjects application. We take you through the HTTP request, HTTP response, how to pull data from, put data back on the response. We talk about control points, customizing web objects. We take you through building an entire web objects application from the ground up. That's a five-day course.
The second is WebObjects Development 2. If you thought the first one was intense, and it will be intense, brain-hurting, heart-pounding type of course, WebObjects Development 2 is the same. Your head's going to hurt at the end. We take you through a lot of advanced application designs, such as handling what I call the bane of web dynamic development, handling the back button, localization, getting down into the deeper depths of EOF, including the access control and control layers, things like that. So very intense. And the third is WebObjects deployment. And as Joe and Bob brought up, WebObjects is an entire platform. And we do handle multiple platforms in the course, Solaris, Windows, and Mac OS X.
So how do you sign up? Well, you can go to our website, train.apple.com, or you can actually call a telephone number and sign up for the latest courses. Train.apple.com, by the way, is also a WebObjects application. Deployments, the three-day course, the other two are five-day courses. And again, it's both lab and hands-on training. And we do offer on-site training. If you have enough engineers where it would be cost-effective for us to come out to your site, we're happy to do that. Amen. All right, I think I'll turn the time back over to Bob. Thank you. Thank you.
So I'd like to review some of the various tracks that we have here, or sub-tracks of the whole WebObjects track. For those of you who are fairly new to WebObjects, these are some of the sessions that would be good to get an introductory overview. They cover the tools. They cover the frameworks.
There's also a solutions session on Friday where you can see what some of the customers have been doing and what their experience has been with WebObjects. sort of our intermediate level. We cover XML, the Java client technologies, enterprise Java beans, and some deployment topics as well. We also cover the Java server pages and the servlet deployment. And there is also a project builder session on Friday that might be of interest as well.
And then our more advanced tracks, data modeling and connectivity. and some more depth on EOF and optimizing WebObjects applications and security are also very popular sessions as well. Thank you. and then i just kinda wanted that close with uh... what might be the interesting sessions for web services uh... the session following this will cover client-side web services in the o_s_ frameworks there's a job a session that goes over like what x_-n_ o_r_ p_c_ isn't jack's p_n_a_ acronym soup uh... that's that'll be kind of where you can by accessing things from the job a client side and then you definitely have to check out session seven oh five web objects and web services And with that, I'd like to have some of our team back up on the stage. So you've met myself and Joe and Dirk and Catherine. and I'd also like to take this time to invite some members of the WebObjects team. So we have Tony Trujillo-Villan, who is our director.
Todd Fernandez, our quality manager. Andreas Wendker, rapid development manager. Jeff Glasson, framework manager. Francois Jouaux, deployment manager. And Stan German, tools manager. Thank you. We have a lab that is downstairs in room L. These are the hours. And we are doing a conversion workshop today from 2 to 6. And you can sign up, first come, first serve at the lab downstairs. And we have some URLs, and these will be in the URL farm. You can get myself or Tony at webobjects at apple.com.