Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2002 IBM Corporation Create Your Own Web 2.0+ “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 2011 ~ Presenter: Dean Ocamura

Similar presentations


Presentation on theme: "© 2002 IBM Corporation Create Your Own Web 2.0+ “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 2011 ~ Presenter: Dean Ocamura"— Presentation transcript:

1 © 2002 IBM Corporation Create Your Own Web 2.0+ “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 2011 ~ Presenter: Dean Ocamura dokamura@us.ibm.com dokamura@us.ibm.com Project Lead: Gergana Markova gmarkova@us.ibm.com Tech mentors: TBD by project Chris Montalvo Steve Hayachi Michael Stein

2 © 2011 IBM Corporation 2 Agenda  Introduction  The IBM team  Create Your Own Adventure Project Defined  What is it there for you  Web 2.0 Application or Mashup Project  Questions?

3 © 2011 IBM Corporation 3 IBM Project Team  Project Lead: Gergana Markova  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 online resources and forums  IBM Academic Initiative Student Forum  IBM Developer Works resources  IBM Smart Planet resources

4 © 2011 IBM Corporation 4 Your Project, “Choose your own adventure”  General Project Technology / Requirements  Open Source  Web 2.0 Mashups  Programming Language: Java ; Can use Ruby on Rails and other platforms  Project Repository : Source forge. Net  Use its Wiki, forums to provide status; CVS to check code  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  Submission to www.programmableweb.com Previous CS130 class Project available there: http://www.programmableweb.com/mashup/music-enthusiast

5 © 2011 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..)‏  Agile Development  Globalization Awareness  Code Inspection Techniques  Research and resources evaluation  Concepts Emphasized  Open Source Process  Global Community Involvement  Design Patterns  eXtreme Programming  User Experience

6 © 2011 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

7 © 2011 IBM Corporation Web 2.0+ MASHUP PROJECT

8 © 2011 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)  The real power in Web services comes from combining  Web services are typically specialized, mashups are “situational”  Development without central authority

9 © 2011 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

10 © 2011 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.”

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

12 © 2011 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

13 © 2011 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

14 © 2011 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

15 © 2011 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

16 © 2011 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

17 © 2011 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

18 © 2011 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) {... }

19 © 2011 IBM Corporation http://127.0.0.1:8080/axis/Library.jws?wsdl Axis Instant Deployment $tomcat_home/webapps/axis

20 © 2011 IBM Corporation WSDL2Java Generates

21 © 2011 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(); }

22 © 2011 IBM Corporation Suggested Approach  Environment setup  Service discovery  Your Mashup or Open Application Concept  Design / Storyboard  Component Level Design  Implementation  Test  Code Inspection  Deployment (Go Live)‏

23 © 2011 IBM Corporation Web service Providers

24 © 2011 IBM Corporation Real Mashup Examples  http://www.allapis.com/Yahoo_ 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

25 © 2011 IBM Corporation Real Mashup Examples  www.corozalma pia.com www.corozalma pia.com  Interesting concept  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

26 © 2011 IBM Corporation s

27 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)‏

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

29 © 2011 IBM Corporation Random Food for Thought  Build a small application and utilize an open source framework or library  Hibernate  Spring  How can _you_ make our Planet Smart?  Make a difference beyond this class Create your own SE Hack of Kindness project http://www.rhok.org/ Random Hacks of Kindness

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

31 © 2011 IBM Corporation 31 Conclusion  Thank you for your time!  We’re here for you!  Questions?  Project Ideas?

32 © 2011 IBM Corporation USEFUL REFERENCES

33 © 2011 IBM Corporation MASHUP: Links and References (1)‏  Documentation / Specifications  developerWorks – SOA and Web services  http://www-128.ibm.com/developerworks/webservices/  SOAP  http://www.w3.org/TR/soap/  WSDL  http://www.w3.org/TR/wsdl  JAX-RPC  http://java.sun.com/webservices/jaxrpc/  SOAP Engine  Axis  http://ws.apache.org/axis/

34 © 2011 IBM Corporation MASHUP: Links and References (2)‏  Web service Providers (WSDL)‏  Google Code  http://code.google.com/  Yahoo Developer Network  http://developer.yahoo.com/  Amazon ECS  http://www.amazon.com/exec/obidos/tg/browse/-/12738641  Flickr Web services  http://www.flickr.com/services/api/  YouTube API  http://www.youtube.com/dev  Microsoft Web services  http://www.momentumsi.com/MSWSDLHunt.html

35 © 2011 IBM Corporation Smart Planet  http://www.ibm.com/smarterplanet/us/en/ http://www.ibm.com/smarterplanet/us/en/  http://www.ibm.com/smarterplanet/us/en/overview/ideas/index. html?ca=v_now&re=ussph2.2 http://www.ibm.com/smarterplanet/us/en/overview/ideas/index. html?ca=v_now&re=ussph2.2  http://www.ted.com/  People for a Smarter Planet Community http://www.facebook.com/search.php?q=People+for+a+Smarter+Planet&init=quick&tas=search_prelo ad#!/peopleforasmarterplanet  http://www.smartplanet.com/ http://www.smartplanet.com/  http://en.wikipedia.org/wiki/Smarter_Planet http://en.wikipedia.org/wiki/Smarter_Planet  Provides great URL references at end of article


Download ppt "© 2002 IBM Corporation Create Your Own Web 2.0+ “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 2011 ~ Presenter: Dean Ocamura"

Similar presentations


Ads by Google