SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
IBM Rational Software Conference 2009




                Develop Rich Internet Applications using
                   IBM Rational Application Developer
                                               and the
                    IBM WebSphere Web 2.0 Feature Pack
                                          Tim Francis
                           Distinguished Engineer, RAD Chief Architect

                                            Sarika Sinha
                         Senior Staff Software Engineer, RAD Development
                                                                                         MAC27

© 2009 IBM Corporation
                            Select View/Master/Slide Master to add Session Number Here
IBM Rational Software Conference 2009



Agenda
      Web 2.0 – Overview & Concepts
      WebSphere Web 2.0 Feature Pack
      Developing Web 2.0 Apps in RAD
      Demo
      Questions


                         MAC27          2
IBM Rational Software Conference 2009



Today’s Agenda
      Web 2.0 – Overview & Concepts
      WebSphere Web 2.0 Feature Pack
      Developing Web 2.0 Apps in RAD
      Demo
      Questions


                         MAC27          3
IBM Rational Software Conference 2009



Web Applications and SOA
Classic web application patterns               Web 2.0 application patterns promote
promoted server side service access            client side (browser) access to services



                               service
                                                                                 service

    Browser                  Server
                                                   Browser                    Server




                               service
                                                                                 service


Existing web services standards (WS_*, WSDL,    Emerging web services approaches leveraging
SOAP) are typically used in this model          REST and JSON are typically used in this model


Focus is on access from multiple programming    Optimized for single language (JavaScript), single
languages using a variety of communication      protocol (HTTP) access via Ajax in a browser
protocols


4
                         MAC27                                                                   4
IBM Rational Software Conference 2009



Web 2.0 style services – key concepts
                          REST
         service
                               REpresentational State Transfer
                               Server side architectural style relying on HTTP
                               semantics to access services or resources
                               Easily invoked by browsers via Ajax


                          JSON
                               JavaScript Object Notation
                               Data format used to exchange information between
                               browser and a service
                               Directly consumable by JavaScript clients


                          Ajax
                               Asynchronous JavaScript And XML
        Browser                Browser based technology to provide highly
                               interactive and responsive web pages
                               Enables the browser to invoke services directly from the client

5
                         MAC27                                                                   5
IBM Rational Software Conference 2009



Agenda
      Web 2.0 – Overview & Concepts
      WebSphere Web 2.0 Feature Pack
      Developing Web 2.0 Apps in RAD
      Demo
      Questions


                         MAC27          6
IBM Rational Software Conference 2009

WebSphere Feature Pack for Web 2.0 Highlights
  Web 2.0 to SOA Connectivity                                      AJAX Messaging
  For enabling connectivity from Ajax                              For connecting Ajax clients to real-time
  clients to SOA services and other         WebSphere              updated data like stock quotes or instant
  JEE assets. Extends enterprise data    Application Server        messaging.
  to customers and partners through      Ajax            Service
                                         Proxy         Bus (JMS)
  web feeds.
                                          EJBs   SOA    POJOs

          External Web Services                                          Event-Driven Data

                                                                   IBM $125.25 +$2.50… MSFT $43.75 -$1.50 …




                                                                    Ajax Development
                                                                    Based on RAD 7.5 and Dojo.
                                                                    Reduces time to market and helps
                                                                    lower Ajax adoption and development
                                                                    costs.
                       Web Feeds

                                        Ajax Application
Installs on: WAS 6.0, 6.1, 7.0
                             MAC27                                                                            7
IBM Rational Software Conference 2009



Web 2.0 to SOA Connectivity – Overview
                                                    Dojo Ajax

   Web 2.0 to SOA                                   Browser       Feed Reader

   Connectivity – For enabling
   connectivity from Ajax                           JSON          ATOM / RSS


   clients to external web
   services, internal SOA
                                            Ajax      Web          Web
   services, and other JEE                 Proxy    Remoting      Feeds

   assets.
                                                      SOA / JEE Assets
   Extends enterprise data to
   customers and partners               WebSphere Application Server

   through web feeds.                         External Web Services




                         MAC27                                                  8
IBM Rational Software Conference 2009



Ajax Messaging - Overview
                                                     Ajax Library

   Ajax Messaging – For                               Browser

   connecting Ajax clients to
   real-time updated data like                 Bayeux Message
                                                   JSON

   stock quotes or instant                                      Message Delivery

   messaging.                            Subscribe           Unsubscribe


   Connects the browser to a
                                             Messaging Bridge
   service integration bus for
   pushing server-side events             WebSphere Application
   to the browser.                              Server




                                        Enterprise Service Bus


                         MAC27                                                     9
IBM Rational Software Conference 2009



Dojo Toolkit v1.0
     A JavaScript toolkit for developing Ajax applications
     with rich user interfaces
     Key capabilities
        Works well across most modern browsers
        Small footprint, high function
        Features
          Dojo Core
          – Utility routines
          – Event handling system
          – Ajax support
          – Drag and Drop
          – Language utilities & support for localization
          – Data access
          Dojo Widgets
          – Accessibile
          – High-quality neutral default theme (replaceable)
          – Extensive layout & form capabilities
          – Data bound widgets
          Many community provided “extension” modules

10
                         MAC27                                 10
IBM Rational Software Conference 2009



Agenda
      Web 2.0 – Overview & Concepts
      WebSphere Web 2.0 Feature Pack
      Developing Web 2.0 Apps in RAD
      Demo
      Questions


                         MAC27          11
