IBM®
Skip to main content
    United States change      Terms of use
 
 
      
     Home      Products      Services & industry solutions      Support & downloads      My IBM     
alphaWorks Services
IBM Sharable Code
An online platform for developing, reusing, managing, and deploying Web 2.0 applications and Web API mashups.
OVERVIEW FAQ FORUM RATE IT

Try It Now (Registration required.)


Platform requirements

Operating systems: any system that can run the software listed below (developed and tested using Ubuntu Linux® 6.06 and Mac OS X 10.5)

Software: One or multiple (for distributed deployments) systems that can run the following:

  • Ruby 1.8 or above
  • Rake 0.7.3 or above
  • Ruby on Rails 1.4.5 or above
  • Associated gems (to install, use $rake swashup::install_gems)
  • MySQL database or DB2® with Rails binding.

Client: any modern browser (tested with Firefox 2.0 and Safari 3.0).

Important Note
The following application may not be fully accessibility-compliant or bug-free because it is an emerging technology prototype or proof of concept currently under development in IBM research and development labs.   

What is IBM Sharable Code?

IBM® Sharable Code is a platform for building, sharing, and managing Web 2.0 API mashups. The platform allows creation of a common structure (or design) for Web 2.0 mashups. Users can create mashups of heterogeneous APIs (such as RSS, Atom, and REST) by having a common representation for the different parts of the APIs and the data consumed and provided by these APIs.

The mashup's interactions with end users and the interactions among the services can be directly represented in the mashup design. Views are associated with these interactions using an HTML template language. The platform also includes Web application tools for facilitating the overall design activities of mashups as well as for sharing the resulting deployed mashups and the different parts.

How does it work?

IBM Sharable Code uses a high-level, mostly declarative, domain-specific language (DSL) to represent the entire mashup and its design. The DSL is then converted into a full Ruby on Rails (RoR) application that users can install into their own servers and further modify and improve. The platform includes three main parts:

  • The core platform converts a DSL instance into a RoR application; the core is exposed as a REST service as well as command line Rake tasks.
  • A builder Web application allows quick creation of the DSL instances. The builder includes various templates and wizards that make creating the DSL parts easy. The builder allow different parts of the design to be shared and reused.
  • A community Web application enables easy sharing, rating, and discussion of already-deployed IBM Sharable Code mashups.




About the technology authors
E. Michael MaximilienE. Michael "Max" Maximilien, Ph.D., is a research staff member at IBM's Almaden Services Research group in San Jose, California. Prior to joining ASR, he spent ten years at IBM's Research Triangle Park, N.C., in software development and architecture. Dr. Maximilien led various small- to medium-sized teams, designing and developing enterprise and embedded Java™ software; he is a founding member and contributor to three worldwide Java and UML industry standards. Dr. Maximilien's primary research interests lie in distributed systems and software engineering, especially Web APIs and services, mash-ups, Web 2.0, SOA (service-oriented architecture), and Agile methods and practices. He can be reached through his Web site.
Ajith Ranabahu is a Ph.D. student at Wright State University's Kno.e.sis Center in Dayton, Ohio. Previously, he worked for three years as a software engineer. Mr. Ranabahu is a member of the Project Management Committee (PMC) for the Apache Web Services project and is one of the key committers in the Apache Axis2 Java project. He has also made many contributions to related open-source projects, such as XmlSchema and AXIOM.


Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
IBM is a trademark of IBM Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.


Date Posted: December 11, 2007


Related content

Get Adobe® Reader®



Share this service

Subscribe
Sign up to receive complimentary developer newsletters including alphaWorks Flash.
RSS Feeds
Subscribe to the alphaWorks RSS feeds or create your own custom feed.
Feedback
We want your feedback! Thoughts? Ideas? Comments? Tell us what you think.
News
Check out the latest news about alphaWorks Services.
    About IBM Privacy Contact