Changes between Initial Version and Version 1 of RecommendedDeveloperEnvironment

Show
Ignore:
Timestamp:
08/27/08 06:47:29 (2 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RecommendedDeveloperEnvironment

    v1 v1  
     1= Recommended Developer Environment = 
     2[[TOC]] 
     3 
     4To develop a client-side application which accesses the public Shared Records server, you don't ''need'' much at all. Because the [wiki:HttpApi HTTP Rest API] exposes all the required functionality through simple web calls, you really just need a way to submit HTTP requests and parse the results. To develop robust client applications, though, you'll want a full development environment. 
     5 
     6The Shared Records server is a Java servlet, available through subversion. At a minimum you'd need a recent JDK, a text editor and a subversion client to start developing on your own. Though, again, we recommend the tools listed below. 
     7 
     8== Generic Environment == 
     9 
     10The lowest-level access, from the command-line. 
     11 
     12Unix utilities (Windows users require [http://www.mingw.org/ MinGW] or [http://www.cygwin.com/ Cygwin] to use these): 
     13{{{ 
     14#!textile 
     15table(modern). 
     16|_. Tool |. Which One |_. Purpose | 
     17| "openssl":http://www.openssl.org/ | latest | Generate cryptographic keys and hashcodes. Only needed for the REST API. The Proxy API takes care of generating the needed keys. | 
     18| "curl":http://curl.haxx.se/ | latest | Simple command-line access to web services | 
     19}}} 
     20 
     21Windows utilities: 
     22{{{ 
     23#!textile 
     24table(modern). 
     25|_. Tool |. Which One |_. Purpose | 
     26| "fsum":http://www.slavasoft.com/fsum/index.htm | latest | Simple command-line program for calculating hashcodes. | 
     27| "HashCalc":http://www.slavasoft.com/hashcalc/index.htm | latest | Stand-alone application calculator for hashcodes. | 
     28| "HashOnClick":http://www.2brightsparks.com/onclick/hoc.html | freeware| Windows Explorer Extension for calculating hashcodes. Right-click, then select algorithm to get the values. | 
     29}}} 
     30== Web-savvy Environment == 
     31 
     32These days, when do you do anything on your computer without a browser open? With a good browser and some developer-friendly extensions, you'll have a good debug tool on hand. 
     33 
     34{{{ 
     35#!textile 
     36table(modern). 
     37|_. Tool |. Which One |_. Purpose | 
     38| "Firefox":http://www.mozilla.com/en-US/firefox/ | latest | A great browser, but also a web developer's best friend with the inclusion of some select extensions. | 
     39| "Poster":https://addons.mozilla.org/firefox/2691/ | latest | A Firefox extension for testing interaction with the server through HTTP calls. | 
     40}}} 
     41 
     42== Generic Development Environment == 
     43 
     44Building a client application just requires familiarity with the APIs and a language of your choice. You could create anything from a set of shell scripts to a Web 2.0 front-end. 
     45 
     46{{{ 
     47#!textile 
     48 
     49table(modern). 
     50|_. Tool |. Which One |_. Purpose | 
     51| Web-friendly language | Ruby, Java, PHP, etc | For generating HTTP calls and parsing the results | 
     52| Text editor | any | to edit your client source | 
     53}}} 
     54 
     55== Java Development Environment == 
     56 
     57Java is the preferred development environment for the core Shared Records developers, and our recommended platform for serious client development. To build and deploy the SharedRecordsServer or the JavaDemoApplication, this is what you'll need. 
     58 
     59{{{ 
     60#!textile 
     61 
     62table(modern). 
     63|_. Tool |. Which One |_. Purpose | 
     64| "JDK":http://java.sun.com/javase/downloads/index.jsp | 1.5+ | The baseline tools for Java development. | 
     65| "Java WSDP":http://java.sun.com/webservices/downloads/webservicespack.html | 2.0+ | Web-services libraries for Java. | 
     66| "JUnit":http://www.junit.org/ | 4.0+ | For building/running unit tests. | 
     67| "Ant":http://ant.apache.org | 1.6.5+ | Apache Ant java-based build tool. | 
     68| "Subversion":http://subversion.tigris.org/ | 1.4.2+ | Version control system for accessing the source. |  
     69| "Eclipse":http://www.eclipse.org | 3.2+ | The Eclipse Integrated Development Environment| 
     70| "Subclipse":http://subclipse.tigris.org/ | 1.1.X | Eclipse plugin that adds subversion integration. | 
     71}}} 
     72 
     73== Server Deployment Environment == 
     74 
     75The SharedRecordsServer and the ProxyServer are deployed as Java Servlets. To work with your own install, you will need a compliant Java Application Server. Any of the following are reasonable options: 
     76 
     77{{{ 
     78#!textile 
     79 
     80table(modern). 
     81|_. Tool |. Which One |_. Description | 
     82| "Tomcat":http://tomcat.apache.org/ | latest | Apache Tomcat, the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. | 
     83| "Sun JSAS":http://www.sun.com/software/products/appsrvr/index.xml | latest | Sun's enterprise strength application server. | 
     84| "Eclipse Web Tools Platform":http://www.eclipse.org/webtools/ | latest stable | Eclipse tools for web and J2EE applications. (requires the additional install of a server runtime) | 
     85}}} 
     86 
     87 * [wiki:ServerDeveloperSetup Server Developer Setup] - step-by-step instructions for setting up the recommended developer's environment for working with Shared Records source code 
     88