IBM Rational Software Conference 2009

    RAD Accelerates SOA, Java EE, Web 2.0, Portal
    Development for IBM Middleware
    Web 2.0                         Team Collaboration                    SOA
    Extend SOA and Java       Rational Team Concert:    Assemble Web services
    EE assets to the glass Collaborate, Automate, Report and SCA components
    via dynamic, rich JSF                                   into heterogeneous
    and AJAX applications                                 business applications
                            Quick Fix                            Visualize

                         Validate           RAD                      Analyze

                       Refactor                                        Deploy

                        Annotate                                       Test

                             Refine                               Debug
                                            WAS
    Java EE 5                                                                             Portal
    Develop and test Java                                                 Visually design portal
                                      WAS Integration                      sites and portlets for
    EE 5 applications with
    annotation based                    Hot deploy incremental               WebSphere Portal
    programming                           changes to WAS                                 Server

                         MAC27                                                                      12
IBM Rational Software Conference 2009

Use RAD to build Enterprise Java IT applications

                    1st Tier                            2nd Tier          3rd Tier




                                        REST style                          • IBM CICS
                                         Services    SCA                    Transaction
                                                                                 Server
                                                      EJB
                                          Web
                  JavaScript                          JPA
      Web                                Services
                                                     POJO
                                                                       • IBM InfoSphere
                                                                                   DB2
                     JSF
      Client                        WebSphere Application Server
                                                                               • Oracle
                                                               JBoss
    Portal Client                                     Tomcat
                                                                       • IBM InfoSphere
                                                                                   IMS

    Rich Java                                                                    • SAP
                                        InfoSphere     WebSphere           • PeopleSoft
    GUI Client                          MashupHub      Portal Server                 ...



                           MAC27                                                           13
IBM Rational Software Conference 2009




Web 2.0 Development in RAD

      JavaScript development
      DOJO page development
      WebSphere Web 2.0 Feature Pack support




                         MAC27                 14
IBM Rational Software Conference 2009



JavaScript Development

      Basic language Tools
           Full-featured JavaScript editor
                Syntax highlighting
                Content assist
                Mark occurrences
                Customizable formatting
                Bracket auto-completion, indentation
           Outline view
           Validation
           Refactoring


                         MAC27                         15
IBM Rational Software Conference 2009



JavaScript Debugging


      Firebug
           Shipping with RAD

      Eclipse integration in RAD
           Automatic installation of Firebug
           Launch page into Firebug
           Editor synchronization
           Problems and Console views synchronization

                         MAC27                          16
IBM Rational Software Conference 2009



DOJO Page Development

    DOJO project setup
    DOJO-specific JavaScript content assist, validation,
    refactoring
         dojo.declare("dijit.Editor", dijit._editor.RichText, {…});

    DOJO-specific markup content assist, validation,
    palette items, property views

                                        I


        Based on OpenAJAX metadata spec

                            MAC27                                     17
IBM Rational Software Conference 2009



WebSphere Web 2.0 Feature Pack Support
       Setting up Dojo projects with FeP content
       (“Blue Dojo” + IBM extensions)
       Visual Tools for Web Remoting (HTTP RPC)
       Visual Tools for AJAX Proxy
       Application libraries
           Apache Abdera for ATOM and RSS feeds
           JSON4J
           Web Messaging (pub/sub, WebSphere SIB integration)
                                             * Read-only support for RSS feeds
       Samples gallery
                         MAC27                                                   18
IBM Rational Software Conference 2009




                         MAC27          19
IBM Rational Software Conference 2009

                                                                                         The server already
                                       The dojo client                                    has an EJB and
                                        invokes the                                      some POJOs that
                                         EJBs and                                        access databases
                                       POJOs via RPC                                          via JPA.
                                          Adapter



  Here's the client
   application we
  will build using
        Dojo                                                              EJB
                      HTTP


                                               WebSphere
        AJAX                      JSON
                                                 RPC                    Web-tier
                                                Adapter                                        JPA
                                                                        façade
                                       SOAP           The dojo client
                                                       invokes the
                                                      SOAP service
                                                     thru Ajax proxy.
                                                                                    A web service has
                                                                                   been deployed on a
                        SOAP                                                        different server. It
                                                                                   provides the "local
                                                                                       time" service.
                                                   Web service
                                   Ajax
                                   proxy

                      Client     Server
                               MAC27                                                                          20
IBM Rational Software Conference 2009

  A Tab layout for
    the project                              A Split layout
      center                                 for the master    A Grid to
                                               vs. details     display all
                                                                projects




                                      On click of a project,
                                       its Department and
                                      project manager data
                                           are retrieved                        Project Manager data is
                                                                              retrieved all at once during
                                                                                page load, and saved in
                                                                               Dojo date store. It’s then
                                                                             retrieved using Dojo queries




                            Department                                                      Salary data is
                         data is retrieved                                                  retrieved from
                         from a separate                                                      an external
                           request each                                                       SOAP web
                               time                                                             service.



                         MAC27                                                                               21
IBM Rational Software Conference 2009



Additional Resources
       v7.5.2 is now available:
           http://www-01.ibm.com/software/awdtools/developer/application/

       developerWorks articles on web 2.0 development
       using RAD:
           http://www.ibm.com/developerworks/rational/library/08/0930_stein/
           http://www.ibm.com/developerworks/rational/library/08/1118_endres/
           http://www.ibm.com/developerworks/rational/library/08/0819_mutdosch/index.html

       Overview of Web 2.0 Feature Pack:
           http://www.ibm.com/developerworks/websphere/techjournal/0802_haverlock/0802_
           haverlock.html


       Documentation:
           http://publib.boulder.ibm.com/infocenter/radhelp/v7r5/index.jsp

                          MAC27                                                             22
