Configure player

Close

WWDC Index does not host video files

If you have access to video files, you can configure a URL pattern to be used in a video player.

URL pattern

preview

Use any of these variables in your URL pattern, the pattern is stored in your browsers' local storage.

$id
ID of session: wwdc2002-713
$eventId
ID of event: wwdc2002
$eventContentId
ID of session without event part: 713
$eventShortId
Shortened ID of event: wwdc02
$year
Year of session: 2002
$extension
Extension of original filename: mov
$filenameAlmostEvery
Filename from "(Almost) Every..." gist: ...

WWDC02 • Session 713

WebObjects Solutions

WebObjects • 1:00:24

This session presents examples and case studies of how WebObjects has been used to bring information to the web, streamline business operations, and solve real-world problems.

Speakers: Toni Trujillo-Vian, Bob Davis, Matt Firlik, Thomas Lehmann, Michael Buening

Unlisted on Apple Developer site

Transcript

This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.

Good morning, everyone, and thank you for coming to our first session on the last day of the developer conference. I realize it's really early and appreciate you getting up to join us. Can I see a show of hands of people who went to the event last night? Wow.

That's great. And you guys still got up this morning. Awesome. So our first session today is our WebObjects Solutions session where we're showcasing a few of our developers who we've invited to come up and share what they've done. Bob Frazier is actually going to be your emcee for the session this morning, so I'll bring up Bob.

So there really are two of us. We're very pleased to have representation from four of our customers here. And they'll each give a presentation on their technologies in four different areas and their experiences with WebObjects. And we've asked them to give a little background not only on the project that they're doing, but kind of like how they used WebObjects, if they made any transitions, and give us some feedback on what and why kind of thing. So I think you'll find this very interesting.

[Transcript missing]

So are we all powered by Krispy Kreme this morning? God, I was really looking for something else. Here we go, Krispy Kreme. So as Bob said, my name is Bob Davis, and I'm the project manager for the Collaboratory Project at Northwestern University. Let's see if I can get this to change. There we go. So here's a picture of our homepage and our address, Collaboratory.Nunet.net. And we sort of joke, one of the hardest things we ever have to learn to do is learn, first of all, to pronounce "collaboratory," and second of all, to spell it.

And we actually work with K-12 students and teachers, so it's kind of tricky sometimes. So what is the Collaboratory Project? It's an easy-to-use, web-based collaborative environment that teachers use to develop project-based activities that are accessible to all students. So what is the Collaboratory Project? It's an easy-to-use, web-based collaborative environment that teachers use to develop project-based activities that are accessible to all students.

So what is the Collaboratory Project? It's an easy-to-use, web-based collaborative environment that teachers use to develop project-based activities that are accessible to all students. that are benchmarked to Illinois learning standards and goals. And as I said, this is our home page, and I welcome you all to come visit us.

It's very simple to navigate. I'm not going to go through a lot of it today, but there's basically five or six buttons that will lead you to most of the pertinent information. If you'd like to go and learn more about the Collaboratory, learn how to participate, learn about some of our communities, see who our staff is.

And there's actually a search mechanism there also, so if you just want to see some of the projects that teachers have created, you can go and sort of search by curricular and grade area and sort of get a sample of some of the things without actually creating an account. And, of course, you can log into the Collaboratory project.

So just to give you a little bit of information, I'm part of the IT organization at Northwestern University, and the Collaboratory Project is really sort of an information technology outreach into the Illinois K-12 community. We help educators learn to integrate network technologies into their curriculum, and it's really a $2.2 million investment over the course of five years. Our original funding came from SBC Ameritech with seed money, and now we're funded by the Illinois State Board of Education with some additional money from SBC and some help from vendors like Apple and vendors like Sun who provide hardware for some of the things that we're doing.

We really like to think of the things we do as sort of scaffolding. We're not from the School of Education. We're part of information technology. What we do is provide an online resource for teachers to use. We don't produce any content. Everything that's in the Collaboratory is really things that have been produced by teachers. It's a very, we've been in existence five years, so it's really a very mature, sort of well-developed set of resources and services. We really sort of attempt to try to empower teachers and students themselves.

Teachers manage all content. It's really their responsibility to approve anything that is put up on the Internet that reflects their students' work. Has to agree with their acceptable use policies in their schools and their school districts. Teachers create all of the accounts that students use, manage all of the content. We don't do anything like that. So we're really empowering the teachers to take control of the environment.

