Ajax and Frameworks and web evolution

Ajax and Frameworks

As a key technology to enable Web 2.0 applications, Ajax (Asynchronous JavaScript and XML) has generated a renaissance of rich web client development. However, this development model posses issues of complexity for developers, they have to know the AJAX interaction model very well and get involved with extensive JavaScript programming. This session will first give an overview about how AJAX works and delve into details of jQuery and jMaki.
  • jQuery is a javascript library targeting AJAX developers who love to do raw JavaScript programming. jQuery stands out the JavaScript library crowd for its powerful selector, efficiency, good documentation, plenty of plugins and most important of all, a very active community.

  • jMaki is a framework to combine the best breed of JavaScript widgets from different vendors into one page. It provides a component model to wrap up third party widgets and glue mechanism based on publish/subscribe to tie them together. Using jMaki you don't need to worry about how widgets from different vendor communicating with each other and will be able to compose a user friendly interface quickly.


  • Demos about how to use different jQuery features
  • Demos of using jMaki

Cloud Computing: A Developer Perspective

Cloud computing, the delivery of IT over the Internet as services, is changing the industry in ways that bring both opportunities and challenges to developers. Cloud computing allows developers to write applications that are much more connected and easier to adopt, to revise those applications at a much higher rate, and to form a tighter bond with their users. Unfortunately to gain these benefits, developers need to become much more closely involved in the deployment and operation of their code. Furthermore they will have to ensure that their code can be run efficiently, potentially at Internet scales. Fortunately, another aspect of cloud computing, infrastructure and platform as a service (IaaS and PaaS), provides solutions to these problems. By leveraging an IaaS or PaaS provider, developers can bring new applications to market quickly while minimizing their risk. This session will talk about these opportunities and challenges and demonstrate how technologies like Project Caroline can be used to develop and deploy cloud computing applications.

Connecting the World with REST

Lightweight RESTful approaches have emerged as a popular alternative to SOAP-based technologies for deployment of services on the Internet.

The goal of the Java API for RESTful Web Services (JAX-RS) is to provide a high-level declarative programming model for such services that is easy to use and encourages development according to REST tenets. Services built with this API are deployable with a variety of Web container technologies and benefit from built-in support for best-practice HTTP usage patterns and conventions.

This session provides a brief REST primer, followed by an overview of the JAX-RS API that leads developers through the design process for a sample RESTful service. The API discussion is illustrated with live code demonstrations.

Developing Web Applications using Comet and Ajax

Join the asynchronous web revolution! Emerging Ajax techniques variously called Ajax Push, Comet and HTTP streaming are bringing revolutionary changes to web application interactivity, moving the web into the Participation Age. Because Ajax-based applications are almost becoming the de facto technology for designing web-based applications, it is more and more important that such applications react on the fly, or in real time, to both client and server events. Comet is a technology that enables web clients and web servers to communicate asynchronously, allowing real-time operations and functions previously unheard of with traditional web applications to approach the capabilities of desktop applications.

This session provides an brief introduction to the asynchronous web, explaining its underlying protocols and discussing the challenges. Then it will walk though step by step on how to use Comet and Ajax technology to develop a two-player distributed game application. Attendees will take away the information they need in order to add multiuser collaboration and notification features to their application, whether they develop with Dojo, jMaki, or Prototype and whether they deploy on Jetty, Tomcat, or the GlassFish project. Multiple demos and sample codes will be demonstrated throughout the session.

EJB 3, Spring and SEAM

This session looks at the implementation of the same web application developed with three open source frameworks and highlights what was done differently with each one. First it explains the implementation of the sample application with JavaServer Faces and Enterprise JavaBeans 3.0 (EJB 3.0) technology and the Java Persistence API (JPA). Next it looks at how this application was developed with JavaServer Faces technology, JPA, and Spring 2.5. Finally, it looks at this application developed with JavaServer Faces and EJB 3.0 technology, JPA, and Seam 2.0. The presentation highlights differences in the frameworks, such as the Seam context model for stateful components. Note: This is a how to use these frameworks session, not a which framework recommendation.

All three versions were deployed on GlassFish, and the source code is made available in the session.

GlassFish and the Future of Java EE

