Orion - Introduction
Szymon Brandys
Tomasz Żarna
IBM
Eclipse Platform & Orion
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Agenda
•What is Orion?
•A glance at web technologies
•More about Orion
•Demo
•Discussion and Q&A
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Goals of Orion
•Build developer tooling that works in a browser ,
•at web scale,
•integrating well with existing tools that exist on the web,
•based on well ‐ proven web architectures ‐ REST, HTTP,
JSON, OAuth, OpenID, and others.
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Use Strengths of the Web
• zero install on the client
• simple connectivity – links
• trivial update mechanism
• powerful rendering engine
• look and feel easy to adapt
• large, active community
• innovation by everyone
• no central “IDE”
• artifacts all over the web
• highly distributed content
• refresh the page
• scalable computing power
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Why work on this now?
•There are other online IDEs already, extremely high rate of
innovation in online tools for web development
•We need to start now, learn, fail, try again, in order to
become a player in this space
•We (IBM) would like to see a community to form around
this forms at Eclipse, and are contributing a seed
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
A Glance at Web Architectures ‐ REST
• An important concept in REST is the existence of resources (sources of specific
information), each of which is referenced with a global identifier (e.g., a URI in HTTP). In
order to manipulate these resources, components of the network (user agents and origin
servers) communicate via a standardized interface (e.g., HTTP) and exchange
representations of these resources (the actual documents conveying the information).
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Web Architectures ‐ REST
• http://en.wikipedia.org/wiki/Representational_State_Transfer
• http://prescod.net/rest/mistakes/
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
A Glance at Web Architectures
•HTTP ‐ a networking protocol for distributed,
collaborative, hypermedia information systems. HTTP is
the foundation of data communication for the WWW
•Ajax ‐ a group of interrelated web developmentt methods
used on the client‐side to create interactive web
applications. With Ajax, web applications can retrieve data
from the server asynchronously in the background
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
A Glance at Web Architectures
•JSON - a lightweight text-based open standard designed
for human-readable data interchange
• JSON vs XML picture
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
•OpenID – a standard that describes how users can
authenticated in a decentralized manner
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
•OAuth – an open standard for authorization, which allows
users to share their private resources stored on one site
with another site without having to hand out their
credentials
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Orion Assumptions
•Software development in a browser
 editing
 navigating folders
 searching
 working with SCM
•Set of linked web pages, NOT an IDE running in a browser
 easy to integrate other functionality even if hosted on different
servers
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Why Not an IDE in a Browser?
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Why Not an IDE in a Browser?
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Why Not an IDE in a Browser?
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Why Not an IDE in a Browser?
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Context: Already in a Browser
•Bug tracking (Bugzilla, JIRA, Trac, Lighthouse, Rational
RTC)
•Builds (Hudson/Jenkins)
•Code review (Bugzilla, Gerrit, GitHub)
•Documentation, code snippets (pastebin, Gist)
•Browsing code repositories (GitHub, ViewCVS, Rational
RTC)
•Debugger (Firebug, WebKit Inspector, Developer Tools)
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
What’s Missing? Not Much
•Code editor
•Navigator
•Work with SCM (commit, compare, merge, etc)
•Indexing - full text search
•Unit tests
•Initial focus on web developers working on client-side
JavaScript, HTML, CSS
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Orion Design Principles
•Regular hyperlinks, back button, bookmarking, link sharing
•Functionality on separate pages.
Page = Task + Resource
•Performant and Lightweight. Speed trumps power.
•Components should have value on their own.
•Low barrier of entry for adopters. Don’t require technology
buy-in.
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Demo
• Log in/log out
• openId
• Navigator + editor
• Git status & log
• Compare
• Sites
• Firebug integration
• Search
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Integration Possibilities
•Client-side “plug-ins” : adding commands to existing UI
 Integrate with SCMs:
 Git is used to speed up self-hosting
 There is ongoing effort on enabling RTC in Orion
 W3C validator, JSLint, ...
•Hyperlink integration
 Bugzilla, Gerrit, SCM stats
•Integrate with browser debuggers:
 Firebug, WebKit Inspector
•Host additional UI components, e.g. OpenSocial Gadgets
•Server-side
 OSLC: Consume and produce server APIs
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Integration Possibilities (cntd.)
•Web-Based integration
 initializr.com - equivalent of “New Project” wizard
 smush.it - lossless “compression” of images
 CSS Sprite Generator
 jsbeautifier.org - JavaScript code formatter
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Integration Possibilities (Demo)
• Create project
initializr.com
• Import zip
• Disable jslint
• Go to page
(comment in log)
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Getting Started
• Homepage / OrionHub: http://eclipse.org/orion
•Installing on localhost
http://wiki.eclipse.org/Orion/How_Tos/Install_Orion_on_L
ocalhost
• Clonning
 git://git.eclipse.org/gitroot/e4/org.eclipse.orion.client.git
 git://git.eclipse.org/gitroot/e4/org.eclipse.orion.server.git
 https://github.com/eclipse
 orion-client
 orion-server
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
The End
•Q&A
•Thank you
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Legal Notice
 IBM and the IBM logo are trademarks or registered
trademarks of IBM Corporation, in the United States, other
countries or both.
 Java and all Java-based marks, among others, are
trademarks or registered trademarks of Sun Microsystems in
the United States, other countries or both.
 Eclipse and the Eclipse logo are trademarks of Eclipse
Foundation, Inc.
 Other company, product and service names may be
