Why an extra tool? Apache ant. Actually, So, what is ant? Why not just the IDE? Flexibility! An essential tool for Java development

Size: px
Start display at page:

Download "Why an extra tool? Apache ant. Actually, So, what is ant? Why not just the IDE? Flexibility! An essential tool for Java development"

Transcription

1 Why an extra tool? Apache ant An essential tool for Java development Why ant? Wouldn t NetBeans (or Eclipse) suffice? IDEs like NetBeans are structured to help build certain types of s Standard Java (SE) s Web-style with servlets/jsps/jsfs; IDE deploying built to local web-container (Tomcat or web-container of glassfish) EJB s; IDE deploying built to container (glassfish or other) Not so well suited to building systems involving arbitrary multiple processes running on different machines. 1 2 Why not just the IDE? Flexibility! For complicated client-server setups, and some other tasks, need more flexibility scripts to build client/server/support s Each involving own codebase but sharing some framework code scripts deploying s May need to copy files to different locations and organize them in particular directories scripts to start/stop server, support, client s as processes on different machines Separate console sessions so can observe demonstration tracer output from different processes Scripts? Ant buildfiles 3 Actually, The IDEs use ant as a build tool anyway build file gets generated by IDE with targets to compile and run it And extra targets as needed to do things like deploy an onto a Tomcat webserver You can add targets to the IDE s build file But still limited in viewing and controlling different processes, and no easy way to deploy onto different machines. If you have a project originally developed outside of the IDE that has an ant build.xml file, you can import it into the IDE and use your defined build options rather than the standard IDE ones. 4 So we will use ant to build and deploy RMI, CORBA and other s Can continue to use IDE to prepare code Will usually need to copy directories with generated.class files and employ these from ant script Use ant build files to build and run s. Often cannot run conveniently from inside IDE so start separate terminal sessions, cd to "dist" directories created by IDE's own ant script and run.jar files created in IDE's build step So, what is ant? When get to EJBs, where IDE has integrated support with its own extra "targets" in its generated ant build.xml file, we will revert to using just the IDE 5 6 1

2 Apache ant Apache Ant is a Java-based build tool. it is kind of like Make, but without Make's wrinkles. Why another build tool? Make-like tools are shell-based Evaluate a set of dependencies, Execute commands as for a shell. Can extend these tools by using or writing any program for the OS that you are working on. But very OS dependent. Makefiles are inherently evil as well. Make dates from the 1970s; it may be Unix-guru friendly but is quite hostile to those not of that fraternity It is pernickety about details of format, obscure, depends on default make rules (that often differ on different platforms), has obscure conventions Essentially, part of the initiation rights of the Unix elite A build tool As a build tool, ant uses some concepts that are similar to those in make Properties can be defined Referenced in actual build steps Define things like library paths, load time flags, etc Several targets A makefile, or an ant build.xml file, will usually define several targets.exe build the program, clean remove junk left by compiler, When invoked, make or ant is told which target to work on Dependencies Some targets depend on other work, defined in other targets, having been successfully completed first Typical makefile link step implicit (or explicit) dependence on compile step Integration with version management systems Make understands how to extract files from SCCS version management systems; ant understands CVS, subversion, All quotes from the introduction to ant at the apache.org site 7 8 Generic build script Makefiles and build.xml Define property 1 Define property 2 Associate symbolic name with particular collection of files Target-1 What does it depend on? How do you build it? (compile?, link?, copy files?, create archive?, ) Target-2 Makefile Obscure syntax Employs shell like constructs with a slightly changed syntax that causes problems for the naïve user Format sensitive Can have targets that involve starting s as separate processes, (start server, pause, start client), but these not readily defined Build.xml Well defined structure XML document! Easy to specify targets with parallel and sequential subtasks 9 10 Running a build tool remember make make Looks for the file makefile or Makefile Identifies the default target (the first target in a makefile) Determines whether there are other targets on which this default target depends If there are, recursively searches for further dependencies Works out an order for performing the build steps Determined via the recursive search through dependency tree a kind of post-order traversal Runs the required compile, link etc steps make MyApp.cgi Looks for the file makefile or Makefile Finds the specified target "MyApp.cgi" Builds as described above for the default target Build dependencies Target-A depends on + Target-B, which depends on + Target-B1 + Target-B2, which depends on + Target-B2-i + Target-B2-ii + Target-C Build order: B1, B2-i, B2-ii, B2, C, A

