Duke University Program Design & Construction Course



Similar documents
Java Application Development using Eclipse. Jezz Kelway Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom

Developing Eclipse Plug-ins* Learning Objectives. Any Eclipse product is composed of plug-ins

Introduction to Eclipse, Creating Eclipse plug-ins and the Overture editor. David Holst Møller Engineering College of Aarhus

SAP's Integrated Development Environment for Java. Karl Kessler, SAP AG

Eclipse Rich Client Platform. Kai Tödter Karsten Becker et al. Organized by:

Eclipse 4 RCP application Development COURSE OUTLINE

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Web Development with the Eclipse Platform

Extend WTP Server Tools for your application server. Tim deboer Gorkem Ercan

IBM Rational Web Developer for WebSphere Software Version 6.0

creating a text-based editor for eclipse

Eclipse Platform Technical Overview

Braindumps.C questions

Eclipse. Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen

Best Practices for Programming Eclipse and OSGi

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Eclipse: A platform for integrating development tools

Sabre Red Apps. Developer Toolkit Overview. October 2014

EMC Documentum Composer

Running a Program on an AVD

PTC Integrity Eclipse and IBM Rational Development Platform Guide

Embarcadero DB Change Manager 6.0 and DB Change Manager XE2

IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>

Web services with WebSphere Studio: Deploy and publish

Exam Name: IBM InfoSphere MDM Server v9.0

Jordan Jozwiak November 13, 2011

TeamCity A Professional Solution for Delivering Quality Software, on Time

Lab 0 (Setting up your Development Environment) Week 1

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment

Lab 5 Using Remote Worklight Server

Introduction to Android Programming (CS5248 Fall 2015)

IBM Rational Asset Manager

Software Development Kit

ITG Software Engineering

Rational Application Developer Performance Tips Introduction

Understanding class paths in Java EE projects with Rational Application Developer Version 8.0

Metamodels and Modeling Multiple Kinds of Information Systems

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall

Department of Veterans Affairs. Open Source Electronic Health Record Services

Developing In Eclipse, with ADT

bbc Installing Your Development Environment Adobe LiveCycle ES July 2007 Version 8.0

Android Application Development

E4 development: examples, methods and tools. Eclipse Con France 2014

L01: Using the WebSphere Application Server Liberty Profile for lightweight, rapid development. Lab Exercise

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

Crystal Reports for Eclipse

How to Easily Integrate BIRT Reports into your Web Application

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

BIRT Application and BIRT Report Deployment Functional Specification

Before you can use the Duke Ambient environment to start working on your projects or

InfoSphere Master Data Management operational server v11.x OSGi best practices and troubleshooting guide

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Java-based web-apps with the Rich Ajax Platform (RAP)

Android Mobile App Building Tutorial

Embarcadero Rapid SQL Developer 2.0 User Guide

Take full advantage of IBM s IDEs for end- to- end mobile development

Android Development Tools for Eclipse

Getting Started: Creating a Simple App

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

OMNeT++ IDE Developers Guide. Version 5.0

Login with Amazon Getting Started Guide for Android. Version 2.0

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 SP02

Introduction to IBM Worklight Mobile Platform

user guide version 4.1

DB2 Application Development and Migration Tools

UI Performance Monitoring

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Xuan (The STACK Box) Application Development. Xuan (The STACK Box) Application Development

Chapter 2 SYSTEM MANAGEMENT. SYS-ED/ Computer Education Techniques, Inc.

This presentation will provide a brief introduction to Rational Application Developer V7.5.

Developing NFC Applications on the Android Platform. The Definitive Resource

1. Introduction to Android

Mocean Android SDK Developer Guide

Tutorial: Android Object API Application Development. Sybase Unwired Platform 2.2 SP02

PASS4TEST 専 門 IT 認 証 試 験 問 題 集 提 供 者

Software Development Tools & Environments

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

How To Use Designer For Identity Manager For A Project Management System

Android Application Development: Hands- On. Dr. Jogesh K. Muppala

Living Architectures - from eclipse to jazz

MSWL Development & Tool. Eclipse IDE

Acknowledgments. p. 55

How To Develop Android On Your Computer Or Tablet Or Phone

Eclipse Distilled: A Quick Start to Agile Development

UML 2.0 with VizzAnalyzer - Visualization of class diagrams

ADT Plugin for Eclipse

EPIC - User s Guide i. EPIC - User s Guide

How To Develop An Android App On An Android Device

CREATE A CUSTOM THEME WEBSPHERE PORTAL

SIM900 Eclipse environment install Application Note_V1.00

Instrumentation Software Profiling

Rich Client Application Development

Tutorial: BlackBerry Object API Application Development. Sybase Unwired Platform 2.2 SP04

