Java REST Options

REST with or without a Web Container

http://programmers.stackexchange.com/questions/155467/selecting-a-jax-rs-implementation-for-a-new-project

CXF2 or RESTLet or RESTEasy or JAX-RS (Jersey) or DropWizard or Spring Boot or …  There have been an number of options for a while.   Spring Boot and Drop Wizards

are very cool because of the simple deploy and lack of need for a cumbersome EAR or WAR deploy to a JEE server.  DropWizard also

has a ton of features and built-in metrics.  Resthub is very cool too, but not well supported.  JAX-RS works nice if you use Glassfish +

NetBeans 7.4 + JEE 7.  Since that lets you create REST client and server and the client can be HTML5 and is mostly generated for you.  It

will also build REST services for you from existing entities or relational tables.  I wish it had a wizard to do that easily from NoSQL

entities.   NodeJS has a nice REST client.   Also you can try your hand at developing REST in NodeJS or Cujo REST.   A REST client from JavaScript is easy, here is

a nice article on RestJS with Spring.

http://www.slideshare.net/mraible/comparing-jvm-web-frameworks-devoxx-france-2013

Dropwizard

https://github.com/jacek99/dropwizard-spring-di-security-onejar-example

http://www.slideshare.net/JacekFurmankiewicz/dropwizard-spring

http://www.slideshare.net/sullis/production-ready-web-services-with-dropwizard

https://www.openshift.com/blogs/day-13-dropwizard-the-awesome-java-rest-server-stack

https://github.com/shekhargulati/day13-dropwizard-mongodb-demo-app

http://dropwizard.codahale.com/manual/auth/

http://kielczewski.eu/2013/04/developing-restful-web-services-using-dropwizard/

http://www.slideshare.net/savu.andrei/simple-rest-with-dropwizard

http://gary-rowe.com/agilestack/2012/06/06/multibit-merchant-deployment-driven-design/

Spring Boot

http://projects.spring.io/spring-boot/

RESTHub

http://resthub.org/

mvn archetype:generate -DarchetypeGroupId=org.resthub -DarchetypeArtifactId=resthub-jpa-backbonejs-archetype -DarchetypeVersion=2.1.4

mvn jetty:run

https://github.com/englishtown/vertx-mod-jersey/ http://www.jamesward.com/2012/08/13/containerless-spring-mvc

 

Other Links

JQuery.REST

 

Algorithms, Data Structures, Android, HTML5, Java Tools

 

It’s Hip 2 B Square

Cool Android Tools from Square

Android Testing

http://square.github.io/fest-android/

http://fest.easytesting.org/

http://www.developer.com/open/article.php/10930_3901236_3/Write-More-Understandable-Java-Tests-with-Matcher-Objects-and-FEST-Assert.htm

http://piotrjagielski.com/blog/a-cool-technique-for-object-comparison-in-junit/

http://robolectric.org/

http://corner.squareup.com/2013/04/the-resurrection-of-testing-for-android.html

https://code.google.com/p/robotium/

https://code.google.com/p/mockwebserver/

https://github.com/robolectric/robolectric

http://corner.squareup.com/2013/05/robolectric-two-point-oh.html

http://corner.squareup.com/2012/10/mockito-android.html

https://github.com/octo-online/robospice

https://github.com/octo-online/RoboSpice-samples

 

Small Square Tools

http://corner.squareup.com/2013/05/mimecraft-javawriter-protoparser.html

https://github.com/square/protoparser

https://github.com/square/javawriter

 

Event Bus

http://square.github.io/otto/

 

Square IntelliJ Plugins

http://corner.squareup.com/2013/05/intellij-plugins.html

https://github.com/square/dagger-intellij-plugin

https://github.com/square/otto-intellij-plugin

 

Date from Calendar View for Android

https://github.com/square/android-times-square

http://corner.squareup.com/2013/01/times-square.html

 

HTTP and SPDY Client for Android

http://square.github.io/okhttp/

http://corner.squareup.com/2013/05/announcing-okhttp.html

 

Dagger DI

http://square.github.io/dagger/

http://corner.squareup.com/2013/05/dagger-1.0.html

https://plus.google.com/communities/109244258569782858265/stream/bab12891-7685-4e0c-8dcb-f85cd0ca31c0