IBM Rational Software Conference 2009




                         MAC27          23
IBM Rational Software Conference 2009




© Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind,
express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have
the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM
software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities
referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature
availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines
Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.


                                                  MAC27                                                                                                                                         24
IBM Rational Software Conference 2009



Backup




                         MAC27          25
IBM Rational Software Conference 2009


Web 2.0 style services – what problem are we
trying to solve?

     Browser access to SOA web services can be
     complex
      Browsers must translate from SOAP web services formats and protocols into
      browser-friendly JavaScript or HTML
      More complex browser side logic means more testing and debug of individual
      clients (Microsoft IE, Firefox, Safari, Opera, etc.) due to browser compatibility
      issues

          Web 2.0 style services focus on simplified browser access
                  HTTP centric patterns on the server (REST)
                  JavaScript friendly data formats (JSON)
                  Browsers invoking services with minimal overhead (Ajax)


26
                         MAC27                                                            26
IBM Rational Software Conference 2009


Other issues with Web 2.0 applications
         The use of Ajax on the browser enables a richer web application
         experience, but it does pose additional challenges for application
         developers:
            Browser and server event handling
              Classic web applications are server driven; Ajax applications have a
              combined client/server model
              Events can be generated from the client to the server, or from the server
              back to the client
              Ajax applications often use a publish and subscribe engine to handle the
              flow of events between client and server
            JavaScript development challenges
            Hundreds of proprietary and open source Ajax toolkits to choose from
            Ajax security concerns
              The proliferation of JavaScript code in browsers has led to multiple security
              issues, notably cross-site scripting attacks
              Browser security restrictions pose problems for programmers legitimately
              seeking to use cross-site functions in building their applications

          Ajax applications can benefit from server side support to
        address key issues such as event handling and proxy support

27
                         MAC27                                                                27
IBM Rational Software Conference 2009