Learn how to create web enabled (browser) forms in InfoPath 2013 and publish them in SharePoint InfoPath 2013 Web Enabled (Browser) forms

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Transcription:

Duke University Program Design & Construction Course Application Development Tools Sherry Shavor sshavor@us.ibm.com

Software Engineering Roles Software engineers wear many hats Tool developer Tool user Customizing / Extending a tool Tool evaluator

Software Tools Design Rational Design tools Code Integrated Development Environments Eclipse Visual Studio WebSphere Studio Editors Specialized tools User Interface Database Embedded Transaction Security Change Management / Source code control CVS Rational ClearCase PVCS

Software Tools Test JUnit JProbe Documentation Help online help, contextual help Hardcopy Web sites Build Ant, home grown tools

Eclipse Eclipse Open Source Java development environment Integration platform, frameworks Plug-in development IBM WebSphere application development tools are built on Eclipse WebSphere Application Developer

Eclipse Terminology Plug-in - smallest unit of Eclipse function Big example: HTML editor Small example: Action to create zip files Demo (night light component) Extension - a contribution Example: specific HTML editor preferences Demo (night light) Extension point - named entity for collecting contributions Example: extension point for workbench preference UI Demo (socket) Eclipse platform Demo (power strip)

Eclipse demo Can you see the common function? Functions provided by plug-ins Views (panes) Editors Preference pages Dialogs Help Etc.

Eclipse Overview Eclipse Platform Another Tool Workbench Help Java Development Tools (JDT) SWT JFace Team Your Tool Plug-in Development Environment (PDE) Workspace Debug Platform Runtime Their Tool Eclipse Project

Registration and Implementation XML <plugin id="com.ibm version="1.0.0" provider-name="ibm" </plugin> Java Code

Eclipse Plug-in Architecture Each plug-in Contributes to 1 or more extension points Optionally declares new extension points Depends on a set of other plug-ins Contains Java code libraries and other files May export Java-based APIs for downstream plug-ins Lives in its own plug-in subdirectory Details spelled out in the plug-in manifest Manifest declares contributions Code implements contributions and provides API plugin.xml file in root of plug-in subdirectory

Plug-in Manifest plugin.xml <plugin id = com.example.tool" name = Example Plug-in Tool" class = "com.example.tool.toolplugin"> <requires> <import plugin = "org.eclipse.core.resources"/> <import plugin = "org.eclipse.ui"/> </requires> <runtime> <library name = tool.jar"/> </runtime> <extension point = "org.eclipse.ui.preferencepages"> <page id = "com.example.tool.preferences" icon = "icons/knob.gif" title = Tool Knobs" class = "com.example.tool.toolpreferencewizard /> </extension> <extension-point name = Frob Providers id = "com.example.tool.frobprovider"/> </plugin> Plug-in identification Other plug-ins needed Location of plug-in s code Declare contribution this plug-in makes Declare new extension point open to contributions from other plug-ins

Using an Existing Extension Point Find the appropriate extension point (XML) Find out the requirements of that extension point (XML) Write code in Java

Goal: Plug-in Development Environment To make it easier to develop Eclipse plug-ins Support self-hosted Eclipse development Plug-in development environment (PDE) Specialized tools for developing Eclipse plug-ins Built on Eclipse Platform and JDT Implemented as Eclipse plug-ins Included in Eclipse Project releases Separately installable feature Part of Eclipse SDK drops Demo of PDE

PDE Specialized PDE editor for plug-in manifest files

Plug-in Code Generator Generates a plug-in with zero or more extensions. For Example: Menus Editors Views

Fill-in the Blank Generation

PDE PDE runs and debugs another Eclipse workbench 1. Workbench running PDE (host) 2. Run-time workbench (target)

Eclipse Platform Architecture Eclipse Platform Runtime is micro-kernel All functionality supplied by plug-ins Eclipse Platform Runtime handles start up Discovers plug-ins installed on disk Matches up extensions with extension points Builds global plug-in registry Caches registry on disk for next time

How to learn a tool Purpose of the tool Terminology Function Extensibility License/Support Sources of information online books magazines newsgroups

Assignment Select an application development tool you are using. Examples: Eclipse, Visual Studio, Emacs. Each student should assume the role of a computer engineer making a recommendation to management that they would or would not like to use the application development tool selected. Create a presentation (approx 5 min in length) to present your recommendation to management (professor). The presentation should include the pros/cons of the tool including the function, licensing (open source), support aspects, cost etc. Due on the 13th, each student should be prepared to give their presentation.

Where to go for more Eclipse website http://www.eclipse.org The Java Developer s Guide to Eclipse by Shavor, D Anjou, Fairbrother, Kehn, Kellerman, McCarthy Addison Wesley, ISBN 0-321-15964-0 information