The students can access the Collaboratory at any time. They can access it in a computer lab. They can open up their iBooks, sit down in the hallway and access the Collaboratory. They can access it from home. They can access it at their grandparents' house, showing them the things that they're doing.

So it's really a 24-hour-a-day, seven-day-a-week, really easy way to get the students to access the Collaboratory. They can access it from home. They can access it at their grandparents' house, showing them the things that they're doing. So it's really a 24-hour-a-day, seven-day-a-week, really easy way to get the students to access the Collaboratory. We're the Collaboratory project, so that sort of makes sense. And also, over the course of five years, we really have developed an archive of replicable, sort of model projects that have been developed by Illinois teachers and match Illinois learning standards.

Just a few statistics. We have roughly 662 participating schools from the state of Illinois. That sort of represents 122 different school districts. 2,000 or more Illinois teachers have developed projects and worked with us. There's over 4,000 different projects and resources, and I'll explain that a little bit more what that means. And we've had over 50,000 logins into the Collaboratory project in the last year, and that's not browsing our website. That's actually students and teachers doing work in the Collaboratory.

So here's our login page. Very simple designs. Once you log in, I'm going to spend a few minutes sort of showing you some of the aspects of the Collaboratory, like alerts and interests, the communication services that are integrated across all of the communities, what we call projects and activities, the various resources that teachers use to work with those activities, our online e-courses that we've developed, and our whole volunteers, ask an expert, sort of knowledge-based system that we've developed. And all this has been developed in WebObjects over the course of the last two years.

So when a teacher or student logs in, they basically come to what we call their headlines page. The headlines page is customizable so that they can be receiving some up-to-date information whenever they log in, and they can sort of set the time frame that they want to be aware of things that are happening in the collaboratory. So in this example, we're seeing some, when a student logs in, they can see any sort of announcements that the collaboratory might like to make them aware of. They can see if they have any alerts.

If they're a teacher and any content has been added to any project that they've been managed, they get various alerts and links that they can directly go and manage that content, approve it, edit it, delete it, whatever is important for them to do. They also get sort of tickled. They get tickled about if they have any messages. Those messages can be from their students. It can be messages from other teachers. It can be messages from any collaboratory participant.

They also can see if they have any invitations. Invitations can be sent out by teachers to other teachers and students to participate in shared projects that they might have. You also get links to your project calendar. So if you're a student, you can see exactly if there's anything happening currently. If there's anything happening today or this week or in the coming month. And finally, you can see if there's any new interests that may have occurred.

And interests are things that you're interested in the collaboratory. You sort of fill out a profile. And anything new that's been created in the collaboratory in whatever time frame you set, you then get direct links to it. So if you're interested in math, if you're interested in science, or if you're interested in haiku poetry, you can attempt to sort of keep in contact with all of the things that are happening. There's also search mechanisms where you can go directly to it.

So we have an integrated set of internal messaging, very similar in a lot of ways to email, but it's purely internal for collaboratory participants. Anybody who knows email would feel quite comfortable using this. We have a set of project-based calendars, so any project that a student is involved with, they'll have a calendar for it. And actually, students use this as sort of their jump point, generally.

When they log in, quite often they'll check their messages, go look at their calendar, see if they have any activities or events occurring on that day. We also have an online discussion room, chats that students and teachers can use. We have threaded discussion forums that can be integrated with any project.

The Collaboratory project is really, the main focal point is a curriculum unit, a project that a teacher creates. This is some examples of screens of sort of forms-based screens, how a teacher would create a project. Each project can have a series of activities. These activities are all linked to resources that we've created and are all aligned with Illinois learning standards. And here's some examples of the interface we built.

So we've actually taken all of the Illinois learning standards and put them in our own database and can, through a very nice, easy interface, link them directly to any activities that the teachers are doing. This is really important. I know probably a lot of you aren't sort of involved in education right now, but this is very important in K-12 education. You're sort of teaching to the standards in a lot of states, so it's very important to be able to do that.

So I'm going to show you very quickly sort of our four core resources that have been built. It's called the Cybrary, MediaSpace, Internet Book Club, and the Survey Studio. So the first one I want to show is an example of a cyber force that a teacher developed called Robots and Robotics, sort of a typical curriculum unit you might have.

A cyber is an online library of internet resources or internet URLs that are pre-searched and customized for a particular curriculum unit. So a teacher can create a cyber for a curriculum unit, can create categories under that cyber, and under those categories there can be a whole series of links that a student can click on and go off onto the internet. The cyber is available for any student who has access to that project. The cyber can also be used by other teachers in their projects that they develop.

