Building Your Own Open Source Development Environment
Total Page:16
File Type:pdf, Size:1020Kb
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Building Your Own Open Source Development Environment Gary Ashley Jr. CTA, Inc. garyashley at cta dot com Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 1 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Agenda What is Open Source? How does Open Source work? What products are available? What is the basic structure? Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 2 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Agenda (Continued) How do I install and configure: ¾Eclipse? ¾MySql? ¾JBoss? ¾Maven? Questions Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 3 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. What Is Open Source? To the community Open Source is: ¾“The basic idea behind open source is very simple: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing.” http://www.opensource.org ¾Try http://www.sunsource.net/ Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 4 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. What Is Open Source? (Continued) To me Open Source is about freedom of choice, freedom to collaborate, and freedom to share knowledge. ¾This empowers me to make educated choices, trade knowledge with my peers, and better myself in my chosen craft. ¾Better align with “emerging standards”. Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 5 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. What Is Open Source? (Continued) To my company and our customers, Open Source is about minimizing risks, reducing costs, and increasing time to market. ¾Share risk with community of peers. ¾Reduce licensing costs. ¾Lower maintenance costs. ¾Don’t reinvent the wheel if it’s already been done. Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 6 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. What Products Are Available? Operating Systems Database Office Productivity Web Servers Email Servers and Clients Browsers Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 7 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Products? (Continued) IDEs J2EE Application Servers Code Repositories Coding Frameworks Pre-built Components/Widgets Other: ¾Music, movies, politics, teaching, … Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 8 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Operating Systems Try http://www.freeos.com/ for a large listing. Some examples include: ¾Linux – http://www.linux.org/ ¾Darwin – http://developer.apple.com/darwin/ ¾BEOS – http://www.beunited.org/ ¾OpenBSD – http://www.openbsd.org/ ¾Handhelds – http://www.handhelds.org ¾Wireless Embedded Sensor Networks – http://www.tinyos.net/ Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 9 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Databases MySql PostgreSQL Firebird Borland Interbase Apache Derby (formerly IBM Cloudscape) Hypersonic SQL Berkeley DB mSQL Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 10 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Office Productivity Open Office OpenOSX Office Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 11 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Web Servers Apache HTTP Server Darwin Streaming Zope Savant Web Server JBoss Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 12 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Email Servers and Clients Servers: ¾Sendmail ¾James Clients: ¾Thunderbird ¾Ximian Evolution ¾eMailman ¾ICEmail ¾Pooka Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 13 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Browsers Mozilla Firefox Camino Amaya – W3C project Netscape Avant Opera Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 14 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. IDEs Eclipse ¾Many useful plugins are also available NetBeans SharpDevelop (C sharp) Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 15 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. J2EE Application Servers JBoss Apache Geronimo (in future) Enhydra Resin Zope Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 16 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Code Repositories CVS Subversion OpenCM Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 17 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Coding Frameworks These are too numerous to name, but this list of websites hits quite a few: ¾http://www.apache.org ¾http://jakarta.apache.org ¾http://www.sourceforge.net ¾http://www.tigris.org ¾http://www.opensymphony.com ¾http://solutions.objectweb.org ¾http://www.sunsource.net Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 18 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Other Other: ¾Music, movies, politics, teaching, … • OpenCoke • Wikipedia Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 19 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. What Is the Basic Structure? Here is a basic directory structure to support the environment. Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 20 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. How to for Eclipse? Download and Unzip Eclipse 3.0 9into /java/develop/tools ¾Adjust Basic Settings: Window/Preferences 9For example, you can adjust the key settings to emulate other tools that you may be more comfortable with. 9Under java, build path, classpath variable add a new MAVEN_REPO variable that points to /java/develop/repository ¾Additional Plugins • Most plugins are downloaded and unzipped into the /{eclipse_home}/plugins directory Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 21 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Eclipse Plugins (downloaded) JadClipse (Decompiler) Jalopy (Code Formatter) QuantumDB (Database) DBEdit (Database) Jasper Assistant (Jasper Report Builder) XMLBuddy (XML Editor) TomcatPlugin (Integrate w/ Tomcat) Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 22 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Eclipse Plugins (Live Update) You can perform live updates, including new plugins by • Menu: Help/Software Updates/Find and Install Jboss IDE (http://jboss.sourceforge.net/jbosside/updates) Maven Workshop (http://www.binamics.com/mavenworkshop/eclipse3) Hibernate Sync (http://www.binamics.com/hibernatesync) Visual Editor (eclipse) Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 23 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. How to for MySql? (Linux) Download and Unzip the MySql 4.1 tar file 9into /java/develop/tools ¾Choose 1 of 5 files, small, medium, large, huge, innodb_heavy to use as your base configuration. • located in {mysql_home}/support-files • edit the file to point to a socket file created each time mysql starts: 9[mysqld] 9socket=/var/tmp/mysql.sock 9[client] 9socket=/var/tmp/mysql.sock Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 24 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. How to for MySql? (Linux) Run these commands as root 9 shell> groupadd mysql 9 shell> useradd -g mysql mysql 9 shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf - 9 shell> ln -s full-path-to-mysql-VERSION-OS /usr/local/mysql 9 shell> cd /usr/local/mysql 9 shell> scripts/mysql_install_db --user=mysql 9 shell> chown -R root . 9 shell> chown -R mysql data 9 shell> chgrp -R mysql . 9 shell> cp support_files/mysql.server /etc/init.d/mysql 9 shell> cp support_files/my-small.cnf /etc/my.cnf *** if you used something other than my-small in the screen before, change the name appropriately 9 shell> chmod +x /etc/init.d/mysql 9 shell> chkconfig --add mysql 9 shell> /etc/init.d/mysql start Gary Ashley Jr. — Building Your Own Open Source Development Environment Page 25 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, CTA, Inc. Once Installed… Once installed, you can use the following command to connect to mysql and grant permissions, etc.: ¾ mysql -u root • From here, you can run commands like: 9 “show databases;” 9 “use {databasename};” 9 “show tables;” To more securely set up mysql: http://security.linux.com/security/04/08/19/1422204.shtml?tid=2&tid=74 You can download the “Administration” tool from the mysql.com website. Gary Ashley Jr. —