trademarks or service marks of others.
26
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Code Editor
• Fast
• Scalable
• Works in all
desktop browsers
• Faster then
desktop Eclipse
editor
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Navigator
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Status / Compare
Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.
Log

Orion Introduction

  • 1.
    Orion - Introduction SzymonBrandys Tomasz Żarna IBM Eclipse Platform & Orion
  • 2.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Agenda •What is Orion? •A glance at web technologies •More about Orion •Demo •Discussion and Q&A
  • 3.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Goals of Orion •Build developer tooling that works in a browser , •at web scale, •integrating well with existing tools that exist on the web, •based on well ‐ proven web architectures ‐ REST, HTTP, JSON, OAuth, OpenID, and others.
  • 4.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Use Strengths of the Web • zero install on the client • simple connectivity – links • trivial update mechanism • powerful rendering engine • look and feel easy to adapt • large, active community • innovation by everyone • no central “IDE” • artifacts all over the web • highly distributed content • refresh the page • scalable computing power
  • 5.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Why work on this now? •There are other online IDEs already, extremely high rate of innovation in online tools for web development •We need to start now, learn, fail, try again, in order to become a player in this space •We (IBM) would like to see a community to form around this forms at Eclipse, and are contributing a seed
  • 6.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. A Glance at Web Architectures ‐ REST • An important concept in REST is the existence of resources (sources of specific information), each of which is referenced with a global identifier (e.g., a URI in HTTP). In order to manipulate these resources, components of the network (user agents and origin servers) communicate via a standardized interface (e.g., HTTP) and exchange representations of these resources (the actual documents conveying the information).
  • 7.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Web Architectures ‐ REST • http://en.wikipedia.org/wiki/Representational_State_Transfer • http://prescod.net/rest/mistakes/
  • 8.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. A Glance at Web Architectures •HTTP ‐ a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the WWW •Ajax ‐ a group of interrelated web developmentt methods used on the client‐side to create interactive web applications. With Ajax, web applications can retrieve data from the server asynchronously in the background
  • 9.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. A Glance at Web Architectures •JSON - a lightweight text-based open standard designed for human-readable data interchange • JSON vs XML picture
  • 10.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. •OpenID – a standard that describes how users can authenticated in a decentralized manner
  • 11.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. •OAuth – an open standard for authorization, which allows users to share their private resources stored on one site with another site without having to hand out their credentials
  • 12.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Orion Assumptions •Software development in a browser  editing  navigating folders  searching  working with SCM •Set of linked web pages, NOT an IDE running in a browser  easy to integrate other functionality even if hosted on different servers
  • 13.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Why Not an IDE in a Browser?
  • 14.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Why Not an IDE in a Browser?
  • 15.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Why Not an IDE in a Browser?
  • 16.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Why Not an IDE in a Browser?
  • 17.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Context: Already in a Browser •Bug tracking (Bugzilla, JIRA, Trac, Lighthouse, Rational RTC) •Builds (Hudson/Jenkins) •Code review (Bugzilla, Gerrit, GitHub) •Documentation, code snippets (pastebin, Gist) •Browsing code repositories (GitHub, ViewCVS, Rational RTC) •Debugger (Firebug, WebKit Inspector, Developer Tools)
  • 18.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. What’s Missing? Not Much •Code editor •Navigator •Work with SCM (commit, compare, merge, etc) •Indexing - full text search •Unit tests •Initial focus on web developers working on client-side JavaScript, HTML, CSS
  • 19.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Orion Design Principles •Regular hyperlinks, back button, bookmarking, link sharing •Functionality on separate pages. Page = Task + Resource •Performant and Lightweight. Speed trumps power. •Components should have value on their own. •Low barrier of entry for adopters. Don’t require technology buy-in.
  • 20.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Demo • Log in/log out • openId • Navigator + editor • Git status & log • Compare • Sites • Firebug integration • Search
  • 21.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Integration Possibilities •Client-side “plug-ins” : adding commands to existing UI  Integrate with SCMs:  Git is used to speed up self-hosting  There is ongoing effort on enabling RTC in Orion  W3C validator, JSLint, ... •Hyperlink integration  Bugzilla, Gerrit, SCM stats •Integrate with browser debuggers:  Firebug, WebKit Inspector •Host additional UI components, e.g. OpenSocial Gadgets •Server-side  OSLC: Consume and produce server APIs
  • 22.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Integration Possibilities (cntd.) •Web-Based integration  initializr.com - equivalent of “New Project” wizard  smush.it - lossless “compression” of images  CSS Sprite Generator  jsbeautifier.org - JavaScript code formatter
  • 23.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Integration Possibilities (Demo) • Create project initializr.com • Import zip • Disable jslint • Go to page (comment in log)
  • 24.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Getting Started • Homepage / OrionHub: http://eclipse.org/orion •Installing on localhost http://wiki.eclipse.org/Orion/How_Tos/Install_Orion_on_L ocalhost • Clonning  git://git.eclipse.org/gitroot/e4/org.eclipse.orion.client.git  git://git.eclipse.org/gitroot/e4/org.eclipse.orion.server.git  https://github.com/eclipse  orion-client  orion-server
  • 25.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. The End •Q&A •Thank you
  • 26.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Legal Notice  IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both.  Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both.  Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc.  Other company, product and service names may be trademarks or service marks of others. 26
  • 27.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Code Editor • Fast • Scalable • Works in all desktop browsers • Faster then desktop Eclipse editor
  • 28.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Navigator
  • 29.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Status / Compare
  • 30.
    Orion - Introduction| Copyright © IBM Corp., 2011. All rights reserved. Log