This is an example of what we call media space, physics, AP thermal dynamics. This is just a very simple place for students to publish on the internet. It can have text, graphics, sound, and video incorporated into it. This is something called the Internet Book Club, and it's exactly like it sounds. Students can post book reviews, original compositions, original essays, share and collaborate with other students.

And I always throw this one up for shock value, roadkill monitoring. This is a real project, sort of environmental science project in Illinois, and I won't get into the gory details of it, but what they're using here is our survey studio, which is an online way to do data collection, pre and post testing. It's all browser-based. Data can be displayed in pie charts and bar charts and various other graphics. charts and various other graphs.

We also have developed a whole series of online e-courses. As we started to extend into throughout the state of Illinois, we couldn't really go out and do workshops for everybody, so we've moved all of our workshops online. We wrote our own interface in order to do this. And we really very heavily use volunteers who man our ask an expert system and sort of man our knowledge base and help out in the discussion rooms and conference centers. So, some specifics. That should give you some idea of what we do. We've been doing this for a little more than two and a half years now. We've been using WebObjects.

We're at WebObjects 5.0. Our deployment is on a Sun server, which is an educational system. We're running an educational grant from Sun. It's an E250, and we're running Apache. Our development is all still done on Windows 2000, because it's sort of legacy systems, although we're really hoping now to move to OS X. Our database is Microsoft SQL Server. Our database servers are all Dell, and right now we're using JTurbo JDBC drivers. Our web server is IIS. And we're basically using CVS.

Our web server is our version control system. And we, at any given time, we have, oh, seven to ten developers, both full and part time. Four full time staff and then a whole series of Northwestern University students are involved in it. This is our staff here. And I don't know if any of you are on the Omni group list, but Jonathan Rockind is one of our lead programmers. He's a very heavy contributor.

Unique problems solved. We really feel like we sort of know the directions we're going, and we can really start to reap the benefits of object-oriented programming. So we've tried to develop a whole series of what we loosely call learning media and display objects that really form the core basis of all of our next generation of applications that we're writing for the Collaboratory.

Learning objects, loosely we describe as things like objects that allow for reflection, assessment, annotation, pure critiquing, focused feedback, things like that that really allow for enhanced collaboration with the work that students are putting up. Media objects are sort of just like they sound, ways of displaying various media types.

And then display objects that really just give us consistent ways for interface design, layout, navigation. Sequencing. Here's an example of one of our new applications that we're writing called the ePortfolio. A student might have a project that they wish to publish. They would pick a display component, display object from a series of things that we make available.

They can then upload content in there. That content can be any media type, can be text, graphics, sound, video, PDFs, URL links, anything like that. Each of this is divided up into various components and sort of interchangeable. All of these are reusable components that we can plug into all of our next generation of applications.

Sort of up at the top, you can kind of see a little icon for F and D. Those stand for our discussion forum. So at any point, any of these objects can have feedback and critiques and reflection added to it. That might be a discussion forum. It might be a chat room. It could even be a cybery that might be added to it.

As far as reusability, all of our accounts, groups, authentication, and permissions can all be reused very easily. We have our set of core learning media and display objects. All our JavaScript and style sheet components are completely reusable. We've developed a whole series of interface widgets that give all of our applications a real consistent look and feel to the interface design.

So, we're expecting to grow to over 100,000 accounts in 2003. We plan to add additional WebObjects servers and load balancing as needed. We'll be upgrading to Microsoft SQL Server 2000 and upgrading our QuickTime servers to handle the increase in QuickTime that we see happening in K-12 schools. So, I'll sort of stop here. Again, this is our website here.

And I just, one point that I didn't mention is that all of the services, because we're sponsored by the Illinois State Board of Education, all of the services, the Collaboratory is completely free to potentially over 2 million students and teachers in the state of Illinois. And I don't think we could ever begin to attempt to, you know, handle that scalability. We're scaling up without having something with the rapid deployment capabilities of WebObjects. So, thank you very much.

Thank you very much for that presentation. It's just really nice to see something that has both simplicity and also in terms of being, you know, the students and the teachers can use it. I think it's really interesting that it can empower them to navigate the whole thing. Nice usability and everything. And we're not going to have Q&A on individual sessions or individual speakers.