Web 2.0 to SOA Connectivity – Feature List (1 of 2)
         Web Remoting
            Provides a lightweight web endpoint which can expose methods of
            Java EE assets (EJB’s, PoJo’s, web service proxies)
            Can be easily invoked from Ajax applications using JSON or XML
            formats
            Supports HTTP GET/POST mapping for methods
            Enabled through simple configuration options without rewriting the
            original Java objects, EJBs or web services


         The JSON4J library
            An implementation of a set of JavaScript™ Object Notation (JSON)
            handling classes for use within Java environments
            JSON has gained much popularity within Ajax applications as a
            lightweight data interchange format (defined at http://www.json.org)


28
                         MAC27                                                     28
IBM Rational Software Conference 2009



Customer Pain Points with RIA
   Confusion over Rich Internet Application (RIA) technology options
     Hundreds of proprietary and open source Ajax toolkits to choose from
     Concern over vendor lock-in with proprietary RIA Frameworks
     Risks of going with OS Ajax Framework and/or is part ofenterprise
                                                 Dojo lack of the OpenAJAX
     features
       •RAD provides visual and              •Dojo provideschoice and it is the
                                                 Dojo is widely becoming
                                                 Alliance a lot of enterprise
                                                 library of
        source tools to aid in                    features like localization,
                                                        backed by the endorsement of
                                                  accessibility Oracle (BEA), etc.
   Ajax JavaScript and Dojo
        security concerns
        development
                               Dojo abstracts out low level Sun,
                                                        IBM,
       The proliferation of JavaScript JavaScriptWeb 2.0 Feature Pack: multiple
                               details of code in • and
                                                  browsers has led to
                               handles differences between RPC access to EJBs
                issues, due tobrowsers RAD best•practices
         •RAD provides an integrated
       securityenvironment with un-establishedand theHTTP 2.0 FEP lets
                                                          Web
         debug                                         •Messaging integration with
       Browser security restrictions pose problemsyourprogrammers
                                            you enhance for existing
         Firebug                                       WebSphere
                                            applications with HTTP RPC
       legitimately seeking to use cross-site functions in invocationtheir
                                                                building
                                                       •SOAPJ2EE and using
                                            services to target
       applications                                    javascript
                                            SOA artifacts.
                                                •AJAX Proxy provides secure
   JavaScript development challenges          access to mashup cross site
      Javascript is extremely flexible, thus can be tricky to program
                                              services
                                              •RPC Adapter can have
      How to deal with browser compatibility issues with JavaScript
                                              validators on parameters
      Need to leverage current investment in J2EE & developer skills

                         MAC27                                                         29
IBM Rational Software Conference 2009



Web 2.0 to SOA Connectivity – Feature List (2 of 2)
         Ajax Proxy – Browser access to
         cross-site services
           A lightweight Proxy to enable browser based access to cross-site
           services in a Web 2.0 fashion
           Proxy can run embedded within another JEE application or standalone
           Uses JEE application level security for proxy access control
           Support for white-listing policies for filtering on criteria of incoming
           requests such as: Cookies, MIME types, HTTP Headers, HTTP Verbs
           (GET, POST, PUT, etc)

         Web Feeds
           ATOM and RSS libraries for exposing JEE resources as web 2.0 style
           “data feeds” - pushing updates to clients when data changes



30
                         MAC27                                                        30
IBM Rational Software Conference 2009



Ajax Messaging – Feature List
     A publish/subscribe messaging implementation
        Connects the browser to the WebSphere Application Server service
        integration bus, for pushing server-side events to the browser
     Ajax Messaging implements the “Comet” server
     model
        Simulated long running connections
        Topic-based publish/subscribe mechanism
        JEE Applications use standard JMS APIs to access messages routed to/from
        Ajax clients, rather than augmented servlet APIs
        Uses the Bayeux protocol for client/server communication

     Client side support is provided by the Dojo Toolkit
     Security
        Restricts cross-site access to non-authorized domains.

31
                         MAC27                                                     31
IBM Rational Software Conference 2009



What is REST ?
     REST is the acronym for “Representational State Transfer“
     It is the architectural model the World Wide Web is based on
     Principles of REST
            Resource centric approach
            All relevant resources are addressable via URIs
            Uniform access via HTTP – GET, POST, PUT, DELETE
            Content type negotiation allows retrieving alternative representations from
            same URI
     REST style services
            are easy to access from code running in web browsers, any other client or
            servers
            can serve multiple representations of the same resource
     More info:
     http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

32
                         MAC27                                                            32
IBM Rational Software Conference 2009



What is JSON ?
         The vast majority of the clients of a RESTful service
         will be written in JavaScript
         In recognition of that, JSON (JavaScript Object
         Notation) allows for rapid exchange of JavaScript
         objects, but also in a simple, human-readable format
         JSON is built up from a collection of name-value pairs
         and ordered lists of values
             {
                        "customer" : {
                               "name" : "Jane Doe",
                               "company" : "Acme Enterprises”
                        }
             }

33
                         MAC27                                    33
IBM Rational Software Conference 2009


 What is AJAX ?
 AJAX is the acronym for Asynchronous JavaScript And XML
 The purpose is to create more dynamic and responsive web
 pages
 It is also about building web clients in a Service Oriented
 Architecture
 that can connect to any kind of server: JEE, PHP, ASP.Net,
 Ruby on Rails, etc.
 AJAX involves existing technology & standards: JavaScript and
 XML
 AJAX enables major improvements in responsiveness and
 performance of web applications, e.g. used at Yahoo! Mail,
 Google Maps, live.com, and others
 AJAX is NOT hype – it is very real and very useful for highly
 interactive applications
34
                         MAC27                               34
IBM Rational Software Conference 2009



Ajax Messaging - Example Applications
  Stock Quotes / Front Office Applications
  SIP Applications – Inbound Call Consoles
  Collaborative Document Authoring
  Chat & Instant Messaging
  Sporting Event Scores
  Browser Based Email
  Management Consoles / Monitoring & Alerts


...any application where delivery of events to the client in a
 timely manner is important
35
                         MAC27                                   35
IBM Rational Software Conference 2009



Bayeux Protocol

  Bayeux is a JSON-based protocol for clients to
 subscribe to events and for servers to deliver them
 more timely than possible with AJAX-based polling.


     Goals
     Make event delivery fast
     Keep it simple
     Allow for the protocol to be
     extended




                                              Extract from the Bayeux tapestry
                                            showing the arrival of Halley’s comet


36
                                    MAC27                                           36

Contenu connexe

Tendances

Dev Days Unified Communications Development
Dev Days  Unified  Communications  DevelopmentDev Days  Unified  Communications  Development
Dev Days Unified Communications Development
Matthijs Hoekstra
 
Ajax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley HalesAjax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley Hales
rajivmordani
 
Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011
evgeni77
 
making_good_soa_great
making_good_soa_greatmaking_good_soa_great
making_good_soa_great
WSO2
 

Tendances (18)

(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
 
Cloud Computing2
Cloud Computing2Cloud Computing2
Cloud Computing2
 
Dev Days Unified Communications Development
Dev Days  Unified  Communications  DevelopmentDev Days  Unified  Communications  Development
Dev Days Unified Communications Development
 
Access To CICS From WebSphere Application Server Using CTG- zJournal 1209
Access To CICS From WebSphere Application Server Using CTG-  zJournal 1209Access To CICS From WebSphere Application Server Using CTG-  zJournal 1209
Access To CICS From WebSphere Application Server Using CTG- zJournal 1209
 
CICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 OverviewCICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 Overview
 
Make Your API Catalog Essential with z/OS Connect EE
Make Your API Catalog Essential with z/OS Connect EEMake Your API Catalog Essential with z/OS Connect EE
Make Your API Catalog Essential with z/OS Connect EE
 
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
 
Ajax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley HalesAjax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley Hales
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex apps
 
Enabling Mainframe Assets for API Economy with z?OS Connect EE
Enabling Mainframe Assets for API Economy with z?OS Connect EEEnabling Mainframe Assets for API Economy with z?OS Connect EE
Enabling Mainframe Assets for API Economy with z?OS Connect EE
 
Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011
 
Best Practices for Upgrading Your Portal to SAP NetWeaver 7.3
Best Practices for Upgrading Your Portal to SAP NetWeaver 7.3Best Practices for Upgrading Your Portal to SAP NetWeaver 7.3
Best Practices for Upgrading Your Portal to SAP NetWeaver 7.3
 
Ideas for addictive series 40 web apps
Ideas for addictive series 40 web appsIdeas for addictive series 40 web apps
Ideas for addictive series 40 web apps
 
z/OS Connect Enterprise Edition V2.0.0.0 Technical Overview
z/OS Connect Enterprise Edition V2.0.0.0 Technical Overviewz/OS Connect Enterprise Edition V2.0.0.0 Technical Overview
z/OS Connect Enterprise Edition V2.0.0.0 Technical Overview
 
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
 
Web Sphere Portal
Web Sphere PortalWeb Sphere Portal
Web Sphere Portal
 
air
airair
air
 
making_good_soa_great
making_good_soa_greatmaking_good_soa_great
making_good_soa_great
 

En vedette (8)

web development
web developmentweb development
web development
 
Loyaltycard softland
Loyaltycard softlandLoyaltycard softland
Loyaltycard softland
 
Web 2.0 Awareness for Section 508
Web 2.0 Awareness for Section 508Web 2.0 Awareness for Section 508
Web 2.0 Awareness for Section 508
 
Coding standards & code verification through together cc
Coding standards & code verification through together ccCoding standards & code verification through together cc
Coding standards & code verification through together cc
 
rad 255 test overview
rad 255 test overviewrad 255 test overview
rad 255 test overview
 
Parking coupon-management-sil
Parking coupon-management-silParking coupon-management-sil
Parking coupon-management-sil
 
debugging and testing
debugging and testingdebugging and testing
debugging and testing
 
3) web development
3) web development3) web development
3) web development
 

Similaire à Develop Web20 With Rad - Tim Frnacis Sarika S

Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010
Quang Nguyễn Bá
 
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and FlexRIAs with Java, Spring, Hibernate, BlazeDS, and Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
elliando dias
 
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechConSharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SPTechCon
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
Munish Gupta
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
martinlippert
 
Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29
Alexandre Morgaut
 

Similaire à Develop Web20 With Rad - Tim Frnacis Sarika S (20)

Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7
 
sMash_for_zOS-users
sMash_for_zOS-userssMash_for_zOS-users
sMash_for_zOS-users
 
Go Deep with AJAX
Go Deep with AJAXGo Deep with AJAX
Go Deep with AJAX
 
Sencha Web Applications Come of Age
Sencha Web Applications Come of AgeSencha Web Applications Come of Age
Sencha Web Applications Come of Age
 
Soa204 Kawasaki Final
Soa204 Kawasaki FinalSoa204 Kawasaki Final
Soa204 Kawasaki Final
 
Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010
 
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and FlexRIAs with Java, Spring, Hibernate, BlazeDS, and Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
 
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechConSharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
 
OreDev 2008: Software + Services
OreDev 2008: Software + ServicesOreDev 2008: Software + Services
OreDev 2008: Software + Services
 
Flex Air Intro
Flex Air IntroFlex Air Intro
Flex Air Intro
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
 
Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backbone
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Ibm Websphere S Mash
Ibm Websphere S MashIbm Websphere S Mash
Ibm Websphere S Mash
 
Soa Based Integration
Soa Based IntegrationSoa Based Integration
Soa Based Integration
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
 
Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29
 

Plus de Roopa Nadkarni

New integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesNew integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean Innes
Roopa Nadkarni
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
Roopa Nadkarni
 
Accelerated test case - Anish bhanu
Accelerated test case - Anish bhanuAccelerated test case - Anish bhanu
Accelerated test case - Anish bhanu
Roopa Nadkarni
 
web 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwickweb 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwick
Roopa Nadkarni
 
Solving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holtSolving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holt
Roopa Nadkarni
 
RQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumarRQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumar
Roopa Nadkarni
 
Req Pro - Andreas gschwind
Req Pro - Andreas gschwindReq Pro - Andreas gschwind
Req Pro - Andreas gschwind
Roopa Nadkarni
 
Extending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldtExtending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldt
Roopa Nadkarni
 
EM overview- - Hayden lindsey
EM overview- - Hayden lindseyEM overview- - Hayden lindsey
EM overview- - Hayden lindsey
Roopa Nadkarni
 
Application security vision - John b
Application security vision - John bApplication security vision - John b
Application security vision - John b
Roopa Nadkarni
 
Smarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj ChandraSmarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj Chandra
Roopa Nadkarni
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve Robinson
Roopa Nadkarni
 
Overcoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O RourkeOvercoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O Rourke
Roopa Nadkarni
 
Opportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve RobinsonOpportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve Robinson
Roopa Nadkarni
 
How To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyHow To Make It Real - Hayden Lindsey
How To Make It Real - Hayden Lindsey
Roopa Nadkarni
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin Nally
Roopa Nadkarni
 

Plus de Roopa Nadkarni (20)

Agile - Monojit basu
Agile - Monojit basuAgile - Monojit basu
Agile - Monojit basu
 
New integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesNew integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean Innes
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
Agile - Monojit Basu
Agile - Monojit BasuAgile - Monojit Basu
Agile - Monojit Basu
 
Accelerated test case - Anish bhanu
Accelerated test case - Anish bhanuAccelerated test case - Anish bhanu
Accelerated test case - Anish bhanu
 
web 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwickweb 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwick
 
Solving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holtSolving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holt
 
RTF - Prasad bhatt
RTF - Prasad bhattRTF - Prasad bhatt
RTF - Prasad bhatt
 
RQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumarRQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumar
 
Req Pro - Andreas gschwind
Req Pro - Andreas gschwindReq Pro - Andreas gschwind
Req Pro - Andreas gschwind
 
RFT - Ashish Mathur
RFT - Ashish MathurRFT - Ashish Mathur
RFT - Ashish Mathur
 
Extending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldtExtending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldt
 
EM overview- - Hayden lindsey
EM overview- - Hayden lindseyEM overview- - Hayden lindsey
EM overview- - Hayden lindsey
 
Application security vision - John b
Application security vision - John bApplication security vision - John b
Application security vision - John b
 
Smarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj ChandraSmarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj Chandra
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve Robinson
 
Overcoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O RourkeOvercoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O Rourke
 
Opportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve RobinsonOpportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve Robinson
 
How To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyHow To Make It Real - Hayden Lindsey
How To Make It Real - Hayden Lindsey
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin Nally
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Develop Web20 With Rad - Tim Frnacis Sarika S

  • 1. IBM Rational Software Conference 2009 Develop Rich Internet Applications using IBM Rational Application Developer and the IBM WebSphere Web 2.0 Feature Pack Tim Francis Distinguished Engineer, RAD Chief Architect Sarika Sinha Senior Staff Software Engineer, RAD Development MAC27 © 2009 IBM Corporation Select View/Master/Slide Master to add Session Number Here
  • 2. IBM Rational Software Conference 2009 Agenda Web 2.0 – Overview & Concepts WebSphere Web 2.0 Feature Pack Developing Web 2.0 Apps in RAD Demo Questions MAC27 2
  • 3. IBM Rational Software Conference 2009 Today’s Agenda Web 2.0 – Overview & Concepts WebSphere Web 2.0 Feature Pack Developing Web 2.0 Apps in RAD Demo Questions MAC27 3
  • 4. IBM Rational Software Conference 2009 Web Applications and SOA Classic web application patterns Web 2.0 application patterns promote promoted server side service access client side (browser) access to services service service Browser Server Browser Server service service Existing web services standards (WS_*, WSDL, Emerging web services approaches leveraging SOAP) are typically used in this model REST and JSON are typically used in this model Focus is on access from multiple programming Optimized for single language (JavaScript), single languages using a variety of communication protocol (HTTP) access via Ajax in a browser protocols 4 MAC27 4
  • 5. IBM Rational Software Conference 2009 Web 2.0 style services – key concepts REST service REpresentational State Transfer Server side architectural style relying on HTTP semantics to access services or resources Easily invoked by browsers via Ajax JSON JavaScript Object Notation Data format used to exchange information between browser and a service Directly consumable by JavaScript clients Ajax Asynchronous JavaScript And XML Browser Browser based technology to provide highly interactive and responsive web pages Enables the browser to invoke services directly from the client 5 MAC27 5
  • 6. IBM Rational Software Conference 2009 Agenda Web 2.0 – Overview & Concepts WebSphere Web 2.0 Feature Pack Developing Web 2.0 Apps in RAD Demo Questions MAC27 6
  • 7. IBM Rational Software Conference 2009 WebSphere Feature Pack for Web 2.0 Highlights Web 2.0 to SOA Connectivity AJAX Messaging For enabling connectivity from Ajax For connecting Ajax clients to real-time clients to SOA services and other WebSphere updated data like stock quotes or instant JEE assets. Extends enterprise data Application Server messaging. to customers and partners through Ajax Service Proxy Bus (JMS) web feeds. EJBs SOA POJOs External Web Services Event-Driven Data IBM $125.25 +$2.50… MSFT $43.75 -$1.50 … Ajax Development Based on RAD 7.5 and Dojo. Reduces time to market and helps lower Ajax adoption and development costs. Web Feeds Ajax Application Installs on: WAS 6.0, 6.1, 7.0 MAC27 7
  • 8. IBM Rational Software Conference 2009 Web 2.0 to SOA Connectivity – Overview Dojo Ajax Web 2.0 to SOA Browser Feed Reader Connectivity – For enabling connectivity from Ajax JSON ATOM / RSS clients to external web services, internal SOA Ajax Web Web services, and other JEE Proxy Remoting Feeds assets. SOA / JEE Assets Extends enterprise data to customers and partners WebSphere Application Server through web feeds. External Web Services MAC27 8
  • 9. IBM Rational Software Conference 2009 Ajax Messaging - Overview Ajax Library Ajax Messaging – For Browser connecting Ajax clients to real-time updated data like Bayeux Message JSON stock quotes or instant Message Delivery messaging. Subscribe Unsubscribe Connects the browser to a Messaging Bridge service integration bus for pushing server-side events WebSphere Application to the browser. Server Enterprise Service Bus MAC27 9
  • 10. IBM Rational Software Conference 2009 Dojo Toolkit v1.0 A JavaScript toolkit for developing Ajax applications with rich user interfaces Key capabilities Works well across most modern browsers Small footprint, high function Features Dojo Core – Utility routines – Event handling system – Ajax support – Drag and Drop – Language utilities & support for localization – Data access Dojo Widgets – Accessibile – High-quality neutral default theme (replaceable) – Extensive layout & form capabilities – Data bound widgets Many community provided “extension” modules 10 MAC27 10
  • 11. IBM Rational Software Conference 2009 Agenda Web 2.0 – Overview & Concepts WebSphere Web 2.0 Feature Pack Developing Web 2.0 Apps in RAD Demo Questions MAC27 11
  • 12. IBM Rational Software Conference 2009 RAD Accelerates SOA, Java EE, Web 2.0, Portal Development for IBM Middleware Web 2.0 Team Collaboration SOA Extend SOA and Java Rational Team Concert: Assemble Web services EE assets to the glass Collaborate, Automate, Report and SCA components via dynamic, rich JSF into heterogeneous and AJAX applications business applications Quick Fix Visualize Validate RAD Analyze Refactor Deploy Annotate Test Refine Debug WAS Java EE 5 Portal Develop and test Java Visually design portal WAS Integration sites and portlets for EE 5 applications with annotation based Hot deploy incremental WebSphere Portal programming changes to WAS Server MAC27 12
  • 13. IBM Rational Software Conference 2009 Use RAD to build Enterprise Java IT applications 1st Tier 2nd Tier 3rd Tier REST style • IBM CICS Services SCA Transaction Server EJB Web JavaScript JPA Web Services POJO • IBM InfoSphere DB2 JSF Client WebSphere Application Server • Oracle JBoss Portal Client Tomcat • IBM InfoSphere IMS Rich Java • SAP InfoSphere WebSphere • PeopleSoft GUI Client MashupHub Portal Server ... MAC27 13
  • 14. IBM Rational Software Conference 2009 Web 2.0 Development in RAD JavaScript development DOJO page development WebSphere Web 2.0 Feature Pack support MAC27 14
  • 15. IBM Rational Software Conference 2009 JavaScript Development Basic language Tools Full-featured JavaScript editor Syntax highlighting Content assist Mark occurrences Customizable formatting Bracket auto-completion, indentation Outline view Validation Refactoring MAC27 15
  • 16. IBM Rational Software Conference 2009 JavaScript Debugging Firebug Shipping with RAD Eclipse integration in RAD Automatic installation of Firebug Launch page into Firebug Editor synchronization Problems and Console views synchronization MAC27 16
  • 17. IBM Rational Software Conference 2009 DOJO Page Development DOJO project setup DOJO-specific JavaScript content assist, validation, refactoring dojo.declare("dijit.Editor", dijit._editor.RichText, {…}); DOJO-specific markup content assist, validation, palette items, property views I Based on OpenAJAX metadata spec MAC27 17
  • 18. IBM Rational Software Conference 2009 WebSphere Web 2.0 Feature Pack Support Setting up Dojo projects with FeP content (“Blue Dojo” + IBM extensions) Visual Tools for Web Remoting (HTTP RPC) Visual Tools for AJAX Proxy Application libraries Apache Abdera for ATOM and RSS feeds JSON4J Web Messaging (pub/sub, WebSphere SIB integration) * Read-only support for RSS feeds Samples gallery MAC27 18
  • 19. IBM Rational Software Conference 2009 MAC27 19
  • 20. IBM Rational Software Conference 2009 The server already The dojo client has an EJB and invokes the some POJOs that EJBs and access databases POJOs via RPC via JPA. Adapter Here's the client application we will build using Dojo EJB HTTP WebSphere AJAX JSON RPC Web-tier Adapter JPA façade SOAP The dojo client invokes the SOAP service thru Ajax proxy. A web service has been deployed on a SOAP different server. It provides the "local time" service. Web service Ajax proxy Client Server MAC27 20
  • 21. IBM Rational Software Conference 2009 A Tab layout for the project A Split layout center for the master A Grid to vs. details display all projects On click of a project, its Department and project manager data are retrieved Project Manager data is retrieved all at once during page load, and saved in Dojo date store. It’s then retrieved using Dojo queries Department Salary data is data is retrieved retrieved from from a separate an external request each SOAP web time service. MAC27 21
  • 22. IBM Rational Software Conference 2009 Additional Resources v7.5.2 is now available: http://www-01.ibm.com/software/awdtools/developer/application/ developerWorks articles on web 2.0 development using RAD: http://www.ibm.com/developerworks/rational/library/08/0930_stein/ http://www.ibm.com/developerworks/rational/library/08/1118_endres/ http://www.ibm.com/developerworks/rational/library/08/0819_mutdosch/index.html Overview of Web 2.0 Feature Pack: http://www.ibm.com/developerworks/websphere/techjournal/0802_haverlock/0802_ haverlock.html Documentation: http://publib.boulder.ibm.com/infocenter/radhelp/v7r5/index.jsp MAC27 22
  • 23. IBM Rational Software Conference 2009 MAC27 23
  • 24. IBM Rational Software Conference 2009 © Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. MAC27 24
  • 25. IBM Rational Software Conference 2009 Backup MAC27 25
  • 26. IBM Rational Software Conference 2009 Web 2.0 style services – what problem are we trying to solve? Browser access to SOA web services can be complex Browsers must translate from SOAP web services formats and protocols into browser-friendly JavaScript or HTML More complex browser side logic means more testing and debug of individual clients (Microsoft IE, Firefox, Safari, Opera, etc.) due to browser compatibility issues Web 2.0 style services focus on simplified browser access HTTP centric patterns on the server (REST) JavaScript friendly data formats (JSON) Browsers invoking services with minimal overhead (Ajax) 26 MAC27 26
  • 27. IBM Rational Software Conference 2009 Other issues with Web 2.0 applications The use of Ajax on the browser enables a richer web application experience, but it does pose additional challenges for application developers: Browser and server event handling Classic web applications are server driven; Ajax applications have a combined client/server model Events can be generated from the client to the server, or from the server back to the client Ajax applications often use a publish and subscribe engine to handle the flow of events between client and server JavaScript development challenges Hundreds of proprietary and open source Ajax toolkits to choose from Ajax security concerns The proliferation of JavaScript code in browsers has led to multiple security issues, notably cross-site scripting attacks Browser security restrictions pose problems for programmers legitimately seeking to use cross-site functions in building their applications Ajax applications can benefit from server side support to address key issues such as event handling and proxy support 27 MAC27 27
  • 28. IBM Rational Software Conference 2009 Web 2.0 to SOA Connectivity – Feature List (1 of 2) Web Remoting Provides a lightweight web endpoint which can expose methods of Java EE assets (EJB’s, PoJo’s, web service proxies) Can be easily invoked from Ajax applications using JSON or XML formats Supports HTTP GET/POST mapping for methods Enabled through simple configuration options without rewriting the original Java objects, EJBs or web services The JSON4J library An implementation of a set of JavaScript™ Object Notation (JSON) handling classes for use within Java environments JSON has gained much popularity within Ajax applications as a lightweight data interchange format (defined at http://www.json.org) 28 MAC27 28
  • 29. IBM Rational Software Conference 2009 Customer Pain Points with RIA Confusion over Rich Internet Application (RIA) technology options Hundreds of proprietary and open source Ajax toolkits to choose from Concern over vendor lock-in with proprietary RIA Frameworks Risks of going with OS Ajax Framework and/or is part ofenterprise Dojo lack of the OpenAJAX features •RAD provides visual and •Dojo provideschoice and it is the Dojo is widely becoming Alliance a lot of enterprise library of source tools to aid in features like localization, backed by the endorsement of accessibility Oracle (BEA), etc. Ajax JavaScript and Dojo security concerns development Dojo abstracts out low level Sun, IBM, The proliferation of JavaScript JavaScriptWeb 2.0 Feature Pack: multiple details of code in • and browsers has led to handles differences between RPC access to EJBs issues, due tobrowsers RAD best•practices •RAD provides an integrated securityenvironment with un-establishedand theHTTP 2.0 FEP lets Web debug •Messaging integration with Browser security restrictions pose problemsyourprogrammers you enhance for existing Firebug WebSphere applications with HTTP RPC legitimately seeking to use cross-site functions in invocationtheir building •SOAPJ2EE and using services to target applications javascript SOA artifacts. •AJAX Proxy provides secure JavaScript development challenges access to mashup cross site Javascript is extremely flexible, thus can be tricky to program services •RPC Adapter can have How to deal with browser compatibility issues with JavaScript validators on parameters Need to leverage current investment in J2EE & developer skills MAC27 29
  • 30. IBM Rational Software Conference 2009 Web 2.0 to SOA Connectivity – Feature List (2 of 2) Ajax Proxy – Browser access to cross-site services A lightweight Proxy to enable browser based access to cross-site services in a Web 2.0 fashion Proxy can run embedded within another JEE application or standalone Uses JEE application level security for proxy access control Support for white-listing policies for filtering on criteria of incoming requests such as: Cookies, MIME types, HTTP Headers, HTTP Verbs (GET, POST, PUT, etc) Web Feeds ATOM and RSS libraries for exposing JEE resources as web 2.0 style “data feeds” - pushing updates to clients when data changes 30 MAC27 30
  • 31. IBM Rational Software Conference 2009 Ajax Messaging – Feature List A publish/subscribe messaging implementation Connects the browser to the WebSphere Application Server service integration bus, for pushing server-side events to the browser Ajax Messaging implements the “Comet” server model Simulated long running connections Topic-based publish/subscribe mechanism JEE Applications use standard JMS APIs to access messages routed to/from Ajax clients, rather than augmented servlet APIs Uses the Bayeux protocol for client/server communication Client side support is provided by the Dojo Toolkit Security Restricts cross-site access to non-authorized domains. 31 MAC27 31
  • 32. IBM Rational Software Conference 2009 What is REST ? REST is the acronym for “Representational State Transfer“ It is the architectural model the World Wide Web is based on Principles of REST Resource centric approach All relevant resources are addressable via URIs Uniform access via HTTP – GET, POST, PUT, DELETE Content type negotiation allows retrieving alternative representations from same URI REST style services are easy to access from code running in web browsers, any other client or servers can serve multiple representations of the same resource More info: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm 32 MAC27 32
  • 33. IBM Rational Software Conference 2009 What is JSON ? The vast majority of the clients of a RESTful service will be written in JavaScript In recognition of that, JSON (JavaScript Object Notation) allows for rapid exchange of JavaScript objects, but also in a simple, human-readable format JSON is built up from a collection of name-value pairs and ordered lists of values { "customer" : { "name" : "Jane Doe", "company" : "Acme Enterprises” } } 33 MAC27 33
  • 34. IBM Rational Software Conference 2009 What is AJAX ? AJAX is the acronym for Asynchronous JavaScript And XML The purpose is to create more dynamic and responsive web pages It is also about building web clients in a Service Oriented Architecture that can connect to any kind of server: JEE, PHP, ASP.Net, Ruby on Rails, etc. AJAX involves existing technology & standards: JavaScript and XML AJAX enables major improvements in responsiveness and performance of web applications, e.g. used at Yahoo! Mail, Google Maps, live.com, and others AJAX is NOT hype – it is very real and very useful for highly interactive applications 34 MAC27 34
  • 35. IBM Rational Software Conference 2009 Ajax Messaging - Example Applications Stock Quotes / Front Office Applications SIP Applications – Inbound Call Consoles Collaborative Document Authoring Chat & Instant Messaging Sporting Event Scores Browser Based Email Management Consoles / Monitoring & Alerts ...any application where delivery of events to the client in a timely manner is important 35 MAC27 35
  • 36. IBM Rational Software Conference 2009 Bayeux Protocol Bayeux is a JSON-based protocol for clients to subscribe to events and for servers to deliver them more timely than possible with AJAX-based polling. Goals Make event delivery fast Keep it simple Allow for the protocol to be extended Extract from the Bayeux tapestry showing the arrival of Halley’s comet 36 MAC27 36