http://musingsofaprogrammingaddict.blogspot.com/2012/11/dagger-new-java-dependency-injection.html

http://www.infoq.com/presentations/Dagger

http://blog.patrickbaumann.com/2012/10/di-on-android-without-the-startup-cost-dagger/

https://github.com/patrickbaumann/daggervsroboguice

https://github.com/eburke/presentations/tree/master/strange_loop_2012/samplecode

 

Spoon Android Testing

http://square.github.io/spoon/

 

Android Image Caching and Downloading

http://square.github.io/picasso/

http://corner.squareup.com/2013/05/picasso-one-dot-oh.html

http://square.github.io/pollexor/

https://github.com/globocom/thumbor

https://github.com/globocom/thumbor/wiki

 

Android Shake Detection

https://github.com/square/seismic

 

Android Queues

http://square.github.io/tape/

 

REST Client for Android

http://square.github.io/retrofit/

http://corner.squareup.com/2013/05/retrofit-one-dot-oh.html

 

Square OSS Community

https://plus.google.com/communities/109244258569782858265/stream/47c9b7e4-3c13-4f6f-bc89-ede5f9e58612

 

Squash Notification Tool

http://corner.squareup.com/2013/01/squash.html

 

Android Tips

http://www.curious-creature.org/2012/12/13/android-recipe-2-fun-with-shaders/

 

Facebook SDK for Android

https://github.com/facebook/facebook-android-sdk

 

Sending Photos Easy

http://mobile.tutsplus.com/tutorials/android/android-sdk-sending-pictures-the-easy-way/

 

Growing Android Applications Guided by Tests – using Square Tools

http://www.novoda.com/blog/blog/gaagbt-part-1

https://github.com/frankiesardo/growing-android-applications-guided-by-tests

 

Spring MVC + Modern HTML5

Tobacco tries it’s best to always include the latest release versions of most popular client libraries.

Latest Tobacco 1.0.12 charges you with Spring 3.2.2, Twitter Bootstrap 2.3.1, jQuery 1.9.1 and Backbone.js 1.0.0

Tobacco Maven Architype for building a project

 

 

https://github.com/priyatam/springmvc-twitterbootstrap-showcase

http://bthurley.wordpress.com/2012/07/25/initialising-datatables-with-twitter-bootstrap-and-spring-mvc-ajax/

http://duckranger.com/2012/07/spring-mvc-and-twitter-bootstrap-customizing-the-input-fields/

http://bthurley.wordpress.com/2012/07/18/spring-mvc-with-restful-datatables/

http://duckranger.com/2012/12/capturing-property-changes-with-spring-jpa-and-hibernate/

https://github.com/eugenp/REST#readme

 

Node.js for Production

Coding Guides

HP Anywhere (Java + JavaScript)

HP Anywhere

Review by Timothy Spann

Basic Usage

1.1           IDE

Eclipse

eclipse

 

1.2           NOTE

  • Fix required:  HP Anywhere added to maven.bat

SET MAVEN_OPTS=-Djava.net.preferIPv4Stack=true

  • Only runs on Windows.  Windows Only Server
  • Only for developing single page applications (SPA) with Java back-end and JS/HTML5/CSS front-end.

 

1.3           Technology List

  • Eclipse juno
  • jdk 1.7
  • maven
  • tomcat
  • H2
  • jersey
  • enyo js
  • slf4j
  • apache commons
  • xerces
  • json
  • sencha
  • jax-ws
  • ant
  • curl
  • spring 3.0.5
  • jersey
  • junit 4.8
  • JEE
  • JAXB
  • DOM4J
  • Lucene
  • JSTL
  • PhoneGap
  • POI
  • Velocity
  • STAX
  • Xalan
  • Joda Time
  • Hibernate
  • GraniteDS
  • Jackson
  • JTDS
  • JQuery
  • JDOM
  • Sencha Touch
  • Cassandra
  • MS SQL Server

1.4           Links

HP Anywhere: Mobile Apps for the Enterprise

 

1.5           HP Anywhere Architecture for Developers