What we're going to do is at the end, I'm sure that, you know, a lot of people probably want to network and have some specific questions on maybe what they did or how they did it. So we're going to have people kind of over on the side here. I'd like to introduce our next speaker, Matt Firlik from PowerSchool.

Thank you. As Bob said, I'm a WebObjects engineer from PowerSchool. Just to begin, can I see a show of hands of people who have either seen, used, or heard about PowerSchool? Not counting the people that work here. Okay, thank you. A little bit about what is PowerSchool. A little over a year ago, Apple purchased PowerSchool. It's a company based up in the Sacramento area in Folsom.

In their four-year tenure as a software development company, they've been working on a student information system, sometimes shortened to SIS, to work with K-12 districts to manage all their information, assets, and the like about the mechanics of actually being a school system. Now, as a division of Apple, we're actually continuing to develop this application and add it to the education resources that Apple provides.

To talk about why we're using WebObjects, we need to go back and talk about the beginning of PowerSchool and the incipients when PowerSchool became a company. The application was developed by a very small group of developers, a very small team, using 4D. They developed a web-based application to implement different administrative functionalities and pieces for student information systems.

As the popularity grew and they had more and more customers come into the application, they started to increase the volume in the application and started to scale up the number of users and access and information the application provided. It reached a functional limit at some point of about 7,500 users with the maximum capacity, based partially on the tool, the fact the database is in memory, some other limitations.

As the application did become more and more popular, we started to see different metrics on how the application could be used and where it was actually applicable. It's interesting to note that 80% of the school districts across the United States fall into the category of being around 7,500 students. The interesting metric therein, though, is that that represents only about 20% of the students in the United States. So as the application became more and more popular, it became increasingly more important to target a larger audience, the other 80% of those students that were out there.

To do so, We needed a tool to do so, and that's why we're here. As the use of WebObjects allowed the application to scale to a larger set of users, giving us a feasibility to attract larger audiences, larger sets of schools, provide larger functionality to migrate the application to better serve their needs. So the application we're going to talk about today is the PowerSchool Enterprise version, which is written in WebObjects.

The application, you may think, power school. Obviously teachers and students. But there are large constituents, audiences that we need to handle and a various number of users that we need to address. Students and parents make up the largest audience for the application. Obviously parents and students are going to want to go on and look at information about the student, about the curriculum, about the events at the school. Being the largest audience though, they represent the smallest amount of functionality for our application. Information is typically relegated to either the school district or the school or the individual student. So our largest user base is actually the lowest amount of functionality for us to implement.

At a more moderate level is teachers and staff. Information like grades and the like, which we'll go into in a little bit, represents a moderate amount of functionality. There are more teachers, pardon me, less teachers, but it's actually more functionality. We need to start talking about aggregate information.

We need to start talking about aggregate information of students, grades per classes, looking at class information, comparisons, looking at information across whole semesters. So while it's a fewer number of users, it's actually a larger amount of information that we need to manage. Additionally though is administrators. Administrators represent the smallest audience for the application. Typically a very few administrators per district, but it's actually the largest feature set we need to implement.

Information about aggregate sets across an entire district, looking at grades for an entire school district. So the application needs to handle disparate users, disparate types of users, and disparate pieces of functionality. There's actually a lot of overlap between what teachers and parents and students can do, teachers and administrators can do. So we needed to find a way to bridge the gap, not only lots of different users, but how to span lots of different functionalities, even overlapping across the large set of users.

Parents and students typically use the PowerSchool application in ways to foster communication. We give them the ability to look at real-time status information, grades for the student, personal calendars for the events going on that are important to the students, also future assignments that the teachers can put in. This information is extremely valuable. Obviously, it's important to the students to know exactly how they're doing in their classes on a daily basis.

It's also important for the parents to know that. Sometimes, I think we all know that notes can get lost in backpacks or someone can say they did well on a grade and not necessarily do so. The development of this kind of communication between parents, students, and teachers in a way that's actually, in some ways, unavoidable.

That a student can always see their current information, parents can always see their current information, and it allows a way for them to interact. So students are no longer trying to forge signatures on notes to their parents. They're probably just trying to hack their passwords, but it's a little bit different problems we have these days. .

Teachers use the application for information access, providing them a way to look at all the information about their classes and all the information about their students. Important is a two-way communication with the information system, the ability for them to put in information from grades to students to calendars and schedules into the system, but also see that information reflected out instantaneously on how their students are doing across a particular schedule per semester by term.

