
Important Note
IBM Sharable Code will is no longer available on alphaWorks.
We apologize for any inconvenience. Please check out
alphaWorks emerging technology downloads at
ibm.com/alphaWorks.
|
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 "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
|