(see: http://developer.hpanywhere.com/wp-content/uploads/2013/03/HP_Anywhere_Architecture_for_Developers.pdf)

 

 

 

container

overview

 

Android Links

 

Today’s Links

CSS Links

Spring Tutorials – Links

http://tshikatshikaaa.blogspot.com/2012/09/spring-mvc-customized-user-login-logout.html

http://tshikatshikaaa.blogspot.com/2012/09/spring-mvc-service-dao-persistence.html

http://tshikatshikaaa.blogspot.com/2012/08/jpa-tutorial-with-examples-using-hibernate-standalone.html

http://tshikatshikaaa.blogspot.com/2012/10/spring-mvc-form-validation-with-annotations.html

http://tshikatshikaaa.blogspot.com/2012/09/junit-testing-spring-service-and-dao.html

http://tshikatshikaaa.blogspot.com/2012/09/spring-mvc-controller-junit-testing.html

http://tshikatshikaaa.blogspot.nl/2012/09/spring-web-jpa-hibernate-in-memory.html

http://tshikatshikaaa.blogspot.com/2012/11/serving-static-resources-with-spring-mvc.html

http://tshikatshikaaa.blogspot.nl/2012/09/junit-testing-spring-service-and-dao.html

http://tshikatshikaaa.blogspot.com/2013/01/anatomy-of-default-openshift-spring-web.html

http://tshikatshikaaa.blogspot.nl/2013/01/spring-selenium-tests-with-annotations.html

http://tshikatshikaaa.blogspot.com/2012/11/spring-mvc-rest-calls-with-http-only.html

http://www.infoq.com/presentations/Introduction-WebSocket

http://tshikatshikaaa.blogspot.com/2012/11/spring-mvc-rest-calls-from-java.html

http://tshikatshikaaa.blogspot.com/2012/10/setting-logging-dependencies-in-spring.html

http://tshikatshikaaa.blogspot.com/2012/11/spring-mvc-rest-calls-with-ajax.html

http://tshikatshikaaa.blogspot.com/2012/10/returning-json-in-spring-with-annotations.html

http://tshikatshikaaa.blogspot.com/2012/11/fetching-json-with-ajax-in-spring-mvc-context.html

http://tshikatshikaaa.blogspot.com/2012/11/introduction-to-spring-jpa-data-features.html

http://tshikatshikaaa.blogspot.com/2012/11/spring-mvc-error-handling.html

http://www.dzone.com/links/r/caching_with_spring_data_redis.html

http://www.dzone.com/links/r/spring_mvc_how_to_use_sessionattributes_annotation.html

http://www.dzone.com/links/r/cloud_stack_of_your_dreams_bootstrap_and_spring_r.html

http://www.dzone.com/links/r/spring_roo_and_twitter_bootstrap_roostrap_for_spr.html

http://www.dzone.com/links/r/spring_transaction_propagation_tutorial.html

http://www.dzone.com/links/r/rest_services_with_jaxrs_and_spring_handling_lost.html

 

 

 

 

 

Test Driven Node.JS Development

What would a language and framework be with unit testing, BDD, and other testing methods, frameworks and systems?

So once you get beyond casual Node.JS development, you will need to start unit testing.  Node.js has a surprisingly robust and mature set of testing tools and options.  Out of the box, Node.js has Built In Assert which will let you do some basic XUnit style tests.   A step beyond that is NodeUnit, which is pretty easy to use for XUnit oriented people.  For me, it’s easy to pick up coming from doing a lot of JUnit tests.  This article is great for Using NodeUnit for Testing.  Node.js is great because so many people have developed tools, frameworks and utilities for it.  The only issue I have it some are not very mature and the options are so fragmented.  There’s no Spring framework or hibernate that garners massive usage.  So many variations and options, I wish they could work together to put together a killer Rails or Spring type group of mature, tested, interconnected tools and utilities.  Full Testing Suite – Mocha is installable via NPM and works with a CI server.  This one is pretty cool.

The source for everything testing/bdd/mocking for Node.JS is Joyent’s Testing Wiki.
There’s a number of behavior driven development tools including the polyglot tool Cucumber -> BDD Testing Tool – Cucumber.JS.  Another option is Asynchronous BDD Testing Tool – Vow.
For mocking,  Mockito Style Mock Objects – Mary Jane, looks great.   I will hope that maybe Mockito will officially support this one.
For JQuery fans, someone has ported QUnit to Node.JS [Node-Qunit]
This is just a sampling of test options.  Obviously tools like Selenium and Firebug will help you and so would JMeter and and SOAPUI.  A lot of general web testing tools are available that can do full system testing or integration testing for your Node.JS web apps.
I will be adding some examples in a future post with a github link.

Spring / HTML5 / Flex

Spring Remoting
FLEX for Spring
Spring BlazeDS Integration
HTML5
Mobile First Responsive Web Design
Application Cache

HTML5

HTML5 Deep Dive Canvas

Canvas Scene Graph

HTML5 Template Engine for Java/Spring

Creating 3D Games with HTML5

HTML5 Canvas Game Engine

Vector Drawing Tool

2D Games and Graphics Engine

Online HTML5 Sketch Pad

HTML5 Drawing Tool

HTML5 Game

HTML5 JS Library

HTML5 JS Animation Library

JS Library for Sound

JS Processing Language

Keyframing API for HTML5 

SVG Parser and Renderer

JS Library and Editor

MEMSQL – World’s Fastest DB

HTML5 Audio Control (Tape Player UI)

HTML5 Weekly Week #22

HTML5 Application Cache Manifest (facebook)

Modernizr Library (JS, CSS, HTML5)

MS Office Apps with HTML5

Insane HTML5 Game and Source

https://github.com/wwwtyro/Astray <- Kick ass maze game

HTML5 Audio Editor

HTML5 Canvas Demo

Ninja Authoring Tool for HTML5

HTML5 GamePad API

HTML5 Features to Use

HTML5 Canvas and Processing.JS
 

 

 

 

 

 

 

 

 

No, Not Python, It’s the Holy Grails…

I’ve been evaluating a few different technologies for doing some rapid web development work and recently I have been looking at the bounty of available tools, libraries, frameworks and associates of Spring.  Spring ROO and Groovy/Grails are the big two RAD tools from SpringSource and they look pretty amazing.  I don’t think I’ve found the Holy Grail of Web App development, but these two tools are really helpful in rapidly developing apps.  I am hoping someone combines Roo or Grails with Vert.x to make a really awesome alternative to Node.JS.  I like Node.JS and have been doing JavaScript for a decade, but I prefer the languages of the JVM and Vert.x’s support for multiple languages is pretty awesome.  Hmmm, Vert.x in Grails.

With the excellent STS inside Eclipse, this gives Groovy and Java a great IDE for development, testing and debugging.  And that is something that is lacking for Node.JS.  Node.JS has a few tools out there, but nothing open source, free, full of awesome mature plugins (PMD, Checkstyle, GIT, Maven, JUnit, FindBugs, …) and just plain easy to use.  Eclipse also has plugins for working with CloudFoundry, Heroku, OpenShift and other Cloud environments.

Between Grails and Roo, I really like the fact that I can remove Roo at anytime and still have a fully functionally application setup that utilizes standard Spring tools.  It’s also easier to add other cool Spring projects like Spring Social, Spring Mobile, Spring Data and more.

Both Grails and Roo support MongoDB very well and that’s great too see.  I have a few Mongo DB instances on MongoLab, MongoHQ and OpenShift.  These services all have great free developer services that are great for learning, prototyping and for tutorials.  I am really loving Heroku and OpenShift.  It’s hard to pick one, so I didn’t.  I use them both.

Vert.x + Groovy is really cool, but again not much IDE support, tools or extra libraries.  It should grow start building support now, but competition with Node.JS is pretty fierce.

Interesting, Roo vs Grails Jobs.

 

 

But if you look at just Spring (which Roo is just a tool to help with a Spring project):

 

 

There’s also some great documentation, tutorials and books on Groovy/Grails since it’s been out for a while:  http://grails.org/Tutorials  http://www.infoq.com/minibooks/grails-getting-started On the other hand, Roo is newer, but since it generates standard Spring + Java, you are really just getting a good head start on your project.

Heroku has a nice article on using both with their awesome platform:   https://devcenter.heroku.com/articles/grails  and https://devcenter.heroku.com/articles/spring-mvc-hibernate.

I will post a Github repository of some samples soon.

 

ETE Presentations

Chariot Solutions Presentations / ETE Presentations
http://chariotsolutions.com/presentations

Chariot Solutions Emerging Technology Philly ETE 2012 Screencasts
http://emergingtech.chariotsolutions.com/category/screencasts/philly-ete-2012/

Chariot Solutions Videos and ETE Videos
http://www.youtube.com/user/ChariotSolutions/featured

CoffeeScript Edge
http://phillyemergingtech.com/2012/system/presentations/the_coffeescript_edge.pdf

Emerging Languages
http://phillyemergingtech.com/2012/system/presentations/Payne_Philly_ETE_2012_slides.pdf

StratisfiedJS (Structured JS)
http://onilabs.com/stratifiedjs

Large Scale Agile
http://phillyemergingtech.com/2012/system/presentations/Large-Scale_Agile_slides.pdf

Spring ROO with Addons
http://phillyemergingtech.com/2012/system/presentations/roo-addons.key.pdf

Backbone.js / Real-time Web Apps
http://phillyemergingtech.com/2012/system/presentations/realtime-web-ete-2012.pdf

Rich-Web Apps with Server Side Java
http://s3.amazonaws.com/chariot-website-production/presentation_documents/documents/000/000/632/vaadin-ria-in-server-side.pdf?AWSAccessKeyId=AKIAJTXMORYAM7NJWIJQ&Expires=1340418954&Signature=7%2BrH1fNE2Zn7vqlaw9ZDYQCQbvs%3D

Vaadin Java Framwork
https://vaadin.com/home

Interesting Stack (Backbone, NodeJS, Restify, MongoDB)
http://backbonetutorials.com/nodejs-restify-mongodb-mongoose/

Dependecy Injection
http://s3.amazonaws.com/chariot-website-production/presentation_documents/documents/000/000/607/di-without-the-gymnastics.pdf?AWSAccessKeyId=AKIAJTXMORYAM7NJWIJQ&Expires=1340422342&Signature=VVMi2uiG2c6m6oaP3%2Bn61pDmHbI%3D

HTML5 Apps with Java and Scala with Play
http://chariotsolutions.com/presentations/html5-apps-in-java-scala-with-the-play-framework

FindBugs
http://chariotsolutions.com/presentations/effective-use-of-findbugs-in-large-software-develo

Massive Scaling
http://chariotsolutions.com/presentations/massively-scaling-to-millions-of-players

Lean, Kanban and Large Scale Agile
http://chariotsolutions.com/presentations/lean-kanban-and-large-scale-agile

Let’s Play TDD
http://jamesshore.com/Blog/Lets-Play/Episode-199.html

Cross Platform Mobile Experience
http://phillyemergingtech.com/2012/system/presentations/Doug_Bellenger-PhillyETE_2012.pdf

Real-Time Web Apps with Backbone
http://chariotsolutions.com/presentations/building-real-time-web-applications

Better Agile Through Tribes
http://chariotsolutions.com/presentations/better%C2%A0agile-thought-throughtribes

Java EE in the Cloud(s)
http://chariotsolutions.com/presentations/java-ee-in-the-clouds

CSS#
http://chariotsolutions.com/presentations/evolution-of-css-layout-through-css3-and-beyond

EmberJS
http://chariotsolutions.com/presentations/emberjs-attacking-boilerplate-where-it-lives

PJAX
http://chariotsolutions.com/presentations/pjax-and-the-next-generation-of-server-side-web-fr

Grails 2.0
http://chariotsolutions.com/presentations/whats-new-in-grails-20

JavaScript Testing / BDD

HTML5

HTML5 Demos, Examples, RSS Readers
http://www.markandey.com/2011/02/what-it-takes-to-make-your-own-feed.html

http://www.html5rocks.com/en/

http://html5laboratory.com/

http://html5boilerplate.com/docs/head-Tips/

http://www.purplegene.com/js/feedreader.js

http://www.html5rocks.com/en/tutorials/webaudio/fieldrunners/

http://www.markandey.com/

http://html5boilerplate.com/docs/head-Tips/

JavaScript API for Reading ATOM/RSS
https://developers.google.com/feed/
https://developers.google.com/loader/
https://developers.google.com/feed/v1/
https://developers.google.com/feed/v1/reference
https://developers.google.com/feed/v1/jsondevguide
https://developers.google.com/feed/v1/devguide
http://www.google.com/uds/solutions/slideshow/index.html 

Code Playground
http://code.google.com/apis/ajax/playground/?exp=feeds#load_feed 

Quick Starts for HTML5 Projects
HTML5 Boiler Plate

http://html5boilerplate.com/
http://www.initializr.com/