Ease of information is extremely important to them. When you start looking at the old school way of doing things with grading books and having to summarize and tally up grades, we provide them an easy way to look at this information. We also provide an easy way to look at the information regardless of their location. The ability to look at this information and input it in the classroom if you have time or wait until later to go home and look at the information gives them the ability to span their work accordingly and work from any location.

Administrators probably reap the most benefit of the centralized administration and information that we provide. The WebObjects application, centrally located, gives us the ability to provide secure access to real-time information. As teachers are putting in grades, they can start to see how the grade point average is looking for the entire district. Giving the ability to manage the large sets of information, looking at the student population in larger sets or in larger chunks. And also provide mechanisms for reporting.

Reporting is an extremely valuable and important tool for school districts. Reporting is a way that they get funding of being able to report to state institutions and educational institutions on how the schools are doing, what the schools are doing, particular events as such. So the application gives the administrators the ability to look at large-scale pieces of information and use it accordingly.

[Transcript missing]

The second is data validation. We have lots of data. Lots and lots and lots and lots of data. And the problem is figuring out how to take that data and make it useful to all of our customers. Not every customer uses all of our data.

Lots of customers have more data than others. And we need to find a way to not only manage that data, but validate that data with different rule sets, different kinds of security measures to accommodate for each one of our particular types of users. So the EOF and the ability to model our data differently based on particular applications, based on particular users, using the user info information in the model to store particular information on validation, gives us the ability to encompass validation in a way that would not be possible otherwise.

As mentioned before, state reporting is an extremely valuable tool and an extremely large requirement for all of our users. Implementing something on top of the object model, there are a number of tools out there to do so. We've actually implemented a state reporting system that uses an XSLT template using Apache's FOP formatting objects implementation to generate PDFs on the fly, generate, in some cases, ad hoc reports of different kinds of queries and information that we need to show, giving users the ability to take custom data sets, custom information, and generate reports for their particular institution, which is extremely valuable.

We have a number of different external systems we need to integrate with. As I've spoken before, we have a scheduling engine that we need to integrate with to do a large amount of scheduling. And by no means is scheduling an easy thing when you consider different kinds of students, different kinds of class schedules, different kinds of courses that need to be implemented. We also have external systems for state-required things like CSIS to integrate with, the ability to take aggregate sets of our information and shuttle it off to other systems for information, use their system to pull information into our application.

Multi-platform support is extremely important when you consider that what we're working on is a shrink-wrapped application. It's an application that we need to deliver to these users to install in their environment and customize in their environment. So the ability to use different kinds of platforms, different kinds of installations of web servers, databases, architecture platforms, gives us the ability to span this to multiple kinds of users, multiple installations, without changing our install base, without changing our code to handle the different kinds of users.

But the flexibility truly comes when we start talking about a shrink-wrapped application that you need to customize. We can't assume that every single school district does things in the same way. So by doing things in frameworks, by doing things in components, by remembering that we need to put in hooks and delegates in certain places to provide custom functionality, we can create an application that has a core set that you can customize based on the user, based on the implementation, to use the core set of features, but also do exactly what they need. Typical deployment of PowerSchool takes one of two forms right now. Typically, they'd look at something like an IIS on a Windows machine running SQL Server or a hybrid installation running Apache on Oracle and Solaris.

An example of deployments that we try and target, a typical district of 20,000 students is one of our types of customers, but we also do statewide deployments, something where you span multiple districts or all the districts in an entire district, I'm pardoning, district in the state, to bring all their information together. But we also target the other side, which is a single school in a district with over 200,000 students. So our application varies on implementation size based on the particular customer that we're targeting.

The application was developed initially in WebObjects 4, and it's been moved up to the latest version, 5.5.1. It was done all in Java, so there was no porting from Objective-C. Development is all done on Project Builder on Mac OS X. We have about 25 developers at any one time working with revision control through Perforce, and our database of choice internally would be Oracle.

We spoke about how we broke up the applications and functional pieces. We also break up our development in that way. We have functional teams developing the applications, specific applications for particular types of users, but we also have a team of developers working on core frameworks based on solutions or utilities so that they can look at the large scope of the application and start developing classes and different implementations as the need arises. We also have back-end database engineers, in particular engineers for scheduling, that can focus on those systems and provide us the ability to seamlessly integrate that.

