Разработчик(и) | WSO2 и сообщество |
---|---|
Первоначальный выпуск | 28 января 2008 г. ( 2008-01-28 ) |
Окончательный релиз | 2.3.2 / 1 ноября 2011 г. ( 2011-11-01 ) [1] |
Написано в | Ява |
Операционная система | Кроссплатформенный |
Доступно в | Английский |
Тип | Сервер приложений |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | wso2.com/products/mashup-server |
WSO2 Mashup Server, платформа mashup с открытым исходным кодом , которая использовалась для размещения mashup-приложений на основе JavaScript , теперь устарела и больше не используется. Она была основана на Apache Axis2 и других проектах с открытым исходным кодом и позволяла JavaScript потреблять, составлять и выдавать веб-сервисы , каналы, извлеченные веб-страницы, электронную почту и мгновенные сообщения. Исходный код был доступен бесплатно по лицензии Apache с открытым исходным кодом . Она предоставляла платформу времени выполнения для разработки и развертывания mashup-приложений и могла быть загружена и развернута локально или в пределах организации.
WSO2 Mashup Server был ориентирован на веб-сервисы , поскольку каждый mashup представлял собой новый веб-сервис, который мог использоваться другими mashup-приложениями, клиентами веб-сервисов или веб-страницами в стиле Ajax. Защищенность веб-сервисов сделала их привлекательной технологией в организациях, внедряющих сервисно-ориентированную архитектуру (SOA), и для бизнес-mashup-приложений .
8 декабря 2012 года WSO2 Mashup Server был упразднен, поскольку его оставшаяся функциональность, хостинг веб-сервисов JavaScript, была включена в WSO2 Application Server. [2] WSO2 Application Server в конечном итоге стал набором расширений для Apache Tomcat [3] , а хостинг JavaScript был предоставлен Jaggery на основе Rhino . [4] [5]
Mashup-приложения создаются с использованием серверного JavaScript в WSO2 Mashup Server. Набор языковых расширений вместе с E4X предоставляет доменно-специфичные функции, такие как;
функция привет () { return "Привет, мир" ; }
функция 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 " ; вар полезная нагрузка = ноль ; вар результат ; 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 ; }
// Создание ленты RSS 2.0 и запись ее в файл. function createRssFeed () { // Создание ленты var feed = new Feed (); feed . feedType = "rss_2.0" ; feed . title = "Это тестовая лента" ; feed . description = "Эта лента демонстрирует использование хост-объекта Feed для создания ленты RSS 2.0." ; feed . link = "http://mooshup.com/rss20.xml" ; // Создание записей в ленте var entry = new Entry (); entry . title = "Это тестовая запись." ; entry . description = "Это пример записи, демонстрирующий использование хост-объекта Entry." ; feed . insertEntry ( entry ); var entry2 = new Entry (); entry2 . title = "Это еще одна тестовая запись." ; entry2 . description = "Это пример записи, демонстрирующий использование хост-объекта Entry." ; // Добавление модуля Media к записи var mediaModule = new MediaModule ( "http://www.earthshots.org/photos/387.jpg" ); mediaModule.copyright = "2007 Tad Bowman" ; mediaModule.type = " image/jpeg" ; mediaModule.tip = " http://www.earthshots.org/photos/387.thumb.jpg" ; entry2.addMediaModule ( mediaModule ); feed.insertEntry ( entry2 ) ; // Запись только что созданного канала в файл 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>; вар скребок = новый скребок ( конфигурация ); результат = скребок . ответ ; вернуть результат ; }
Синтаксис идентичен другому инструменту для веб-скрапинга с открытым исходным кодом, который называется Web Harvest .
function persistAuthenticatedAppFeed () { // Создание экземпляра APPClient var client = new APPClient (); // Создание экземпляра AtomFeed var feed = new AtomFeed (); // Установка учетных данных для входа в систему для клиента client . credentials = { username : "you@email.com" , password : "xxx" , service : "blogger" , authtype : "google" }; // Получение и онлайн-канал feed = client . getFeed ( " http://blog.mooshup.com/feeds/posts/default" ); // Получение массива отдельных записей из ленты var entry = new Array (); entry = feed . getEntries (); // Запись извлеченного фида в файл feed . writeTo ( "my-file-name.xml" ); }
// Планирование выполнения функции каждые 2 секунды var uuid = system . setInterval ( 'myJavaScriptFunction("parameterValue")' , 2000 ); // Остановка запланированной выше задачи 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" ; // в качестве альтернативы message.to может быть массивом строк. То же самое касается cc и bcc email . cc = "test@wso2.com" ; email . bcc = "test@wso2.com" ; email . subject = "WSO2 Mashup server 1.0 Released" ; email . addAttachement ( file , "temp.txt" ); // При желании можно добавлять вложения, у него переменное количество аргументов. Каждый аргумент может быть File hostObject или строкой, представляющей файл. // В этом случае мы отправляем два вложения (это демонстрирует отправку вложений с использованием либо объекта File Host, либо пути к файлу). email . text = "WSO2 Mashup server 1.0 был выпущен 28 января 2008 года" ; email . send (); }