© 2002 IBM Corporation Create Your Own Web 2.0 Mashup or Eclipse Plug-in(s): “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 08 ~ Mark Weaver.

Slides:



Advertisements
Similar presentations
Web Service Architecture
Advertisements

Overview of Web Services
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
Web Services (Nuts and Bolts) ITEC 625 Web Development Fall 2006 Reference: Building Web Services with Java (Making sense of XML, SOAP, WSDL, and UDDI),
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
Content provided under the terms and conditions of the Eclipse Public License Version Eclipse Foundation - Kathy Chan.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
© 2002 IBM Corporation Create Your Own Web 2.0+ “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 2011 ~ Presenter: Dean Ocamura
© 2002 IBM Corporation Create Your Own Web 2.0 Mashups “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 09 ~ Presenter: Dean Ocamura
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
© 2002 IBM Corporation Enablement of Moodle software to DB2 9.7 Raul F. Chong IBM Canada Mario BriggsIBM
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
RSS RSS is a method that uses XML to distribute web content on one web site, to many other web sites. RSS allows fast browsing for news and updates.
1 Java Server Programming zLecture 1 focuses on: yIntroduction to web services y Web Services using Axis y The bigger Picture: Introduction to J2EE y Java.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Developing Web Services with the Eclipse Web Tools Platform Boris Minkin.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
COP 4991 Component Based Software Development Lecture #4 Java Web Services Onyeka Ezenwoye.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
Web Services An introduction for eWiSACWIS May 2008.
Message Driven Beans & Web Services INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
© 2002 IBM Corporation Choose your own open-source App/Mashup Adventure ~ SE CS130 UCLA FALL 2013 ~ Project Lead: Gergana Markova (
WSDL Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
© 2002 IBM Corporation Web 2.0 Mashups Project Proposal UCLA CS130, Spring 2007 Alex Rodriguez SWG – Tivoli Chris.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Web Services (SOAP) part 1 Eriq Muhammad Adams J |
XML and Web Services (II/2546)
Kemal Baykal Rasim Ismayilov
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Developing Web Services with the Eclipse Web Tools Platform David Gallardo.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Advanced Java Session 10 New York University School of Continuing and Professional Studies.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Web Services with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Web Programming Language
WEB SERVICES.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Unit – 5 JAVA Web Services
Wsdl.
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
WEB SERVICES DAVIDE ZERBINO.
Introduction to Web Services
Introduction to Web Services and SOA
Presentation transcript:

© 2002 IBM Corporation Create Your Own Web 2.0 Mashup or Eclipse Plug-in(s): “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 08 ~ Mark Weaver SWG – Tivoli Grace Wang IGS Gergana Markova SWG – Tivoli Martin Stenkilde SWG – Rational Other Mentors: TBD for each team

© 2006 IBM Corporation 2 Agenda  Introduction  The IBM team  Create Your Own Adventure Project Defined  What is it there for you  Web 2.0 Mashup Project  Eclipse Project  Conclusion  Questions

© 2006 IBM Corporation 3 IBM Project Team  Lead Technical Mentor: Mark Weaver  Open-source enthusiast  Eclipse Technology, Java, Design Patterns, Ruby on Rails  Technical Writing  Project Lead: Gergana Markova  Project organization  Java, eXtremeProgramming, JUnit, Design Patterns  Each team will have dedicated Lead Technical Mentor and Lead Project Mentor: TBD  Technical Mentors  The Go-To experts for any technical questions and challenges  Project Mentors  Project environment, scheduling  Facilitation & collaboration  Team dynamics  Other  Open Source Eclipse resources and forums  IBM Academic Initiative Student Forum  IBM Developer Works resources

© 2006 IBM Corporation 4 Your Project, “Choose your own adventure”  General Project Technology / Requirements  Open Source  Eclipse or Web 2.0 Mashups  Programming Language: Java  Project Repository of your choice (e.g., CVS)‏  Recommend using SF.net  Defect Tracking (SF.net tracker, Bugzilla, etc…)‏  Project Discussion Forum/Log of your choice (e.g., Wiki)‏  Unit testing of your choice (e.g., JUnit)‏  In the end, it’s your decision what to do!  Deliverables  Mandatory  Your project in a public repository, fully documented  Optional  An article that will be published on IBM DeveloperWorks detailing your experience  Eclipse projects: A feed into planeteclipse.org detailing your experience

© 2006 IBM Corporation 5 Projects Learning Skills  Software Engineering Skills  Team Project Planning and execution  Collaboration, Networking  Rapid Decision Making  Open source community involvement (process, resources..)‏  Research and resources evaluation  Concepts Emphasized  Open Source Process  Design Patterns  eXtreme Programming

© 2006 IBM Corporation 6 Why Open-source?  Standardization of the rail network enabled industrialized America and Europe  A connecting platform fueling growth, creating new business opportunities  Connecting resources with factory efficiencies  Connecting goods with markets  Enabling new distribution models (Sears Roebuck)‏  Other technology platforms: electricity grid, national highway systems, ……..the internet “Standards contribute more to economic growth than patents and licenses.” " Economic benefits of standardization“, Technical University Dresden (TUD) and the Fraunhofer Institute for Systems and Innovations

© 2006 IBM Corporation Web 2.0 MASHUP PROJECT

© 2006 IBM Corporation Mashup  A hybrid application that combines content from more than one source.  Very popular Web 2.0 idea  Mash-up (you can use a hyphen if you want)  Mashups are the next logical step in Service Oriented Architecture  The real power in Web services comes from combining  Web services are typically specialized, mashups are “situational”  Development without central authority

© 2006 IBM Corporation Web 2.0  Web 2.0: O’Reilly Media coined the term  Web 1.0 vs. 2.0  One-to-many vs. many-to-many publishing  Application gets better as publishers make it better vs. application gets better the more people use it  No AJAX vs. AJAX

© 2006 IBM Corporation What is a Web service?  W3C Web Services Architecture Group  “A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.”

© 2006 IBM Corporation Service Oriented Architecture Roles Service Requester Service Registry Service Provider Find Discover service Publish Advertise service Bind/Invoke Request service

© 2006 IBM Corporation SOAP  A W3C Specification  An XML format, typically holds information for a Web service method call, or a response  Programming language independent  SOAP expanded: Services-Oriented Access Protocol  Used to be Simple Object Access Protocol

© 2006 IBM Corporation WSDL  Web Services Description Language  A kind of IDL (Interface Definition Language)‏  An XML format to describe a Web service’s capabilities  Describes a service as a set of endpoints operating on messages

© 2006 IBM Corporation XML/Java  XML Parsers  Parsers help with validation, well- formedness checking, building a DOM, notifying the application of errors  Two API Standards: DOM and SAX  Xerces2  Data Binding APIs

© 2006 IBM Corporation Axis  Apache Extensible Interaction System  A SOAP Engine  A JAX-RPC run-time system  Provides emitter tooling that generates Java classes from WSDL  Used to be IBM SOAP4J

© 2006 IBM Corporation JAX-RPC  A Sun specification, was JSR 101  Specifies Java APIs for XML-based Remote Procedure Call  Remote Procedure Call  A mechanism for clients to call procedures from a service over a network  Typically used in distributed client/server model  Other example of RPC mechanism: RMI

© 2006 IBM Corporation A Very Simple Example  The Library Web service  Exposes one method: findTitleByAuthor  Uses Axis “instant deployment” with a JWS file  Generates a Web service client from the Library service WSDL

© 2006 IBM Corporation Service Implementation - Library.jws import java.util.*; public class Library { private LibraryDatastore dataStore; public Library() { DatastoreFactory.getDS(); dataStore = DatastoreFactory.getLibraryDataStore(); } public Collection findTitleByAuthor(String author) {... }

© 2006 IBM Corporation Axis Instant Deployment $tomcat_home/webapps/axis

© 2006 IBM Corporation WSDL2Java Generates

© 2006 IBM Corporation Service Client – LibraryClient.java import java.util.*; import org.library.*; public class LibraryClient { public static void main(String[] args) { try { LibraryService libraryLocator = new LibraryServiceLocator(); Library library = libraryLocator.getLibrary(); Object[] titles = library.findTitleByAuthor(args[0]); for (Object title : titles) { System.out.println(title); } } catch (Exception e) { e.printStackTrace(); }

© 2006 IBM Corporation Suggested Approach  Environment setup  Service discovery  Your Mashup Concept  Design / Storyboard  Component Level Design  Implementation  Test  Deployment (Go Live)‏

© 2006 IBM Corporation Web service Providers

© 2006 IBM Corporation Real Mashup Examples  Flickr_Weather_Maps.aspx  Allows users to search US cities/locations - provides users with information on the city requested  Weather Forecasts  Wikipedia geo Articles  Flickr photos  APIs used  Flickr  GeoNames  Yahoo Geocoding  Yahoo Maps

© 2006 IBM Corporation Real Mashup Examples  com com  The site is not complete, however the concept is interesting  This specific site is a map of Corozal Town Belize (Central America).  Each attraction on the map is clickable  Once clicked the user can see pictures and video of each attraction  APIs used  Google AdSense  Google Maps  YouTube

© 2006 IBM Corporation s

Skills Required  Java Programming, nothing fancy  Basic web service concepts: SOAP, WSDL  Basic web-application concepts: URLs, HTTP, JavaScript, server-side scripting (JSP, PHP, other)‏  Basic XML (syntax, parsing)‏  AJAX (would be nice)‏  CSS (optional)‏

© 2006 IBM Corporation Gain Experience  J2EE  Web services  SOAP  Axis  JAX-RPC  XML  Web UI  AJAX

© 2006 IBM Corporation RUBY ON RAILS PROJECT

© 2006 IBM Corporation What is Ruby On Rails Ruby on Rails is an open-source web framework that's optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration. -

© 2006 IBM Corporation Why Ruby on Rails?  RoR allows you to quickly build webapps.  RoR gets a lot of buzz.  RoR is fun.

© 2006 IBM Corporation Required Skills  Ruby  Or another dynamic language like Python  HTML  JavaScript  CSS  DBs – MySQL is the easiest

© 2006 IBM Corporation Ruby On Rails Projects Choose your own adventure!

© 2006 IBM Corporation ECLIPSE PROJECT

© 2006 IBM Corporation 35 What Is Eclipse?  “Eclipse is an open source community focused on developing a universal platform of frameworks and exemplary tools that make it easy and cost- effective to build and deploy software in today’s connected and unconnected world.  Eclipse is a consortium of major software vendors, solution providers, corporations, educational and research institutions and individuals working together to create an eco-system that enhances, promotes and cultivates the Eclipse open platform with complementary products, services and capabilities.  Eclipse Strategic Goals  To define an open development platform  To foster a vibrant open source community well regarded for innovation and quality  To enable an ecosystem  To be ubiquitous

© 2006 IBM Corporation 36 Why IBM? Why Eclipse?  We like Eclipse, we founded it and then donated it to the open- source community.  IBM and even competitor’s products are being built on Eclipse technology.  There is a large future invested in Eclipse.

© 2006 IBM Corporation Eclipse Project Goals  Provide open platform for application development tools  Run on a wide range of operating systems  Support both GUI and non-GUI applications  Remain language neutral  Permit unrestricted content types  HTML, Java, C, JSP, EJB, XML, GIF, …  Facilitate seamless tool integration  At UI and deeper  Add new tools to existing installed products HTML XML EJBJSP C

© 2006 IBM Corporation 38 Eclipse Community  Celebrities!  Erich Gamma (GoF, IBM Distinguished Engineer, JDT Lead)‏  Ward Cunningham (Wiki founder, Eclipse Foundation)‏  Strong Community   Newsgroups  news.eclipse.org  Mailing Lists  Wiki   Planet 

© 2006 IBM Corporation 39 Plug-in Architecture  Plug-in  smallest unit of eclipse functionality  details specified in it's plug-in manifest (plugin.xml)‏  plugins can add code, define extension points, and contribute to extension points  Extension point  named entity for collecting contributions  Defines API contract  example: extension point to add menu actions  Extension  an instance of an exention point contribution  example: a specific menu action  Controlled extensibility plug-in extension extension point runtime

© 2006 IBM Corporation RCP Examples  Examples (  Azureus  College students love BitTorrent!  RSSOwl  Maestro (NASA Mars Mission Software)‏

© 2006 IBM Corporation SampleEclipse Plug-In Ideas  Eclipse SWT embedded Firefox browser widget (highly requested by the community)  Eclipse Mono Development Environment  Visualization of Eclipse's Plug-ins so it's easier to see dependencies and other things  Distributed Debugging  Shared Editing  VOIP in Eclipse using ECF ( ) and Google's Jingle APIhttp://  Mylar support for C/C++ editing with CDT  Many, many more

© 2006 IBM Corporation Choose your own adventure  Any of your own ideas. We are here to help!

© 2006 IBM Corporation 43 Conclusion  Thank you for your time!  We’re here for you!  E.g. Eclipse has an awful learning curve, we’re here to help  Questions?  Project Ideas?

© 2006 IBM Corporation USEFUL REFERENCES

© 2006 IBM Corporation Runtime (OSGi)‏ SWT JFace UI (Generic Workbench)‏ Resources (optional)‏ IDE Help (optional)‏ Update (optional)‏ Text (optional)‏ IDE Text CompareDebugSearch Team/ CVS Java development tools (JDT)‏ What Is Eclipse? A world class Java IDE

© 2006 IBM Corporation 46 ECLIPSE :Everything is a Plug-in Extensible platform extensible IDE IDE plug-ins run-time plug-ins

© 2006 IBM Corporation ECLIPSE: Rich Client Platform (RCP)‏  Advanced desktop applications have the same needs as an IDE  open architecture  efficient, configurable, portable UI  supports product branding, install/update support  integrated help, user configuration/preferences  Enable Eclipse to be used for non-IDE applications  Theme your own application  Examples  Azureus  College students love BitTorrent  RSSOwl

© 2006 IBM Corporation MASHUP: Links and References (1)‏  Documentation / Specifications  developerWorks – SOA and Web services   SOAP   WSDL   JAX-RPC   SOAP Engine  Axis   Eclipse 

© 2006 IBM Corporation MASHUP: Links and References (2)‏  Web service Providers (WSDL)‏  Google Code   Yahoo Developer Network   Amazon ECS   Flickr Web services   YouTube API   Microsoft Web services 