But in addition to our development teams, we also have a bunch of teams working with us, from marketing and analysis, going out and getting the large binders of requirements that we all know and love, to go ahead and figure out how to implement those. We have full teams of quality assurance and tech pubs to go and validate what we're doing and tell us we're not doing it right, but also to document what we're doing and provide that functionality to our users. And we also have full implementation and training, is that once we take this application out, we have engineers that know about Waylogic's deployment, how to take this application out, ship it to customers, and work in their particular environments and make it work.

Up next for PowerSchool is working on our interface usability as we have more and more customers in larger applications trying to make the UI work a little bit better, find better ways to interface, provide that functionality to our particular users. Also looking into deployments all on Mac OS X. Find a way to do a single server installation running on Mac OS X database web server in the whole nine yards. And features, features, features, as everyone knows and loves. So that's just a little bit about PowerSchool. If you want to find more about the application, there is a website. abl.com/powerschool, which talks about the application and the things we provide. Thank you.

Thank you, Matt. Great example of also showing sort of the engineering process behind that and kind of like how you can leverage off of the ability of the separation of function that WebObjects gives you and then represent that sort of organizationally. Also another good example, you can see how in both of these education examples how the state requirements and reporting and things start creeping into your requirements. So I would like to introduce our next speaker, Thomas Lehmann, who will tell us about Deutsche Bank and their online banking application system.

Okay, let's begin. Okay, a little introduction about Deutsche Bank 24. It's a subsidiary of Deutsche Bank. I think it's one of the five largest banks in the world. And Deutsche Bank 24 has 2 million customers using our web application. This web application is built with WebObjects. Since 1986 we have an applet solution and then we moved in 1998 to WebObjects 3.5 and program in Java.

So let's have a look at what it looks like. Okay, this login page, you have to provide your account number and

[Transcript missing]

And as you can see, the web pages are working on Mac OS X too, not only on Windows. We even provide Linux as a user interface. And we are able, with the same application, to provide a different user interface, like here. And again, you can see the asset overview.

Okay, which problems have we solved? In our environment, we have a legacy system we have to talk to, and this is done by COBRA-based middleware. And so we have to program some classes to use COBRA easily. Then we have business objects. These are based on the IDL definitions of objects in the COBRA layer. And so it's easy to transport data from our application to the legacy systems. We have built a navigation concept. It's just a concept because you have to program a lot for a new application. We have programmer rules that makes life easier.

Then we are able to Provide multi-language support and multi-layout. Multi-layout you have seen and multi-language we are able to, in addition to the German language, our English language, but there are business cases we have to provide a right and correct text, and so it's a very complicated process.

Okay, and we are able to, using a chip called link automation, authentication with our application instead of the account number and PIN we provide in the login page. And that's done with an applet, with a faceless applet and live connect in a web browser. And then, that's the great impact on our application. We can handle heavy load.

Okay, so what we are using to build these applications, we have WebObjects for sure, and on Win2K, we have a CVS server on Ulnux. We have an Oracle database, and we've stored our little data over JDPC. We have the homegrown middleware for the enterprise application integration for the legacy systems. And our test environment is on Solaris, and we have an SSL Apache web server on Linux. Okay, we're up to five developers. It's a small team. They are fast enough to make changes and build the application.

So what can we use in other applications? We have built a component framework, a visual component framework that takes Input fields with generic input validation we can provide on these input fields error messages right by these input fields. Okay, then formatted currency values and selection lists are configured by XML data.

And again, the navigation concept, two parts in this. We can configure the logic in the navigation with XML, and how does it look like is done in a component with HTML text. Okay, and then we have core implementation, what we think should, and every bank likes account and securities and something like that. And this is done, we have used this in three other banks, and it works very fine.

Okay, now scalability. That's a very important thing here. We have two Sun-E 10,000 machines running WebObjects instances. We have 480 instances. The writing time of these slides are 150,000 customers logged in every day, but now it's about 200,000. The maximum we measured in the past are 400,000. The customers logging in every day on this special day.

Okay, and then, okay, web server's handling 11.5 million HTTP requests, so it's 25 gigabytes of net traffic. Okay, architecture, it's like every WebObjects deployment environment. We have a web server, we have an application server, and we have, for us, they are legacy Okay, in the middle is the ETN. There are the two ETN-K boxes and with the WebObject instances in the middle there and four different legacy systems.

So we have moved from WebObjects 4.5 to WebObjects 5. And we have a lot of performance enhancements here. And you can see we have a stress testing one hour. And the blue line is the WebObjects 4.5. There is a lot of CPU usage in 4.5 and in WebObjects 5.0. You have a little usage of the CPU with the same task pace.

