- WSO2 Mashup Server
-
WSO2 Mashup Server Archivo:Mashup logo.gif Desarrollador WSO2 y la comunidad
http://wso2.org/projects/mashupInformación general Lanzamiento 28 de enero de 2008 Última versión estable 2.0.2
13 de mayo de 2010Género Servidor de aplicaciones Programado en Java Sistema operativo multiplataforma Plataforma Java Licencia licencia Apache 2.0 Idiomas inglés En español ? El WSO2 Mashup Server (Servidor de Mashups de WSO2) es una plataforma de mashup de código abierto que aloja mashups basados en JavaScript. Está basado en Axis2 Apache y otros proyectos de código abierto y proporciona a los autores de JavaScript la capacidad de consumir, componer y emitir servicios web, feeds RSS, páginas web scraped, correo electrónico y mensajes instantáneos. El código fuente está disponible bajo la licencia abierta licencia Apache. Proporciona una plataforma de tiempo de ejecución para el desarrollo e implementación de mashups. Puede descargarse e instalarse localmente o dentro de una organización.
El servidor de Mashup WSO2 es centrado en servicios web en tanto que cada mashup expone un nuevo servicio web, que puede ser consumido por otros mashups, clientes de servicios web o páginas web de estilo AJAX. La creación de aplicaciones seguras de servicios web las convierte en una tecnología atractiva dentro de las organizaciones que implementan una arquitectura orientada a servicios (service-oriented architecture, SOA) y de mashup de negocios.
Hasta la fecha, es la única plataforma de composición de código abierto disponible para los desarrolladores de mashups.
Contenido
JavaScript como un lenguaje de composición de mashup
Mashups se componen utilizando JavaScript del lado del servidor en el servidor de Mashup WSO2. Un conjunto de extensiones del lenguaje junto con E4X proporciona funciones específicas de dominio, como;
- Llamar a otros servicios web SOAP/REST,
- Feeds RSS/Atom feed de lectura y escritura,
- Web scraping,
- Publicación basada en APP,
- Programación de tareas periódicas,
- Correo electrónico y
- IM
Un Hola mundo
function hello() { return "Hello World"; }
Llamanda a un servidor web SOAP
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; }
Trabajar con feeds
// 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; }
Raspado Web (Web scraping)
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; }
La sintaxis es idéntica a otra herramienta de raspado web (web scraping) de código abierto llamada web harvest.
Trabajando con APP
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"); }
Programación de tareas periódicas
// Scheduling a function to be executed every 2 seconds var uuid = system.setInterval('myJavaScriptFunction("parameterValue")', 2000); // Stopping the above scheduled task system.clearInterval(uuid);
Envío de e-mail (mensaje de correo-e)
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(); }
Referencias
Véase también
- Mashup
- ECMAScript for XML
- Web scraping
- Web-Harvest
- Yahoo! Pipes
- Yahoo! Query Language (YQL)
Enlaces externos
- (en inglés) Página de inicio de Proyecto WSO2
- (en inglés) Computerworld: Opinion: WSO2 Mashup Server takes first steps
- (en inglés) ZDNet: A Bumper Crop of New Mashup Platforms
- (en inglés) SDTimes: Mashups are Poised for a Business Outbreak
- (en inglés) SOA Magazine: Mashups: Bringing SOA to the People
- (en inglés) Web-Harvest en SourceForge
Nota
- Este artículo fue creado a partir de la traducción del artículo WSO2 Mashup Server de la Wikipedia en inglés, bajo licencia Creative Commons Atribución Compartir Igual 3.0 y GFDL.
Categorías:- Software libre programado en Java
- Software libre multiplataforma
Wikimedia foundation. 2010.