== Note: This project has closed. Checkout the red5 project instead. Spark is dead, long live Red5. == [[http://www.osflash.org/red5|Red5 Open Source Flash Server]] ====== Spark | Java Flash Server ====== **Project Page** | [[SparkAlpha]] * Subversion: [[http://svn1.cvsdude.com/osflash/spark]] * License: Currently LGPL * Status: Alpha codebase uploaded to svn, best parts to be merged into [[red5]] (0.5-0.7) ===== Overview ===== Spark is a Java server designed to provide various services to Flash clients. Its combines some well established open source projects (Jetty, Spring, OpenAMF, Hibernate, Rhino, Netty2) to form a single server. Its designed to be modular and extensible also so it should be easy to adapt to your needs. ===Design Goals=== * Make connecting flash to a java backend easy ! * Provide quick development environment and simple deployment. * Allow flash developers to code on the server without needing to know java. * Allow java developers to expose server side application api to flash developers. * Allow for quick prototyping and rapid application development. * Fix the problems in using hibernate with remoting. * Don't re-invent any wheels, look for good existing open source code and intergrate. * Evolve. ===== Features ===== * Flash remoting with added support for hibernate, remote objects, and js objects. * Code remoting services in JavaScript (same syntax as as1) auto reload and compile into Java on the fly. * Use [[Spark:E4X]] (ECMAScript for XML) in javascript. (This has been announced by Macromedia as a feature of the next Flex release also) * Expose spring beans (java, soap, ejb, other remoting protocols) as remoting services. * Run using embedded jetty servlet engine (used for dev) or deploy as war file to any servlet engine. * Wrap remoting methods in AOP db transation interceptor. * Open session in view ensures hibernate session for all remoting calls. * ScriptDAO: Data access object for RAD, prototyping, and testing from scripts (api needs refining). * Image servlet can resize, and convert images on the fly. (optional extra as it depends on ImageMagick) * Ant build file to compile java code, generate hibernate mappings, and package war for deployment. * Add any mvc / view technologies spring supports to create your website. ===== Dependencies ===== * Built in Java using the [[http://www.springframework.org|Spring Framework]] (apache style license) * Uses the Rhino JavaScript engine (mpl license) * Remoting code extends [[OpenAMF]] (lgpl) * Uses JMagick for image transformation. (lgpl) * Uses Netty2 for the NIO socket server (apache license) ===== Links ===== * Spring: [[http://www.springframework.org]]\\ * Spring intro article: [[http://www.theserverside.com/articles/article.tss?l=SpringFramework]]\\ * Rhino: [[http://www.mozilla.org/rhino/]]\\ * OpenAMF: [[http://www.openamf.org/]]\\ * Jetty: [[http://jetty.mortbay.org/jetty/]] * Netty2: [[http://gleamynode.net/dev/tl-netty2/docs/]] * Hibernate: [[http://www.hibernate.org/]]\\ * JMagick: [[http://www.yeo.id.au/jmagick/]]\\ * Ant: [[http://ant.apache.org/]]\\