and Tex Hule. We have significantly more performance with WebObjects 5. It's in real life. We have 200% faster application. We have a very small CPU workload you have seen on the slide before and have improved availability and reliability of the application. In 4.5 they have many problems to provide a reliable system. WebObjects 5 is much easier to do this. Okay, and then the conclusion we have, with the same hardware we can serve five times more customers with WebObjects 5.

So what have we to do to move from Folder 5 to WebObjects 5? There are scripts provided from Apple to do the conversion, and they solve 90% of the issues. We have a little problem with Log4j because it's for JDK 1.1. There's another Log4j version, and they have changed a lot of things in Log4j for JDK 2.

We have to do these changes, and because we're using Log4j for logging, we have a lot of things to do in the whole application. We have no problems with the chip card communication. It's a little bit surprising for us, but it works again. I think that should be done here.

Thank you very much for that presentation. I am very, very pleased to have Deutsche Bank as an enterprise customer, somebody out there who is really, really pushing very, very hard on WebObjects besides, you know, we always talk about the Apple Store. It's very nice to have somebody else out there who is really pushing the edge.

And my other favorite slide is the guy by moving from Java on 4.5.1 to Java on 5 that they were able to take care of four times as many customers with the same hardware. So I want to thank the WebObjects team for doing that. And I want to thank Deutsche Bank for giving us that information and that feedback. That's great. Our next application and our next speaker is Michael Buening, and he is with Weblecon, and a very interesting application in personal information management. I think you'll enjoy this.

Thanks Bob. Hi everybody, thanks for coming out this morning. My name is Michael Buening from Baplikon Technologies. Baplikon Technologies is a software development company. We are located in Berlin, the one in Germany. We were founded in summer 2000 and we specialized in personal information management. That's what I'd like to present to you today.

It's a Weblicon PIM, Personal Information Manager, intended to be used by telecommunication companies, portals, or corporates. It's a fully-featured organizer that lets you manage your address book, your calendar, your to-dos, as well as your emails, SMS, or MMS. Let me just quickly explain SMS/MMS, just in case you're not familiar with that.

SMS means short messaging service. It lets you send messages up to 140 characters to GSM mobile phones. It's very popular in Europe. I think at the end of last year we had an amount of 150 million messages sent over the GSM networks. It's probably much more by now.

MMS means multimedia messaging service. It's a new upcoming standard for mobile messaging. It's also a new standard for sending multimedia content to mobile phones. The Weblicon organizer lets you do that, and it's done using Apple's outstanding WebObjects framework. We started developing using WebObjects 4.5 and moved to 4.5 this year.

How is it done? Let me show you the basic architecture. So you can access server data from your PC or preferably a Mac. or your mobile GSM phone using six different clients. Let me introduce the clients to you. The first one will be HTML, just a web browser. We do not use JavaScript or cascading style sheets. Just plain HTML 3.2, so virtually every web browser will do.

The second one is the Java Client. It's a highly interactive Java swing desktop application using WebObjects Java Client technology. So, third one, SyncML. SyncML is a protocol for synchronizing data between different devices. The WebLicense Server is SyncML certified by the SyncML organization, and you can synchronize your data on your PC with server data using our native clients for Outlook on Windows or Windows CE, or using a palm conduit for your PDA. Or you use SyncML-capable GSM phone like the Nokia Communicator or the Ericsson T68. So, the first client is WML. WML means Wireless Markup Language.

So, any warp capable gsm phone uh... will do The fifth one is Voice XML. It's even more simple. All you need is a phone and you can dial a service. For example, your latest email will be announced to you. Last but not least, J2ME. It's a Java midlet running on J2ME-capable devices like the latest mobile phones. We have a server application running for each client. That's the yellow layer.

Usually, each server application uses a couple of frameworks that will provide the user interface for the certain tasks, like address book, calendar, and so on. And we have shared frameworks, shared between those server applications, that will provide data. So database access is done transparently using EOF, which is represented by the yellow layer. Actually, there's one layer missing because the standard architecture diagram has only five layers.

There should be a layer between those shared frameworks and the EOF containing our business logic and our foundation frameworks and utility frameworks. So as I said, database access uses EOF, which means all the data is handled as EO, Enterprise Objects, inside the applications, even messaging information. So what databases can you use? First is LDAP for storing user or contact information. We are using JNDI to access the directory servers, and we tested against OpenLDAP, the Netscape directory server, and the Critical Path directory server.