3 Running ant ant [options] target Looks for the file build.xml Finds the specified target Recursively searches for other targets on which desired target depends Works out an order for performing the build steps (post-order traversal of dependency tree) Runs the required steps Can specify more than one target, ant does them in turn 13 Some of ant's options -projecthelp, -p print project help information -version print the version information and exit -diagnostics print information that might be helpful to diagnose or report problems. -quiet, -q be extra quiet -verbose, -v be extra verbose -debug, -d print debugging information -lib <path> specifies a path to search for jars and classes -noinput do not allow interactive input -buildfile <file>, -file <file>. -f <file> use given buildfile -D<property>=<value> use value for given property 14 ant Buildfile elements 15 Project An ant buildfile (by default named build.xml) is an XML document Top level element is project <?xml Version='1.0'?> <project > <!-- Here define the properties and targets for the project --> </project> For you, a project would be an assignment with targets like compile-server, compile-client, run-server, clean, 16 Project The Project element should have attributes name name of project default default target basedir base directory (typically your build.xml file will be in your project's "home" directory so basedir='.') Example <project name="rmi-demo" default="build" basedir="."> 17 Properties Name=value pairs; properties referenced later in tasks performed for various targets. In some ways, like environment variables or command line arguments for s Example Context Several of the RMI examples in our RMI section use a copy of the rmiregistry (naming lookup) program They need to run it at a non-standard port (standard port should be reserved for an rmiregistry handling deployed s, it shouldn't be used when developing and testing s because you need to restart your rmiregistry each time a test is redeployed!) <property name="aport" value="13456" /> And later as part of a "run-" target get the task <exec executable="rmiregistry" > <arg value="${aport" /> Start rmiregistry on chosen port </exec> 18 3

4 Targets Targets things you want done! A target has a number of attributes and a "body" that contains the specification of the actions that must be performed when ant is told to build that target. Target attributes Attribute Description Required name the name of the target. Yes depends if a comma-separated list of names of targets on which this target depends. the name of the property that must be set in order for this target to execute. No No unless the name of the property that must not be set in order for this target to execute. No description a short description of this target's function. No Target attributes "name" identifies specific target "description" Explanatory information Someone new to project can run ant projecthelp, will get back a list of the targets and what each one does Can leave out description if target is simply some low-level subtask that wouldn't be of interest to a person developing or maintaining the project "depends" Information needed to build that dependency tree and hence work out order for build steps. Conditionals if / unless Targets that may not need to actually be run <target > body The body defines the processing tasks that must be executed to "build" the given target. Tasks? Compile a file Copy a file Combine several files into an archive Run a specific executable Tasks Ant is extendable The ant program reads target descriptions and runs the listed tasks. Some tasks are defined by code in ant itself Tasks defined as classes in the ant.jar file Things like echo print a progress (or warning) message javac compile a.java file exec run some named executable jar create a Java archive file Optional tasks There are many "optional tasks" Essentially, these are additional classes packaged in a.jar file If you want to use these optional tasks, you must download the appropriate.jar file (from apache.org) and install it somewhere that is accessible to the ant program /lib directory of ant installation ${user.home/.ant/lib

5 Optional tasks.net Tasks Compile C# code etc SourceOffSite Get source code for project files from some remotely hosted Microsoft Visual Source Safe system Telnet Run a script of shell commands after logging in to a remote timeshare system JUnit Run some JUnit unit tests XmlValidate Check XML documents against DTD specifications Your tasks You can even write your own Java classes that can be integrated with ant E.g. you have to use some academic's purist functional programming language in your project Define a Java class that invokes file manipulations and process-sublaunch steps to perform the various arcane steps needed to prepare and run a program in this language Subsequently have ant scripts that automate the rigmarole by invoking this task Common core tasks LoadProperties Sometimes better to keep all those name=value property definitions separate from the real build.xml file A <loadproperties ></loadproperties> task can pull in that file and define the properties Mkdir Makes a directory E.g. don't want compiled.class files in with source, instead wish to place them in some build directory Better make that directory Copy Copy specified file between directories Property Define a single property Javac Compile java file GUnzip/Gzip, Jar, Zip/Unzip, Tar/Untar Manipulate archive files Rmic Run rmi compiler (for older style Java RMI s) Sequential Group other tasks and run in order Parallel Has set of Sequential subtasks creates separate threads/processes to run these Examples No, no! The adventures first, said the Gryphon in an impatient tone: explanations take such a dreadful time Apache's "Hello world" with ant First example Apache ant's own "HelloWorld" The program: package oata; public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World"); In file in./src/oata/helloworld.java Without ant, simple compile and run: mkdir build; mkdir build/classes $ javac -sourcepath src -d build/classes src/oata/helloworld.java $ java -cp build/classes oata.helloworld Hello World

6 oata/helloworld What about an executable.jar file? Not really needed for a HelloWorld but if you did have a real with many classes it is more "polite" to package and distribute it as an executable.jar file. Need to provide "manifest" including name of class with public void main(string[]) Need to copy this into newly created.jar file along with the code. Place.jar file in build/jar subdirectory (conventional) 31.jar file part of example 1. $ cat > mymanifest <<% 2. > Main-Class: oata.helloworld 3. > % 4. $ cat mymanifest 5. Main-Class: oata.helloworld 6. $ mkdir build/jar 7. $ jar cfm build/jar/helloworld.jar mymanifest -C build/classes. 8. $ java -jar build/jar/helloworld.jar 9. Hello World 1..3 Create the mymanifest with the specified content (using Unix "here" document!) 4..5 Check it was done right! 6 Make the build/jar subdirectory 7 Create a new jar file, with data from the mymanifest file, and classes from build/classes 8..9 Run the from the.jar file version 32 Of course, it's all different on a different OS md build\classes javac -sourcepath src -d build\classes src\oata\helloworld.java java -cp build\classes oata.helloworld echo Main-Class: oata.helloworld>mymanifest md build\jar jar cfm build\jar\helloworld.jar mymanifest -C build\classes. java -jar build\jar\helloworld.jar 33 Ant first build file <project name='oata Hello World' > <target name="clean" description='tidy up' > <delete dir="build"/> <target name="compile" description='generate.class files'> <mkdir dir="build/classes"/> <javac srcdir="src" destdir="build/classes"/> <target name="jar" description='build distributable.jar'> <mkdir dir="build/jar"/> <jar destfile="build/jar/helloworld.jar" basedir="build/classes"> <manifest> <attribute name="main-class" value="oata.helloworld"/> </manifest> </jar> <target name="run" description='run program' > <java jar="build/jar/helloworld.jar" fork="true"/> </project> 34 Check that build.xml $ ant -projecthelp Buildfile: build.xml Main targets: clean Tidy up compile Generate.class files jar Build distributable.jar run Run program Compile <target name="compile" description='generate.class files'> <mkdir dir="build/classes"/> <javac srcdir="src" destdir="build/classes"/> Subtasks mkdir Create directory build/classes (does nothing if directory exists) Just the one attribute the directory name No nested elements javac Compile the code (implicitly all.java files in src, including packaged classes in subdirectories of src) Place.class files in "destdir" directory (creating package subdirectories as needed) javac has many possible attributes and can have nested elements (more examples later) You will (probably) need to define the environment variables JAVA_HOME (directory where JDK installed), and ANT_HOME (directory where ant installed), and you will have to modify your PATH to include the /bin directory of your ant installation. 35 Compile depends="clean"? Well that would mean recompile everything each time; you could but why would you. The javac compiler can check dates on.java and.class files and only recompile things that have been changed. 36 6

7 clean <target name="clean" description='tidy up' > <delete dir="build"/> Delete task Attributes file dir verbose, quiet failonerror If you want to selectively delete some of files in a directory, the delete task can contain nested "fileset" elements that identify the particular files; e.g. <delete> <fileset dir="." includes="**/*.bak"/> </delete> deletes all files with the extension.bak from the current directory and any subdirectories. 37 run <target name="run" description='run program' > <java jar="build/jar/helloworld.jar" fork="true"/> Java task Lots of attributes and nested elements, one important one used here is "fork" You can run an in the JVM that is currently running ant! This is often problematic as if something goes amiss in your program the ant build also collapses. Better to fork a new JVM (If starting client and server programs, you will need to fork separate JVMs) 38 A more refined build.xml The Apache example continues with refinements; The first refinement relates to use of symbolic property names for things like directories used to store classes Using properties makes it possible to change the directory used by making a single change to a property value rather than hunting down all references to the directory The second refinement is the specification of dependencies e.g. you can't really "run" the program until you have built the.jar file, this constraint really should be explicit in the build file build.xml <project name="helloworld" basedir="." default="main"> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <property name="classes.dir" value="${build.dir/classes"/> <property name="jar.dir" value="${build.dir/jar"/> <property name="main-class" value="oata.helloworld"/> <target name="clean"> <delete dir="${build.dir"/> build.xml <project name="helloworld" basedir="." default="main"> <target name="compile"> <mkdir dir="${classes.dir"/> <javac srcdir="${src.dir" destdir="${classes.dir"/> <target name="jar" depends="compile"> <mkdir dir="${jar.dir"/> <jar destfile="${jar.dir/${ant.project.name.jar" class basedir="${classes.dir"> <manifest> <attribute name="main-class" value="${main-class"/> </manifest> </jar> Translation: make a directory for.class files compile all.java in src directory Translation: make a directory for distribution files create the.jar file, add all.class files, from base directory and in.jar s manifest file identify the main 41 build.xml <project name="helloworld" basedir="." default="main"> Translation: <target name="run" depends="jar"> and run the program <java jar="${jar.dir/${ant.project.name.jar" fork="true"/> <target name="clean-build" depends="clean,jar"/> <target name="main" depends="clean,run"/> </project> You ve got to build the.jar file before you can run it; if you have the.jar file the fork a new JDK interpreter Ask for target main: ant has to do "clean" first, then try "run"; and to do "run" ant must do "jar" first, which means it must start with "compile". 42 7

8 run ant with no arguments build default target, i.e. "main" 1. $ ant 2. Buildfile: build.xml 3. clean: First, clean 4. [delete] Deleting directory /home/hsimpson/tmp/build 5. compile: Next, compile 6. [mkdir] Created dir: /home/hsimpson/tmp/build/classes 7. [javac] Compiling 1 source file to /home/hsimpson/tmp/build/classes 8. jar: Now build.jar file 9. [mkdir] Created dir: /home/hsimpson/tmp/build/jar 10. [jar] Building jar: /home/hsimpson/tmp/build/jar/helloworld.jar 11. run: 12. [java] Hello World And run Second example Arguments, classpaths, using libraries 13. main: 14. BUILD SUCCESSFUL 15. Total time: 6 seconds Output from forked JVM running ; lines get tagged with 43 [java] as they are part of a <java > task 44 Application and ant use Simple database access Little procedural program that opens connection to database, then lists contents of a small table. Some extra ant features Interactive input of property values (Not always wise, means that may not be able to run inside IDE because ant may not be able to access standard input ) Library (database driver) Must be added to classpath for run-time Building a distributable Must add a copy of the library (cannot simply have executable.jar file; need libraries as well; and a manifest entry specifying how libraries to be added to classpath) Database table create table teams ( Team1 varchar(32), Team2 varchar(32), Score1 number, Score2 number ); insert into teams values ( norths, souths, 1, 2); Works OK in NetBeans import java.sql.*; public class DB1 { DB1 private static final String dbdrivername = "oracle.jdbc.driver.oracledriver"; public static void main(string[] args) { 47 DB1 public static void main(string[] args) { if(args.length!=3) { System.out.println("Need db url, user, and password arguments"); System.exit(1); String dburl = args[0]; String user = args[1]; String pwd = args[2]; Connection dbconnection = null; try { Class.forName(dbDriverName); dbconnection = DriverManager.getConnection( dburl, user, pwd); catch(exception e) { System.out.println("Failed to get a database connection"); System.out.println(e); System.exit(1); Pick up command line arguments with connection information, then load database driver and establish connection 48 8

9 DB1 public static void main(string[] args) { try { Statement stmt = dbconnection.createstatement(); ResultSet rs = stmt.executequery("select * from teams"); System.out.println("Team1\tTeam2\tScore1\tScore2\t"); while(rs.next()) { System.out.println( rs.getstring("team1") + "\t" + rs.getstring("team2") + "\t" + rs.getstring("score1") + "\t" + rs.getstring("score2")); catch(sqlexception sqle) { finally { try { dbconnection.close(); catch(exception ignoreit) { System.out.println("Listing of data table complete"); System.out.println("Program terminating normally"); 49 $ ant -projecthelp Buildfile: build.xml Main targets: build.xml clean Tidy up compile Compile code dist Build a distribution directory with library inputprops Interactive prompt for username etc main Prepare and run run Run Default target: main 50 Build.xml <project name="dbdemo" default="main" basedir="." > <property name="dburl value="jdbc:oracle:thin:@wraith:1521:csci" /> <property name="driver" value="ojdbc14.jar" /> <property name="dbinstalldir" value="/usr/local/instantclient_10_2/" /> <property name="dbdriverjar" value="${dbinstalldir${driver" /> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <property name="dist.dir" value ="dist" /> <property name="lib.dir" value="${dist.dir/lib" /> <property name="classes.dir value="${build.dir/classes"/> <property name="main-class" value="db1"/> Translation: Properties (environment variables) defining things like the URL for the database, the location and file name for the db-driver, and names for directories associated with project 51 Properties Can build up properties Here need to specify driver.jar file And its location Values could change independently <property name="driver" value="ojdbc14.jar" /> <property name="dbinstalldir" value="/usr/local/instantclient_10_2/" /> <property name="dbdriverjar" value="${dbinstalldir${driver" /> 52 Build.xml <target name="clean" description="tidy up" > <delete dir="${build.dir"/> <delete dir="${dist.dir" /> <target name="compile" description="compile code" > <mkdir dir="${classes.dir"/> <javac srcdir="${src.dir" destdir="${classes.dir"/> <target name="main" depends="clean,run" description="prepare and run" /> Translation: should be obvious! Build.xml <target name="run" depends="compile, inputprops" description="run "> <echo message="starting, will connect to ${dburl" /> <echo message="for user ${dbuser" /> <java classname="${main-class" fork="true"> <arg value="${dburl" /> Translation: <arg value="${dbuser" /> <arg value="${dbpwd" /> <classpath> <pathelement location="${classes.dir" /> <pathelement location="${dbdriverjar" /> </classpath> </java> <echo message="run completing" /> defining command line arguments for newly forked process and setting the classpath so JRE can find the classes that must be loaded

10 run Here running the specified main class from the class files in the build directory But also need the database driver in the classpath So have an explicit <classpath> subelement that lists the various directories that should be searched for class loading <java classname="${main-class" fork="true"> <classpath> <pathelement location="${classes.dir" /> <pathelement location="${dbdriverjar" /> </classpath> </java> arguments Command line arguments that are to be passed to the appear in <arg> subelements <java classname="${main-class" fork="true"> <arg value="${dburl" /> <arg value="${dbuser" /> <arg value="${dbpwd" /> <classpath> </classpath> </java> 55 Later will see example where pass arguments to JVM 56 Arguments (Logically, should have had 4 arguments Class used for database driver URL of database User name Password here, class is actually defined by String in program). URL defined as property in build.xml Not too desirable to have user-name and database password left around in build.xml file! So, ask for them when needed Arguments <project name="dbdemo" default="main" basedir="." > <property name="dburl" value="jdbc:oracle:thin:@wraith:1521:csci" /> <target name="inputprops" description= "Interactive prompt for username etc" > <input message="user name : " addproperty="dbuser defaultvalue="hsimpson" /> <input message="password : " addproperty="dbpwd" /> <input> task Attributes include Prompt for user Name of property to be added (you cannot change a property set by a <property> tab) Optional default If the input is essentially an enumerated type with only certain permitted values, it is possible to add a check for these. No <input> It is possible to supply property values on the command line when starting ant ant Duser=homer Dpassword=donut main However, unless the script is something that you use very often, the prompting via the <input> task is helpful

11 $ ant main Buildfile: build.xml clean: [delete] Deleting directory /home/hsimpsons/ex1/build [delete] Deleting directory /home/hsimpsons/ex1/dist compile: [mkdir] Created dir: /home/hsimpsons/ex1/build/classes [javac] Compiling 1 source file to /home/hsimpsons/ex1/build/classes inputprops: [input] User name : homer [input] Password : doh run: [echo] Starting, will connect to jdbc:oracle:thin:@wraith:1521:csci [echo] for user homer [java] Team1 Team2 Score1 Score2 [java] norths souths 2 0 [java] Easts Wests 3 2 [java] City Country 2 2 [java] River Forest 0 0 [java] Listing of data table complete [java] Program terminating normally [echo] Run completing main: BUILD SUCCESSFUL Total time: 9 seconds 61 Distributable version Need something more elaborate Distribution directory.jar file with classes defined for this lib subdirectory Copies of.jar files for all libraries.jar file needs manifest containing Name of main class Classpath specification Run by cd dist; java jar DBDemo.jar 62 build.xml <target name="dist" depends="compile description="build a distribution directory with library" > <mkdir dir="${dist.dir" /> <mkdir dir="${lib.dir" /> <copy file="${dbdriverjar" todir="${lib.dir" /> <jar destfile="${dist.dir/${ant.project.name.jar" basedir="${classes.dir"> <manifest> <attribute name="main-class" value="${main-class"/> <attribute name="class-path" value="lib/${driver" /> </manifest> </jar> 63 And run $ cd dist $ java -jar DBDemo.jar \ jdbc:oracle:thin:@wraith:1521:csci homer doh Team1 Team2 Score1 Score2 norths souths 2 0 Easts Wests 3 2 City Country 2 2 River Forest 0 0 Listing of data table complete Program terminating normally 64 Here entering run command at prompt, so can simply enter the command line argument with dburl, name, pwd RMI example Third example Parallel sequential tasks This example illustrates test deployment of an RMI client server using Java 1.4 conventions. Java 1.5 simplifies things a little by eliminating the need for specially generated client stubs (using java.lang.reflect instead on both client and server) and also eliminating the need for a HTTP based class file server!

12 Java RMI (1.4) Java RMI Client computer Server host computer Client computer Server host computer Client Server rmiregistry Server object registers Server object Client Naming.lookup() Server rmiregistry Server object registers Server object Java RMI Java RMI Client computer Server host computer Client computer Server host computer Client http class load requests Server Web Server rmiregistry Server object registers Server object Client stub Invoke operation Server Web Server rmiregistry Server object Collection of stub classes Actual Server process hosting principal server object a "factory" Clients lookup this factory via rmiregistry and connect, using "factory" object to create a private "session" object Clients use "session" object; after client disconnects, Java rmi distributed garbage collection system will reclaim discarded session CalculatorFactory (factory object) Makes Calculator objects Calculator (session object) Simple 4-function integer calculator Client1-host Client Client2-host Client Server-host rmiregistry - the factory is here Server process CalculatorFactory Calculator1 Calculator2 71 network 72 12

13 Starting processes One part of this example illustrates how you could set those processes running rmiregistry process classfileserver process You didn t have to run a full HTTP server like Apache For test purposes, there was a little HTTP server supplied by Sun very limited functionality! Server process Client process Distribution directories Another aspect of RMI deployment (1.4 style) was to have separate directories of.class files clientdir : collection of files that had to be copied to client machine (main client program etc) serverdir: collection of files used by server deploydir: collection of files made available for download from the HTTP server (client stub, things like defined exceptions) rmic You also had to generate the client stub code rmic took the definition of the actual implementation class for the server (not the interface) and generated the stub from this The rmic compilation step had to be fitted into the compile chain at the appropriate point Getting a bit complex So, a more complex build.xml Lots of properties defining subdirectories etc (actually, it just assumes that the classfileserver is located in a related directory, doesn t properly specify its location) Elaborate compile sequence with javac compile steps followed by rmic steps Parallel/Sequential task for starting the processes in the appropriate order (with time delays as needed so they are ready before you request actions!) And some simplifications; apart from classfileserver setup being simplified, all the classes were defined in the default package! RMI programs require security policy files, the same simplified one was used here for both client and server $ ant -projecthelp Buildfile: build.xml Main targets: Build.xml build Compile and stub generate clean Tidy up deploy Place.class files in directories run Start rmiregistry, class file server, server, then client Default target: build build.xml <project name="rmi-conventional" default="build" basedir="."> <!-- APORT and BPORT - non-standard ports used for a test rmiregistry and class file server --> <property name="aport" value="13456" /> <property name="bport" value="14567" />

14 build.xml <project name="rmi-conventional" default="build" basedir="."> <!-- directories, note assumption about availability of standard ClassFileServer in related directory --> <property name="build" location="./build" /> <property name="src" location="." /> <property name="clientdir" location="./clientdir" /> <property name="serverdir" location="./serverdir" /> <property name="deploydir" location="./deploydir" /> <property name="classfileserver location="../../classfileserver" /> All the source files were in the same directory as the build.xml build.xml <project name="rmi-conventional" default="build" basedir="."> <target name="clean" description="tidy up" > <delete dir="${build"/> <delete dir="${clientdir"/> <delete dir="${serverdir"/> <delete dir="${deploydir"/> <target name="init" > <mkdir dir="${build" /> The.class files are generated in the./build subdirectory, then appropriate subsets are copied to other directories build.xml <target name="build" depends="init description="compile and stub generate" > <javac srcdir="${src" destdir="${build"> <include name="**"/> </javac> <rmic base="${build" classname="calculatorimpl" /> <rmic base="${build classname="calculatorfactoryimpl" /> Compile code, then use rmic to generate clientstub classes for the two server implementation classes used in the example 81 build.xml : deploy <target name="deploy" depends="build description="place.class files in directories" > <echo message= "Creating deployment directories and copying files" /> <mkdir dir="${clientdir"/> <mkdir dir="${serverdir"/> <mkdir dir="${deploydir"/> <!-- Client --> <copy file="${build/calculatorclient.class" todir="${clientdir" /> <copy file="${build/calculator.class todir="${clientdir" /> <copy file="${build/calculatorfactory.class todir="${clientdir" /> <copy file="policyfile" todir="${clientdir" /> Copy files to separate directories 82 build.xml : deploy <target name="deploy" depends="build description="place.class files in directories" > <!-- Deploy --> <copy file="${build/calculator.class todir="${deploydir" /> <!-- Server --> <copy file="${build/calculator.class todir="${serverdir" /> Run task The build.xml has a run task that starts separate processes for class-file-server, rmiregistry, server, and client. All run on the local machine. The rmiregistry is started first and given time to open its port and initialize The class file server is then started it has to be given a reference

15 Run task parallel activities <target name="run" depends="deploy description="start rmiregistry, class file server, server, then client" > <parallel> <sequential> <echo message="hopefully start rmiregistry" /> </sequential> <sequential> <echo message="hopefully start classfileserver" /> </sequential> <sequential> <sleep seconds="15" /> <echo message="should start server and let it register" /> </sequential> <sequential> <sleep seconds="20" /> <echo message="should start client and let it contact server" /> </sequential> </parallel> 85 Rmiregistry task <parallel> <sequential> <echo message="hopefully start rmiregistry" /> <exec executable="rmiregistry" > <arg value="${aport" /> </exec> </sequential> Task: print message, then launch rmiregistry (has to be on your PATH, it should be as in same directory as java and javac); argument is port that registry is to use (don t run at default port that is for production programs not tests). 86 Class file server task <parallel> <sequential> <echo message="hopefully start classfileserver" /> <java fork="true" failonerror="true classname="classfileserver" > <arg line="${bport ${deploydir/" /> <classpath> <pathelement location="${classfileserver"/> </classpath> </java> </sequential> Start the class file server (pathelement identifies directory with its.class files); class file server accepts HTTP requests at port ${BPORT; class file server has to be given directory where downloadable client stub.class files are held (deploydir). 87 Server task Server Wait a little to let rmiregistry and class file server to start up Execute server code with java in new JVM Jvmarg argument for JVM URL of class file server Security policy file Classpath Location of directory with the server files 88 Server task Client task <parallel> <sequential> <sleep seconds="15" /> <echo message="should start server and let it register" /> <java fork="true" failonerror="true classname="server"> <arg line="localhost ${APORT" /> <jvmarg value= "Djava.rmi.server.codebase= /> <jvmarg value="-djava.security.policy=policyfile" /> <classpath> <pathelement location="${serverdir"/> </classpath> </java> </sequential> 89 <parallel> <sequential> <sleep seconds="20" /> <echo message="should start client and let it contact server" /> <java fork="true" failonerror="true" classname="calculatorclient"> <arg line="localhost ${APORT" /> <jvmarg value="-djava.security.policy=policyfile" /> <classpath> <pathelement location="${clientdir"/> </classpath> </java> </sequential> </parallel> 90 15

16 Input to programs launched from ant Can have input to Java program launched in ant: Mix of input and output from program and ant is a bit confusing; the output all gets tagged with [java] task identifier (which will usually disrupt intended layout); (also when prompting for input you need to use println() if you just print() then the prompt for your input doesn t appear, the program simply waits) 91 Input If the can take input from a file, you can add an input attribute to the <java..> task that identifies the file. Otherwise make your use a GUI to get its input and display its ouput! Or use ant to build.jar and then run at command prompt level 92 16

Automation of Flex Building and Unit Testing or Continuous Integration with Flex, FlexUnit, and Ant

Automation of Flex Building and Unit Testing or Continuous Integration with Flex, FlexUnit, and Ant Automation of Flex Building and Unit Testing or Continuous Integration with Flex, FlexUnit, and Ant Daniel Rinehart Software Architect Allurent, Inc. Current Build Process Is your build process like a

More information

Builder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations

Builder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations Visual Rules Suite - Builder Builder User Guide Version 6.0.1 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312

More information

Software Development. COMP220/COMP285 Seb Coope Introducing Ant

Software Development. COMP220/COMP285 Seb Coope Introducing Ant Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on Java Development with Ant - E. Hatcher & S.Loughran. Manning Publications, 2003 Introducing Ant Ant is Java

More information

Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations

Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations Visual Rules Suite - Builder Builder User Guide Version 5.4 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312

More information

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1. Avaya Solution & Interoperability Test Lab Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.0 Abstract

More information

CSE 70: Software Development Pipeline Build Process, XML, Repositories

CSE 70: Software Development Pipeline Build Process, XML, Repositories CSE 70: Software Development Pipeline Build Process, XML, Repositories Ingolf Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California

More information

Build Management. Context. Learning Objectives

Build Management. Context. Learning Objectives Build Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design

More information

Java Language Tools COPYRIGHTED MATERIAL. Part 1. In this part...

Java Language Tools COPYRIGHTED MATERIAL. Part 1. In this part... Part 1 Java Language Tools This beginning, ground-level part presents reference information for setting up the Java development environment and for compiling and running Java programs. This includes downloading

More information

Redbooks Paper. Deploying Applications Using IBM Rational ClearCase and IBM Tivoli Provisioning Manager. Introduction

Redbooks Paper. Deploying Applications Using IBM Rational ClearCase and IBM Tivoli Provisioning Manager. Introduction Redbooks Paper Edson Manoel Kartik Kanakasabesan Deploying Applications Using IBM Rational ClearCase and IBM Tivoli Provisioning Manager Introduction This IBM Redpaper presents a simplified customer environment

More information

A Sample OFBiz application implementing remote access via RMI and SOAP Table of contents

A Sample OFBiz application implementing remote access via RMI and SOAP Table of contents A Sample OFBiz application implementing remote access via RMI and SOAP Table of contents 1 About this document... 2 2 Introduction... 2 3 Defining the data model... 2 4 Populating the database tables with

More information

Jenkins on Windows with StreamBase

Jenkins on Windows with StreamBase Jenkins on Windows with StreamBase Using a Continuous Integration (CI) process and server to perform frequent application building, packaging, and automated testing is such a good idea that it s now a

More information

XMLVend Protocol Message Validation Suite

XMLVend Protocol Message Validation Suite XMLVend Protocol Message Validation Suite 25-01-2012 Table of Contents 1. Overview 2 2. Installation and Operational Requirements 2 3. Preparing the system 3 4. Intercepting Messages 4 5. Generating Reports

More information

Java Software Development Kit (JDK 5.0 Update 14) Installation Step by Step Instructions

Java Software Development Kit (JDK 5.0 Update 14) Installation Step by Step Instructions Java Software Development Kit (JDK 5.0 Update 14) Installation Step by Step Instructions 1. Click the download link Download the Java Software Development Kit (JDK 5.0 Update 14) from Sun Microsystems

More information

SDK Code Examples Version 2.4.2

SDK Code Examples Version 2.4.2 Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated

More information

Applets, RMI, JDBC Exam Review

Applets, RMI, JDBC Exam Review Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java

More information

Force.com Migration Tool Guide

Force.com Migration Tool Guide Force.com Migration Tool Guide Version 35.0, Winter 16 @salesforcedocs Last updated: October 29, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Using Actian PSQL as a Data Store with VMware vfabric SQLFire. Actian PSQL White Paper May 2013

Using Actian PSQL as a Data Store with VMware vfabric SQLFire. Actian PSQL White Paper May 2013 Using Actian PSQL as a Data Store with VMware vfabric SQLFire Actian PSQL White Paper May 2013 Contents Introduction... 3 Prerequisites and Assumptions... 4 Disclaimer... 5 Demonstration Steps... 5 1.

More information

Third-Party Software Support. Converting from SAS Table Server to a SQL Server Database

Third-Party Software Support. Converting from SAS Table Server to a SQL Server Database Third-Party Software Support Converting from SAS Table Server to a SQL Server Database Table of Contents Prerequisite Steps... 1 Database Migration Instructions for the WebSphere Application Server...

More information

EJB 3.0 and IIOP.NET. Table of contents. Stefan Jäger / stefanjaeger@bluewin.ch 2007-10-10

EJB 3.0 and IIOP.NET. Table of contents. Stefan Jäger / stefanjaeger@bluewin.ch 2007-10-10 Stefan Jäger / stefanjaeger@bluewin.ch EJB 3.0 and IIOP.NET 2007-10-10 Table of contents 1. Introduction... 2 2. Building the EJB Sessionbean... 3 3. External Standard Java Client... 4 4. Java Client with

More information

Magento Search Extension TECHNICAL DOCUMENTATION

Magento Search Extension TECHNICAL DOCUMENTATION CHAPTER 1... 3 1. INSTALLING PREREQUISITES AND THE MODULE (APACHE SOLR)... 3 1.1 Installation of the search server... 3 1.2 Configure the search server for usage with the search module... 7 Deploy the

More information

Tutorial 5: Developing Java applications

Tutorial 5: Developing Java applications Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios gousiosg@aueb.gr Department of Management Science and Technology Athens University of Economics and

More information

IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started

IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started Version 2.0 Original-Application Note ads-tec GmbH IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started Stand: 28.10.2014 ads-tec GmbH 2014 IRF2000 IWL3000 SRC1000

More information

Elixir Schedule Designer User Manual

Elixir Schedule Designer User Manual Elixir Schedule Designer User Manual Release 7.3 Elixir Technology Pte Ltd Elixir Schedule Designer User Manual: Release 7.3 Elixir Technology Pte Ltd Published 2008 Copyright 2008 Elixir Technology Pte

More information

PDQ-Wizard Prototype 1.0 Installation Guide

PDQ-Wizard Prototype 1.0 Installation Guide PDQ-Wizard Prototype 1.0 Installation Guide University of Edinburgh 2005 GTI and edikt 1. Introduction This document is for users who want set up the PDQ-Wizard system. It includes how to configure the

More information

Supplement IV.C: Tutorial for Oracle. For Introduction to Java Programming By Y. Daniel Liang

Supplement IV.C: Tutorial for Oracle. For Introduction to Java Programming By Y. Daniel Liang Supplement IV.C: Tutorial for Oracle For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Connecting and Using Oracle Creating User Accounts Accessing Oracle

More information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2013 Handout Scanner-Parser Project Thursday, Feb 7 DUE: Wednesday, Feb 20, 9:00 pm This project

More information

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc. WA2088 WebSphere Application Server 8.5 Administration on Windows Student Labs Web Age Solutions Inc. Copyright 2013 Web Age Solutions Inc. 1 Table of Contents Directory Paths Used in Labs...3 Lab Notes...4

More information

Java Web Services Developer Pack. Copyright 2003 David A. Wilson. All rights reserved.

Java Web Services Developer Pack. Copyright 2003 David A. Wilson. All rights reserved. Java Web Services Developer Pack Copyright 2003 David A. Wilson. All rights reserved. Objectives Configure to use JWSDP Find the right sample program Many in JWSDP More in the Web Services Tutorial Find

More information

ServletExec TM 6.0 Installation Guide. for Microsoft Internet Information Server SunONE Web Server Sun Java System Web Server and Apache HTTP Server

ServletExec TM 6.0 Installation Guide. for Microsoft Internet Information Server SunONE Web Server Sun Java System Web Server and Apache HTTP Server ServletExec TM 6.0 Installation Guide for Microsoft Internet Information Server SunONE Web Server Sun Java System Web Server and Apache HTTP Server ServletExec TM NEW ATLANTA COMMUNICATIONS, LLC 6.0 Installation

More information

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc. Objectives At the end of this chapter, participants should be able to: Understand basic WebLogic Server architecture Understand the

More information

PowerTier Web Development Tools 4

PowerTier Web Development Tools 4 4 PowerTier Web Development Tools 4 This chapter describes the process of developing J2EE applications with Web components, and introduces the PowerTier tools you use at each stage of the development process.

More information

Installing Java. Table of contents

Installing Java. Table of contents Table of contents 1 Jargon...3 2 Introduction...4 3 How to install the JDK...4 3.1 Microsoft Windows 95... 4 3.1.1 Installing the JDK... 4 3.1.2 Setting the Path Variable...5 3.2 Microsoft Windows 98...

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights

More information

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Developing Web Services with Eclipse and Open Source Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Introduction! Many companies investigating the use of web services! Cost

More information

Server Setup and Configuration

Server Setup and Configuration Server Setup and Configuration 1 Agenda Configuring the server Configuring your development environment Testing the setup Basic server HTML/JSP Servlets 2 1 Server Setup and Configuration 1. Download and

More information

How To Run A Hello World On Android 4.3.3 (Jdk) On A Microsoft Ds.Io (Windows) Or Android 2.7.3 Or Android 3.5.3 On A Pc Or Android 4 (

How To Run A Hello World On Android 4.3.3 (Jdk) On A Microsoft Ds.Io (Windows) Or Android 2.7.3 Or Android 3.5.3 On A Pc Or Android 4 ( Developing Android applications in Windows Below you will find information about the components needed for developing Android applications and other (optional) software needed to connect to the institution

More information

Upgrading Your Web Server from ClientBase Browser Version 2.0 or Above to Version 2.1.1

Upgrading Your Web Server from ClientBase Browser Version 2.0 or Above to Version 2.1.1 Upgrading Your Web Server from ClientBase Browser Version 2.0 or Above to Version 2.1.1 Introduction Successful ClientBase Browser usage depends on proper hardware, setup and installation. This section

More information

Glassfish, JAVA EE, Servlets, JSP, EJB

Glassfish, JAVA EE, Servlets, JSP, EJB Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,

More information

Oracle WebLogic Server

Oracle WebLogic Server Oracle WebLogic Server Creating WebLogic Domains Using the Configuration Wizard 10g Release 3 (10.3) November 2008 Oracle WebLogic Server Oracle Workshop for WebLogic Oracle WebLogic Portal Oracle WebLogic

More information

Table of Contents. Java CGI HOWTO

Table of Contents. Java CGI HOWTO Table of Contents Java CGI HOWTO...1 by David H. Silber javacgi document@orbits.com...1 1.Introduction...1 2.Setting Up Your Server to Run Java CGI Programs (With Explanations)...1 3.Setting Up Your Server

More information

JDBC. It is connected by the Native Module of dependent form of h/w like.dll or.so. ex) OCI driver for local connection to Oracle

JDBC. It is connected by the Native Module of dependent form of h/w like.dll or.so. ex) OCI driver for local connection to Oracle JDBC 4 types of JDBC drivers Type 1 : JDBC-ODBC bridge It is used for local connection. ex) 32bit ODBC in windows Type 2 : Native API connection driver It is connected by the Native Module of dependent

More information

Java with Eclipse: Setup & Getting Started

Java with Eclipse: Setup & Getting Started Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/

More information

How to use the Eclipse IDE for Java Application Development

How to use the Eclipse IDE for Java Application Development How to use the Eclipse IDE for Java Application Development Java application development is supported by many different tools. One of the most powerful and helpful tool is the free Eclipse IDE (IDE = Integrated

More information

Configuring the LCDS Load Test Tool

Configuring the LCDS Load Test Tool Configuring the LCDS Load Test Tool for Flash Builder 4 David Collie Draft Version TODO Clean up Appendices and also Where to Go From Here section Page 1 Contents Configuring the LCDS Load Test Tool for

More information

Oracle EXAM - 1Z0-102. Oracle Weblogic Server 11g: System Administration I. Buy Full Product. http://www.examskey.com/1z0-102.html

Oracle EXAM - 1Z0-102. Oracle Weblogic Server 11g: System Administration I. Buy Full Product. http://www.examskey.com/1z0-102.html Oracle EXAM - 1Z0-102 Oracle Weblogic Server 11g: System Administration I Buy Full Product http://www.examskey.com/1z0-102.html Examskey Oracle 1Z0-102 exam demo product is here for you to test the quality

More information

Java Client Side Application Basics: Decompiling, Recompiling and Signing

Java Client Side Application Basics: Decompiling, Recompiling and Signing Java Client Side Application Basics: Decompiling, Recompiling and Signing Written By: Brad Antoniewicz Brad.Antoniewicz@foundstone.com Introduction... 3 Java Web Start and JNLP... 3 Java Archives and META-INF...

More information

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies: Oracle Workshop for WebLogic 10g R3 Hands on Labs Workshop for WebLogic extends Eclipse and Web Tools Platform for development of Web Services, Java, JavaEE, Object Relational Mapping, Spring, Beehive,

More information

24x7 Scheduler Multi-platform Edition 5.2

24x7 Scheduler Multi-platform Edition 5.2 24x7 Scheduler Multi-platform Edition 5.2 Installing and Using 24x7 Web-Based Management Console with Apache Tomcat web server Copyright SoftTree Technologies, Inc. 2004-2014 All rights reserved Table

More information

SETTING UP YOUR JAVA DEVELOPER ENVIRONMENT

SETTING UP YOUR JAVA DEVELOPER ENVIRONMENT SETTING UP YOUR JAVA DEVELOPER ENVIRONMENT Summary This tipsheet describes how to set up your local developer environment for integrating with Salesforce. This tipsheet describes how to set up your local

More information

Web Application Architecture (based J2EE 1.4 Tutorial)

Web Application Architecture (based J2EE 1.4 Tutorial) Web Application Architecture (based J2EE 1.4 Tutorial) 1 Disclaimer & Acknowledgments Even though Sang Shin is a full-time employee of Sun Microsystems, the contents here are created as his own personal

More information

Tutorial: setting up a web application

Tutorial: setting up a web application Elective in Software and Services (Complementi di software e servizi per la società dell'informazione) Section Information Visualization Number of credits : 3 Tutor: Marco Angelini e- mail: angelini@dis.uniroma1.it

More information

An Overview of Servlet & JSP Technology

An Overview of Servlet & JSP Technology 2007 Marty Hall An Overview of Servlet & JSP Technology 2 Customized J2EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF, EJB3, Ajax, Java 5, Java 6, etc. Ruby/Rails coming soon.

More information

Java CPD (I) Frans Coenen Department of Computer Science

Java CPD (I) Frans Coenen Department of Computer Science Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials

More information

Tutorial: Getting Started

Tutorial: Getting Started 9 Tutorial: Getting Started INFRASTRUCTURE A MAKEFILE PLAIN HELLO WORLD APERIODIC HELLO WORLD PERIODIC HELLO WORLD WATCH THOSE REAL-TIME PRIORITIES THEY ARE SERIOUS SUMMARY Getting started with a new platform

More information

Supplement IV.E: Tutorial for Tomcat. For Introduction to Java Programming By Y. Daniel Liang

Supplement IV.E: Tutorial for Tomcat. For Introduction to Java Programming By Y. Daniel Liang Supplement IV.E: Tutorial for Tomcat For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Obtaining and Installing Tomcat Starting and Stopping Tomcat Choosing

More information

WA1826 Designing Cloud Computing Solutions. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1

WA1826 Designing Cloud Computing Solutions. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 WA1826 Designing Cloud Computing Solutions Classroom Setup Guide Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 Table of Contents Part 1 - Minimum Hardware Requirements...3 Part 2 - Minimum

More information

How to Install Java onto your system

How to Install Java onto your system How to Install Java onto your system 1. In your browser enter the URL: Java SE 2. Choose: Java SE Downloads Java Platform (JDK) 7 jdk-7- windows-i586.exe. 3. Accept the License Agreement and choose the

More information

Oracle Fusion Middleware. 1 Oracle Team Productivity Center Server System Requirements. 2 Installing the Oracle Team Productivity Center Server

Oracle Fusion Middleware. 1 Oracle Team Productivity Center Server System Requirements. 2 Installing the Oracle Team Productivity Center Server Oracle Fusion Middleware Installation Guide for Oracle Team Productivity Center Server 11g Release 2 (11.1.2.1.0) E17075-02 September 2011 This document provides information on: Section 1, "Oracle Team

More information

Application Servers - BEA WebLogic. Installing the Application Server

Application Servers - BEA WebLogic. Installing the Application Server Proven Practice Application Servers - BEA WebLogic. Installing the Application Server Product(s): IBM Cognos 8.4, BEA WebLogic Server Area of Interest: Infrastructure DOC ID: AS01 Version 8.4.0.0 Application

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

Developing In Eclipse, with ADT

Developing In Eclipse, with ADT Developing In Eclipse, with ADT Android Developers file://v:\android-sdk-windows\docs\guide\developing\eclipse-adt.html Page 1 of 12 Developing In Eclipse, with ADT The Android Development Tools (ADT)

More information

Integrating VoltDB with Hadoop

Integrating VoltDB with Hadoop The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.

More information

Android Environment SDK

Android Environment SDK Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android

More information

NASA Workflow Tool. User Guide. September 29, 2010

NASA Workflow Tool. User Guide. September 29, 2010 NASA Workflow Tool User Guide September 29, 2010 NASA Workflow Tool User Guide 1. Overview 2. Getting Started Preparing the Environment 3. Using the NED Client Common Terminology Workflow Configuration

More information

IUCLID 5 Guidance and support. Installation Guide Distributed Version. Linux - Apache Tomcat - PostgreSQL

IUCLID 5 Guidance and support. Installation Guide Distributed Version. Linux - Apache Tomcat - PostgreSQL IUCLID 5 Guidance and support Installation Guide Distributed Version Linux - Apache Tomcat - PostgreSQL June 2009 Legal Notice Neither the European Chemicals Agency nor any person acting on behalf of the

More information

Install guide for Websphere 7.0

Install guide for Websphere 7.0 DOCUMENTATION Install guide for Websphere 7.0 Jahia EE v6.6.1.0 Jahia s next-generation, open source CMS stems from a widely acknowledged vision of enterprise application convergence web, document, search,

More information

Witango Application Server 6. Installation Guide for OS X

Witango Application Server 6. Installation Guide for OS X Witango Application Server 6 Installation Guide for OS X January 2011 Tronics Software LLC 503 Mountain Ave. Gillette, NJ 07933 USA Telephone: (570) 647 4370 Email: support@witango.com Web: www.witango.com

More information

s@lm@n Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ]

s@lm@n Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ] s@lm@n Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ] Oracle 1z0-102 : Practice Test Question No : 1 Which two statements are true about java

More information

Creating a Java application using Perfect Developer and the Java Develo...

Creating a Java application using Perfect Developer and the Java Develo... 1 of 10 15/02/2010 17:41 Creating a Java application using Perfect Developer and the Java Development Kit Introduction Perfect Developer has the facility to execute pre- and post-build steps whenever the

More information

IBM VisualAge for Java,Version3.5. Remote Access to Tool API

IBM VisualAge for Java,Version3.5. Remote Access to Tool API IBM VisualAge for Java,Version3.5 Remote Access to Tool API Note! Before using this information and the product it supports, be sure to read the general information under Notices. Edition notice This edition

More information

RecoveryVault Express Client User Manual

RecoveryVault Express Client User Manual For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by

More information

Code Estimation Tools Directions for a Services Engagement

Code Estimation Tools Directions for a Services Engagement Code Estimation Tools Directions for a Services Engagement Summary Black Duck software provides two tools to calculate size, number, and category of files in a code base. This information is necessary

More information

Getting Started with the Internet Communications Engine

Getting Started with the Internet Communications Engine Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2

More information

Oracle WebLogic Server

Oracle WebLogic Server Oracle WebLogic Server Creating Templates and Domains Using the pack and unpack Commands 10g Release 3 (10.3) November 2008 Oracle WebLogic Server Oracle Workshop for WebLogic Oracle WebLogic Portal Oracle

More information

HttpUnit Laboratorio di Sistemi Software - A.A. 2003/2004

HttpUnit Laboratorio di Sistemi Software - A.A. 2003/2004 HttpUnit Laboratorio di Sistemi Software - A.A. 2003/2004 Introduction HttpUnit, available from http://www.httpunit.org, is an open source Java library for programmatically interacting with HTTP servers.

More information

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira Ingolf Krueger Department of Computer Science & Engineering University

More information

Online Backup Linux Client User Manual

Online Backup Linux Client User Manual Online Backup Linux Client User Manual Software version 4.0.x For Linux distributions August 2011 Version 1.0 Disclaimer This document is compiled with the greatest possible care. However, errors might

More information

Online Backup Client User Manual

Online Backup Client User Manual For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by

More information

Java Web Services SDK

Java Web Services SDK Java Web Services SDK Version 1.5.1 September 2005 This manual and accompanying electronic media are proprietary products of Optimal Payments Inc. They are to be used only by licensed users of the product.

More information

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style Introducing Hudson Click to edit Master subtitle style Winston Prakash What is Hudson? Hudson is an open source continuous integration (CI) server. A CI server can do various tasks

More information

Oracle Service Bus Examples and Tutorials

Oracle Service Bus Examples and Tutorials March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan

More information

CSCI110 Exercise 4: Database - MySQL

CSCI110 Exercise 4: Database - MySQL CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but

More information

CLC Server Command Line Tools USER MANUAL

CLC Server Command Line Tools USER MANUAL CLC Server Command Line Tools USER MANUAL Manual for CLC Server Command Line Tools 2.5 Windows, Mac OS X and Linux September 4, 2015 This software is for research purposes only. QIAGEN Aarhus A/S Silkeborgvej

More information

VOC Documentation. Release 0.1. Russell Keith-Magee

VOC Documentation. Release 0.1. Russell Keith-Magee VOC Documentation Release 0.1 Russell Keith-Magee February 07, 2016 Contents 1 About VOC 3 1.1 The VOC Developer and User community................................ 3 1.2 Frequently Asked Questions.......................................

More information

SAS Marketing Optimization. Windows Installation Instructions for Hot Fix 51mo14

SAS Marketing Optimization. Windows Installation Instructions for Hot Fix 51mo14 SAS Marketing Optimization Windows Installation Instructions for Hot Fix 51mo14 Introduction This document describes the steps necessary to install and deploy the SAS Marketing Optimization 5.1 hot fix

More information

HAHTsite IDE and IP Installation Guide

HAHTsite IDE and IP Installation Guide HAHTsite IDE and IP Installation Guide IDE and IP Installation Guide release 4.0 Notice Copyright 1999 HAHT Software, Inc. All Rights Reserved May 1999 MN01-C-00-400-00 No part of this publication may

More information

Working With Derby. Version 10.2 Derby Document build: December 11, 2006, 7:06:09 AM (PST)

Working With Derby. Version 10.2 Derby Document build: December 11, 2006, 7:06:09 AM (PST) Working With Derby Version 10.2 Derby Document build: December 11, 2006, 7:06:09 AM (PST) Contents Copyright...3 Introduction and prerequisites...4 Activity overview... 5 Activity 1: Run SQL using the

More information

NGASI AppServer Manager SaaS/ASP Hosting Automation for Cloud Computing Administrator and User Guide

NGASI AppServer Manager SaaS/ASP Hosting Automation for Cloud Computing Administrator and User Guide NGASI AppServer Manager SaaS/ASP Hosting Automation for Cloud Computing Administrator and User Guide NGASI SaaS Hosting Automation is a JAVA SaaS Enablement infrastructure that enables web hosting services

More information

Setting up Hadoop with MongoDB on Windows 7 64-bit

Setting up Hadoop with MongoDB on Windows 7 64-bit SGT WHITE PAPER Setting up Hadoop with MongoDB on Windows 7 64-bit HCCP Big Data Lab 2015 SGT, Inc. All Rights Reserved 7701 Greenbelt Road, Suite 400, Greenbelt, MD 20770 Tel: (301) 614-8600 Fax: (301)

More information

Deploying Microsoft Operations Manager with the BIG-IP system and icontrol

Deploying Microsoft Operations Manager with the BIG-IP system and icontrol Deployment Guide Deploying Microsoft Operations Manager with the BIG-IP system and icontrol Deploying Microsoft Operations Manager with the BIG-IP system and icontrol Welcome to the BIG-IP LTM system -

More information

Getting Started with Android Development

Getting Started with Android Development Getting Started with Android Development By Steven Castellucci (v1.1, January 2015) You don't always need to be in the PRISM lab to work on your 4443 assignments. Working on your own computer is convenient

More information

1. Product Information

1. Product Information ORIXCLOUD BACKUP CLIENT USER MANUAL LINUX 1. Product Information Product: Orixcloud Backup Client for Linux Version: 4.1.7 1.1 System Requirements Linux (RedHat, SuSE, Debian and Debian based systems such

More information

Android Environment SDK

Android Environment SDK Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 2A. Android Environment: Eclipse & ADT The Android

More information

Online Chapter B. Running Programs

Online Chapter B. Running Programs Online Chapter B Running Programs This online chapter explains how you can create and run Java programs without using an integrated development environment (an environment like JCreator). The chapter also

More information

CPE111 COMPUTER EXPLORATION

CPE111 COMPUTER EXPLORATION CPE111 COMPUTER EXPLORATION BUILDING A WEB SERVER ASSIGNMENT You will create your own web application on your local web server in your newly installed Ubuntu Desktop on Oracle VM VirtualBox. This is a

More information

SAS Marketing Automation 4.4. Unix Install Instructions for Hot Fix 44MA10

SAS Marketing Automation 4.4. Unix Install Instructions for Hot Fix 44MA10 SAS Marketing Automation 4.4 Unix Install Instructions for Hot Fix 44MA10 Introduction This document describes the steps necessary to install and deploy the SAS Marketing Automation 4.4 Hot fix Release

More information

Online Backup Client User Manual Linux

Online Backup Client User Manual Linux Online Backup Client User Manual Linux 1. Product Information Product: Online Backup Client for Linux Version: 4.1.7 1.1 System Requirements Operating System Linux (RedHat, SuSE, Debian and Debian based

More information

Crystal Reports for Eclipse

Crystal Reports for Eclipse Crystal Reports for Eclipse Table of Contents 1 Creating a Crystal Reports Web Application...2 2 Designing a Report off the Xtreme Embedded Derby Database... 11 3 Running a Crystal Reports Web Application...

More information

Click Start > Control Panel > System icon to open System Properties dialog box. Click Advanced > Environment Variables.

Click Start > Control Panel > System icon to open System Properties dialog box. Click Advanced > Environment Variables. Configure Java environment on Windows After installing Java Development Kit on Windows, you may still need to do some configuration to get Java ready for compiling and executing Java programs. The following

More information