Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Cacoo

                            Cacoo

                            Cubby




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
57%    43%!




                                                                2010   6
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
http://www.flickr.com/photos/kiwi/24658003

Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
http://www.flickr.com/photos/17258892@N05/2588347668

Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
• invokeAction
                               • invokeActionResult
                               • invokeRequestProcessing
                               • invokeRouting
                               • invokeValidation



Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
@Auth
                @Protocol(
                 value = HTTPS, redirect = true)
                @Path("diagrams")
                public class DiagramsAction
                   extends BaseAction {




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
@Auth
                @Protocol(
                 value = HTTPS, redirect = true)
                @Path("diagrams")
                public class DiagramsAction
                   extends BaseAction {




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
http://www.flickr.com/photos/liberato/2275622210/

Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
plugins.HeadSupportPlugin




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
public class HeadSupportPlugin extends AbstractPlugin {

         @Override
         public PathInfo invokeRouting(final RoutingInvocation invocation)
           throws Exception {
             final PathInfo pathInfo = super.invokeRouting(invocation);
             if (pathInfo != null) {
                 return pathInfo;
             }

              final HttpServletRequest request = invocation.getRequest();
              if (!request.getMethod().equals(RequestMethod.HEAD.name())) {
                  return null;
              }

              final PathResolver pathResolver = invocation.getPathResolver();
              final String path = invocation.getPath();
              final PathInfo headPathInfo =
                 pathResolver.getPathInfo(path,
                      RequestMethod.GET.name(), request.getCharacterEncoding());
              return headPathInfo;
         }
     }



Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
URI

                         JSON                            API




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
http://www.flickr.com/photos/fncll/145149313/

Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
HTML




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
http://d.hatena.ne.jp/ko-suga/
                     20090730/1248940538




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
http://www.flickr.com/photos/dougww/979176911

Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
<img src="/account/yoshizawa/image/
             20x20?t=1275242889248" />


             <script src="/js/lib/cacoo.js?1.23"
             type="text/javascript"></script>




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
<script src="/js/lib/cacoo.js?1.23"
             type="text/javascript"></script>


              InjectionResolver                          pom.xml



              Hudson



Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
cacoo.swf        (   )




                           0.7



                                                                             20



EC2+CloudFront                    2

                       0                      5           10           15   20


Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Cacoo              Seasar


  Seasar



  Seasar




Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010

Seasarで動いているWebサービスCacooの裏側