Loading AI tools
Mashup platform From Wikipedia, the free encyclopedia
WSO2 Mashup Server, an open-source mashup platform that used to host JavaScript-based mashups, is now deprecated and no longer in use. It was based on Apache Axis2 and other open-source projects, and allowed JavaScript to consume, compose and emit web services, feeds, scraped web pages, email, and instant messages. The source code was freely available under the open-source Apache License. It provided a runtime platform for developing and deploying mashups and could be downloaded and deployed locally or within an organization.
This article needs additional citations for verification. (April 2021) |
Developer(s) | WSO2 and Community |
---|---|
Initial release | January 28, 2008 |
Final release | 2.3.2
/ November 1, 2011[1] |
Written in | Java |
Operating system | Cross-platform |
Available in | English |
Type | Application server |
License | Apache License 2.0 |
Website | wso2 |
WSO2 Mashup Server was web-services-centric in that each mashup exposed a new web service, which could be consumed by other mashups, web service clients, or Ajax style web pages. The securability of web services made them an attractive technology within organizations deploying a service-oriented architecture (SOA) and for business mashups.
On December 8, 2012, WSO2 Mashup Server was retired since its remaining functionality, JavaScript web service hosting, was folded into WSO2 Application Server.[2] WSO2 Application Server eventually became a set of extensions to Apache Tomcat[3] and JavaScript hosting was provided by Jaggery based upon Rhino.[4][5]
Mashups are composed using server side JavaScript in WSO2 Mashup Server. A set of language extensions along with E4X provides domain specific features such as;
function hello() {
return "Hello World";
}
function invokeGetVersionService(){
var version = new WSRequest();
var options = new Array();
options.useSOAP = 1.2;
options.useWSA = 1.0;
options.action = "http://services.mashup.wso2.org/version/ServiceInterface/getVersionRequest";
var payload = null;
var result;
try {
version.open(options, "http://localhost:7762/services/system/version", false);
version.send(payload);
result = version.responseE4X;
} catch (e) {
system.log(e.toString(), "error");
return e.toString();
}
return result;
}
// Creating an RSS 2.0 feed and writing it to file.
function createRssFeed() {
// Creating the Feed
var feed = new Feed();
feed.feedType = "rss_2.0";
feed.title = "This is a test Feed";
feed.description = "This feed demonstrates the use of Feed host object to create an RSS 2.0 feed.";
feed.link = "http://mooshup.com/rss20.xml";
// Creating Entries in the Feed
var entry = new Entry();
entry.title = "This is a test entry.";
entry.description = "This is a sample entry demonstrating the use of the Entry host object.";
feed.insertEntry(entry);
var entry2 = new Entry();
entry2.title = "This is another test entry.";
entry2.description = "This is a sample entry demonstrating the use of the Entry host object.";
// Adding a Media Module to the entry
var mediaModule = new
MediaModule("http://www.earthshots.org/photos/387.jpg");
mediaModule.copyright = "2007 Tad Bowman";
mediaModule.type = "image/jpeg";
mediaModule.thumbnail = "http://www.earthshots.org/photos/387.thumb.jpg";
entry2.addMediaModule(mediaModule);
feed.insertEntry(entry2);
// Writing the newly created Feed to a File
var result = feed.writeTo("test-created-rss-feed.xml");
return result;
}
function webScrape() {
var config = <config>
<var-def name='response'>
<html-to-xml>
<http method='get' url='http://ww2.wso2.org/~builder/'/>
</html-to-xml>
</var-def>
</config>;
var scraper = new Scraper(config);
result = scraper.response;
return result;
}
The syntax is identical to another open-source web scraping tool called web harvest.
function persistAuthenticatedAppFeed() {
// Creating an instance of APPClient
var client = new APPClient();
// Creating an instance of AtomFeed
var feed = new AtomFeed();
// Setting login credentials for the client
client.credentials = {username: "you@email.com", password: "xxx", service: "blogger", authtype: "google"};
// Retrieving and online feed
feed = client.getFeed("http://blog.mooshup.com/feeds/posts/default");
// Getting an array of individual entries from the feed
var entries = new Array();
entries = feed.getEntries();
// Writing the retrieved feed to a file
feed.writeTo("my-file-name.xml");
}
// Scheduling a function to be executed every 2 seconds
var uuid = system.setInterval('myJavaScriptFunction("parameterValue")', 2000);
// Stopping the above scheduled task
system.clearInterval(uuid);
function sendEmail(){
var email = new Email("host", "port", "username", "password");
var file = new File("temp.txt");
email.from = "test@wso2.com";
email.to = "test@wso2.com"; // alternatively message.to can be an array of strings. Same goes for cc and bcc
email.cc = "test@wso2.com";
email.bcc = "test@wso2.com";
email.subject = "WSO2 Mashup server 1.0 Released";
email.addAttachement(file, "temp.txt"); // Optionally can add attachments, it has a variable number of arguments. each argument can be a File hostObject or a string representing a file.
// In this case we are sending two attachments (this demonstrates sending attachments using either a File Host Object or a path to the file).
email.text = "WSO2 Mashup server 1.0 was Released on 28th January 2008";
email.send();
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.