At BMS databases, Well, you can use any database you have an adapter or driver for. So we're using JDBC adapter for Oracle, FrontBase, or OpenBase. And you can switch between LDAP and RDBMS as data store for contact or user information. And the third one is not that usual, I think. We're using an IMAP server as a data store for ERF to store our messaging information. Therefore, we implemented an object store using some Java mail package that connects to the IMAP server.

So let's have a closer view of how client requests are handled and responses are generated. For standard browser requests, we use WebObjects. You probably know about that. But we have two additional frameworks that are used by the other server applications. The WML server application uses WAP objects. It's a framework that handles requests coming from a WAP browser and generates WML responses. We acquired the code and adapted and ported it. It's pretty much the same with VoiceXML. It uses a VoiceXML objects framework.

It's a plug-in to WebObjects as well as a WAP objects framework. VoiceXML objects was developed by Vaplicon and handles requests from a VoiceXML browser, generates VoiceXML responses. So again, you have the different server applications and the shared framework layer there. So that's how it's done, basically. Let's have a look at how it looks like. I've got some screenshots for you.

So, first of all, let me mention we have a common design pattern for HTML applications. You have a list of modules, which represent the address book or the calendar or messaging on the left hand, and you have a toolbar on top, which provides basic functionality like saving changes, creating new objects, deleting them, switching between views, or browsing through data.

So, this one is the address book. It shows you a sortable list of your contacts. They're sortable by columns. You have full content search capability at the upper right corner. And you can group your contacts. The contacts group, the lowest entry in the list is a contact group. It's quite convenient when sending messages to a bunch of people. I'll come to that later. Next one.

It shows the contact editor. You can browse through your contacts by using previous and next buttons in the toolbar. And you can have multiple communication data entries. You're not limited to just having one fax number, because you just have one field for it. You can have as many as you want.

This one shows the messaging module, again a toolbar at the top. On the left hand you have a hierarchical view of your mailboxes. You can add one, rename them, sort them. On the right hand you have a sortable list of your messages showing your emails or your SMS in one list.

Below that you see the content of the selected message. You can file those messages into your mailboxes by using the small arrows there. This one actually goes down to the IMAP server, so if you use any other IMAP client like Outlook, you will see exactly the same structures there.

This one is the email editor subject to CCBCC text. You can Add and upload attachments, like any other email client. Any of that list on the right hand that lets you find and add addresses from your address book. It's pretty convenient to pick a contact group there, then the message will be sent to all the members of the group.

This is Calendar, showing all your appointments that month. You have an overview calendar on the right hand that lets you quickly access months, weeks, and days. The calendar week view. Let me mention that the WebDecon pyramid is fully localized. We are currently supporting six languages. And it's fully customizable in look and feel, as you will see in the next slide.

This is a week view again, but this time of a different skin, as we call it. You can switch skins on the fly and it's pretty easy to add skins to the application. You don't have to recompile, you just put the web server resources in the right place and you edit the configuration file and you restart the application and you're done.

This one is the SMS editor, again with the custom skin. This time it's for KPN Mobile, the biggest Dutch mobile phone provider. This one is live on the website since May of last year. Notice it's a Dutch localization. It's basically used for group SMS sending there. So this is how it looks like if you access it using a mobile phone with a web browser. On top you see the main menu. The one below shows the day view of two appointments that day.

Again, WML server. It's your address book main view. Again, you have full content search capability there. The one below shows you your mailboxes, so you can check your mail on the road using your mobile phone. So this one looks pretty much like the HTML calendar, but it's not. It's the Java client, Java swing desktop application using WebObjects to Java client technology. And it features almost everything you know from desktop applications like multiple selection and drag and drop and so on. So, I have no screenshot for VoiceXML application for obvious reasons.

That means I'm through with my slides. If you want further information, go to webdicon.com.

[Transcript missing]

Wow. That's a really outstanding example of showing how you can really push the presentation layer with WebObjects and, in fact, adding like three different clients and it looked like another adapter getting stuff in from IMAP. So there's really taking WebObjects pretty far and really delivering something to the end user where they have accessibility to data from anything they can pick up.

I think we should, you know, make them do a client for the iPod or something? Okay, and the URL for signing up for the beta. And one thing I will mention is even if you were in one of our previous betas, it's very important that you sign up again because we're starting over on the list. So even if you were in a previous beta, please do go to this URL and sign up. Last chance for the lab. And please do come back for the feedback session. That should be a rousing session. Who to contact?