Since its launch in 2005, GlassFish (Sun's Open Source implementation of Application Server) has come a long way, with an estimated 5 million downloads a year and a thriving community. While continuing to deliver a compact and high-fidelity Java EE Application server, GlassFish v2 has expanded to deliver production quality and performance (Project Grizzly), clustering, support for dynamic languages (AJAX, Ruby on Rails), high availability, Comet, SIP and interoperable web services. You no longer need to chose between open source and high production quality with rich enterprise features and high performance. What's next? GlassFish V3 is the next generation application server. It is OSGi modular based, light weight architected, and aligned with Java EE platform 6. The GlassFish project v3 implementation concentrates on two important aspects of modern server-side software: modularity and extensibility.

This session will provide the highlights of GlassFish v2, its clustering capabilities, Metro web services stack with .Net interoperability, Web tier (Grizzly, Comet, jMaki, etc), tools support, and administration features. It will then give an overview of the innovation in GlassFish v3 and demonstrate how Sun used these innovative implementation technique to make GlassFish project v3 the extensible server-side platform. Finally, it explains how distribution building works in GlassFish project v3 to empower everyone to build their own GlassFish project v3 distribution with a controlled set of features. What's new in Java EE 6 will also be discussed in the session. Demos and sample code will be shown throughout the session.

Java ME SDK (CLDC with on Device Debugging, CDC, Blu-ray)

JavaME (CLDC/MIDP) is by far the most prevalent Java platform deployment. It is readily available on billions on handsets. It is a powerful platform for developers to develop and deploy their applications to. Further more, JavaME developers can exploit handset natvie capabilities like SMS, GPS, address book, camera etc, to make interesting and addictive applications.

In this presentation, we will look at how to use some of the APIs in the Mobile Services Architecture (MSA) stack to develop MIDP applications. We will also explore data payloads, presistence options, connectivity options, etc. Finally we will look at how these mobile applications can connect back to the server.

(J)Ruby on Rails

It is a well known fact that Ruby on Rails is gaining quite a bit of popularity among developers and deployers of Web applications.. and for good reasons. Rails is considered a well thought out Web application framework based on several design principles such as Don't Repeat Yourself (DRY), Convention Over Configuration, which enable an agile yet practical development environment. JRuby provides another benefit by allowing them to leverage the stability and the reliability of the Java platform as well as vast array of Java libraries available.

This session will go through briefly the basics of Ruby (and JRuby) programming language first, especially meta-programming features, that make many features of Rails possible. The usage of Java libaries is then talked about. The rest of the session will be devoted to learning Rails functionality such as Active Record, Active Controller, and Active View. If time permits, a couple of real-life applications are going to be built and demonstrated.

The contents of this talk will be from the free "Ruby/JRuby/Rails Development (with Passion!)" online course - http://www.javapassion.com/rubyonrails/ .

NetBeans New & Cool

This session covers the Sun's award-winning open-source IDE NetBeans and demonstrates how it can help Java and Scripting developers can become more productive. This session starts with an introduction of some of the basic features of IDE showing code completion, refactoring, testing and debugging. Also will show what all features are included for free in the base IDE and how to use them. For example: bundled Application servers, database, version control etc.

Then this session covers several features in NetBeans 6.1 and 6.5 beta as listed below:

  • Scripting support for Ruby, PHP, JavaScript
  • Hibernate Framework Support,
  • Eclipse project import, and compile on save
  • Profiler
  • UML
  • Java EE, EJB, Java Persistence and Web Services development -
  • Swing Application Framework and Beans Binding technology support
  • Localization support
  • Plugins support and how to use them

This session is geared towards beginning and intermediate Java and Scripting developers.

Project WebSynergy: Developer and Administration Basics

In this talk, we present some background on Project WebSynergy, we cover the terminology of Web 2.0 development and the development trends. We describe the integration of project WebSyergy with other key Sun products such as JavaCAPS and FAM8 and we go over the developer tools for multi-language portlet generation.

Lastly a live demo showing the development and deployment of portlets on demonstrates the concepts just explained.

Social Computing using Zembly and SocialSite

At zembly, you easily create and host social applications of all shapes and sizes, targeting the most popular social platforms on the web. And, you do it along with other people. Using just your browser and your creativity, and working collaboratively with others, you create and publish Facebook apps, Meebo apps, OpenSocial apps, iPhone apps, Google Gadgets, embeddable widgets, and other social applications. In some ways, you can think of zembly like Wikipedia for social applications---a wiki for live, editable code that is more than just about trivial widgets, but rather about full-fledged social applications that can tap into the social graph and reach millions of users. At zembly, you can easily and instantly...
  • author social applications using your browser
  • participate and collaborate with others around live, editable code
  • use the richness of popular web APIs to create your applications
  • publish your social applications to multiple social platforms with a single click

In this session, you are going to learn how to create and host these social applications step by step.

Troubleshooting Java Applications

Java applications have become very large in sacle. It is not easy to find out what is going wrong in the context of millions of lines of code. There are various tools available to help the developers to address problems in Java applications, by tracking the memory usage, threads, cpu times spent on every single method call, etc...

In this session you will learn by case studies of how different tools can be used for trouble shooting different kind of problems. The involved tools are VisualVM, JConole, JDK commandlines like jinfo, jps, jstack, jmap, and jhat.

What's New on the Java Platform

The next generation of technlogies are currently being defined and evluated by JCP and the Java community at large to bring more productivity and enhancements to developers and organizations developing and deploying Java applications. These new technologies will impact the Java Platform infrastructure, the Java language and core libraries. In this session we will look at modules ( JSR 277 ), Swing application framework ( JSR 296 ), beans binding ( JSR 295 ), closure (BGGA) support and others. See how these new technologies will impact you in the not too distant future.

No comments: