Video: Flex and Java

Here is the recording of a presentation I gave at the NLJUG a few weeks ago on Flex and Java. I hope you find this useful. Let me know what you think.

This entry was posted in BlazeDS, Flex, Java, LCDS. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
  • http://blogs.infosupport.com/blogs/paul_bakker/default.aspx Paul Bakker

    Thanks James, the session was excellent with a lot of in-depth topics. Make sure to watch the recording if you missed the session :-)

  • Pingback: Video: Flex and Java « Rich Internet Applications()

  • Kah Tang

    Hey… I was there. :) Great talk, by the way.

  • http://williamukoh.com William from Lagos

    Hey James. great preso. I was wondering, where can I get those cool adobe max wallpapers?

  • Rob

    Thanks for publishing the presentation! I attended it and it was really helpful to figure out how to include BlazeDS (and the Spring Framework) in a project I am currently working on. So it was not only fun, but also useful :-)

  • Pingback: @tlguy [...the blog] » Blog Archive » RIA with Flex and Java()

  • Chris

    Very interesting, but the stream stops at 22:23!

  • http://www.jamesward.org James Ward
  • Chris

    Stopped at 39% (44.9MB) in both Firefox and IE. I managed to watch the whole presentation on Effexts and skinning though…

    Thanks

  • http://www.jamesward.org James Ward

    Ok, it seems that Screencast.com does funky things with packets. So here is the download from my site:
    http://www.jamesward.com/downloads/flex_and_java.swf

    Let me know if that works.

    -James

  • Chris

    Yep – that seems to have worked.

    Thanks for your help – really useful presentation.

  • Farhan

    This was by far most informative presentation I ever saw on Flex. It was very helpful and has gotten me excited about using flex in my next project. I tried downloading Flex 3 SDK, BlazeDS, Flex eclipse plug in, and LCDS. I want to use tomcat as the server. It would really help if you could post the steps on installation and configuration etc. Particularly, when I try to create a new flex project (J2EE type) it asks me for the flex server location. Where is that? I tried googling and could not find anything.

    Any step-by-step would help. A simple tutorial that walks me through where to download, what to download, how to setup and finally how to create a J2EE Flex project.

    If anyone knows where I could find such a tutorial, please let me know.

    Thanks for all this good stuff.

    Farhan.

  • http://www.jamesward.org James Ward

    Hi Farhan,

    Check out my tutorial about BlazeDS:
    http://www.infoq.com/articles/blazeds-intro

    -James

  • Prem

    Hi James,

    It was a great and informative presentation. You were literally acting like a magician :-). Presentations like this will really help beginners like me to get motivated to learn more about new things like Flex which can do wonders.

    Thanks for the wonderful presentation.

    Prem

  • Raju

    Hi James,

    It was a great presentation.
    I am very new to Flex. I have learned so many things.

    Thanks,
    Raju Mahore

  • Pingback: Zeno Consulting Tech Blog: Fun With Flex()

  • http://assanov.blogspot.com T. Anre

    William from Lagos :
    Hey James. great preso. I was wondering, where can I get those cool adobe max wallpapers?

    +1

  • ag

    Hi James,
    First of all thank you for this informational video.
    Actually I have a very similar requirement for Flex + Spring + LCDS/BlazeDS.
    I need to build a sample Spring application integrated with Flex.
    Following are my questions…

    1) Created a sample Spring application like http://localhost:9081/Flex/test.do… This shows me the (/WEB-INF/jsp/)test.jsp as configured in web.xml. In this test.jsp I have a configured FlexTagLib and I have used mxml code in this jsp. Application runs but flash is not displayed cauz the swf file is generated within the WEB-INF/jsp/(In my Spring beans xml view resolver is configured to /WEB-INF/jsp/=suffix and .jsp as prefix.) which the browser will not be able to detect.
    Plz give me a solution for this. If am able to solve this then only my basic setup would be ready i.e a web application built on Spring and Flex….

    2) Once my basic set up is up and running in my first page I need to have form fields(which would map to say UserVO.java) and when I submit the form I should be able to go the controller add the record in DB and get a list of users and dispaly the result in another jsp using .
    Basically I just need how to call a bean(adduser.do) configured in spring-beans xml and return a modelandview and in that jsp display the results.

    I know am asking too much but am struggling a lot. Just FYI I am very much comfirtable with Spring application new to Spring+Flex. Also I have the LCDS setup ready within my application.

    Sir, I would be waiting for your reply. If required you can also mail me to myextrawork@gmail.com.

    Thanks in advance.

  • http://www.jamesward.com James Ward

    Hi ag,

    I recommend a few resources:
    http://ria.dzone.com/articles/introduction-spring-blazeds

    http://coenraets.org/blog/2009/03/springblazeds-integration-test-drive-m2-update-available/

    Those should help answer your questions and provide examples for how to do this in Flex.

    -James

  • ag

    Hi James,
    Thanks for the reply.
    These links I had got from google last week itself :-) but this does not have the solution for my problem.

    My new basic dumb question is when we are developing a Flex+Spring MVC web application the url should be http://localhost:9081/Flex/test.do or http://localhost:9081/Flex/test.mxml Am 100% sure your answere would be the first one .do and thats how I have a basic application set up ready up and running.
    Now that I have a basic setup ready from my home page(adduser.jsp) I fill in a form data (firstName, lastName,….) and I click submit the request should to AddController (as configured in my spring beans Flex-servlet.xml). In the controller implement some logic create a list of users and return the list the ModelAndView object (As my controller would implement SimpleFormController my onSubmit overridder function would return a ModelAndView object say showAllUsers.jsp as success view) . In my next page in this eg. its showAllUsers.jsp I would like to display the ArrayList in mx:DataGrid format.

    I hope I have explained my issue clearly and sorry if its frustrating :-) but I need help of some expertise like you.

    Thanks again in advance…

  • http://www.jamesward.com James Ward

    Hi ag,

    I’m confused about what you are trying to do. Can you email me jaward at adobe dot com? Thanks.

    -James

  • Kunal

    Hi James,

    I am a Oracle Siebel CRM Analyst & Developer, novice to FLEX Builder. I am trying to do something similar to what you showed in the presentation here – only difference being I want to pull data from a Sybase iAnywhere database sitting on the local machine and present it on a Flex based UI.
    I have a similar Java program which connects to the database and is able to pull data. I am stuggling at the point of being successfully integrate Java with Flex and being able to show Java data in Flex. I believe I don’t have the same folder structure as yours in the IDE – Under my Java project, I dont see the ‘flex’ folder and all its child folders/files (including remoting-config.xml). Could you please tell what am I missing?
    I did install the plugin Flex plugin for Eclipse.

    I would greatly appreciate your time and response.
    Thanks!

    Regards, Kunal

  • Sri

    Hi James-

    We are trying to access local java class from flex, is it possible to implement without setting this class as a remote object.
    We are trying to instatiate a local database which resides locally and pull the data and display in flex

    Thanks
    Sri

  • http://www.jamesward.com James Ward

    Hi Sri,

    Check out Merapi:
    http://www.merapiproject.net/

    -James

  • http://www.jamesward.com James Ward

    Hi Kunal,

    You might want to try and follow this tutorial:
    http://www.infoq.com/articles/blazeds-intro

    -James

  • Shail

    Hey James, which book would you refer for the beginners in order to learn flex java.

    -Shail

  • http://www.jamesward.com James Ward

    Hi Shail,

    First Steps in Flex by Bruce Eckel and myself has a chapter on Flex and Java which is a revised version of this article on InfoQ. Let me know if that helps.

    -James

  • Pingback: Protected Messaging in Flex with BlazeDS and LCDS()

  • http://www.oystech.com Tejas Patel

    Hello James,
    Really very nice and useful.
    Thanks a lot.

  • Bil

    Thanks for this very interesting tutorial !

    Could somebody please help me resolving this issue?

    I want to call a hidden form in a jsp page, and send it values from my flex application to finaly send the form to another site when jsp page is loading.

    For that, i use an HTTPService;

    to send a model object:

    123456
    10

    In jsp side, i have:

    …….

    <input type="hidden" name="CarId" value="”>
    <input type="hidden" name="CarName" value="”>

    To send the model object, i use in Flex side : myHTTPService.send(myCar); but i’am not been redirected to http://www.mysite/mypage.jsp where the form should be sent to http/newurl….

    I tried:

    myHTTPService.send(myCar);

    var urlRequest:URLRequest=new URLRequest(‘http://www.mysite/mypage.jsp’);
    navigateToURL(urlRequest,”_self”);

    But the jsp page could’nt get values from the flex application, all values are null

    Many thanks in advance,

    Bil

  • http://www.jamesward.com James Ward

    Hi Bil,

    Perhaps you should populate the form using the Flex Ajax Bridge?

    -James

  • Bil

    Hi James,

    Thanks for your reply.

    I’ll try this solution…

    Regards.

  • jacjo

    I have a problem with RemoteObject:
    PositionDA file:

    public List getPositions(){

    List lst = new ArrayList();

    try{
    String sql = “”;
    sql =”SELECT * FROM ChucVu “;

    PreparedStatement pre = getConnection().prepareStatement(sql);
    ResultSet rs = pre.executeQuery();

    while(rs.next()){
    //pos = new Position(rs.getString(“MaCV”).trim(),rs.getString(“MoTa”).trim());

    lst.add(new Position(rs.getString(“MaCV”).trim(),rs.getString(“MoTa”).trim()));

    //System.out.println(pos.strID + “:” + pos.strDescr );
    }

    }catch (Exception e) {
    e.printStackTrace();
    }

    return lst;

    }

    Service file:
    public List getPositions(){
    PositionDA posDao = new PositionDA();
    return posDao.getPositions();
    }

    Flex file:

    private function resultCall(event:ResultEvent):void {

    dg.dataProvider = event.result as ArrayCollection;

    }

    My method which get data form SQLServer, it work in Java but it is error for Flex?

    I am working wrong?
    Thanks!

  • http://www.jamesward.com James Ward

    Hi jacjo,

    What is the error?

    -James

  • Tim Pham

    Great presentation, James! I can’t wait to try it out. Coming from Java side with JSF experience, I really like the push in Data Management Service.
    Thanks,

    Tim

  • Scott

    James,

    Great presentation! Packed with info, and good to see examples done inside of Flex Builder.

    Question: could you point me to info specifically about hooking up a Flex front-end to an existing JSF app? We use JSP as our view tier, which we’d like to replace with Flex. I saw the example you did of a Flex app presenting data from a GET request to a JSP, very cool, but JSF requires POSTs in order to invoke backing bean methods, and I’d like to preserve as much of my backing bean code as possible. Can HTTPService submit POST requests? Are there any tools or projects you’re aware of that help provide a “bridge” from Flex to JSF?

    Suggestion: it was hard to hear the questions from the audience. If you had repeated the question after it was asked, it would have come through in the presentation audio better (or perhaps you could do some post-prod to boost the audio when the question is being asked or something).

    Thanks for the presentation,
    Scott

  • http://www.jamesward.com James Ward

    Thanks Scott. You can definitely do POSTs with HTTPService.

    There are a few projects out there that might help you put a Flex front-end on top of JSF:
    http://code.google.com/p/jsf-flex/
    http://livedemo.exadel.com/fiji-demo/

    I hope that helps. Feel free to email me if you have other questions. jaward at adobe dot com

  • RBK

    Hi James,

    Thanks for uploading this presentation. It was very helpful.

    I tried passing a value object which I created in Flex to java. (remote destination method).
    Am getting an error saying that ‘method cannot be invoked by passing a null reference’

    I have checked the Flex code to see whether I have initialized the value object before passing and it’s been initialized.

    Is there any other step to make this work?

    Appreciate you support.

    Cheers,
    RBK.

    • http://www.jamesward.com James Ward

      Does the method you are calling exist with the same parameters as you are calling it with? Is it public?

      • RBK

        Yes, it’s public and and am passing the correct parameter (custom object).
        Initially, it worked when I passed a String.

        • http://www.jamesward.com James Ward

          Try to increase the logging verbosity in the services-config.xml file to DEBUG and see what’s happening on the server.

  • The_DOM

    Okay just making sure I understand this correctly. You are connecting flex to a java backend w/ hibernate via blazeds? (in the example where you change the fields and the update is pushed to other clients) is this correct? sorry trying to wrap my head around the big picture.

    • http://www.jamesward.com James Ward

      BlazeDS is one of the ways to connect Flex to a Java backend. But the only way to have updates pushed to other clients is with LiveCycle Data Services.

  • Sweeti

    I tried the same way you described in the video. But i am not able to retreive the data through remote object. Can you help?

    • http://www.jamesward.com James Ward

      What is the problem?

      • Sweeti

        I am getting java.lang.ClassNotFoundException: com.sybase.jdbc3.jdbc.SybDriver error in my logs. I have the jconn3.jar in the lib folder. Do i have to do anything for the database binding in Flex?

        • http://www.jamesward.com James Ward

          Your database driver is not being found on the Java CLASSPATH. There are several ways to deal with this. One is to make sure you have the right jar file for the driver and put it into the WEB-INF/lib dir and then restart your server.

          • Sweeti

            Thanks. Now i am not getting jdbc driver error. But still i am not able to get the data from the database and there is no error in the logs.
            Here is the sample mxml code as per your video: Below code would fetch the columns as per the query. Is there a need to insert <mx:DataGridColumn.. command?

          • http://www.jamesward.com James Ward

            You shouldn’t need to explicitly set the columns in the DataGrid. Perhaps you should set a result event handler on the RemoteObject to see if it is getting the data back from the server.

          • Sweeti

            Can you show some example to put the result event handler for above the code in the video?

          • http://www.jamesward.com James Ward

            Something like:

            <mx:RemoteObject>
              <mx:result>
                mx.controls.Alert.show('got a result');
               trace(event.result);
              </mx:result>
            </mx:RemoteObject>
          • Sweeti

            I am getting alert popup ‘got a result’ but not the data.

          • http://www.jamesward.com James Ward

            If you set a breakpoint in the debugger on the trace line, can you see what the value of event.result is? Does it contain your data?

          • Sweeti

            Can i set a breakpoint in the debugger on the trace line in Flash Builder or should i use Flex-Eclipse Plugin?

          • http://www.jamesward.com James Ward

            You can set a breakpoint on any executable line of code (not MXML lines) in Flash Builder 4 or Flex Builder 3 or 2.

          • Sweeti

            I am getting the data in CensusService.java when i set the breakpoint. When i set the breakpoint in mxml code it doesnot do the debug. So how do i know whether in my mxml i am getting the data through remote object?

          • http://www.jamesward.com James Ward

            You need to run the Flex app in debug mode. When you do that the debugger will connect and break at your breakpoint.

          • Sweeti

            When i try to run the Flex app (FlexJavaTest.mxml) in debug mode, the debugger doesnt break at the breakpoint. In FlexJavaTest.mxml i put the breakpoint on trace(event.result), but it doesnt break at this breakpoint and shows the popup alert ‘got a result’.

          • http://www.jamesward.com James Ward

            Hmm… That is strange. It should. Does debugging work for you on other projects?

          • Sweeti

            Yes Debugging works.

  • Sweeti

    I am getting java.lang.ClassNotFoundException: com.sybase.jdbc3.jdbc.SybDriver error in my logs. I have the jconn3.jar in the lib folder. Do i have to do anything for the database binding in Flex?

  • Sweeti

    I am getting the value in executeable code but not able to retrieve data in html through RemoteObject.

    • http://www.jamesward.com James Ward

      What do you mean by “in html”? If you can get the data in code then you can give the data to something else, like a DataGrid.

      • Sweeti

        Let me clear. I am getting the data in CensusService.java when i set the breakpoint. When i set the breakpoint in mxml code it doesnot do the debug. So how do i know whether in my mxml i am getting the data through remote object?

  • Sweeti

    I am getting the values in the executable line of code but not able to get in the html through remote object. Could you help?

  • Harpreet Sardar

    This is the best presentation i have seen so far……
    I am a newbee but this is coolllllllll …. really cool.
    I dont have words how excieted i am to learn flex and implement it.

  • M. Amine WAHBI

    Hey there, James.

    Great vid indeed.
    I need ur help.  I tried to build a simple Flex4.5 application that displays on a DataGrid the result of a Web Service (a bunch of record).  Everything seems fine, but the data don’t get displayed on the datagrid.  In fact,  I can see the roll-over effect on the Grid rows, but the cells are empty.

    Was was weird was that when I replaced the WebService with an HTTPService, and sent back the Web Service response, the grid works perfectly.

    Any pointers?

    • M. Amine WAHBI

      Got it :-)

      It works by changing “<s:DataGrid …" by "<mx:DataGrid .."

      Cheers



  • View James Ward's profile on LinkedIn